Anda di halaman 1dari 7

Penyelesaian Non-Linear Programming (NLP) yang berbentuk Maks/Min f(x) dengan Kendala a x d dengan Modifikasi Algoritma Golden Section

on (The Jin Ai)

Penyelesaian Non-Linear Programming (NLP) yang berbentuk Maks/Min f(x) dengan Kendala a x d dengan Modifikasi Algoritma Golden Section
The Jin Ai
Program Studi Teknik Industri, Fakultas Teknologi Industri, Universitas Atma Jaya Yogyakarta Jl. Babarsari No. 43 Yogyakarta 55281 E-mail: jinai@mail.uajy.ac.id

Abstract
In this paper, the writer propose an extension of established algorithm for solving single variable Non-Linear Programming problem which has form max/min f(x) subject to a x d, the Golden Section Algorithm. Since the established algorithm could solve only convex/unimodal objective function, the proposed algorithm being hypothetically could do the same performance. In addition to the established algorithm, the proposed algorithm could handle multi variables. Keywords: Optimization, Section Algorithm Non-Linear Programming, Golden

1. Non-Linear Programming Dalam menyelesaikan permasalahan optimasi di dunia nyata, sering kali kita menjumpai bentuk-bentuk fungsi, baik fungsi tujuan maupun fungsi-fungsi kendala, yang tidak linier. Memang dengan sedikit asumsi dan penyederhanaan, fungsi yang tidak linier tersebut dapat dilinierkan (dipaksa menjadi fungsi linier). Akan tetapi sering kali pula pemaksaan tersebut menimbulkan kesalahan perhitungan yang cukup signifikan. (Hillier dan Lieberman, 1991) Untuk mengatasi permasalahan tersebut, yaitu permasalahan optimasi dengan fungsi tujuan dan/atau kendala non-linier, terdapat sebuah model matematis yang disebut Non-Linear Programming atau disingkat NLP. Secara umum NLP mempunyai bentuk: Maksimasi atau Minimasi : f(x1, x2, x3, , xn) Dengan kendala : g1(x1, x2, x3, , xn) ( , =, atau ) b1 g2(x1, x2, x3, , xn) ( , =, atau ) b2 (1) : gm(x1, x2, x3, , xn) ( , =, atau ) bm Secara khusus, terdapat bermacam-macam bentuk NLP yang mempunyai cara penyelesaiannya sendiri, misalnya: Single Variable NLP diselesaikan dengan algoritma Golden Section, Unconstrained NLP 37

Jurnal Teknologi Industri, Vol. VI, No. 1, Januari 2002: 37 - 42

diselesaikan dengan cara Steepest Ascent, Equality constrained NLP diselesaikan dengan cara Lagrange Multipliers, dan beberapa bentuk NLP dinamai sama dengan cara penyelesaiannya seperti Quadratic Programming dan Separable Programming. (Winston, 1994)

2. Algoritma Golden Section (Bazaraa, 1990) Pada umumnya, algoritma Golden Section digunakan untuk menyelesaikan NLP satu variabel yang berbentuk : Maksimasi atau Minimasi : f(x) Dengan kendala : a x d (2) Algoritma ini menggunakan prinsip mengurangi daerah batas x yang mungkin menghasilkan harga fungsi obyektif optimum (maksimum atau minimum) secara iteratif (berulang). Misalkan pada suatu tahap iterasi harga fungsi optimum mungkin terletak pada interval x [a,d]. Tahapan selanjutnya adalah menentukan dua harga x yang simetris dalam interval tersebut yaitu b dan c, dan interval kemungkinan fungsi berharga optimum dikurangi dari [a,d] menjadi [a,c] atau [b,d] tergantung dari harga fungsi di x = b dan di x = c. Sebagai ilustrasi, untuk fungsi unimodal dengan satu nilai minimum, apabila harga f(b)<f(c) maka interval dapat dikurangi menjadi [a,c]. Sedangkan apabila harga f(b)>f(c) interval dapat dikurangi menjadi [b,d]. Ilustrasi yang sama dalam bentuk grafik kartesian dapat dilihat pada gambar 1. Langkah iterasi diulangi sampai interval x sangat kecil tergantung dari harga yang dikehendaki, dan dapat diambil kesimpulan bahwa x minimum terletak pada interval akhir tersebut.
f (x ) f (x )

a f (x )

x f (x )

d ( i)

x
1

d ( ii )

x
1

Gambar 1. Proses Pengurangan Interval Pencarian x optimum (i) dari [a,d] menjadi [a,c] (ii) dari [a,d] menjadi [b,d] Untuk mendapatkan b dan c simetris dalam interval [a,d] dapat digunakan harga perbandingan r, sehingga : ca db = =r (3) da da atau dapat dituliskan : 38

Penyelesaian Non-Linear Programming (NLP) yang berbentuk Maks/Min f(x) dengan Kendala a x d dengan Modifikasi Algoritma Golden Section (The Jin Ai)

b = d r ( d a ) = ra + (1 r ) d (4) ( d a ) = (1 r ) a + d c=a+r (5) Secara umum, pada setiap tahapan iterasi ditentukan dua buah titik di dalam interval yang ada. Akan tetapi untuk tujuan penghematan langkah perhitungan, pada setiap tahapan iterasi hanya ditentukan sebuah titik baru. Titik yang lain adalah titik yang ditentukan pada tahap sebelumnya. Misalnya, interval telah dapat dikurangi dari [a,d] menjadi [a,c]. Interval [a,c] merupakan interval yang baru sehingga dapat dituliskan menjadi [a1,d1]. Hanya ditentukan satu titik baru yaitu b1 karena titik b dijadikan titik c1. Sehingga diperoleh hubungan, b1 = ra 1 + (1 r ) d 1 (6)

r=

c1 a 1 b a 1 r = = d1 a 1 c a r

(7)

(8) r2 + r 1 = 0 Apabila persamaan 8 diselesaikan diperoleh harga r sebesar (-1-5) atau (-1+5). Supaya interval menjadi semakin kecil diperlukan syarat r < 1, maka harga r yang dipergunakan adalah (-1+5). Diagram alir algoritma ini untuk kasus minimasi selengkapnya dapat dilihat pada gambar 2.
M u la i T e n tu ka n , a , d

r = ( - 1 + 5 )

b = ra + (1 -r)d c = a + d - b d = c c = b b = a + d - c

f(b ) < f(c ) T id a k a = b b = c c = a + d - b (d -a ) > T id a k C a r i x * d i a n ta r a a , b , c , d d e n g a n y ( x * ) m in

Ya

Y a

x m in = x * f m in = f ( x * ) S e le s a i

Gambar 2. Diagram Alir Algoritma Golden Section untuk Minimasi Syarat yang harus dipenuhi agar algoritma ini dapat menghasilkan x yang benar-benar optimum (minimum/maksimum) adalah fungsi y(x) merupakan fungsi convex. Setiap fungsi convex pasti juga merupakan fungsi unimodal(fungsi dengan satu nilai maksimum/minimum) karena

39

Jurnal Teknologi Industri, Vol. VI, No. 1, Januari 2002: 37 - 42

suatu fungsi persamaan

dinyatakan

sebagai

fungsi

convex

apabila

memenuhi

(9) untuk setiap x1 dan x2 dalam batas yang dikehendaki, serta untuk 0 c 1. 3. Modifikasi Algoritma Golden Section Sebagai perluasan dari algoritma Golden Section yang hanya dapat menyelesaikan NLP dengan satu variabel (x) seperti di atas, penulis terinspirasi untuk menggunakan prinsip-prinsip dasarnya untuk dapat menyelesaikan NLP sejenis tetapi dengan banyak variabel. Bentuk umum NLP yang dimaksud adalah: Maksimasi atau Minimasi : f(x1, x2, x3, , xN) Dengan kendala : a1 x1 d1 a2 x2 d2 a3 x3 d3 (10) : aN xN dN Dan apabila dituliskan dalam bentuk vektor, mempunyai bentuk umum: Maksimasi atau Minimasi : f(x) Dengan kendala : a x d (11) dengan x : vektor variabel keputusan, x1, x2, x3, , xN a : vektor batas bawah variabel keputusan, a1, a2, a3, , aN d : vektor batas atas variabel keputusan, d1, d2, d3, , dN Tiga prinsip dasar dari algoritma Golden Section yang dapat dipakai untuk modifikasi adalah: (1) mengurangi daerah batas x yang mungkin menghasilkan harga fungsi obyektif optimum (maksimum atau minimum) secara iteratif (berulang). (2) menggunakan dua buah titik yang simetris (b dan c) dalam interval pencarian pada masing-masing xi. (3) menentukan hanya sebuah titik baru pada setiap tahapan iterasi untuk masing-masing xi. Berdasarkan ketiga prinsip dasar tersebut, penulis mengusulkan algoritma modifikasi dari Golden Section untuk minimasi dalam algoritma 1. Untuk kasus maksimasi, perlu dilakukan sedikit perubahan pada langkah ke5, 8 dan 9. Algoritma selengkapnya dapat dilihat pada Algoritma 2. Untuk memberikan sedikit gambaran yang lebih jelas, dalam algoritma 3 terdapat algoritma yang lebih terperinci dari modifikasi tersebut untuk menyelesaikan masalah minimasi dalam NLP di atas dengan dua variabel keputusan. Syarat yang harus dipenuhi agar modifikasi algoritma ini dapat menghasilkan vektor x yang benar-benar optimum (minimum/maksimum) sama dengan syarat algoritma golden section, yaitu fungsi f(x) merupakan fungsi yang convex pada daerah pencarian tersebut. Algoritma 1. Bentuk Umum Modifikasi Algoritma Golden Section untuk Minimasi 40

f ( c.x 1 + (1 c ).x 2 ) c.f ( x 1 ) + (1 c ).f ( x 2 )

Penyelesaian Non-Linear Programming (NLP) yang berbentuk Maks/Min f(x) dengan Kendala a x d dengan Modifikasi Algoritma Golden Section (The Jin Ai)

1. Mulai 2. Memasukkan batas bawah pencarian variabel keputusan (a), batas atas pencarian variabel keputusan (d), toleransi pencarian variabel keputusan () 3. Mengatur r = (-1+5) 4. Menentukan harga b dan c awal, b = r.a + (1 r).d, c = a + d b 5. Mencari f(x*)maksimum diantara semua kombinasi xi = bi, ci 6. Mengurangi batas interval pencarian dengan menentukan harga b dan c yang baru berdasarkan harga x* 7. Mengulangi langkah 5 dan 6 sampai (d a) 8. Mencari f(x*)minimum diantara semua kombinasi xi = ai, bi, ci, di 9. Menentukan hasil xmin = x* dan f(xmin) = f(x*) 10. Selesai Algoritma 2. Bentuk Umum Modifikasi Algoritma Golden Section untuk Maksimasi 1. Mulai 2. Memasukkan batas bawah pencarian variabel keputusan (a), batas atas pencarian variabel keputusan (d), toleransi pencarian variabel keputusan () 3. Mengatur r = (-1+5) 4. Menentukan harga b dan c awal, b = r.a + (1 r).d, c = a + d b 5. Mencari f(x*)minimum diantara semua kombinasi xi = bi, ci 6. Mengurangi batas interval pencarian dengan menentukan harga b dan c yang baru berdasarkan harga x* 7. Mengulangi langkah 5 dan 6 sampai (d a) 8. Mencari f(x*)maksimum diantara semua kombinasi xi = ai, bi, ci, di 9. Menentukan hasil xmaks = x* dan f(xmaks) = f(x*) 10. Selesai Algoritma 3. Modifikasi Algoritma Golden Section untuk kasus Minimasi dengan 2 Variabel keputusan 1. Mulai 2. Memasukkan batas bawah pencarian variabel keputusan (a1 dan a2), batas atas pencarian variabel keputusan (d1 dan d2), toleransi pencarian variabel keputusan (1 dan 2) 3. Mengatur r = (-1+5) 4. Menentukan harga b dan c awal, - b1 = r.a1 + (1 r).d1 - b2 = r.a2 + (1 r).d2 - c1 = a1 + d1 b1 - c2 = a2 + d2 b2 5. Mencari f(x*)maksimum diantara semua kombinasi xi = bi, ci - Menentukan harga f(b1,b2), f(b1,c2), f(c1,b2), f(c1,c2) - Mencari harga maksimum dari keempat harga fungsi tersebut 41

Jurnal Teknologi Industri, Vol. VI, No. 1, Januari 2002: 37 - 42

6. Mengurangi batas interval pencarian dengan menentukan harga b dan c yang baru berdasarkan harga x* - Jika f(b1,b2) maksimum, maka: - a1 = b1 - a2 = b2 - b1 = c1 - b2 = c2 - c1 = a 1 + d1 b1 - c2 = a 2 + d2 b2 - Jika f(b1,c2) maksimum, maka: - a1 = b1 - d2 = c2 - b1 = c1 - c2 = b2 - c1 = a 1 + d1 b1 - b2 = a2 + d2 c2 - Jika f(c1,b2) maksimum, maka: - d1 = c1 - a2 = b2 - c1 = b1 - b2 = c2 - b1 = a1 + d1 c1 - c2 = a 2 + d2 b2 - Jika f(c1,c2) maksimum, maka: - d1 = c1 - d2 = c2 - c1 = b1 - c2 = b2 - b1 = a1 + d1 c1 - b2 = a2 + d2 c2 7. Mengulangi langkah 5 dan 6 sampai (d1-a1) 1 dan (d2-a2) 2 8. Mencari f(x*)minimum diantara semua kombinasi xi = ai, bi, ci, di - Menentukan harga f(a1,a2), f(a1,b2), f(a1,c2), f(a1,d2), f(b1,a2), f(b1,b2), f(b1,c2), f(b1,d2), f(c1,a2), f(c1,b2), f(c1,c2), f(c1,d2), f(d1,a2), f(d1,b2), f(d1,c2), f(d1,d2) - Mencari harga minimum dari keenambelas harga fungsi tersebut (f(x*)minimum) 9. Menentukan hasil xmin = x* dan f(xmin) = f(x*) 10 Selesai 4. Contoh Penyelesaian Numerik Sebagai contoh penyelesaian numerik, penulis menggunakan sebuah NLP dengan bentuk sebagai berikut : Minimumkan : f(x1, x2) = x12 + x22 7x1 8x2 + x1x2 Dengan kendala : 0 x1 5 (10) 0 x2 5 Cara analitis yang ada untuk menyelesaikan NLP dapat menghasilkan vektor x minimum (2,3) dengan nilai fungsi minimum 19.

42

Penyelesaian Non-Linear Programming (NLP) yang berbentuk Maks/Min f(x) dengan Kendala a x d dengan Modifikasi Algoritma Golden Section (The Jin Ai)

Sebuah program komputer dibuat berdasarkan algoritma 3 dengan Compiler Quick BASIC 4.5 dan PC Pentium II-300 Mhz. Dengan toleransi pencarian sebesar 10 1 diperoleh hasil titik minimum (2,001; 3,009), dengan toleransi 10 2 diperoleh hasil (2,001; 3,000), sedangkan dengan toleransi 10 3 diperoleh hasil (2,000; 3,001). Ketiga hasil tersebut memberikan nilai fungsi minimum yang mendekati harga 19. Dalam contoh ini terlihat bahwa modifikasi algoritma Golden Section dapat memberikan hasil optimasi yang mendekati nilai analitisnya. Hal ini disebabkan karena fungsi tujuan yang ada merupakan fungsi convex yang membuka ke atas. Hal tersebut dapat disimpulkan dari semua bentuk turunan kedua dari fungsi ini yang memiliki harga positif pada batasan harga variabel (kendala) yang ada. 5. Penutup Hipotesis dari penulis adalah NLP yang berbentuk max/min f(x) dengan kendala a x d dapat diselesaikan dengan Modifikasi Algoritma Golden Section yang diusulkan penulis jika syarat fungsi tujuan f(x) merupakan fungsi convex pada batasan a x d terpenuhi. Sebuah contoh di atas dapat menunjukan sedikit kebenaran dari hipotesis ini, akan tetapi masih perlu banyak pembuktian analitis maupun empiris untuk menyatakan kebenaran mutlaknya. Penulis memperkirakan bahwa diperlukan pengetahuan yang cukup memadai tentang fungsi convex dan seluk beluknya untuk melakukan pembuktian hal ini. Mengingat di dalam dunia nyata terdapat banyak sekali kemungkinan fungsi tujuan optimasi, yang mungkin saja tidak convex dan tidak juga unimodal, perlu dipikirkan lebih lanjut tentang pengembangan algoritma yang dapat menyelesaikan NLP dengan fungsi tujuan non-convex dan multimodal. Daftar Pustaka Bazaraa, M.S. dan C.M. Shetty, 1990, Nonlinear Programming : Theory and Algorithms, John Wiley & Sons, New York Hillier, F.S. dan G.J. Lieberman, 1991, Introduction to Mathematical Programming, McGraw-Hill Book Co., Inc., New York Winston, W.L., 1994, Operation Research : Application and Algorithms, Duxbury Press, California

43

Anda mungkin juga menyukai