Algoritma Karmarkar METODE KARMARKAR

Minimumkan dengan kendala dengan , dan . Algoritma Karmarkar adalah algoritma iteratif, yakni diberikan titik awal dan diberikan parameter penghentian , maka akan menghasilkan urutan , yang memenuhi . Untuk menentukan , digunakan persamaan 3.26 dengan adalah besar langkah sedemikian sehingga nilai tetap berada pada daerah layak dan adalah arah layak yang memperbaiki nilai fungsi sasaran. Besar langkah yang dipilih memenuhi . Dalam tulisan aslinya Karmarkar merekomendasikan nilai . Sedangkan arah layak yang memperbaiki nilai fungsi sasaran dipilih sebagai berikut. Pertama perhatikan bahwa gradien fungsi objektif adalah c. Oleh karena itu, arah tingkat penurunan maksimum fungsi tujuan adalah –c. Akan tetapi, secara umum arah tersebut tidak dapat digunakan, karena haruslah terletak di himpunan kendala 3.27 dimana didefinisikan dengan Teorema 3.5 Misalkan , dan . Misalkan A memenuhi dan adalah titik interior tegas dari , dan D adalah matriks diagonal yang entri-entri diagonalnya merupakan komponen dari . Jika matriks B didefinisikan sebagai maka , dan oleh karena itu adalah nonsingular . Bukti: Misalkan dan A memenuhi Akan dibuktikan i. memenuhi ii. adalah nonsingular . Jika adalah matriks yang memenuhi , maka bentuk eselon baris dari akan memiliki banyaknya 1 utama. Untuk membuktikan matriks memenuhi , cukup membuktikan adalah matriks . Dimana adalah matriks diagonal yang entri-entri diagonalnya merupakan komponen dari , dan adalah titik interior tegas dari , dengan . Karena adalah titik interior tegas dari , maka . Sehingga elemen-elemen pada D tidak akan bernilai nol. Dengan demikian adalah matriks dan matriks memenuhi . Misal memenuhi , akan dibuktikan adalah nonsingular. Berdasarkan Teorema 2.15 diatas untuk menunjukan adalah nonsingular dengan menunjukkan . Seperti yang diperlihatkan dalam Teorema 2.7 dan Teorema 2.9 , maka adalah nonsingular. Perhatikan karena , yakni , maka untuk yang juga terletak pada yakni memenuhi, maka diperoleh atau Dengan demikian , maka vektor haruslah elemen ruang nol dari . Oleh karena itu, dipilih yang merupakan arah proyeksi ortogonal dari - c pada ruang nol dari . Proyeksi ini dilakukan oleh matriks yang didefinisikan dengan Perhatikan bahwa adalah nonsingular dari asumsi c. Dalam suatu jurnal A New Polynomial-Time Algorithm For Linear Programming Karmarkar, 1984 menguraikan bahwa adalah jari- jari bola terbesar dalam simpleks . Oleh karena itu, vektor , dengan menunjuk pada arah proyeksi dari pada ruang nol dari . Untuk iterasi selanjutnya, diperbaharui dengan menggunakan fungsi , yakni . Ide dasar pembaharuan tersebut mirip dengan pembaruan dari ke yang telah dijelaskan di atas. Namun, perlu diketahui bahwa , secara umum bukan di pusat simpleks. Oleh karena itu, titik tersebut haruslah ditransformasi ke pusat. Untuk melakukan hal ini, memisalkan adalah matriks diagonal yang entri-entri diagonalnya adalah komponen dari vektor , yaitu Karena adalah titik interior tegas dari , dan sehingga adalah titik interior tegas dari , selanjutnya adalah titik interior tegas dari untuk setiap k , yakni . Oleh karena itu, adalah nonsingular, dan Pertimbangkan pemetaan dengan didefinisikan sebagai . Perhatikan bahwa Akan digunakan untuk mengubah variabel x ke . Langkah ini dilakukan sehingga dipetakan ke pusat dari simpleks, seperti yang diperlihatkan di atas. Perhatikan bahwa adalah pemetaan yang dapat diinverskan, dimana Misalkan , maka dengan menerapkan prosedur yang sudah dijelaskan sebelumnya untuk mendapatkan dari . Secara khusus, diperbaharui untuk memperoleh menggunakan rumus pembaruan . Untuk menghitung , masalah program linear awal perlu dinyatakan dalam variabel yang baru: Minimumkan Dengan kendala , 3.28 Teorema 3.6 Misalkan adalah titik interior tegas dari , dan adalah matriks diagonal yang entri-entri diagonalnya merupakan komponen dari . Didefinisikan pemetaan dengan . Misalkan menunjukkan perubahan dari variabel. Maka masalah program linear tertransformasi berikut dalam variabel Minimumkan Dengan kendala , 3.29 adalah ekuivalen terhadap masalah program linear Meminimumkan Dengan kendala 3.30 yakni adalah penyelesaian optimal dari masalah 3.30 jika dan hanya jika adalah penyelesaian optimal untuk masalah 3.29. Bukti: Misalkan adalah titik interior tegas dari , yakni dan adalah matriks diagonal yang entri-entri diagonalnya merupakan komponen dari . Akan dibuktikan adalah penyelesaian optimal dari masalah 3.30 adalah penyelesaian optimal untuk masalah 3.29. Misalkan adalah penyelesaian optimal dari masalah 3.30, yakni meminimumkan dan memenuhi dan . Akan dibuktikan adalah penyelesaian optimal untuk masalah 3.29, yakni meminimumkan dan memenuhi dan . i. memenuhi akan ditunjukkan memenuhi . Karena maka Karena maka ii. memenuhi akan ditunjukkan memenuhi Diketahui maka adalah matriks diagonal yang entri-entri diagonalnya merupakan komponen dari , maka sehingga Karena , maka iii. meminimumkan akan dibuktikan meminimumkan . Berdasarkan asumsi b dari asumsi-asumsi dalam masalah Karmarkar, jika meminimumkan , maka nilai minimum dari . Maka nilai minimum dari Karena maka diperoleh adalah penyelesaian optimum untuk masalah 3.30 . adalah penyelesaian optimum untuk masalah 3.29 Misalkan adalah penyelesaian optimal dari masalah 3.29, yakni meminimumkan dan memenuhi dan . Akan dibuktikan adalah penyelesaian optimal untuk masalah 3.30, yakni meminimumkan dan memenuhi dan . i. memenuhi akan ditunjukkan memenuhi . Karena maka Karena , maka ii. memenuhi akan ditunjukkan memenuhi Karena , maka iii. meminimumkan akan dibuktikan meminimumkan . Karena meminimumkan maka Karena , maka . adalah penyelesaian optimum untuk masalah 3.29 adalah penyelesaian optimum untuk masalah 3.30. adalah penyelesaian optimal dari masalah 3.30, yakni meminimumkan dan memenuhi dan . adalah penyelesaian optimal untuk masalah 3.29, yakni meminimumkan dan memenuhi dan . Dapat ditunjukkan bahwa masalah program linear di atas dalam variabel yang baru ekuivalen dengan masalah program linear dalam bentuk standar dalam arti bahwa adalah penyelesaian optimal untuk masalah dalam bentuk standar jika dan hanya jika adalah penyelesaian optimal dari masalah yang sudah ditransformasikan. Untuk melihat ini, perhatikan bahwa , dan fungsi tujuan serta kendala dapat ditulis kembali sebagai berikut. Perhatikan bahwa Pilih , dimana adalah proyeksi normal dari pada ruang nol dari , dan . Untuk menentukan , definisikan matriks proyeksi ortogonal dengan Perhatikan bahwa adalah nonsingular . Oleh karena itu, vektor diberikan Maka vektor arah dapat diperoleh Vektor , dijamin terletak pada daerah layak yang sudah ditransformasikan . Langkah terakhir adalah menerapkan transformasi invers untuk memperoleh , yakni Perhatikan terletak di himpunan . Dapat dilihat bahwa dan memetakan kedalam . Dari uraian di atas maka algoritma Karmarkar dirangkum mengikuti langkah-langkah berikut: 1. Langkah awal: Tetapkan , . 2. Memperbaruhi: Tetapkan , dimana adalah pembaruan pemetaan yang ditentukan melalui langkah-langkah berikut ini: 1. Hitunglah matriks: 2. Hitunglah proyeksi ortogonal pada ruang nol dari : 3. Hitunglah proyeksi ortogonal ternormalisasi dari c pada ruang nol dari : 4. Hitunglah vektor arah: 5. Hitunglah menggunakan: dimana adalah ukuran langkah, . 6. Hitunglah dengan menerapkan transformasi invers : 3. Periksa kriteria penghentian : Jika kondisi dipenuhi, maka iterasi berhenti. Jika tidak, tetapkan , kembali ke langkah 2. Berikut ini adalah contoh untuk menunjukkan bagaimana menyelesaikan masalah program linear dalam bentuk kanonik dengan menggunakan Algoritma Karmarkar. Contoh 3.3 Pertimbangkan masalah program linear berikut ini, yang sudah berada dalam bentuk kanonik Karmarkar. Minimumkan dengan kendala Iterasi 0 Tetapkan Iterasi 1 Akan ditentukan dengan diperoleh dengan langkah- langkah berikut. i. Menghitung matriks ii. Menghitung proyeksi ortogonal pada ruang nol dari iii. Menghitung proyeksi ortogonal ternormalisasi dari c pada ruang nol dari iv. Menghitung vektor arah v. Menghitung dengan vi. Menghitung dengan menerapkan transformasi invers : Karena , maka iterasi dilanjutkan. Tetapkan k=1. Iterasi 2 Akan ditentukan dengan diperoleh dengan langkah- langkah berikut. i. Menghitung matriks ii. Menghitung proyeksi ortogonal pada ruang nol dari iii. Menghitung proyeksi ortogonal ternormalisasi dari c pada ruang nol dari iv. Menghitung vektor arah v. Menghitung dengan vi. Menghitung dengan menerapkan transformasi invers : Karena , maka iterasi dilanjutkan. Tetapkan k=2. Iterasi 3 Akan ditentukan dengan diperoleh dengan langkah- langkah berikut. i. Menghitung matriks ii. Menghitung proyeksi ortogonal pada ruang nol dari iii. Menghitung proyeksi ortogonal ternormalisasi dari c pada ruang nol dari iv. Menghitung vektor arah v. Menghitung dengan vi. Menghitung dengan menerapkan transformasi invers : Karena , maka iterasi dilanjutkan. Untuk memenuhi akan dibutuhkan 24 iterasi dan diperoleh titik optimumnya, yakni .

F. Aplikasi Metode Karmarkar untuk Menyelesaikan Masalah Program

Linear dengan Program MATLAB Contoh 3.4 Pertimbangkan masalah program linear berikut ini, yang sudah berada dalam bentuk kanonik Karmarkar. Minimumkan dengan kendala dengan , dan Contoh 3.5: Pertimbangkan masalah program linear berikut dalam bentuk standar: Minimumkan dengan kendala dengan , , dan