non Linear programming

Document Sample
non Linear programming Powered By Docstoc
					JURNAL TEKNOLOGI INDUSTRI 1999, VOL. III NO. 2, hal 101 - 108
ISSN 1410-5004




           PENYELESAIAN PERMASALAHAN OPTIMASI
          DENGAN METODE NONLINEAR PROGRAMMING

                                         Baju Bawono


                                             ABSTRACT
        Nonlinear Programming (NLP) was developed from Linear Programming (LP). The
     development of NLP began around the same time with Fritz John and Kuhn-Tucker in
     1948, and commercial application in 1950s. NLP has been applied widely to solve a
     number of different problem encopassing a wide variety of application areas such as
     engineering, mathematics, statistic, management science, economic, and computer science.
     NLP is used in process equipment design, structural optimization, capacity planning,
     inventory optimization, reliability maximization, and others.


1. PENDAHULUAN
        Nonlinear programming (NLP) adalah merupakan bagian dari bidang umum
pemrograman matematika. Secara tradisional NLP merupakan bagian dari bidang
Operations Research (OR) dan Management Science (MS). Bagaimanapun dalam
bidang teori, metodologi, dan penerapannya, NLP juga bersinggungan dan saling
melingkupi (overlapping) dengan bidang teknik, matematika, dan ekonomi sebagai
tambahan pendalaman untuk OR dan MS
        Pada kelahirannya, pemrograman matematika biasanya diidentifikasi dengan
pengembangan metode simpleks, yang pertama kali diperkenalkan oleh George
Dantzig. Meskipun banyak dari teori matematika Linear Programming (LP) yang
berhubungan langsung dengan teori pertidaksamaan dan pengaturan cekung (convex)
yang telah dirumuskan lebih dari seabad yang lalu, hal itu merupakan pengenalan dari
metode simpleks, dan perhitungan dengan mempergunakan komputer berkecepatan
tinggi yang akhirnya telah merangsang ketertarikan dalam bidang ilmu terapan, sebaik
dengan penelitan lanjut tentang pemrograman matematika.
        Pengembangan dari NLP dimulai pada tahun 1948 oleh Fritz John, kemudian
lebih dipopulerkan oleh Kuhn-Tucker. Selanjutnya NLP lebih dipelajari secara
mendalam oleh Rockafeller, Wolve, Cottle dan lainnya. NLP kemudian mulai
diterapkan secara komersial oleh Charnes dan Cooper pada tahun 1950an. Sampai
sekarang NLP telah berkembang baik dengan metode berbeda serta penerapan yang
berbeda pula.
        Selanjutnya pada tulisan ini akan dijelaskan definisi NLP dan penerapan secara
praktis. Berikutnya beberapa konsep dasar teori juga akan disinggung. Selanjutnya
secara keseluruhan beberapa pendekatan algoritma untuk mencari jawaban atas NLP.
Akhirnya beberapa bentuk khusus NLP yang diberikan secara praktis, dan untuk
beberapa langkah-langkah khusus yang telah dikembangkan.
102                                   Baju Bawono



2. DEFINISI NLP
        Secara umum NLP didefinisikan seperti di bawah ini
Minimumkan f(x) sebagai fungsi
 Jika subject : gj(x)  0       j = 1,2,3,…,m
                hj(x) = 0       j = 1,2,…,p
                x = (x1,x2,…,xn)  n
dengan fungsi gj dan hj dari vektor x adalah dikenal sebagai fungsi kendala (constraint
functions), sementara f disebut fungsi tujuan (objective function). Meskipun di sana ada
sebuah bilangan yang berbeda dengan NLP, mereka adalah kasus khusus. Permasalahan
LP juga merupakan kasus khusus dengan menggunakan fungsi f, gj, dan hj. Juga
bermacam permasalahan relatif lebih mudah dianalisis dan dijawab melalui metode
simpleks. Secara umum permasalahan di sisi lain memiliki kesulitan tertentu, karena
prosedur yang digunakan tidak hanya tunggal ( seperti metode simpleks untuk LP) dan
memungkinkan jawaban secara umum beberapa permasalahan NLP.

3. CONTOH PERUMUSAN KASUS DAN PENERAPAN NLP
       Berikut ini ada contoh kasus NLP yang diadaptasi dari Biegler (1988). Suatu
proses kimia dalam suatu pabrik mengalami 3 macam tahapan untuk menghasilkan 3
produk melalui langkah-langkah berikut ini :
1. Produk dipompakan dengan pompa P1 dari tangki penyimpanan ke dalam suatu
   reaktor batch R
2. Sesudah terjadi reaksi, keluaran dari reaktor dipompakan dengan pompa P2 melalui
   suatu alat penukar panas (H) ke dalam tangki umpan F.
3. Dari tangki umpan, produk dipompakan dengan pompa P3 ke dalam Centrifuge C.
   Di sini padatan dipisahkan dan dikirimkan ke rak pengering (tray dryer) D. Setelah
   padatan kering, langsung dikirim ke bagian pengemasan ( packaging).

3.1.   BATASAN          DAN        ASUMSI     YANG      DIGUNAKAN           UNTUK
      MENYELESAIKAN KASUS DI ATAS:
1. Setiap produk diproduksi secara batch, dengan batch baru dapat dimasukan ke
   tingkatan khusus (specific stage) dalam proses, setelah semua hasil batch awal
   selesai dikeluarkan semua.
2. Batas waktu siklus untuk setiap produk ditentukan dengan waktu yang dibutuhkan
   pada tingkatan yang mempunyai waktu terpanjang dan sebuah batch diproduksi
   pada interval waktu siklus ini.
3. Masalah perancangan untuk menemukan ukuran batch setiap produk sehubungan
   dengan kapasitas dengan variasi tingkatan. Juga Jumlah biaya peralatan seluruhnya
   (sebagai fungsi kapasitas). Kendala dari perancangan ini adalah : hubungan
   teknologi antara ukuran batch dan kapasitas peralatan. Juga kebutuhan produksi
   tahunan yang dibutuhkan untuk ketiga produk.

3.2. PENYELESAIAN :
        Di dalam penyelesaian dengan NLP, ketiga produk di atas didefinisikan dengan
i = 1,2,3. Sebagai catatan bahwa reaktor, tangki pengumpan, dan rak pengering adalah
tingkatan batch, sejak sebuah pemasukan batch dikumpulkan di sini sebelum mereka
mulai dioperasikan. Kapasitas mereka dicirikan dengan volume dari produk yang
mereka tangani. Pada bagian lain, 3 pompa, alat penukar panas, dan centrifuge adalah
           Penyelesaian Permasalahan Optimasi dengan Metode Nonlinear Programming             103


semikontinu stage sejak aliran bahan melalui masing-masing alat sebagai arus.
Kapasitas terdiri 5 tingkatan (stage), dan masing-masing memiliki karakteristik
kecepatan alir berbanding terbalik dengan volume. Peralatan proses dilambangkan
dengan singkatan pada belakangnya yaitu R, F, D dengan j =1,2,3 ,dan tingkatan
semikontinu P1,P2, P3, H, dan C dengan k = 1,2,3,4,5.
Variabel keputusan didefinisikan :
 Bi    : Ukuran batch dari produk i (kg), i =1, 2, 3
 Vj : Volume dari tingkatan batch (m3), j =1, 2, 3
 Rk : Kapasitas semikontinu stage k (m3/jam), k=1, 2, 3, 4, 5
 tik   : waktu dibutuhkan untuk proses sebuah batch produk i pada semikontinu stage
       (jam), i =1,2,3 dan k =1,2,3,4,5
 Ti : batas waktu siklus untuk produk i, (jam)

Masukan (input) pada model NLP terdiri dari beberapa parameter yang mengikuti.
Sij : faktor ukuran untuk batch stage j ( volume dari i terproses pada stage j untuk
      sebuah satuan massa produk akhir i)
Dik : faktor tugas (duty factor) untuk semikontinu stage k (volume dari i terproses
      pada stage k untuk sebuah satuan massa produk akhir i)
Qi : kuantitas dari produk i yang diproduksi per tahun
H     : waktu yang digunakan untuk produksi per tahun
Pij : waktu tetap pemrosesan batch dari i pada stage j
Vj max, Vj min : kapasitas maksimum dan minimum untuk batch stage j
Rk max, Rk min: kapasitas maksimum dan minimum untuk semikontinu stage k
C(j) : biaya yang dibutuhkan batch stage j
C(k) : biaya yang dibutuhkan semikontinu stage k

Fungsi biaya dari bentuk C(j) = aj.(Vj)j dan C(k) = bk,(Vk)k dengan aj, bk, j , k
adalah nilai yang telah dikenal.

3.3. PERUMUSAN MASALAH DI ATAS ADALAH :
                                                    3                      5
Fungsi tujuan : Minimasikan jumlah biaya :         j 1
                                                           aj (Vj) j +   
                                                                          k 1
                                                                                 bk (Vk) k

1. Fungsi Kendala :
    a. Kendala kapasitas peralatan batch    : Vj  Sij Bi         i = 1,2,3 ; j =1,2,3
   b. Kendala peralatan semikontinu         : Rk  Dik Bi / tij i = 1,2,3 ; j = 1,2,3,4,5
   c. Kendala waktu siklus                  : Ti  tik            i = 1,2,3 ; k =1,2,3,4,5
                                              Ti  tia + Pij + tib i = 1,2,3
    Dengan a digunakan untuk semikontinu stage dari aliran material ke dalam batch
    stage j , dan b digunakan stage dengan alirannya dari j
                                           3
    d. Kendala waktu produksi         :   
                                          i 1
                                                 (QiTi) / Bi  H

    e. Ikatan kapasitas peralatan     : Vj max  Vj  Vj min                j =1,2,3
                                        Rk max  Rk  Rk min               k =1,2,3,4,5
104                                   Baju Bawono



       Untuk seluruh sistem yang terdefinisikan di atas, NLP adalah masalah optimasi
dengan 29 variabel, 9 kendala pada (a), 15 kendala pada (b), 24 pada (c), 1 pada (d), dan
18 pada (e), serta untuk seluruhnya ada 49 kendala teknologi, dan 18 kendala ikatan.
Jika harga-harga di atas diketahui, maka permasalahan dapat diselesaikan dengan
metode pemrograman geometrik secara efisien.

4. KONSEP DASAP TEORI NLP
4.1 Kecembungan (convexity). Penandaan kecembungan dan kecekungan (concavity)
    memainkan peranan penting dalam optimasi NLP. Sebuah fungsi  dikatakan
    cembung jika, dan hanya jika untuk dua titik x dan y adalah kepunyaan  dan
    beberapa  diantara 0 dan 1, titik z = x + (1-)y juga kepunyaan . Untuk
    jelasnya lihat gambar 1, yang menunjukkan contoh penentuan keadaan cembung
    dan noncembung. Sebuah jalan sederhana untuk melihat hal itu, adalah bahwa dari
    garis yang menggabungkan dua titik dapat disebut cembung, jika terletak di dalam
    kurva. Secara umum didefinisikan sebuah fungsi f(x) dikatakan cembung jika dan
    hanya jika untuk semua harga   (0,1),  f(x1) + (1-)f(x2)  f [ x1+ (1-)x2 ]
    untuk sebuah fungsi menjadi cekung, jika garis yang melalui pertidaksamaan
    terletak di luar.




                         Cembung                      Noncembung

                  Gambar 1 : Contoh Kurva Cekung dan Noncekung

      Pada gambar 2, adalah contoh dari fungsi yang dikatakan cembung, cekung, dan
      fungsi sembarang yang bukan merupakan cembung maupun cekung. Secara umum
      lebih mudah meminimumkan sebuah fungsi cembung (atau memaksimumkan
      sebuah fungsi cekung) melalui penentuan titik cekung itu, dengan permasalahan
      tersebut dikatakan sebagai sebuah permasalahan pemrograman cembung.




                   (a)                 (b)                        (c)

            Gambar 2 : Contoh (a) cembung (b) cekung, (c) fungsi sembarang
           Penyelesaian Permasalahan Optimasi dengan Metode Nonlinear Programming   105


4.2 Kesulitan-kesulitan dari Pemrograman Non linear. Mungkin jalan yang terbaik
    untuk memahami permasalahan adalah dengan pengamatan ketidaklinearan dengan
    seperti membandingkan NLP dengan LP.
    a. Kendala nonlinear. Di dalam LP sebuah pengaturan cembung dibentuk dengan
       interseksi dari sebuah bilangan terbatas (finite number) dengan setiap setengah
       ruang ditentukan oleh sebuah kendala linear. Hanya sebuah bilangan terbatas
       dari titk ekstrim, dan jawaban optimum. Bagaimana pun dengan sebuah kendala
       nonlinear itu memungkinkan untuk sebuah bilangan terbatas dari titik ekstrim
       itu ada, dan kecembungan tidak menjamin untuk daerah kemungkinan (feasible
       region).


              A                          A                A



                                B                   B                   B
                      (a)                    (b)                  (c)

              Gambar 3 : Daerah kemungkinan (a) kendala linear (b) dan (c)
                         kendala nonlinear
    b. Fungsi Tujuan Nonlinear. Sekarang harap diperhatikan sebuah problem
       dengan sebuah tujuan nonlinear. Diasumsikan untuk penyederhanaan, semua
       kendala adalah linear. Masalah utama di sini adalah jawaban optimum dapat
       terletak pada beberapa titik dan sebuah titik ekstrim. Jika diperhatikan pada
       gambar 4 adalah contoh kontur isoprofit, z0 akan memberikan keuntungan
       tertinggi dan z0, z1 > z2 > z3 > z4. Bagaimana pun z0 terletak di luar daerah
       kemungkinan, dan jawaban optimum untuk permasalahan kendala adalah pada
       titik D yang bukan merupakan titik ekstrim. Sedangkan pada gambar 4 (b)
       Jawaban optimum terletak pada titik dalam.



               A                .z0   z1 z2 z3 A
                       D
                            C                               C
                                                        z0 . z1 z2 z3

                               B                         B
               Gambar 4: Kontur Isoprofit dengan Z0 Diluar dan Z0 di dalam
                         Daerah Kemungkinan

    c. Kecembungan (convexity) dan Kecekungan (concavity). Di bagian terdahulu
       telah dikatakan bahwa lebih mudah memaksimumkan sebuah fungsi cekung atau
       meminimumkan sebuah fungsi cekung melalui sebuah daerah kemungkinan.
       Ketika daerah kemungkinan adalah noncembung, permasalahan utama adalah
       pertemuan dalam sebuah optimum menyeluruh, sebagai lawal yang lokal.
106                                     Baju Bawono


       Seperti pada gambar 5 (a) optimum adalah titik D. Sedangkan Pada gambar 5 (b)
       adalah titik optimum menyeluruh (global optimum), dan B disebut titik optimum
       lokal (local optimum). Kebanyakan alogoritma untuk permasalahan NLP tidak
       hanya memiliki daerah cembung yang yang hanya memberikan optimum lokal.
       Secara ringkas dapat dikatakan bahwa semua uraian itu membuat LP menjadi
       bagus sekali menganalis, tetapi tidak menjamin pemahaman NLPsecara
       keseluruhan. Semua masih terlalu samar, dan harus disatukan lebih dulu
       kenyataan yang tidak mungkin, untuk mengembangkan pendekatan jawaban
       permasalahan secara lengkap dan bebas.

                        C
                                                                      D
                                  D                               B

                  B              E                            C

                        A                               A             E

               Gambar 5: Penentuan Kemungkinan Cembung, dan
                         Kemungkinan Noncembung


4.3 Pengoptimalan kondisi
         Secara umum bentuk optimum digunakan di sini, untuk sebuah nilai maksimum
atau minimum lokal. Di dalam kenyataannya, sebuah kondisi khusus ditemukan nilai
optimum lokal juga merupakan optimum global.. Bagian yang paling penting adalah
permasalahan dengan tujuan untuk memaksimumkan f(x) adalah ekivalen dengan
minimasi –f(x). Pada bagian pendahuluan juga telah dikenalkan fungsi f(x) yang
selanjutnya bernilai nyata dan dapat diturunkan (differentiable) untuk x  n maka
gradien vektor pada titik x dapat didefinisikan :
                      f       f           f
          f ( x)  [     ( x)      ( x)...     ( x) ] T
                      x1      x 2         xn
 Jika f(x) juga diturunkan untuk keduakalinya, maka hal ini dikenal dengan istilah
Matriks Hessian H(x) , dengan  2f(x) /xi xj sebagai masukan pada baris ke-i dan
kolom ke- j. Matriks Hessian ini sangat penting. Jika diberikan sebuah perubahan w
n maka ditentukan jumlah wTHw. Jika untuk semua w  0 jumlah ini nonnegatif
(nonpositif) maka Hessian dikatakan positif (negatif) semidefinite. Jika Hessian tidak
positif, negatif definite atau semidefinite, hal itu dikatakan indefinite.
         Sekarang diperiksa kondisi optimum beberapa tipe khusus problem NLP
1. Problem Optimasi tanpa kendala.
                                                 max global
                                max lokal            D
                                  A
                                                C
                                          titik belok
                                     B
                                     min lokal
                                                            E
                                                        min global

                         Gambar 6 : Konsep klarifikasi min dan max
           Penyelesaian Permasalahan Optimasi dengan Metode Nonlinear Programming   107

   Ada sebuah fungsi f(x). titik A,B,C,D,E adalah titik stasioner. Pada titik stasioner
   berlaku  f(x’) = 0. Pada titik B dan E keduanya diturunkan pada order satu dan
   order dua untuk mencari titik optimum. Pada titik C diturunkan ke order satu dan
   dua untuk mencari nilai minimum, tetapi kondisinya tidak cukup, sehingga disebut
   titik belok ( inflection point).
2. Problem Kendala Persamaan. Pada NLP yang memiliki kendala berbentuk hj(x) =
   0, j =1,2,…,p. Untuk mengembangkan menjadi kondisi minimum, menjadi fungsi
                                          p
   Lagrange:      L(x, ) = f(x) +  j hj (x). Lambang j untuk setiap kendala, dan
                                         j 1
   gabungan tersebut dinamakan Pengali Lagrange (Lagrange multipliers). Kondisi
   optimum pada fungsi Lagrange berlaku L(x,) = 0. Hal ini ekuivalen dengan
   untuk sebuah vektor x* menjadi peminimsasi untuk problem kendala kondisi yang
   diperlukan tentang keberadaan vektor *  n .
       hj(x*) = 0                     j = 1,2,…,p
       f     m
                      hj
             j*         =0        i = 1,2,…,n
       xi j 1      xi *

3. Problem dengan Kendala Persamaan & Pertidaksamaan. Secara matematis
   bentuk umumnya :
                                 m                            p
        L(x,,) = f(x) +  j gj (x). +  j hj (x).
                                 j 1                       j 1
   Pada persamaan ini diasumsikan bahwa semua fungsi memiliki nilai nyata dan
   dapat terus menerus diturunkan. Jika titik x* adalah kendala minimum untuk f(x),
   maka di situ harus ada vektor *  m. dan vektor *  p
                  m                              p
   a.  f(x*) =   
                  j 1
                             j*  gj (x*) +  j hj (x*) = 0.
                                                j 1

   b. j* gj (x*) = 0    j = 1,2,…,m
   c. j*  0            j = 1,2,…,m
   d. Kendala asli yang dipenuhi pada x*  0

4. Problem dengan variabel keputusan Nonnegatif. Banyak penerapan dari optimasi
   nonlinear (khususnya bidang teknik) yang disebut variabel perancangan nonnegatif.
   Perlakukan larangan untuk xi  0 sebagai kendala eksplisit bentuk - xi  0.
                   m                             p
   a.  f(x*) =   
                  j 1
                             j*  gj (x*) +  j  hj (x*)         0
                                                j 1
                         m                              p
   b. [  f(x*) =       j 1
                                j*  gj (x*) +  j hj (x*) ] T x* = 0
                                                       j 1

   c. j* gj (x*) = 0     j = 1,2,…,m
   e. j*  0            j = 1,2,…,m
   f. Kendala asli yang dipenuhi pada x*

5. ALGORITMA NLP TANPA KENDALA (UNCONSTRAINED NLP)
      Prosedur pencarian garis. Algoritma paling sederhana adalah menemukan nilai
minimum dari fungsi unvariat melalui beberapa interval [a0,b0] adalah untuk
108                                    Baju Bawono


meminimumkan nilai f(x) ke a0  x  b0 . Untuk ringkasnya, fungsi dievaluasi pada
ai,bi dengan menggunakan 3 titik antara p, q, r.
         Pencarian dengan Golden Section. Pada metode ini digunakan 2 titik antara.
Letak titik yang dikerjakan pada tiap iterasi menjadi menjadi titik antara baru, sebagai
lanjutan iterasi berikutnya.
         Optimasi dengan fungsi multivariat. Pada optimasi multivariat ini
menggunakan 3 tahapan yaitu :
1. Jika besar   f(x’) <  , maka x’ adalah nilai optimum, jika tidak lanjutkan ke
     langkah 2
2. Tentukan arah pencarian di sehingga fungsi f berkurang terus sehingga jarak di dari
     xi yang bisa dituliskan f (xi + di ) < f(xi) untuk semua harga   (0,) dengan >0.
3. Tentukan ukuran  yang diambil lurus melalui di . Mungkin dengan minimisasi
     f(xi + di ) melalui semua nilai  dalam interval (0,) Lanjutkan terus sehingga
     didapat x i+1 = xi + di , dan kembali ke langkah 1.

6. ALGORITMA NLP FUNGSI KENDALA
        Penggunaan metode Sequential Unconstrained Minimization Technique
(SUMT) atau teknik minimasi tanpa kendala secara bertahap. Ini adalah transformasi
algoriritma yang mengganti masalah kendala menjadi tahapan tanpa kendala. Mereka
terdiri 2 tipe yaitu (1) eksterior dan (2) interior metode fungsi pinalti. Fungsi pinalti
adalah sebuah nilai positf yang besar, jika sebuah kendala mengalami violasi. Sebagai
contoh untuk kendala gj (x)  0, j=1,2,…m dan hj(x)=0, j=1,2,…p maka dapat
didefinisikan fungsi pinalti :
               p               m
       p(x) =  hj(x)2 +  { Max [0, gj(x)] }2
              j 1             j 1

Sedangkan ada fungsi bantu (auxiliary fuction) yaitu :
                         m                                  p
                     1
      F(x) = f(x) + {  j [ Max ( 0, gj(x)+qj ) ] 2 +           { j [hj(x) + qj ] }2 }
                     2 j 1                                j 1

dengan qj dan j > 0

7. PENUTUP
1. Pada NLP, prosedur algoritma seperti di atas merupakan garis besar dalam
   penyelesaian semua permasalahan.
2. Penyelesaian permasalahan NLP akan lebih mudah, jika dasar-dasar pemahaman
   teori dan penyelesaian permasalahan LP.
3. Sistem optimasi yang diselesaikan dengan metode NLP harus melihat dan
   mengamati fungsi secara keseluruhan dan syarat-syarat fungsi kendala supaya
   didapatkan penyelesaian sesuai yang diinginkan.

DAFTAR PUSTAKA
Avriel, M.,1976, Nonlinear Programming, Prentice-Hall, Englewood Cliff, New Jersey.
Biegler, L.T., Grossman, I.E., 1988,Application of Oreration Reseach Technique in
     Chemical Engineering. North-Holland, New York.
Hodson, W.K., 1971, Maynard’s Industrial Engineering Handbook, McGraw-Hill,
     New York.

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:274
posted:4/26/2011
language:Indonesian
pages:8
Description: Manajemen Operasi bu Mei semester 5