PERBANDINGAN WAKTU EKSEKUSI METODE SIMPLEKS DAN METODE TITIK INTERIOR DALAM MENYELESAIKAN MASALAH OPTIMASI LINEAR MENGGUNAKAN MATHEMATICA
ROCHMAT FERRY SANTO
DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Perbandingan Waktu Eksekusi Metode Simpleks dan Metode Titik Interior dalam Menyelesaikan Masalah Optimasi Linear Menggunakan Mathematica adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir disertasi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Mei 2014 Rochmat Ferry Santo NIM G54090063
ABSTRAK ROCHMAT FERRY SANTO. Perbandingan Waktu Eksekusi Metode Simpleks dan Metode Titik Interior dalam Menyelesaikan Masalah Optimasi Linear Menggunakan Mathematica. Dibimbing oleh BIB PARUHUM SILALAHI dan PRAPTO TRI SUPRIYO. Terdapat dua metode yang umum digunakan untuk menyelesaikan masalah optimasi linear, yaitu metode simpleks dan metode titik interior. Pada metode simpleks untuk mencari solusi optimal, algoritme berpindah dari verteks ke verteks. Sementara itu pada metode titik interior, algoritme bergerak di dalam interior daerah fisibel dari masalah optimasi linear. Pada karya ilmiah ini, dilakukan perbandingan waktu eksekusi metode simpleks dan metode titik interior dalam menyelesaikan masalah optimasi linear dengan menggunakan sebuah perangkat lunak matematika, yaitu Mathematica. Ukuran dari masalah optimasi linear dipilih bervariasi dari ukuran yang relatif kecil ke ukuran yang relatif besar. Hasil utama yang diperoleh adalah metode titik interior lebih cepat dibandingkan metode simpleks untuk masalah-masalah optimasi linear yang berukuran besar. Kata kunci: metode simpleks, metode titik interior, optimasi linear, waktu eksekusi
ABSTRACT ROCHMAT FERRY SANTO. Execution Time Comparation Between Simplex Method and Interior Point Method in Solving Linear Optimization Problems Using Mathematica. Supervised by BIB PARUHUM SILALAHI and PRAPTO TRI SUPRIYO. There are two famous methods for solving linear optimization problems, namely simplex method and interior point method. In the simplex method, to find an optimal solution, the algorithm moves from vertex to vertex. While in the interior point method, the algorithm moves in the interior of the feasible region of the problem. In this paper we compare the execution time of the simplex method and the interior point method in solving several linear optimization problems by using a mathematical software, that is Mathematica. The size of problems are chosen from small to relatively big. The main result is that the interior point method is faster than the simplex method for big size problems. Keywords: simplex method, interior point method, linear optimization, execution time
PERBANDINGAN WAKTU EKSEKUSI METODE SIMPLEKS DAN METODE TITIK INTERIOR DALAM MENYELESAIKAN MASALAH OPTIMASI LINEAR MENGGUNAKAN MATHEMATICA
ROCHMAT FERRY SANTO
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains pada Departemen Matematika
DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
Judul Skripsi : Perbandingan Waktu Eksekusi Metode Simpleks dan Metode Titik Interior dalam Menyelesaikan Masalah Optimasi Linear Menggunakan Mathematica Nama : Rochmat Ferry Santo NIM : G54090063
Disetujui oleh
Dr Ir Bib Paruhum Silalahi, MKom Pembimbing I
Drs Prapto Tri Supriyo, MKom Pembimbing II
Diketahui oleh
Dr Toni Bakhtiar, MSc Ketua Departemen
Tanggal Lulus:
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa taโala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Februari 2013 ini ialah optimasi linear, dengan judul Perbandingan Waktu Eksekusi Metode Simpleks dan Metode Titik Interior dalam Menyelesaikan Masalah Optimasi Linear Menggunakan Mathematica. Terima kasih penulis ucapkan kepada Bapak Dr Ir Bib Paruhum Silalahi, MKom dan Bapak Drs Prapto Tri Supriyo, MKom selaku pembimbing, serta Bapak Ir Ngakan Komang Kutha Ardana, MSc yang telah banyak memberi saran, motivasi, dan bimbingan dalam penulisan karya ilmiah ini, serta kepada seluruh staf Departemen Matematika. Ungkapan terima kasih dan penghargaan disampaikan kepada Papah, Mamah, Pa Raden, Mamah Ray, serta seluruh keluarga, atas segala doa dan kasih sayangnya. Di samping itu, ucapan terima kasih juga penulis berikan kepada Syukrio Idaman, Rudy Hariono, Qowiyyul Siregar, Hidayattul Kamil, seluruh mahasiswa Departemen Matematika Angkatan 45, 46, 47, dan 48 serta teman-teman sekalian di luar Departemen Matematika baik di dalam Institut Pertanian Bogor maupun di luar Institut Pertanian Bogor atas kritik, saran dan doanya selama pembuatan karya ilmiah ini. Penulis menyadari bahwa dalam kaya ilmiah ini masih jauh dari kesempurnaan. Kritik dan saran berupa masukan yang bersifat membangun sangat diharapkan penulis demi penyempurnaan di masa mendatang. Semoga karya ilmiah ini dapat memberikan informasi yang bermanfaat bagi pembaca. Semoga karya ilmiah ini bermanfaat.
Bogor, Mei 2014 Rochmat Ferry Santo
DAFTAR ISI DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Tujuan Penelitian
1
TINJAUAN PUSTAKA
2
Optimasi Linear
2
Bentuk Standar Primal dan Bentuk Standar Dual
2
Metode Pengali Lagrange
3
Metode Newton
3
Wolfram Mathematica
4
HASIL DAN PEMBAHASAN Metode Simpleks
5 5
Metode Titik Interior
10
Studi Kasus
16
SIMPULAN
22
DAFTAR PUSTAKA
22
LAMPIRAN
24
RIWAYAT HIDUP
41
DAFTAR TABEL 1 2 3 4
Ilustrasi tabulasi simpleks Tabulasi simpleks Tabulasi simpleks kolom kunci dan baris kunci Waktu eksekusi metode simpleks dan metode titik interior dengan lima kali pengulangan 5 Waktu eksekusi rata-rata metode simpleks dan metode titik interior serta perbandingan waktu eksekusi metode simpleks : metode titik interior
8 9 10 19
21
DAFTAR GAMBAR 1 Perbandingan waktu eksekusi metode simpleks : metode titik interior
21
DAFTAR LAMPIRAN 1 2 3 4 5 6 7
Studi kasus 4 masalah OL dengan 50 kendala dan 50 variabel Studi kasus 5 masalah OL dengan 100 kendala dan 100 variabel Studi kasus 6 masalah OL dengan 100 kendala dan 200 variabel Studi kasus 7 masalah OL dengan 200 kendala dan 200 variabel Studi kasus 8 masalah OL dengan 500 kendala dan 500 variabel Studi kasus 9 masalah OL dengan 500 kendala dan 1000 variabel Studi kasus 10 masalah OL dengan 100 kendala dan 200000 variabel
24 25 27 29 31 35 40
PENDAHULUAN Latar Belakang Optimasi adalah bagian dari matematika terapan yang mempelajari masalahmasalah dengan tujuan mencari nilai minimum atau maksimum suatu fungsi terhadap kendala-kendala yang ada. Optimasi dalam matematika mengacu pada pemilihan elemen terbaik dari beberapa himpunan alternatif yang tersedia. Bagian dari optimasi adalah optimasi linear (linear optimization) di mana fungsi tujuan dinyatakan dalam fungsi linear dan kendala-kendala dinyatakan dalam bentuk persamaan/pertidaksamaan linear. Optimasi Linear (OL) muncul menjadi model matematika setelah perang dunia ke-2, yaitu ketika Dantzig memaparkan metode simpleks untuk menyelesaikan masalah optimasi linear. Untuk memperoleh solusi optimal, metode simpleks bergerak dari verteks ke verteks. Metode ini dirancang sedemikian rupa yang dalam pergerakannya dari satu verteks ke verteks, nilai fungsi tujuan berubah secara monoton menuju nilai optimal. Terobosan yang sangat efektif untuk menyelesaikan masalah OL terjadi pada tahun 1984, ketika Karmarkar mengusulkan menggunakan metode titik interior untuk menyelesaikan masalah OL dan memulai revolusi dalam bidang optimasi. Tidak seperti metode simpleks yang bergerak dari verteks ke verteks, metode titik interior bergerak di dalam interior dari domain secara monoton menuju solusi optimal (Silalahi 2011). Setelah periode 1960-an dengan digunakannya komputer, optimasi linear tersebut dapat diformulasikan dalam perangkat lunak komputer yang menjadikan optimasi linear sebagai alat canggih dalam optimasi untuk memperoleh keputusan-keputusan yang optimum dengan cepat dan tepat. Perangkat lunak komputasi yang dapat digunakan untuk menyelesaikan optimasi linear dalam sistem persamaan linear antara lain Mathematica, Matlab, Maple, dan Mathcad.
Tujuan Penelitian Penulisan karya ilmiah ini bertujuan untuk menunjukkan perbandingan waktu eksekusi antara metode simpleks dan metode titik interior dalam menyelesaikan masalah optimasi linear (OL) yang dilakukan terhadap beberapa studi kasus permasalahan optimasi linear yang bervariasi dengan memuat fungsi tujuan dan kendala yang dimulai dari ukuran sederhana sampai berukuran besar, dengan menggunakan perangkat lunak Mathematica.
TINJAUAN PUSTAKA Optimasi Linear Optimasi linear adalah proses untuk mendapatkan hasil yang optimum. Model optimasi linear (OL) meliputi pengoptimuman suatu fungsi linear terhadap kendala linear (Nash dan Sofer 1996). Optimasi linear khusus mempelajari hal-hal yang berkaitan dengan meminimumkan atau memaksimumkan fungsi-fungsi linear, dengan kendala yang juga berbentuk linear (berupa persamaan atau pertidaksamaan). Dikatakan sebuah fungsi linear, jika suatu fungsi f dalam variabel-variabel ๐ฅ1 , ๐ฅ2 , โฆ , ๐ฅ๐ adalah suatu fungsi linear jika dan hanya jika untuk suatu himpunan konstanta ๐1 , ๐2 , โฆ , ๐๐ , fungsi f dapat ditulis sebagai ๐( ๐ฅ1 , ๐ฅ2 , โฆ , ๐ฅ๐ ) = ๐1 ๐ฅ1 + ๐2 ๐ฅ2 + โฆ + ๐๐ ๐ฅ๐ = ๐ (Winston 2004). Misalkan contoh sebagai berikut: ๐( ๐ฅ1 , ๐ฅ2 , ๐ฅ3 ) = 2๐ฅ1 + ๐ฅ2 + ๐ฅ3 merupakan fungsi linear, ๐( ๐ฅ1 , ๐ฅ2 ) = ๐ฅ1 2 + ๐ฅ2 bukan fungsi linear. Suatu persamaan linear dalam n variabel adalah persamaan untuk sembarang fungsi linear f dan sembarang bilangan b persamaan ๐( ๐ฅ1 , ๐ฅ2 , โฆ , ๐ฅ๐ ) = ๐ merupakan persamaan linear. Untuk sembarang fungsi linear f dan sembarang bilangan b suatu pertidaksamaan ๐( ๐ฅ1 , ๐ฅ2 , โฆ , ๐ฅ๐ ) โค ๐ dan ๐( ๐ฅ1 , ๐ฅ2 , โฆ , ๐ฅ๐ ) โฅ ๐ adalah pertidaksamaan linear. Suatu optimasi linear dikatakan berbentuk standar jika dapat ditulis sebagai berikut: minimumkan/maksimumkan: z = cTx terhadap ๐ด๐ฑ = ๐, x โฅ 0, dengan x dan c berupa vektor berukuran ๐ ร 1 , vektor b berukuran ๐ ร 1 , sedangkan ๐ด berupa matriks berukuran m ร n, yang disebut juga sebagai matriks kendala (Nash & Sofer 1996). Dalam masalah maksimisasi, solusi optimal pada optimasi linear adalah suatu titik pada daerah fisibel dengan nilai fungsi objektif paling besar. Untuk minimisasi, solusi optimal suatu optimasi linear adalah suatu titik dalam daerah fisibel dengan nilai fungsi objektif terkecil (Winston 2004). Daerah fisibel suatu optimasi linear adalah himpunan semua titik yang memenuhi semua kendala dan pembatasan tanda pada optimasi linear tersebut (Winston 2004). P
Bentuk Standar Primal dan Bentuk Standar Dual Masalah optimasi linear dalam bentuk standar diberikan sebagai berikut: {๐ ๐ ๐ฑ โถ ๐ด๐ฑ = ๐, ๐ฑ โฅ ๐} min (๐) dengan vektor ๐, ๐ฑ โ โ๐ , ๐ โ โ๐ , serta ๐ด โ โ๐ร๐ adalah matriks berpangkat baris penuh. Masalah (๐) disebut masalah primal. Masalah dual dari masalah primal (๐) diberikan sebagai berikut: maks {๐๐ ๐ฒ โถ ๐ด๐ ๐ฒ + ๐ฌ = ๐, ๐ฌ โฅ ๐} (๐ท) dengan ๐ฌ โ โ๐ dan ๐ฒ โ โ๐ . Masalah (๐ท) disebut masalah dual. Daerah fisibel dari masalah (๐) didefinisikan sebagai berikut: ๐ซ ={๐ฑ โถ ๐ด๐ฑ = ๐, ๐ฑ โฅ ๐}
3 sedangkan daerah fisibel dari (๐ท) didefinisikan sebagai berikut: ๐ = {(๐ฒ, ๐ฌ): ๐ด๐ ๐ฒ + ๐ฌ = ๐, ๐ฌ โฅ ๐}. Daerah interior masalah (๐) didefinisikan sebagai berikut: ๐ซ 0 ={๐ฑ โถ ๐ด๐ฑ = ๐, ๐ฑ > ๐} sedangkan daerah interior dari masalah (๐ท) didefinisikan sebagai berikut: ๐ 0 = {(๐ฒ, ๐ฌ): ๐ด๐ ๐ฒ + ๐ฌ = ๐, ๐ฌ > ๐} (Silalahi 2011). Metode Pengali Lagrange Metode pengali Lagrange adalah suatu prosedur untuk menentukan minimum atau maksimum fungsi objektif terhadap kendala persamaan. Misalkan diberikan masalah pengoptimuman sebagai berikut: maks ๐(๐ฑ) terhadap ๐๐ (๐ฑ) = 0, ๐ = 1, โฆ , ๐ dengan ๐(๐ฑ) dan ๐๐ (๐ฑ) adalah fungsi dari vektor ๐ฑ berukuran ๐. Fungsi Lagrange dari masalah ini ialah ๐
๐ฟ(๐ฑ, ๐) = ๐(๐ฑ) โ ๏ฟฝ ๐๐ ๐๐ (๐ฑ) ๐=1
dengan variabel ๐ = (๐1 , ๐2 , โฆ , ๐๐ ) adalah pengali Lagrange. Syarat perlu untuk titik stasioner dari ๐(๐ฑ) adalah turunan parsial pertama dari fungsi Lagrange sama dengan nol ๐๐ฟ = 0, ๐ = 1, โฆ , ๐ ๐๐ฅ๐ ๐๐ฟ = 0, ๐ = 1, โฆ , ๐ ๐๐๐ (Jensen & Bard 2002). Metode Newton Metode Newton adalah salah satu prosedur iteratif untuk menyelesaikan masalah taklinear. Misalkan persamaan ๐(๐ฆ) = 0 adalah persamaan taklinear dengan ๐ฆ merupakan penyelesaian dari persamaan tersebut. Fungsi ๐ adalah fungsi yang kontinu dan terturunkan. Pada solusi eksak ๐ฆ โ , nilai fungsi dapat dinyatakan sebagai ๐(๐ฆ ๐ ) dan nilai dari fungsi turunan pertama adalah ๐โฒ(๐ฆ ๐ ). Nilai ๐ฆ ๐ adalah solusi ๐ฆ yang diperoleh pada iterasi ke-๐. Misalkan ๐ง = ๐(๐ฆ), turunan dapat diartikan sebagai laju perubahan ๐ง terhadap ๐ฆ. Andaikan ๐ฆ berubah dari ๐ฆ ๐ ke ๐ฆ ๐+1 maka perubahan pada ๐ฆ adalah โ= ๐ฆ ๐+1 โ ๐ฆ ๐ . Perubahan โ ini diperlukan untuk mengubah nilai fungsi ๐ menuju nol. Selanjutnya, metode Newton dapat diturunkan dari ekspansi deret Taylor orde pertama dari ๐(๐ฆ) di sekitar ๐ฆ ๐ , sebagai berikut: ๐โฒ(๐ฆ ๐ ) ๐(๐ฆ ๐+1 ) โ ๐(๐ฆ ๐ ) + (๐ฆ ๐+1 โ ๐ฆ ๐ ) 1! sehingga
4 ๐(๐ฆ ๐+1 ) โ ๐(๐ฆ ๐ ) + โ๐ โฒ (๐ฆ ๐ ). Tetapkan pendekatan ๐(๐ฆ ๐+1 ) sama dengan 0 sehingga didapat โ๐(๐ฆ ๐ ) โ= โฒ ๐ . ๐ (๐ฆ ) ๐+1 ๐ Titik ๐ฆ = ๐ฆ + โ adalah solusi pendekatan fungsi ๐(๐ฆ) . Jika titik awal ๐ฆ 0 cukup dekat dengan ๐ฆ โ maka nilai dari ๐ฆ ๐ akan mendekati ๐ฆ โ dengan ๐ โ โ. Metode Newton dapat juga digunakan untuk mengubah bentuk suatu fungsi taklinear menjadi bentuk fungsi linear dari fungsi multivariabel. Misalkan persamaan ๐(๐ฒ) = 0 adalah persamaan taklinear dengan vektor ๐ฒ โ dari persamaan multivariabel tersebut dan matriks Jacobi J pada ๐ฒ ๐ dinyatakan sebagai berikut: ๐๐1 ๐๐1 ๐๐1 โฏ ๐๐ฆ๐ โ โ๐๐ฆ1 ๐๐ฆ2 ๐๐2 โ โ ๐๐2 ๐๐2 ๐ฝ(๐ฒ ๐ ) = โ๐๐ฆ1 ๐๐ฆ2 โฏ ๐๐ฆ๐ โ โ โ โฎ โฑ โฎ โ โ โฎ ๐๐๐ ๐๐๐ ๐๐๐ โฏ ๐๐ฆ๐ โ โ๐๐ฆ1 ๐๐ฆ2 kemudian dengan menggunakan deret Taylor orde pertama di sekitar titik ๐ฒ ๐ dan dengan menetapkan ๐(๐ฒ ๐+1 ) = 0 diperoleh ๐(๐ฒ ๐+1 ) = ๐(๐ฒ ๐ ) + ๐ฝ(๐ฒ ๐ )๐ = 0 ๐(๐ฒ ๐ ) + ๐ฝ(๐ฒ ๐ )๐ = 0 dengan ๐ = ๐ฒ ๐+1 โ ๐ฒ ๐ dan ๐ = 0,1,2, โฆ , ๐ . Titik ๐ฒ ๐+1 = ๐ฒ ๐ + ๐ adalah solusi pendekatan fungsi ๐(๐ฒ). Jika titik ๐ฒ 0 cukup dekat dengan titik ๐ฒ โ maka nilai dari ๐ฒ ๐ akan mendekati ๐ฒ โ dengan ๐ โ โ (Jensen & Bard 2002). Wolfram Mathematica Mathematica merupakan suatu sistem aljabar komputer (CSA, Computer Algebra System) yang mengintegrasikan kemampuan komputasi (simbolik, numerik), visualisasi (grafik), bahasa pemrograman, dan pengolahan kata (word processing) ke dalam suatu lingkungan yang mudah digunakan (Ardana 2002). Mathematica pertama kali diperkenalkan pada tahun 1988. Pada saat ini Mathematica merupakan salah satu aplikasi pilihan dalam pendidikan dan penelitian, khususnya untuk melakukan komputasi matematik baik simbolik maupun numerik, pengembangan algoritme dan aplikasi, pemodelan dan simulasi, serta eksplorasi, analisis, dan visualisasi data. Mathematica merupakan program aplikasi Wolfarm Research yang handal dengan fasilitas terintegrasi lengkap untuk menyelesaikan beragam masalah matematika yang meliputi komputasi numerik, simbolik, dan visualisasi grafik. Mathematica dapat menyelesaikan beragam kasus komputasi matematika, mulai dari komputasi yang paling sederhana hingga yang paling rumit dapat diselesaikan dengan mudah, ringkas, cepat, dan tepat. Mathematica memiliki fasilitas fungsi (built in Mathematics functions) yang menjadikan sintaks programnya dapat dinyatakan dalam satu atau beberapa baris sederhana . Dilengkapi dengan fasilitas terintegrasi Mathematica mampu mengerjakan beragam perhitungan matematika, salah satunya adalah menyelesaikan masalah
5 optimasi linear (linear optimization). Mathematica dapat dengan mudah menyelesaikan masalah optimasi linear untuk mencari nilai optimum dari suatu fungsi objektif dan kedala yang berbentuk linear dalam masalah optimasi linear yang berkaitan dengan meminimumkan atau memaksimumkan. Mathematica mempunyai beragam algoritme untuk menyelesaikan suatu masalah optimasi dengan variabel real yang dapat diformulasikan dalam bentuk fungsi Mathematica, seperti: LinearProgramming, FindMinimum, FindMaximum, Nminimize, Nmaximize, dan Maximize. Sintaks LinearProgramming memberikan perintah untuk mengakses ke penyelesaian optimasi linear, dengan sangat mudah menyesuaikan untuk menentukan berbagai metode yang akan digunakan, dan sangat efisien untuk menyelesaikan masalah optimasi linear yang berukuran besar. Bentuk umum untuk optimasi linear pada Mathematica, yaitu: 1.
LinearProgramming[c, m, b]
Implementasi dari sintaks di atas ialah untuk menemukan suatu nilai vektor x yang meminimumkan jumlah nilai ๐๐ฑ pada fungsi objektif, dengan kendala ๐๐ฑ โฅ ๐ dan ๐ฑ โฅ ๐. Di mana c adalah konstanta dari fungsi objektif, m adalah konstanta (nilai ruas kiri) dalam kendala, dan b adalah nilai dari suatu kendala (nilai ruas kanan). 2. LinearProgramming[c, m, {{๐1 , ๐ 1 }, {๐2 , ๐ 2 },โฆโฆ}] Implementasi dari sintaks di atas ialah untuk menemukan nilai vektor x yang meminimumkan fungsi objektif ๐๐ฑ dengan kendala ๐๐ฑ โฅ ๐ untuk ๐ฑ โฅ ๐ , dan kendala berupa linear dengan matriks m yang berpasangan {๐๐ , ๐ ๐ }. Untuk setiap baris ๐๐ dari m, sesuai dengan kendala jika ๐๐ ๐ฑ โฅ ๐๐ maka ๐ ๐ == 1 , atau jika ๐๐ ๐ฑ == ๐๐ maka ๐ ๐ == 0 , atau jika ๐๐ ๐ฑ โค ๐๐ maka ๐ ๐ == โ1. Untuk menyelesaikan optimasi linear yang lebih kompleks pada Mathematica dapat dikerjakan dengan metode yang lebih spesifik, yaitu dengan menggunakan perintah โSimplexโ, โRevisedSimplexโ, dan โInteriorPointโ. Secara otomatis Mathematica akan mengerjakan masalah optimasi linear dengan algoritme yang dipilih sesuai pada perintah sintaks dan berdasarkan ukuran masalah dan tingkat ketelitian.
HASIL DAN PEMBAHASAN Penelitian ini membahas perbandingan waktu eksekusi metode simpleks dan metode titik interior dalam menyelesaikan masalah optimasi linear yang dilakukan terhadap beberapa kasus, menggunakan bantuan perangkat lunak Mathematica.
Metode Simpleks Metode simpleks adalah sebuah cara untuk menyelesaikan masalah optimasi linear, dengan melakukan pengulangan pada pengujian titik-titik sudut hingga menemukan penyelesaian optimal (Siswanto 2007). Algoritme simpleks merupakan prosedur berulang, berarti cara yang sama digunakan di dalam
6 pengujian setiap titik sudut hingga ditemukan penyelesaian optimal, yaitu penyelesaian yang memenuhi seluruh kendala dan menghasilkan nilai tujuan. Dalam model optimasi linear, titik sudut adalah perpotongan antara paling sedikit dua garis kendala. Selain membentuk titik sudut, juga akan membentuk sebuah daerah fisibel dengan kemungkinan nilai optimal pada seluruh koordinat yang memenuhi kendala-kendala yang ada. Adapun istilah-istilah yang terdapat dalam algoritme simpleks, yaitu: 1 Variabel Slack Variabel slack adalah variabel basis yang berfungsi untuk menampung sisa kapasitas pada kendala yang berupa pembatas (Siswanto 2007). 2 Variabel Surplus Variabel surplus adalah variabel yang berfungsi untuk menampung kelebihan nilai ruas kiri pada kendala yang berupa syarat (Siswanto 2007). 3 Variabel Artificial Variabel artificial adalah variabel yang bernilai positif, berfungsi untuk memulai penyelesaian dan harus dijadikan nol pada solusi akhir. Variabel ini digunakan untuk setiap persamaan yang tidak memiliki variabel basis. 4 Variabel Basis dan Nonbasis Variabel basis (basic variable) dan variabel nonbasis (nonbasic variable) merupakan dua terminologi penting yang akan selalu digunakan di dalam algoritme simpleks. Variabel basis adalah variabel yang bernilai positif, dan variabel nonbasis adalah variabel yang bernilai nol (Siswanto 2007). Algoritme simpleks memerlukan sebuah tabel simpleks atau yang biasa dikenal dengan tabulasi simpleks pada pengujian suatu titik sudut untuk menentukan apakah variabel keputusan pada titik sudut itu telah menghasilkan nilai tujuan yang optimal. Di dalam tabulasi simpleks menghendaki suatu bangun matematik tertentu agar pengujian titik-titik sudut tersebut bisa dilakukan. Bangun matematik tersebut dikenal sebagai bangun metematik yang sudah tereduksi lengkap, di dalam bangun tersebut terdapat sebuah bangun matriks simetri di mana elemen-elemen diagonalnya bernilai โ+1โ yang disebut sebagai matriks identitas. Untuk membentuk bangun matematik yang sudah tereduksi lengkap membutuhkan peranan kehadiran variabel slack, variabel surplus, dan variabel artificial. Peranan variabel slack, variabel surplus, dan variabel artificial adalah untuk menampung selisih antara nilai ruas kiri dengan nilai ruas kanan pada kendala yang berbentuk pertidaksamaan sehingga dapat diubah menjadi bentuk persamaan yang sesuai dengan bangun matriks identitas. Bangun matriks identitas adalah syarat agar sebuah model matematis optimasi linear dapat dituangkan ke dalam tabulasi simpleks dan selanjutnya diselesaikan. Selain itu bangun matriks identitas juga akan menandai variabel-variabel basis pada setiap koordinat yang diuji. Variabel Basis pada Tabel Simpleks Seperti yang telah diketahui, algoritme simpleks menghendaki suatu bangun matematik yang tereduksi. Bangun ini kemudian dituangkan ke dalam tabulasi simpleks. Perhatikan bangun matematik optimasi linear yang siap dituangkan ke dalam tabulasi simpleks pada ilustrasi sistem persamaan (1) berikut ini:
7 ๐11 ๐ฅ1 + ๐12 ๐ฅ2 + โฏ + ๐1๐ ๐ฅ๐ + 1 + 0 + โฏ + 0 = ๐1 , ๐21 ๐ฅ1 + ๐22 ๐ฅ2 + โฏ + ๐2๐ ๐ฅ๐ + 0 + 1 + โฏ + 0 = ๐2 , โฎ ๐m1 ๐ฅ1 + ๐m2 ๐ฅ2 + โฏ + ๐๐๐ ๐ฅ๐ + 0 + 0 + โฏ + 1 = ๐m .
(1)
Kendala Pembatasan Membentuk Matriks Identitas Bangun matriks identitas yang ada pada ilustrasi sistem persamaan (1) di atas dapat dibentuk dengan cara menghadirkan variabel slack pada kendala. Pertidaksamaan kendala: ๐
diubah menjadi
๏ฟฝ ๐๐๐ ๐ฅ๐ โค ๐๐ , โ๐ = 1, 2, โฆ , ๐ ๐=1
๐
๏ฟฝ ๐๐๐ ๐ฅ๐ + ๐ ๐ = ๐๐ ๐=1
di mana, ๐ฅ๐ : variabel keputusan ke-j ๐๐๐ : koefisien kendala ke-i variabel keputusan ke-j ๐ ๐ : variabel slack kendala ke-i ๐๐ : nilai ruas kanan kendala ke-i Bentuk standar kendala yang siap diolah dalam algoritme simpleks tampak seperti ilustrasi sistem persamaan (2) berikut ini: ๐11 ๐ฅ1 + ๐12 ๐ฅ2 + โฏ + ๐1๐ ๐ฅ๐ + ๐ 1 + 0 + โฏ + 0 = ๐1 , (2) ๐21 ๐ฅ1 + ๐22 ๐ฅ2 + โฏ + ๐2๐ ๐ฅ๐ + 0 + ๐ 1 + โฏ + 0 = ๐2 , โฎ ๐m1 ๐ฅ1 + ๐m2 ๐ฅ2 + โฏ + ๐๐๐ ๐ฅ๐ + 0 + 0 + โฏ + ๐ ๐ = ๐m .
Kendala Syarat Membentuk Matriks Identitas Bangun matematik yang memuat matriks identitas seperti pada ilustrasi sistem persamaan (1) dan ilustrasi sistem persamaan (2) tidak mungkin dapat dibentuk secara langsung pada kendala-kendala syarat yang menampung kelebihan nilai ruas kiri, karena karakteristiknya memiliki koefisien โ-1โ pada variabel surplus. Hal ini akan menyebabkan kendala tidak akan diperhitungkan oleh algoritme simpleks. Karena variabel surplus mempunyai koefisien โ-1โ, maka kondisi di mana kendala harus mempunyai satu varibel yang memiliki koefisien โ+1โ menjadi tidak terpenuhi. Oleh karena itu, pada setiap kendala syarat harus ditambahkan sebuah variabel yang berkoefisien โ+1โ yaitu variabel artificial dengan notasi โ ๐ฃ๐ โ di samping variabel surplus, agar kendala itu memiliki variabel basis sehingga dapat dituangkan ke dalam tabulasi simpleks. Variabel artificial harus bernilai nol di dalam penyelesaian optimal agar kehadirannya tidak mempengaruhi hasil penyelesaian. Pertidaksamaan kendala syarat: ๐
diubah menjadi
๏ฟฝ ๐๐๐ ๐ฅ๐ โฅ ๐๐ , โ๐ = 1, 2, โฆ , ๐ ๐=1
8 ๐
๏ฟฝ ๐๐๐ ๐ฅ๐ โ ๐ ๐ + ๐ฃ๐ = ๐๐ ๐=1
di mana, ๐ฅ๐ : variabel keputusan ke-j ๐๐๐ : koefisien kendala ke-i variabel keputusan ke-j ๐ ๐ : variabel surplus kendala ke-i ๐ฃ๐ : variabel artificial kendala ke-i ๐๐ : nilai ruas kanan kendala ke-i Bentuk standar kendala syarat yang siap diolah oleh algoritme simpleks tampak seperti yang ditampilkan oleh ilustrasi sistem persamaan (3) berikut ini: ๐11 ๐ฅ1 + ๐12 ๐ฅ2 + โฏ + ๐1๐ ๐ฅ๐ โ ๐ 1 + ๐ฃ1 + 0 + โฏ + 0 = ๐1 , (3) ๐21 ๐ฅ1 + ๐22 ๐ฅ2 + โฏ + ๐2๐ ๐ฅ๐ + 0 โ ๐ 2 + ๐ฃ2 + โฏ + 0 = ๐2 , โฎ ๐m1 ๐ฅ1 + ๐m2 ๐ฅ2 + โฏ + ๐๐๐ ๐ฅ๐ + 0 + 0 + โฏ โ ๐ ๐ + ๐ฃ๐ = ๐m . Seperti yang sudah dijelaskan di atas, bentuk umum masalah optimasi linear harus diubah ke dalam bentuk standar atau bentuk persamaan, sehingga dalam matriks A terbentuk matriks identitas dan dapat dituangkan ke dalam tabulasi simpleks. Berikut ini merupakan ilustrasi tabulasi simpleks: Table 1 Ilustrasi Tabulasi Simpleks ๐๐ ๐1 ๐2 โฎ ๐๐
๐๐ Basis
๐ง๐ ๐ง๐ โ ๐๐
๐1 ๐ฅ1 ๐11 ๐21 โฎ ๐๐1 ๐ง1 ๐ง1 โ ๐1
๐2 ๐ฅ2 ๐12 ๐22 โฎ ๐๐2 ๐ง2 ๐ง2 โ ๐2
โฆ โฆ โฆ โฆ โฆ โฆ โฆ โฆ
๐๐ ๐ฅ๐ ๐1๐ ๐2๐ โฎ ๐๐๐ ๐ง๐ ๐ง๐ โ ๐๐
0 ๐ 1
0 โฆ M ๐ 2 โฆ ๐ฃ1 โฆ โฆ โฆ โฆ
๐๐ ๐1 ๐2 โฎ ๐๐
Keterangan: a. Baris ๐๐ diisi dengan koefisien fungsi tujuan. b. Kolom ๐๐ diisi dengan koefisien variabel yang menjadi basis. c. Kolom basis diisi dengan nama-nama variabel yang menjadi basis (variabel yang menyusun matriks identitas). d. Kolom ๐๐ diisi dengan nilai ruas kanan dari kendala. e. Baris ๐ง๐ diisi dengan rumus ๐ง๐ = โ๐๐=1 ๐๐ ๐๐๐ , j = 1, โฆ, n.
1
Berikut ini akan diberikan proses algoritme simpleks, yaitu: Mengubah terlebih dahulu masalah optimasi linear ke bentuk standar, fungsi tujuan dan kendala-kendala diubah ke dalam bentuk persamaan. Seperti yang sudah dijelaskan di atas, dengan menambahkan variabel slack, variabel surplus, dan variabel artificial terhadap kendala yang berbentuk pertidaksamaan. Untuk fungsi tujuan, tambahkan variabel slack (dengan koefisien 0), variabel surplus (dengan koefisien 0), dan variabel artificial (dengan koefisien M untuk masalah meminimumkan dan โM untuk masalah memaksimumkan, M adalah bilangan yang cukup besar). Perhatikan contoh sebagai berikut:
9 ๐ง = 2๐ฅ1 + 3๐ฅ2 5๐ฅ1 + 6๐ฅ2 โค 60, ๐ฅ1 + 2๐ฅ2 โค 16, ๐ฅ1 โค 10, ๐ฅ2 โค 6.
maksimumkan terhadap
2
Bentuk standar: maksimumkan ๐ง โ 2๐ฅ1 โ 3๐ฅ2 + 0๐ 1 + 0๐ 2 + 0๐ 3 + 0๐ 4 = 0 terhadap 5๐ฅ1 + 6๐ฅ2 + ๐ 1 = 60, ๐ฅ1 + 2๐ฅ2 + ๐ 2 = 16, ๐ฅ1 + ๐ 3 = 10, ๐ฅ2 + ๐ 4 = 6. Memasukkan bentuk standar masalah optimasi ke dalam tabulasi simpleks yang terdiri dari kolom basis, kolom variabel keputusan, kolom nilai ruas kanan, dan baris ๐ง๐ โ ๐๐ (untuk tujuan meminimumkan atau memaksimumkan). Bentuk tabulasi sebagai berikut: Table 2 Tabulasi Simpleks
๐๐ 0 0 0 0
3
4
๐๐ Basis ๐ 1 ๐ 2 ๐ 3 ๐ 4 ๐ง๐ ๐ง๐ โ ๐๐
3 ๐ฅ2 6 2 0 1 0 -3
0 ๐ 1 1 0 0 0 0 0
0 ๐ 2 0 1 0 0 0 0
0 ๐ 3 0 0 1 0 0 0
0 ๐ 4 0 0 0 1 0 0
๐๐ 60 16 10 6 0 0
Menentukan kolom kunci (variabel masuk), yaitu untuk masalah maksimum memilih ๐ง๐ โ ๐๐ yang terkecil, sedangkan untuk masalah minimum memilih ๐ง๐ โ ๐๐ yang terbesar. Menentukan baris kunci (variabel keluar), yaitu dari nilai rasio antara nilai ruas kiri ( ๐๐ ) dengan koefisien kolom kunci, pilih yang terkecil (untuk masalah minimum atau maksimum). Rasio =
5
2 ๐ฅ1 5 1 1 0 0 -2
๐๐
๐๐๐
, j adalah kolom baris, di mana rasio > 0.
Menentukan pivot dari perpotongan antara kolom kunci dan baris kunci yang dinamakan elemen kunci atau elemen penentu iterasi algoritme simpleks dan akan diubah nilainya menjadi 1. Perhatikan contoh berikut:
10 Table 3 Tabulasi Simpleks Kolom Kunci dan Baris Kunci ๐๐ 0 0 0 0
๐๐ Basis ๐ 1 ๐ 2 ๐ 3 ๐ 4 * ๐ง๐ ๐ง๐ โ ๐๐
2 ๐ฅ1 5 1 1 0 0 -2
3 ๐ฅ2 * 6 2 0 1 0 -3
0 ๐ 1 1 0 0 0 0 0
0 ๐ 2 0 1 0 0 0 0
0 ๐ 3 0 0 1 0 0 0
0 ๐ 4 0 0 0 1 0 0
๐๐ 60 16 10 6
Rasio 10 8 6
Keterangan: ๐ฅ2 โ adalah kolom kunci dengan nilai baris ๐ง๐ โ ๐๐ terkecil, yaitu ๐ง๐ โ ๐๐ = โ3 dan ๐ 4 โ adalah kolom baris dengan nilai rasio terkecil, yaitu 6. Pivot berada pada elemen (4;2) dengan nilai elemennya adalah 1.
6
7
Selanjutnya melakukan operasi baris dasar (OBD) berdasarkan pivot untuk baris lainnya, termasuk baris ๐ง๐ โ ๐๐ dengan nilai elemen-elemen yang termasuk di dalam kolom kunci dijadikan nol (selain elemen yang dijadikan pivot). Proses iterasi untuk masalah maksimum berhenti jika semua nilai pada baris ๐ง๐ โ ๐๐ โฅ 0 berarti solusi sudah optimal, apabila masih ada ๐ง๐ โ ๐๐ < 0 (negatif) maka iterasi metode simpleks masih berlanjut. Untuk masalah minimum berhenti jika semua nilai pada baris ๐ง๐ โ ๐๐ โค 0, apabila masih ada ๐ง๐ โ ๐๐ > 0 (positif) maka iterasi algoritme simpleks masih berlanjut.
Fungsi Mathematica untuk Metode Simpleks Mathematica dengan fasilitas terintegrasi lengkap, mampu memberikan perintah untuk menyelesaikan masalah optimasi linear sesuai metode yang diinginkan dan memberikan waktu eksekusi dalam menyelesaikannya. Fasilitas yang unik dari implementasi ini adalah: LinearProgramming[c,{m},{{b}}Method โโSimplexโ]//Timing
dengan c merupakan nilai konstanta pada fungsi tujuan, m merupakan nilai konstanta (nilai ruas kiri) pada kendala, dan b merupakan nilai ruas kanan pada kendala. Sintaks Method โ โSimplexโ adalah perintah untuk mengakses ke algoritme simpleks dalam menyelesaikan masalah optimasi linear dan Timing untuk memberikan waktu eksekusi dalam penyelesaian.
Metode Titik Interior Perkembangan baru dalam masalah optimasi linear adalah penemuan metode titik interior yang berhasil mengembangkan algoritme baru dengan pendekatan titik interior untuk menyelesaikan masalah optimasi linear. Metode titik interior adalah metode yang dibangun dari beberapa metode iterasi, di mana algoritme titik interior bergerak dengan menentukan titik-titik interior yang masuk di dalam interior daerah solusi penyelesaian atau daerah fisibel. Algoritme titik interior berbeda dengan algoritme simpleks, di mana dalam algoritme simpleks iterasinya menggunakan titik ekstrim yaitu bergerak dari verteks ke verteks untuk menentukan solusi daerah fisibel.
11 Algoritme titik interior digunakan untuk menyelesaikan masalah optimasi linear yang kompleks, dalam artian memiliki kendala dan variabel keputusan dengan jumlah yang besar. Karena algoritme titik interior membutuhkan jumlah iterasi yang sedikit dengan mempertimbangkan waktu hitung rata-rata dalam iterasinya, sehingga penyelesaian teknik komputasi algoritme titik interior umumnya membutuhkan waktu penyelesaian yang lebih sedikit, maka waktu eksekusi penyelesaian yang dibutuhkan untuk menyelesaikan masalah optimasi linear tersebut sering kali lebih cepat dibandingkan dengan metode simpleks, terutama jika dipakai untuk menyelesaikan permasalahan yang kompleks serta memiliki banyak kendala dan variabel yang harus diselesaikan untuk masalah dengan ukuran yang sama (Mitchell 1998). Penyelesaian masalah optimasi linear metode titik interior berkaitan dengan pendekatan metode barrier, metode pengali Lagrange serta metode Newton, baik itu pada bentuk primal ataupun bentuk dual (Vanderbei 2001). Pendekatan metode barrier diperkenalkan oleh Frisch pada tahun 1955 (Roos et al. 2006). Metode ini bermula dari suatu titik di interior dari pertidaksamaan ๐ฑ > ๐ dan ๐ฌ > ๐ , lalu dikonstruksi barrier sedemikian rupa sehingga variabel tidak menyentuh batas daerah fisibel. Penambahan ln ๐ฑ ke fungsi objektif merupakan salah satu cara dari pendekatan barrier. Penambahan ln ๐ฑ menyebabkan nilai fungsi objektif mengalami kenaikan atau penurunan tanpa batas (apabila ๐ฑ โ ๐ atau ๐ฌ โ ๐ ). Kesulitan ini ialah jika titik optimal berada pada batas, misalnya satu atau lebih ๐ฅ๐ = 0. Untuk mengatasi kesulitan ini, digunakan parameter ๐ untuk menentukan nilai minimum atau maksimum fungsi objektif dari bentuk barrier. Berdasarkan definisi bentuk standar masalah optimasi linear dengan fungsi tujuan serta kendala berbentuk linear, dalam penyelesaian masalah optimasi linear dengan menggunakan metode titik interior perlu ditentukan batasan masalah, dengan fungsi tujuan meminimumkan sehingga diperoleh bentuk optimasi linear dalam model matematik sebagai berikut: minimumkan ๐T๐ฑ terhadap ๐ด๐ฑ = ๐, (4) ๐ฑโฅ๐ dengan ๐ฅ1 ๐1 ๐1 ๐ฅ2 ๐2 ๐ ๐ฑ = ๏ฟฝ โฎ ๏ฟฝ, ๐ = ๏ฟฝ โฎ ๏ฟฝ, ๐ = ๏ฟฝ 2๏ฟฝ, โฎ ๐ฅ๐ ๐๐ ๐๐ dan ๐11 ๐12 โฏ ๐1๐ ๐21 ๐22 โฏ ๐2๐ ๐ด =๏ฟฝ โฎ โฎ โฑ โฎ ๏ฟฝ. ๐๐1 ๐๐2 โฏ ๐๐๐ Jika x dan c merupakan vektor berukuran ๐ ร 1, dan b adalah vector berukuran ๐ ร 1, maka A dapat dikatakan sebagai fungsi metode barrier dengan model masalah primal-barrier ditulis sebagai berikut: minimumkan ๐ T ๐ฑ โ ๐ โ๐๐=1 ln๏ฟฝ๐ฅ๐ ๏ฟฝ โฆ(5.1) terhadap ๐ด๐ฑ = ๐, โฆ(5.2) (5) ๐ฑ โฅ ๐. โฆ(5.3)
12 Di mana ๐ adalah parameter suatu konstanta positif. lim ln(๐ฅ๐ ) = โโ xโ0
(6) (7)
Oleh karena itu, logaritme dalam fungsi objektif merupakan model barrier yang memberikan solusi negatif. Pada dasarnya ini akan menunjukkan solusi optimal yang memenuhi pertidaksamaan ๐ฑ โฅ ๐, karena fungsi tujuan meminimumkan persamaan (5.1). Berdasarkan keadaan tersebut maka didapat pertidaksamaan pada kendala ๐ฑ > ๐ persamaan (5.3) yang membuat masalah optimasi tidak linear, sehingga dapat diselesaikan dengan metode pengali Lagrange untuk ๐ > 0 definisi (6). Misalkan ๐ฟ๐(๐ฑ,๐ฒ) adalah fungsi Lagrange masalah primal, dapat ditulis sebagai berikut: ๐
๐ฟ๐(๐ฑ,๐ฒ) = ๐ T ๐ฑ โ ๐ ๏ฟฝ ln๏ฟฝ๐ฅ๐ ๏ฟฝ โ ๐ฒ T (๐ด๐ฑ โ ๐) ๐=1
di mana ๐ฒ โ ๐
๐ merupakan pengali Lagrange sesuai dengan sistem persamaan (4). Fungsi ๐ฟ๐(๐ฑ,๐ฒ) diturunkan sesuai aturan pengali Lagrange secara parsial terhadap ๐ฅ๐ dan ๐ฆ๐ dengan ๐ = 1, โฆ , ๐. Pertama fungsi ๐ฟ๐(๐ฑ,๐ฒ) diturunkan terhadap ๐ฅ๐ dengan ๐ = 1, โฆ , ๐. ๐๐ฟ๐(๐ฑ,๐ฒ) =0 ๐๐ฅ๐
๐
๐ โ ๐๐ โ โ ๏ฟฝ ๐๐๐ ๐ฆ๐ = ๐ ๐ฅ๐ ๐=1 ๐๐ฟ๐(๐ฑ,๐ฒ) โ = ๐๐ โ ๐๐ฅ๐ โ1 โ ๐ด๐ ๐ฒ = ๐ ๐๐ฅ๐
(8)
๐ฅ1 0 โฏ 0 0๐ฅ โฏ0 dengan pemisalan ๐ โถ= diag (๐ฅ) = ๏ฟฝ โฎ 2 โฑ โฎ ๏ฟฝ, ๐ โถ= (1, โฆ , 1)๐ , dan simbol ๐ โฎ 0 0 โฏ๐ฅ๐ adalah vektor nol. Persamaan (8) dalam notasi vektor: โ โ๐ฅ ๐๐ฟ๐(๐ฑ,๐ฒ) = ๐ โ ๐๐ โ1 ๐ โ ๐ด๐ ๐ฒ = ๐.
(9)
Selain itu, dengan pemisalan ๐ฌ = ๐๐ โ1 ๐ subtitusikan ke dalam persamaan (9), didapat โ ๐ โ ๐ฌ โ ๐ด๐ ๐ฒ = ๐ โ ๐ด๐ ๐ฒ + ๐ฌ = ๐.
(10)
Kemudian fungsi ๐ฟ๐(๐ฑ,๐ฒ) diturunkan terhadap ๐ฆ๐ dengan ๐ = 1, โฆ , ๐. ๐๐ฟ๐(๐ฑ,๐ฒ) =0 ๐๐ฆ๐
โ
๐๐ฟ๐(๐ฑ,๐ฒ) = ๐ โ ๐ด๐ฑ = ๐ ๐๐ฆ๐
โ ๐ด๐ฑ = ๐.
(11)
13 Dari bentuk standar optimasi linear pada sistem persamaan (4), dapat dibentuk masalah dual-barrier dengan daerah fisibel masalah dual dan juga daerah interior dual. Masalah dual-barrier ditulis sebagai berikut: ๐๐ ๐ฒ + ๐ โ๐๐=1 ln๏ฟฝ๐ ๐ ๏ฟฝ ๐ด๐ ๐ฒ + ๐ฌ = ๐, ๐ฌ โฅ ๐.
maksimumkan terhadap
โฆ(12.1) โฆ(12.2) โฆ(12.3)
(12)
Persamaan dual dalam fungsi Lagrange: T
๐
๐ฟ๐ท(๐ฅ,๐ฆ,๐ ) = ๐ ๐ฒ + ๐ ๏ฟฝ ln๏ฟฝ๐ ๐ ๏ฟฝ โ (๐ด๐ ๐ฒ + ๐ฌ โ ๐)๐ฑ. ๐=1
Fungsi ๐ฟ๐ท(๐ฅ,๐ฆ,๐ ) diturunkan secara parsial terhadap ๐ฅ๐ , ๐ฆ๐ dan ๐ ๐ dengan ๐ = 1, โฆ , ๐. Pertama fungsi ๐ฟ๐ท(๐ฅ,๐ฆ,๐ ) diturunkan terhadap ๐ฅ๐ dengan ๐ = 1, โฆ , ๐. ๐๐ฟ๐ท(๐ฅ,๐ฆ,๐ ) =0 ๐๐ฅ๐ ๐
โ ๏ฟฝ ๐๐๐ ๐ฆ๐ โ ๐ ๐ = ๐๐ ๐=1 ๐
โ ๐ด ๐ฒ + ๐ฌ = ๐.
(13)
Kemudian fungsi ๐ฟ๐ท(๐ฅ,๐ฆ,๐ ) diturunkan terhadap ๐ฆ๐ dengan ๐ = 1, โฆ , ๐. ๐๐ฟ๐ท(๐ฅ,๐ฆ,๐ ) =0 ๐๐ฆ๐ ๐
โ ๏ฟฝ ๐๐๐ ๐ฅ๐ = ๐๐ ๐=1
โ ๐ โ ๐ด๐ฑ = ๐ โ ๐ด๐ฑ = ๐.
(14)
Selanjutnya fungsi ๐ฟ๐ท(๐ฅ,๐ฆ,๐ ) diturunkan terhadap ๐ ๐ dengan ๐ = 1, โฆ , ๐.
๐๐ฟ๐ท(๐ฅ,๐ฆ,๐ ) =0 ๐๐ ๐ ๐ โ โ ๐ฅ๐ = ๐ ๐ ๐ ๐ โ ๐ฅ๐ = ๐ ๐ โ ๐ฅ๐ ๐ ๐ = ๐.
(15) Variabel dual ๐ฒ merupakan pengali Lagrange untuk masalah primal dan variabel primal ๐ฑ merupakan pengali Lagrange untuk masalah dual. Kendala pelengkap diganti menjadi ๐ฑ๐ฌ = ๐๐, agar solusi sistem dari sistem yang baru mendekati solusi sistem persamaan (5), dengan parameter ๐ adalah sembarang bilangan positif dan ๐ adalah vektor yang semua unsurnya bernilai satu. Kendala ๐ฑ๐ฌ = ๐๐ ini disebut juga kondisi-pemusat pada ๐ (Silalahi 2011).
14 Melihat sistem persamaan (4) kondisi primal dan sistem persamaan (12) dalam kondisi dual, dengan melakukan pendekatan metode barrier dan melakukan iterasi menggunakan metode pengali Lagrange dari kedua sistem persamaan tersebut diperoleh daerah titik interior sebagai sistem persamaan yang baru, yaitu: โฆ(16.1) ๐ด๐ฑ = ๐, ๐ฑ โฅ ๐, โฆ(16.2) (16) ๐ฌ โฅ ๐, ๐ด๐ ๐ฒ + ๐ฌ = ๐, โฆ(16.3) ๐ฑ๐ฌ = ๐๐ ๐ dengan vektor-vektor ๐, ๐ฑ, ๐ฌ โ โ , sedangkan vektor-vektor ๐, ๐ฒ โ โ๐ , serta matriks ๐ด โ โ๐ร๐ adalah matriks berpangkat baris penuh. Vektor ๐ adalah vektor yang semua unsurnya bernilai satu dengan ๐ โ โ๐ . Sistem ini merupakan kondisi optimal untuk masalah minimisasi (Silalahi 2011). Jika sistem persamaan (16) memiliki solusi untuk beberapa nilai positif dari parameter ๐ maka daerah fisibel primal mengandung vektor ๐ฑ positif, dan daerah fisibel dual mengandung pasangan (๐ฒ, ๐ฌ) dengan vektor ๐ฌ positif sehingga daerah fisibel primal dan daerah fisibel dual mengandung vektor positif. Hal tersebut merupakan kondisi fisibel titik interior. Demikian juga sebaliknya, jika daerah fisibel primal dan dual mengandung vektor positif maka sistem persamaan (16) memiliki solusi untuk setiap ๐ positif. Hal ini merupakan konsekuensi dari teorema berikut.
Teorema 1 Misalkan ๐ > 0 . Daerah fisibel primal ( ๐ซ) dan dual (๐) mengandung vektor positif jika dan hanya jika sistem persamaan (16) memiliki solusi yang tunggal (Roos et al. 2006). Iterasi dari algoritme titik interior dalam menyelesaikan masalah optimasi linear dilanjutkan dengan tahapan Newton, yaitu untuk mencari nilai solusi optimalnya. Tahap ini dikenal dengan tahap prediksi nilai solusi optimal yang layak. Langkah selanjutnya yaitu menentukan sistem persamaan baru yang sesuai dengan sistem persamaan (16), serta dapat menentukan nilai matriks Jacobi J(y) sebagai berikut: โฆ(17.1) ๐ด๐ฑ โ ๐ = ๐, ๐ โฆ(17.2) (17) ๐ด ๐ฒ + ๐ฌ โ ๐ = ๐, โฆ(17.3) ๐ฑ๐ฌ โ ๐๐ = ๐. Sistem persamaan (17) merupakan persamaan f(y) dengan matriks Jacobi J(y): ๐ด 0 0 ๐ฝ(๐ฒ) = ๏ฟฝ 0 ๐ด๐ ๐ผ ๏ฟฝ. ๐ฌ 0 ๐ฑ 0 0 0 Asumsi titik awal ( ๐ฑ , ๐ฒ , ๐ฌ ) memenuhi ๐ฑ 0 > 0 dan ๐ฌ0 > 0 terhadap kendala awal persamaan primal-dual dinotasikan sebagai sistem berikut: ๐ฟ๐ = ๐ + ๐ด๐ฑ 0 ๐ฟ๐ท = ๐ โ ๐ดT ๐ฒ 0 โ ๐ฌ0 Kondisi optimal dapat ditulis sebagai berikut:
dengan ๐ = (๐๐ฅ , ๐๐ฆ , ๐๐ ), adalah
๐ฝ(๐ฒ)๐ = โ๐(๐ฒ),
15 ๐ด ๏ฟฝ0 ๐ฌ
0 ๐ด๐ 0
๐ฟ๐ 0 ๐๐ฅ ๐ ๐ผ ๏ฟฝ ๏ฟฝ ๐ฆ ๏ฟฝ = ๏ฟฝ ๐ฟ๐ท ๏ฟฝ ๐๐ โ ๐ฑ๐ฌ ๐ฑ ๐๐ โ ๐ด๐๐ฅ = ๐ฟ๐ , ๐ ๐ด ๐๐ฆ + ๐๐ = ๐ฟ๐ท ,
๐ฌ๐๐ฅ + ๐ฑ๐๐ = ๐๐ โ ๐ฑ๐ฌ,
dengan manipulasi aljabar untuk menentukan ๐ = (๐๐ฅ , ๐๐ฆ , ๐๐ ) didapat
1. 2. 3.
๐๐ฆ = (๐ด๐ฑ๐ฌโ1 ๐ด๐ )โ1 (๐ โ ๐๐ด๐ฌ โ๐ ) ๐๐ = โ๐ฟ๐ท โ ๐ด๐ ๐๐ฆ ๐๐ฅ = ๐ฌ โ1 (๐๐ โ ๐ฑ๐ฌ โ ๐ฑ๐๐ ).
Proses iterasi algoritme titik interior primal-dual selanjutnya, yaitu: Menentukan solusi fisibel awal ๐(0) > 0 , ๐ฌ (0) > 0 , ๐ฒ (0) > 0 , dengan ๐ = 0 toleransi optimal ๐ > 0, dan parameter 0 < ๐ < 1. Tes optimalisasi, selama (๐๐ )๐ ๐๐ โฅ ๐ lanjut ke langkah berikutnya. Jika (๐๐ )๐ ๐๐ < ๐, iterasi berhenti. Hitung langkah Newton-penuh, dan perbarui solusi ๐(๐+1) = ๐(๐) + ๐ผ๐ ๐๐๐ฅ ๐(๐+1) = ๐(๐) + ๐ผ๐ท ๐๐๐ฆ ๐(๐+1) = ๐(๐) + ๐ผ๐ท ๐๐๐
โ๐ฅ๐
dengan ๐ผ๐ = ๐ min๐ ๏ฟฝ(๐
๐ฅ )๐
4.
โ๐ ๐
; (๐๐ฅ )๐ < 0๏ฟฝ , ๐ผ๐ท = ๐ min๐ ๏ฟฝ(๐
๐ )๐
adalah nilai pendekatan dengan ๐ sebagai parameter pembatas.
Selanjutnya ๐ โ ๐ + 1, kembali ke Langkah 2.
; (๐๐ )๐ < 0๏ฟฝ
Nilai akhir yang diperoleh menyatakan nilai objektif dari fungsi optimasi linear yang telah dicari solusinya, sehingga tahapan-tahapan koreksi yang dilakukan memperoleh titik interior sebagai daerah jawab terutama setelah melakukan beberapa iterasi sampai memperoleh titik optimum sebagai solusi penyelesaian dari masalah optimasi linear. Fungsi Mathematica untuk Metode Titik Interior Mathematica dengan fasilitas terintegrasi lengkap, mampu memberikan perintah untuk menyelesaikan masalah optimasi linear sesuai metode yang diinginkan dan memberikan waktu eksekusi dalam menyelesaikannya. Mathematica mengimplementasikan algoritme titik interior dengan menggunakan fasilitas yang unik, yaitu: LinearProgramming[c,{m},{{b}}Method โ โInteriorPointโ]//Timin g, dengan c merupakan konstanta pada fungsi tujuan, m merupakan konstanta
kendala,
dan
b
merupakan
nilai
ruas
kanan pada kendala. Sintaks untuk menyelesaikan masalah optimasi linear dengan metode titik interior dan Timing untuk memberikan waktu eksekusi dalam penyelesaian. Method โโInteriorPointโ adalah perintah
16 Melihat secara teoritis iterasi antara metode simpleks dan metode titik interior sangat berbeda, seperti yang telah dijelaskan di atas. Untuk melihat perbedaan waktu dalam menyelesaikan masalah optimasi linear, dilihat dari perbandingan waktu eksekusi penyelesaian antara kedua metode tersebut. Perbandingan dilakukan terhadap studi kasus dengan bantuan perangkat lunak Mathematica, dan ukuran masalah optimasi linear dipilih bervariasi secara kontinu dari masalah optimasi linear yang sederhana (berukuran kecil) sampai masalah optimasi linear yang kompleks dengan kendala dan variabel berukuran besar.
Studi Kasus Kasus 1: Masalah optimasi linear dengan 2 kendala dan 2 variabel min x + 2y kendala x + 2y โฅ 3, x + y โค 2, x, y โฅ 0. Penyelesaian komputasi dengan metode simpleks: input: LinearProgramming[{1.,2},{{1,2},{1,1}},{{3,1},{2,output: input: output: input: input: output: input: output:
1}},Method โโSimplexโ]//Timing {0.,{0., 1.5}} First[%]<$TimeUnit True reps=100000; {time,res}= Timing[Do[LinearProgramming[{1.,2},{{1,2},{1,1}},{ {3,1},{2,-1}},Method โ"Simplex"],{reps}]] {2.574,Null} time/reps 0.00002574
Penyelesaian komputasi dengan metode titik interior: input: LinearProgramming[{1.,2},{{1,2},{1,1}},{{3,1},{2,output: input: output: input: input: output: input: output:
1}},Method โโInteriorPointโ]//Timing {0.,{0.00940398,1.4953}} First[%]<$TimeUnit True reps=100000; {time,res}= Timing[Do[LinearProgramming[{1.,2},{{1,2},{1,1}},{ {3,1},{2,-1}},Method โ"InteriorPoint"],{reps}]] {59.046,Null} time/reps 0.00059046
17 Kasus 2: Masalah optimasi linear dengan 5 kendala dan 5 variabel maks 2๐ฅ1 + ๐ฅ2 + ๐ฅ3 + 2๐ฅ4 + ๐ฅ5 kendala 2๐ฅ1 + ๐ฅ2 + ๐ฅ3 + ๐ฅ4 + ๐ฅ5 = 8, ๐ฅ1 + 2๐ฅ2 โ 3๐ฅ3 + ๐ฅ4 + 2๐ฅ5 โฅ 6, ๐ฅ1 โ ๐ฅ2 + 2๐ฅ3 + ๐ฅ4 = 3, ๐ฅ1 + ๐ฅ2 + ๐ฅ4 + ๐ฅ5 โค 6, ๐ฅ1 + ๐ฅ2 + ๐ฅ3 + ๐ฅ5 = 5, ๐ฅ1 , ๐ฅ2 , ๐ฅ3 , ๐ฅ4 , ๐ฅ5 โฅ 0.
Penyelesaian komputasi dengan metode simpleks: input: LinearProgramming[{-2,-1,-1,-2,-1},{{2,1,1,1,1},
output: input: output: input: input:
output: input: output:
{1,2,-3,1,2},{1,-1,2,1,0},{1,1,0,1,1},{1,1,1,0, 1}},{{8,0},{6,1},{3,0},{6,-1},{5,0}},Method โโSimplexโ]//Timing {0.,{1,2,1,2,1}} First[%]<$TimeUnit True reps=100000; {time,res}= Timing[Do[LinearProgramming[{-2,-1,-1,-2,-1},{{2, 1,1,1,1},{1,2,-3,1,2},{1,-1,2,1,0},{1,1,0,1,1},{1, 1,1,0,1}},{{8,0},{6,1},{3,0},{6,-1},{5,0}},Method โ"Simplex"],{reps}]] {22.09,Null} time/reps 0.0002209
Penyelesaian komputasi dengan metode titik interior: input: LinearProgramming[{-2,-1,-1,-2,-1},{{2,1,1,1,1},{1,
output: input: output: input: input:
output: input: output:
2,-3,1,1},{1,-1,2,1,0},{1,1,0,1,1},{1,1,1,0,1}}, {{8,0},{6,1},{3,0},{6,-1},{5,0}},Method โโInteriorPointโ]//Timing {0.,{1,2,1,2,1}} First[%]<$TimeUnit True reps=100000; {time,res}= Timing[Do[LinearProgramming[{-2,-1,-1,-2,-1},{{2, 1,1,1,1},{1,2,-3,1,2},{1,-1,2,1,0},{1,1,0,1,1},{1, 1,1,0,1}},{{8,0},{6,1},{3,0},{6,-1},{5,0}},Method โ"InteriorPoint"],{reps}]] {301.784,Null} time/reps 0.00301784
Pada studi kasus di atas terdapat sintaks tambahan, yaitu reps. Pengertian reps adalah bentuk perintah dalam perangkat lunak Mathematica sebagai variabel
18 tambahan untuk melakukan pengulangan. Fungsi dari reps = n yaitu melakukan pengulangan sebanyak n kali terhadap masalah optimasi linear yang bertujuan untuk mengetahui satuan waktu terkecil dengan memunculkan angka di belakang koma dalam waktu eksekusi. Melihat studi kasus yang dilakukan di atas, waktu eksekusi awal yang diperoleh dari masalah optimasi linear hanya muncul nilai nol saja. Oleh karena itu, diberikan sintaks tambahan reps untuk melakukan pengulangan sehingga memperoleh waktu eksekusi yang lebih jelas dengan adanya angka di belakang koma. Untuk mendapatkan eksekusi yang sebenarnya dari masalah optimasi linear, selanjutnya membagi waktu yang diperoleh dari pengulangan dengan banyaknya pengulangan (time/reps) sehingga mendapatkan waktu eksekusi rata-rata yang merupakan waktu eksekusi sebenarnya dari masalah optimasi linear. Untuk menganalisis waktu eksekusi dalam mencari nilai optimum suatu fungsi objektif dari masalah optimasi linear yang berukuran besar digunakan fasilitas SparseArray dan Band pada Mathematica. SparseArray merupakan salah satu fasilitas Mathematica untuk membuat matriks dengan nilai-nilai hanya pada posisi tertentu atau pada elemen tertentu dalam list data tersebut, dengan nilai elemen yang lain dianggap nol. Band berfungsi untuk menentukan nilai pada posisi tertentu dengan elemen yang berbentuk diagonal di dalam list data SparseArray. Bentuk Band[๐๐๐๐ , ๐๐๐๐ ] merupakan urutan posisi pada diagonal yang dimulai dengan indeks {i, j} dalam matriks SparseArray. Contoh membuat matriks dengan SparseArray dan Band sebagai berikut: input: SparseArray[{Band[{1,1}]โx,Band[{2,1}]โy},{3,3}] //MatrixForm
output:
๐ฅ ๏ฟฝ๐ฆ 0
0 ๐ฅ ๐ฆ
0 0๏ฟฝ ๐ฅ
Kasus 3: Masalah OL dengan 10 kendala dan 10 variabel ( ๐ฅ๐ โฅ 0, i = 1, 2, 3, โฆ., 10). min ๐ฅ1 + 2๐ฅ2 + 3๐ฅ3 + 4๐ฅ4 + 5๐ฅ5 + 6๐ฅ6 + 7๐ฅ7 + 8๐ฅ8 + 9๐ฅ9 + 10๐ฅ10 kendala 3๐ฅ1 + ๐ฅ2 = 1, 3๐ฅ7 + ๐ฅ8 = 7, 3๐ฅ2 + ๐ฅ3 = 2, 3๐ฅ8 + ๐ฅ9 = 8, 3๐ฅ3 + ๐ฅ4 = 3, 3๐ฅ9 + ๐ฅ10 = 9, 3๐ฅ4 + ๐ฅ5 = 4, 3๐ฅ10 = 10, 3๐ฅ5 + ๐ฅ6 = 5, ๐ฅ๐ โฅ 0, i = 1, 2, 3, โฆ., 10. 3๐ฅ6 + ๐ฅ7 = 6, Penyelesaian komputasi dengan metode simpleks: input: Timing[LinearProgramming[Range[10],SparseArray
output: input: output: input:
[{Band[{1,1}]โ3.,Band[{1,2}]โ1.},{10,10}],Range[10] ,MethodโโSimplexโ]] {0.,{0.187454,0.437637,0.68709,0.938729,1.18381, 1.44856,1.65432,2.03704,1.88889,3.33333}} First[%]<$TimeUnit True reps=100000;
19 input:
output: input: output:
{time,res}= Timing[Do[LinearProgramming[Range[10],SparseArray[{ Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{10,10}],Range[10] ,Method โ"Simplex"],{reps}]] {48.797,Null} time/reps 0.00048797
Penyelesaian komputasi dengan metode titik interior: input: Timing[LinearProgramming[Range[10],SparseArray
output: input: output: input: input:
output: input: output:
[{Band[{1,1}]โ3.,Band[{1,2}]โ1.},{10,10}],Range[10] ,MethodโโInteriorPointโ]] {0,{0.187454,0.437637,0.68709,0.938729,1.18381, 1.44856,1.65432,2.03704,1.88889,3.33333}} First[%]<$TimeUnit True reps=100000; {time,res}= Timing[Do[LinearProgramming[Range[10],SparseArray[{ Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{10,10}],Range[10] ,Method โ"InteriorPoint"],{reps}]] {177.217,Null} time/reps 0.00177217
Di atas telah diberikan 3 studi kasus, dari 10 studi kasus yang dilakukan. Untuk studi kasus yang lainnya terlampir pada Lampiran 1 sampai Lampiran 7. Perbedaan waktu eksekusi antara metode simpleks dan metode titik interior dalam menyelesaikan masalah optimasi linear yang dilakukan terhadap beberapa studi kasus, dapat dilihat pada Tabel 4. Tabel 4 Waktu eksekusi metode simpleks dan metode titik interior dengan lima kali pengulangan Waktu Eksekusi Studi Kasus Ukuran ๐ ร ๐ Percobaan Metode Metode Titik Simpleks Interior I 0.00002574 0.00059046 II 0.00002480 0.00057673 1 III 0.00002480 0.00063009 2ร2 IV 0.00002559 0.00063118 V 0.00002605 0.00063945 I 0.00022090 0.00301784 II 0.00022121 0.00299897 2 III 0.00022121 0.00301816 5ร5 IV 0.00022121 0.00302673 V 0.00021996 0.00302252
20
3
10 ร 10
4
50 ร 50
5
100 ร 100
6
100 ร 200
7
200 ร 200
8
500 ร 500
9
500 ร 1000
10
100 ร 200000
I II III IV V I II III IV V I II III IV V I II III IV V I II III IV V I II III IV V I II III IV V I II III IV V
0.00048797 0.00049187 0.00049234 0.00049031 0.00049203 0.01600000 0.03100000 0.01500000 0.01600000 0.01600000 0.12500000 0.12500000 0.14000000 0.12500000 0.14000000 0.25000000 0.24900000 0.25000000 0.24900000 0.25000000 0.95200000 0.93600000 0.93600000 0.96700000 0.95200000 14.2430000 14.2740000 14.4140000 14.2900000 14.4770000 28.0170000 27.9550000 28.0800000 28.1580000 28.0180000 227.808000 227.496000 227.652000 229.103000 227.028000
0.00177217 0.00177810 0.00177295 0.00176812 0.00177310 0.00417630 0.00417849 0.00417630 0.00418036 0.00417786 0.00701146 0.00700461 0.00700804 0.00700695 0.00699259 0.00715202 0.00713127 0.00720849 0.00714531 0.00714063 0.01500000 0.03100000 0.03200000 0.01500000 0.01600000 0.03100000 0.03100000 0.03100000 0.04700000 0.04700000 0.03100000 0.03200000 0.04700000 0.04700000 0.04600000 0.12400000 0.14100000 0.12400000 0.12400000 0.14100000
Pada Tabel 4 di atas, dalam satu studi kasus dilakukan lima kali pengulangan eksekusi pada satu kasus yang sama, dan didapatkan hasil yang berbeda-beda. Hal tersebut dipengaruhi oleh keadaan kinerja komputer pada saat melakukan komputasi. Adanya perbedaan hasil waktu eksekusi tersebut (yang tercantum dalam Tabel 4), selanjutnya diambil nilai rata-rata waktu eksekusi untuk mempermudah menganalisis perbedaan waktu eksekusi penyelesaian masalah
21 optimasi linear. Perbedaan waktu eksekusi rata-rata antara metode simpleks dan metode titik interior dengan mengunakan perangkat lunak Mathematica, dapat dilihat pada Tabel 5. Tabel 5 Waktu eksekusi rata-rata metode simpleks dan metode titik interior serta perbandingan waktu eksekusi metode simpleks : metode titik interior Waktu Eksekusi Perbandingan Studi Ukuran ๐ ร ๐ Metode Metode Titik Waktu Eksekusi Kasus (i : ii) Simpleks (i) Interior (ii) 1 0.000025390 0.000613582 0.041380 : 1 2ร2 2 0.000220898 0.003016843 0.073222 : 1 5ร5 3 0.000490904 0.001772888 0.276895 : 1 10 ร 10 4 0.018800000 0.004177862 4.499909 : 1 50 ร 50 5 0.131000000 0.007004730 18.70165 : 1 100 ร 100 6 0.249600000 0.007155544 34.88204 : 1 100 ร 200 7 0.948600000 0.021800000 43.51376 : 1 200 ร 200 8 14.33960000 0.037400000 383.4118 : 1 500 ร 500 9 28.04560000 0.040600000 690.7783 : 1 500 ร 1000 10 1741.723 : 1 100 ร 200000 227.8174000 0.130800000 Keterangan: Perbandingan waktu eksekusi metode simpleks : metode titik interior
Penyajian dari Tabel 5 perbandingan waktu eksekusi metode simpleks : metode titik interior dalam bentuk grafik, ditunjukkan pada Gambar 1 sebagai berikut: 2000 1800 1600
Waktu Eksekusi
1400 1200 1000 800 600 400 200 0
Banyaknya Kendala dan Variabel
Gambar 1 Perbandingan waktu eksekusi metode simpleks : metode titik interior
22 Pada studi kasus yang telah dilakukan dengan melihat Tabel 5 dan Gambar 1 di atas, terlihat perbedaan waktu eksekusi antara metode simpleks dan metode titik interior dalam menyelesaikan masalah optimasi linear. Pada studi kasus masalah optimasi linear yang berukuran sederhana dengan variabel keputusan dan kendala yang berukuran kecil, seperti yang terlihat pada studi kasus 1 sampai studi kasus 3 metode simpleks dan metode titik interior mempunyai waktu eksekusi yang sama kecil dengan perbedaan yang tidak terlalu menonjol. Waktu eksekusi metode simpleks mulai terlihat semakin naik pada studi kasus 4 dengan masalah optimasi linear yang berukuran 50 ร 50. Sebaliknya, metode titik interior belum mengalami kenaikan yang drastis. Pada studi kasus selanjutnya, waktu eksekusi metode simpleks semakin besar dibandingkan dengan waktu eksekusi metode titik interior. Hal tersebut terlihat jelas perbedaannya pada studi kasus 8 dengan masalah optimasi linear yang berukuran 500 ร 500, metode simpleks memiliki waktu eksekusi 14.3396 detik, sedangkan waktu eksekusi metode titik interior adalah 0.0374 detik. Hal ini menunjukkan bahwa untuk menyelesaikan masalah optimasi linear yang berukuran besar metode titik interior lebih cepat dibandingkan dengan metode simpleks.
SIMPULAN Berdasarkan studi kasus yang dilakukan terhadap permasalahan optimasi linear yang bervariasi, hasil perbandingan waktu eksekusi dalam menyelesaikan masalah optimasi linear untuk mencari nilai optimum dengan menggunakan bantuan perangkat lunak Mathematica menunjukkan bahwa metode titik interior lebih cepat untuk mencari nilai optimum pada masalah optimasi linear yang berukuran relatif besar dibandingkan metode simpleks.
DAFTAR PUSTAKA Ardana NKK. 2002. Panduan Penggunaan Mathematica. Buku ke-1. Bogor (ID): Departemen Matematika Fakultas MIPA โ IPB. Jensen PA, Bard JF. 2003. Operations Research Models and Methods. New York (US): J Wiley. Mitchell JE, Pardalos PM, Resende MGC. 1998. Interior Point Methods for Combinatorial Optimazation. New York (US): Kluwer Academic Publishers. Nash SG, Sofer A. 1996. Linear and Nonlinear Programming. New York (US): McGraw-Hill. Roos C, Terlaky T, Vial JP. 2006. Interior Point Methods for Linear Optimization. New York (US): Springer Publishing. Silalahi BP. 2011. On the Central Path of Redundant Klee-Minty Problems. PhD thesis. Roos C (promotor). Delft University of Technology. The Netherlands (NL): TU Delft. Siswanto. 2007. Operations Research. Jilid ke-1. Jakarta(ID): Erlangga.
23 Vanderbei R. 2001. Linear Programming Foundations and Extensions. New York (US): Springer - Verlag. Winston WL. 2004. Operations Research Application and Algorithm. Edisi ke-4. New York (US): Duxbury.
24 Lampiran 1 Studi kasus 4 dengan menggunakan Mathematica Kasus 4: Masalah OL dengan 50 kendala dan 50 variabel (๐ฅ๐ โฅ 0, i = 1, 2, 3, ..., 50)
Penyelesaian komputasi dengan metode simpleks: input: Timing[LinearProgramming[Range[50],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{50,50}],Range[5 0],MethodโโSimplexโ]] {0.016,{0.1875,0.4375,0.6875,0.9375,1.1875,1.437 5,1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.1875 ,3.4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.9375, 5.1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.6875,6 .9375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375,8. 6875,8.9375,9.1875,9.43751,9.68748,9.93757,10.1873 ,10.4381,10.6856,10.9433,11.1701,11.4897,11.5309,1 2.4074,10.7778,16.6667}}
Penyelesaian komputasi dengan metode titik interior: input: Timing[LinearProgramming[Range[50],SparseArray
output:
input: output: input: input:
output: input: output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{50,50}],Range[5 0],MethodโโInteriorPointโ]] {0.,{0.1875,0.4375,0.6875,0.9375,1.1875,1.4375, 1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.1875,3 .4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.9375,5. 1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.6875,6.9 375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375,8.68 75,8.9375,9.1875,9.43751,9.68748,9.93757,10.1873,1 0.4381,10.6856,10.9433,11.1701,11.4897,11.5309,12. 4074,10.7778,16.6667}} First[%]<$TimeUnit True reps=100000; {time,res}= Timing[Do[LinearProgramming[Range[50],SparseArray[{ Band[{1,1}]โ1.,Band[{1,2}]โ2.},{50,50}],Range[50],M ethodโ"InteriorPoint"],{reps}]] {417.63,Null} time/reps 0.0041763
25 Lampiran 2 Studi kasus 5 dengan menggunakan Mathematica Kasus 5: Masalah OL dengan 100 kendala dan 100 variabel ( ๐ฅ๐ โฅ 0, i = 1, 2, 3, ..., 100) Penyelesaian komputasi dengan metode simpleks: input: Timing[LinearProgramming[Range[100],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{100,100}],Range [100],MethodโโSimplexโ]] {0.125,{0.1875,0.4375,0.6875,0.9375,1.1875,1.4 375,1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.18 75,3.4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.937 5,5.1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.6875 ,6.9375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375, 8.6875,8.9375,9.1875,9.4375,9.6875,9.9375,10.1875, 10.4375,10.6875,10.9375,11.1875,11.4375,11.6875,11 .9375,12.1875,12.4375,12.6875,12.9375,13.1875,13.4 375,13.6875,13.9375,14.1875,14.4375,14.6875,14.937 5,15.1875,15.4375,15.6875,15.9375,16.1875,16.4375, 16.6875,16.9375,17.1875,17.4375,17.6875,17.9375,18 .1875,18.4375,18.6875,18.9375,19.1875,19.4375,19.6 875,19.9375,20.1875,20.4375,20.6875,20.9375,21.187 5,21.4375,21.6875,21.9375,22.1875,22.4376,22.6871, 22.9388,23.1837,23.449,23.6529,24.0412,23.8765,25. 3704,21.8889,33.3333}}
Penyelesaian komputasi dengan metode titik interior: input: Timing[LinearProgramming[Range[100],SparseArray
output:
input: output: input: input:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{100,100}],Range [100],MethodโโInteriorPointโ]] {0.,{0.1875,0.4375,0.6875,0.9375,1.1875,1.4375, 1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.1875,3 .4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.9375,5. 1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.6875,6.9 375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375,8.68 75,8.9375,9.1875,9.4375,9.6875,9.9375,10.1875,10.4 375,10.6875,10.9375,11.1875,11.4375,11.6875,11.937 5,12.1875,12.4375,12.6875,12.9375,13.1875,13.4375, 13.6875,13.9375,14.1875,14.4375,14.6875,14.9375,15 .1875,15.4375,15.6875,15.9375,16.1875,16.4375,16.6 875,16.9375,17.1875,17.4375,17.6875,17.9375,18.187 5,18.4375,18.6875,18.9375,19.1875,19.4375,19.6875, 19.9375,20.1875,20.4375,20.6875,20.9375,21.1875,21 .4375,21.6875,21.9375,22.1875,22.4376,22.6871,22.9 388,23.1837,23.449,23.6529,24.0412,23.8765,25.3704 ,21.8889,33.3333}} First[%]<$TimeUnit True reps=100000; {time,res}=
26
output: input: output:
Timing[Do[LinearProgramming[Range[100],SparseArray[ {Band[{1,1}]โ1.,Band[{1,2}]โ2.},{100,100}],Range[10 0],Methodโ"InteriorPoint"],{reps}]] {701.146,Null} time/reps 0.00701146
27 Lampiran 3 Studi kasus 6 dengan menggunakan Mathematica Kasus 6: Maslah OL dengan 100 kendala dan 200 variabel ( ๐ฅ๐ โฅ 0, i = 1, 2, 3, ..., 200)
Penyelesaian komputasi dengan metode simpleks: input: Timing[LinearProgramming[Range[200],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{100,200}],Range [100],MethodโโSimplexโ]] {0.25,{0.1875,0.4375,0.6875,0.9375,1.1875,1.43 75,1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.187 5,3.4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.9375 ,5.1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.6875, 6.9375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375,8 .6875,8.9375,9.1875,9.4375,9.6875,9.9375,10.1875,1 0.4375,10.6875,10.9375,11.1875,11.4375,11.6875,11. 9375,12.1875,12.4375,12.6875,12.9375,13.1875,13.43 75,13.6875,13.9375,14.1875,14.4375,14.6875,14.9375 ,15.1875,15.4375,15.6875,15.9375,16.1875,16.4375,1 6.6875,16.9375,17.1875,17.4375,17.6875,17.9375,18. 1875,18.4375,18.6875,18.9375,19.1875,19.4375,19.68 75,19.9375,20.1875,20.4375,20.6875,20.9375,21.1875 ,21.4375,21.6875,21.9375,22.1875,22.4376,22.6871,2 2.9388,23.1837,23.449,23.6529,24.0412,23.8765,25.3 704,21.8889,33.3333,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.}}
Penyelesaian komputasi dengan metode titik interior: input: Timing[LinearProgramming[Range[200],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{100,200}],Range [100],MethodโโInteriorPointโ]] {0.,{0.1875,0.4375,0.6875,0.9375,1.1875,1.4375, 1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.1875,3 .4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.9375,5. 1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.6875,6.9 375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375,8.68 75,8.9375,9.1875,9.4375,9.6875,9.9375,10.1875,10.4 375,10.6875,10.9375,11.1875,11.4375,11.6875,11.937 5,12.1875,12.4375,12.6875,12.9375,13.1875,13.4375, 13.6875,13.9375,14.1875,14.4375,14.6875,14.9375,15 .1875,15.4375,15.6875,15.9375,16.1875,16.4375,16.6 875,16.9375,17.1875,17.4375,17.6875,17.9375,18.187 5,18.4375,18.6875,18.9375,19.1875,19.4375,19.6875, 19.9375,20.1875,20.4375,20.6875,20.9375,21.1875,21 .4375,21.6875,21.9375,22.1875,22.4376,22.6871,22.9 388,23.1837,23.449,23.6529,24.0412,23.8765,25.3704 ,21.8889,33.3333,2.72537*10^-10,0.,
28
input: output: input: input:
output: input: output:
0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}} First[%]<$TimeUnit True reps=100000; {time,res}= Timing[Do[LinearProgramming[Range[200],SparseArray[ {Band[{1,1}]โ3.,Band[{1,2}]โ1.},{100,200}],Range[10 0],Methodโ"InteriorPoint"],{reps}]] {715.202,Null} time/reps 0.00715202
29 Lampiran 4 Studi kasus 7 dengan menggunakan Mathematica Kasus 7: Masalah OL dengan 200 kendala dan 200 variabel ( ๐ฅ๐ โฅ 0, i = 1, 2, 3, ..., 200) Penyelesaian komputasi dengan metode simpleks: input: Timing[LinearProgramming[Range[200],SparseArra
output:
y[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{200,200}],Rang e[200],MethodโโSimplexโ]] {0.952,{0.1875,0.4375,0.6875,0.9375,1.1875,1.4 375,1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.18 75,3.4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.937 5,5.1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.6875 ,6.9375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375, 8.6875,8.9375,9.1875,9.4375,9.6875,9.9375,10.1875, 10.4375,10.6875,10.9375,11.1875,11.4375,11.6875,11 .9375,12.1875,12.4375,12.6875,12.9375,13.1875,13.4 375,13.6875,13.9375,14.1875,14.4375,14.6875,14.937 5,15.1875,15.4375,15.6875,15.9375,16.1875,16.4375, 16.6875,16.9375,17.1875,17.4375,17.6875,17.9375,18 .1875,18.4375,18.6875,18.9375,19.1875,19.4375,19.6 875,19.9375,20.1875,20.4375,20.6875,20.9375,21.187 5,21.4375,21.6875,21.9375,22.1875,22.4375,22.6875, 22.9375,23.1875,23.4375,23.6875,23.9375,24.1875,24 .4375,24.6875,24.9375,25.1875,25.4375,25.6875,25.9 375,26.1875,26.4375,26.6875,26.9375,27.1875,27.437 5,27.6875,27.9375,28.1875,28.4375,28.6875,28.9375, 29.1875,29.4375,29.6875,29.9375,30.1875,30.4375,30 .6875,30.9375,31.1875,31.4375,31.6875,31.9375,32.1 875,32.4375,32.6875,32.9375,33.1875,33.4375,33.687 5,33.9375,34.1875,34.4375,34.6875,34.9375,35.1875, 35.4375,35.6875,35.9375,36.1875,36.4375,36.6875,36 .9375,37.1875,37.4375,37.6875,37.9375,38.1875,38.4 375,38.6875,38.9375,39.1875,39.4375,39.6875,39.937 5,40.1875,40.4375,40.6875,40.9375,41.1875,41.4375, 41.6875,41.9375,42.1875,42.4375,42.6875,42.9375,43 .1875,43.4375,43.6875,43.9375,44.1875,44.4375,44.6 875,44.9375,45.1875,45.4375,45.6875,45.9375,46.187 5,46.4375,46.6875,46.9375,47.1874,47.4378,47.6867, 47.94,48.1799,48.4604,48.6187,49.144,48.5679,51.29 63,44.1111,66.6667}}
Penyelesaian komputasi dengan metode titik interior: input: Timing[LinearProgramming[Range[200],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{200,200}],Range [200],MethodโโInteriorPointโ]] {0.015,{0.1875,0.4375,0.6875,0.9375,1.1875,1.4 375,1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.18 75,3.4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.937 5,5.1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.6875 ,6.9375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375, 8.6875,8.9375,9.1875,9.4375,9.6875,9.9375,10.1875,
30 10.4375,10.6875,10.9375,11.1875,11.4375,11.6875,11 .9375,12.1875,12.4375,12.6875,12.9375,13.1875,13.4 375,13.6875,13.9375,14.1875,14.4375,14.6875,14.937 5,15.1875,15.4375,15.6875,15.9375,16.1875,16.4375, 16.6875,16.9375,17.1875,17.4375,17.6875,17.9375,18 .1875,18.4375,18.6875,18.9375,19.1875,19.4375,19.6 875,19.9375,20.1875,20.4375,20.6875,20.9375,21.187 5,21.4375,21.6875,21.9375,22.1875,22.4375,22.6875, 22.9375,23.1875,23.4375,23.6875,23.9375,24.1875,24 .4375,24.6875,24.9375,25.1875,25.4375,25.6875,25.9 375,26.1875,26.4375,26.6875,26.9375,27.1875,27.437 5,27.6875,27.9375,28.1875,28.4375,28.6875,28.9375, 29.1875,29.4375,29.6875,29.9375,30.1875,30.4375,30 .6875,30.9375,31.1875,31.4375,31.6875,31.9375,32.1 875,32.4375,32.6875,32.9375,33.1875,33.4375,33.687 5,33.9375,34.1875,34.4375,34.6875,34.9375,35.1875, 35.4375,35.6875,35.9375,36.1875,36.4375,36.6875,36 .9375,37.1875,37.4375,37.6875,37.9375,38.1875,38.4 375,38.6875,38.9375,39.1875,39.4375,39.6875,39.937 5,40.1875,40.4375,40.6875,40.9375,41.1875,41.4375, 41.6875,41.9375,42.1875,42.4375,42.6875,42.9375,43 .1875,43.4375,43.6875,43.9375,44.1875,44.4375,44.6 875,44.9375,45.1875,45.4375,45.6875,45.9375,46.187 5,46.4375,46.6875,46.9375,47.1874,47.4378,47.6867, 47.94,48.1799,48.4604,48.6187,49.144,48.5679,51.29 63,44.1111,66.6667}}
31 Lampiran 5 Studi kasus 8 dengan menggunakan Mathematica Kasus 8: Masalah OL dengan 500 kendala dan 500 variabel ( ๐ฅ๐ โฅ 0, i = 1, 2, 3, ..., 500) Penyelesaian komputasi dengan metode simpleks: input: Timing[LinearProgramming[Range[500],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{500,500}],Range [500],MethodโโSimplexโ]] {14.243,{0.1875,0.4375,0.6875,0.9375,1.1875,1. 4375,1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.1 875,3.4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.93 75,5.1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.687 5,6.9375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375 ,8.6875,8.9375,9.1875,9.4375,9.6875,9.9375,10.1875 ,10.4375,10.6875,10.9375,11.1875,11.4375,11.6875,1 1.9375,12.1875,12.4375,12.6875,12.9375,13.1875,13. 4375,13.6875,13.9375,14.1875,14.4375,14.6875,14.93 75,15.1875,15.4375,15.6875,15.9375,16.1875,16.4375 ,16.6875,16.9375,17.1875,17.4375,17.6875,17.9375,1 8.1875,18.4375,18.6875,18.9375,19.1875,19.4375,19. 6875,19.9375,20.1875,20.4375,20.6875,20.9375,21.18 75,21.4375,21.6875,21.9375,22.1875,22.4375,22.6875 ,22.9375,23.1875,23.4375,23.6875,23.9375,24.1875,2 4.4375,24.6875,24.9375,25.1875,25.4375,25.6875,25. 9375,26.1875,26.4375,26.6875,26.9375,27.1875,27.43 75,27.6875,27.9375,28.1875,28.4375,28.6875,28.9375 ,29.1875,29.4375,29.6875,29.9375,30.1875,30.4375,3 0.6875,30.9375,31.1875,31.4375,31.6875,31.9375,32. 1875,32.4375,32.6875,32.9375,33.1875,33.4375,33.68 75,33.9375,34.1875,34.4375,34.6875,34.9375,35.1875 ,35.4375,35.6875,35.9375,36.1875,36.4375,36.6875,3 6.9375,37.1875,37.4375,37.6875,37.9375,38.1875,38. 4375,38.6875,38.9375,39.1875,39.4375,39.6875,39.93 75,40.1875,40.4375,40.6875,40.9375,41.1875,41.4375 ,41.6875,41.9375,42.1875,42.4375,42.6875,42.9375,4 3.1875,43.4375,43.6875,43.9375,44.1875,44.4375,44. 6875,44.9375,45.1875,45.4375,45.6875,45.9375,46.18 75,46.4375,46.6875,46.9375,47.1875,47.4375,47.6875 ,47.9375,48.1875,48.4375,48.6875,48.9375,49.1875,4 9.4375,49.6875,49.9375,50.1875,50.4375,50.6875,50. 9375,51.1875,51.4375,51.6875,51.9375,52.1875,52.43 75,52.6875,52.9375,53.1875,53.4375,53.6875,53.9375 ,54.1875,54.4375,54.6875,54.9375,55.1875,55.4375,5 5.6875,55.9375,56.1875,56.4375,56.6875,56.9375,57. 1875,57.4375,57.6875,57.9375,58.1875,58.4375,58.68 75,58.9375,59.1875,59.4375,59.6875,59.9375,60.1875 ,60.4375,60.6875,60.9375,61.1875,61.4375,61.6875,6 1.9375,62.1875,62.4375,62.6875,62.9375,63.1875,63. 4375,63.6875,63.9375,64.1875,64.4375,64.6875,64.93 75,65.1875,65.4375,65.6875,65.9375,66.1875,66.4375 ,66.6875,66.9375,67.1875,67.4375,67.6875,67.9375,6 8.1875,68.4375,68.6875,68.9375,69.1875,69.4375,69.
32 6875,69.9375,70.1875,70.4375,70.6875,70.9375,71.18 75,71.4375,71.6875,71.9375,72.1875,72.4375,72.6875 ,72.9375,73.1875,73.4375,73.6875,73.9375,74.1875,7 4.4375,74.6875,74.9375,75.1875,75.4375,75.6875,75. 9375,76.1875,76.4375,76.6875,76.9375,77.1875,77.43 75,77.6875,77.9375,78.1875,78.4375,78.6875,78.9375 ,79.1875,79.4375,79.6875,79.9375,80.1875,80.4375,8 0.6875,80.9375,81.1875,81.4375,81.6875,81.9375,82. 1875,82.4375,82.6875,82.9375,83.1875,83.4375,83.68 75,83.9375,84.1875,84.4375,84.6875,84.9375,85.1875 ,85.4375,85.6875,85.9375,86.1875,86.4375,86.6875,8 6.9375,87.1875,87.4375,87.6875,87.9375,88.1875,88. 4375,88.6875,88.9375,89.1875,89.4375,89.6875,89.93 75,90.1875,90.4375,90.6875,90.9375,91.1875,91.4375 ,91.6875,91.9375,92.1875,92.4375,92.6875,92.9375,9 3.1875,93.4375,93.6875,93.9375,94.1875,94.4375,94. 6875,94.9375,95.1875,95.4375,95.6875,95.9375,96.18 75,96.4375,96.6875,96.9375,97.1875,97.4375,97.6875 ,97.9375,98.1875,98.4375,98.6875,98.9375,99.1875,9 9.4375,99.6875,99.9375,100.188,100.438,100.688,100 .937,101.187,101.438,101.687,101.938,102.188,102.4 38,102.687,102.938,103.188,103.437,103.688,103.938 ,104.188,104.437,104.688,104.937,105.188,105.438,1 05.687,105.938,106.187,106.438,106.688,106.938,107 .188,107.438,107.687,107.938,108.188,108.438,108.6 87,108.938,109.188,109.437,109.688,109.937,110.187 ,110.438,110.688,110.938,111.188,111.438,111.687,1 11.938,112.187,112.438,112.688,112.938,113.188,113 .438,113.687,113.938,114.187,114.437,114.687,114.9 38,115.188,115.437,115.687,115.937,116.187,116.438 ,116.687,116.938,117.187,117.438,117.687,117.938,1 18.187,118.438,118.687,118.938,119.187,119.438,119 .687,119.938,120.187,120.438,120.687,120.938,121.1 87,121.438,121.687,121.938,122.187,122.438,122.685 ,122.944,123.168,123.495,123.516,124.453,122.642,1 29.074,110.778,166.667}}
Penyelesaian komputasi dengan metode titik interior: input: Timing[LinearProgramming[Range[500],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{500,500}],Range [500],MethodโโInteriorPointโ]] {0.031,{0.187525,0.437503,0.687504,0.937505,1. 1875,1.4375,1.6875,1.9375,2.1875,2.4375,2.6875,2.9 375,3.1875,3.4375,3.6875,3.9375,4.1875,4.4375,4.68 75,4.9375,5.1875,5.4375,5.6875,5.9375,6.1875,6.437 5,6.6875,6.9375,7.1875,7.4375,7.6875,7.9375,8.1875 ,8.4375,8.6875,8.9375,9.1875,9.4375,9.6875,9.9375, 10.1875,10.4375,10.6875,10.9375,11.1875,11.4375,11 .6875,11.9375,12.1875,12.4375,12.6875,12.9375,13.1 875,13.4375,13.6875,13.9375,14.1875,14.4375,14.687 5,14.9375,15.1875,15.4375,15.6875,15.9375,16.1875, 16.4375,16.6875,16.9375,17.1875,17.4375,17.6875,17 .9375,18.1875,18.4375,18.6875,18.9375,19.1875,19.4
33 375,19.6875,19.9375,20.1875,20.4375,20.6875,20.937 5,21.1875,21.4375,21.6875,21.9375,22.1875,22.4375, 22.6875,22.9375,23.1875,23.4375,23.6875,23.9375,24 .1875,24.4375,24.6875,24.9375,25.1875,25.4375,25.6 875,25.9375,26.1875,26.4375,26.6875,26.9375,27.187 5,27.4375,27.6875,27.9375,28.1875,28.4375,28.6875, 28.9375,29.1875,29.4375,29.6875,29.9375,30.1875,30 .4375,30.6875,30.9375,31.1875,31.4375,31.6875,31.9 375,32.1875,32.4375,32.6875,32.9375,33.1875,33.437 5,33.6875,33.9375,34.1875,34.4375,34.6875,34.9375, 35.1875,35.4375,35.6875,35.9375,36.1875,36.4375,36 .6875,36.9375,37.1875,37.4375,37.6875,37.9375,38.1 875,38.4375,38.6875,38.9375,39.1875,39.4375,39.687 5,39.9375,40.1875,40.4375,40.6875,40.9375,41.1875, 41.4375,41.6875,41.9375,42.1875,42.4375,42.6875,42 .9375,43.1875,43.4375,43.6875,43.9375,44.1875,44.4 375,44.6875,44.9375,45.1875,45.4375,45.6875,45.937 5,46.1875,46.4375,46.6875,46.9375,47.1875,47.4375, 47.6875,47.9375,48.1875,48.4375,48.6875,48.9375,49 .1875,49.4375,49.6875,49.9375,50.1875,50.4375,50.6 875,50.9375,51.1875,51.4375,51.6875,51.9375,52.187 5,52.4375,52.6875,52.9375,53.1875,53.4375,53.6875, 53.9375,54.1875,54.4375,54.6875,54.9375,55.1875,55 .4375,55.6875,55.9375,56.1875,56.4375,56.6875,56.9 375,57.1875,57.4375,57.6875,57.9375,58.1875,58.437 5,58.6875,58.9375,59.1875,59.4375,59.6875,59.9375, 60.1875,60.4375,60.6875,60.9375,61.1875,61.4375,61 .6875,61.9375,62.1875,62.4375,62.6875,62.9375,63.1 875,63.4375,63.6875,63.9375,64.1875,64.4375,64.687 5,64.9375,65.1875,65.4375,65.6875,65.9375,66.1875, 66.4375,66.6875,66.9375,67.1875,67.4375,67.6875,67 .9375,68.1875,68.4375,68.6875,68.9375,69.1875,69.4 375,69.6875,69.9375,70.1875,70.4375,70.6875,70.937 5,71.1875,71.4375,71.6875,71.9375,72.1875,72.4375, 72.6875,72.9375,73.1875,73.4375,73.6875,73.9375,74 .1875,74.4375,74.6875,74.9375,75.1875,75.4375,75.6 875,75.9375,76.1875,76.4375,76.6875,76.9375,77.187 5,77.4375,77.6875,77.9375,78.1875,78.4375,78.6875, 78.9375,79.1875,79.4375,79.6875,79.9375,80.1875,80 .4375,80.6875,80.9375,81.1875,81.4375,81.6875,81.9 375,82.1875,82.4375,82.6875,82.9375,83.1875,83.437 5,83.6875,83.9375,84.1875,84.4375,84.6875,84.9375, 85.1875,85.4375,85.6875,85.9375,86.1875,86.4375,86 .6875,86.9375,87.1875,87.4375,87.6875,87.9375,88.1 875,88.4375,88.6875,88.9375,89.1875,89.4375,89.687 5,89.9375,90.1875,90.4375,90.6875,90.9375,91.1875, 91.4375,91.6875,91.9375,92.1875,92.4375,92.6875,92 .9375,93.1875,93.4375,93.6875,93.9375,94.1875,94.4 375,94.6875,94.9375,95.1875,95.4375,95.6875,95.937 5,96.1875,96.4375,96.6875,96.9375,97.1875,97.4375, 97.6875,97.9375,98.1875,98.4375,98.6875,98.9375,99 .1875,99.4375,99.6875,99.9375,100.188,100.438,100. 688,100.938,101.188,101.438,101.688,101.938,102.18
34 8,102.438,102.688,102.938,103.188,103.438,103.688, 103.938,104.188,104.438,104.688,104.938,105.188,10 5.438,105.688,105.938,106.188,106.438,106.688,106. 938,107.188,107.438,107.688,107.938,108.188,108.43 8,108.688,108.938,109.188,109.438,109.688,109.938, 110.188,110.438,110.688,110.938,111.188,111.438,11 1.688,111.938,112.188,112.438,112.688,112.938,113. 188,113.438,113.688,113.938,114.188,114.438,114.68 8,114.938,115.188,115.438,115.688,115.938,116.188, 116.438,116.688,116.938,117.188,117.438,117.688,11 7.938,118.188,118.438,118.688,118.938,119.188,119. 438,119.688,119.938,120.188,120.438,120.687,120.93 8,121.187,121.438,121.687,121.938,122.187,122.438, 122.685,122.944,123.168,123.495,123.516,124.453,12 2.642,129.074,110.778,166.667}}
35 Lampiran 6 Studi kasus 9 dengan menggunakan Mathematica Kasus 9: Masalah OL dengan 500 kendala dan 1000 variabel ( ๐ฅ๐ โฅ 0, i = 1, 2, 3, ..., 1000) Penyelesaian komputasi dengan metode simpleks: input: Timing[LinearProgramming[Range[1000],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{500,1000}],Rang e[500],MethodโโSimplexโ]] {28.017,{0.1875,0.4375,0.6875,0.9375,1.1875,1.437 5,1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.1875 ,3.4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.9375, 5.1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.6875,6 .9375,7.1875,7.4375,7.6875,7.9375,8.1875,8.4375,8. 6875,8.9375,9.1875,9.4375,9.6875,9.9375,10.1875,10 .4375,10.6875,10.9375,11.1875,11.4375,11.6875,11.9 375,12.1875,12.4375,12.6875,12.9375,13.1875,13.437 5,13.6875,13.9375,14.1875,14.4375,14.6875,14.9375, 15.1875,15.4375,15.6875,15.9375,16.1875,16.4375,16 .6875,16.9375,17.1875,17.4375,17.6875,17.9375,18.1 875,18.4375,18.6875,18.9375,19.1875,19.4375,19.687 5,19.9375,20.1875,20.4375,20.6875,20.9375,21.1875, 21.4375,21.6875,21.9375,22.1875,22.4375,22.6875,22 .9375,23.1875,23.4375,23.6875,23.9375,24.1875,24.4 375,24.6875,24.9375,25.1875,25.4375,25.6875,25.937 5,26.1875,26.4375,26.6875,26.9375,27.1875,27.4375, 27.6875,27.9375,28.1875,28.4375,28.6875,28.9375,29 .1875,29.4375,29.6875,29.9375,30.1875,30.4375,30.6 875,30.9375,31.1875,31.4375,31.6875,31.9375,32.187 5,32.4375,32.6875,32.9375,33.1875,33.4375,33.6875, 33.9375,34.1875,34.4375,34.6875,34.9375,35.1875,35 .4375,35.6875,35.9375,36.1875,36.4375,36.6875,36.9 375,37.1875,37.4375,37.6875,37.9375,38.1875,38.437 5,38.6875,38.9375,39.1875,39.4375,39.6875,39.9375, 40.1875,40.4375,40.6875,40.9375,41.1875,41.4375,41 .6875,41.9375,42.1875,42.4375,42.6875,42.9375,43.1 875,43.4375,43.6875,43.9375,44.1875,44.4375,44.687 5,44.9375,45.1875,45.4375,45.6875,45.9375,46.1875, 46.4375,46.6875,46.9375,47.1875,47.4375,47.6875,47 .9375,48.1875,48.4375,48.6875,48.9375,49.1875,49.4 375,49.6875,49.9375,50.1875,50.4375,50.6875,50.937 5,51.1875,51.4375,51.6875,51.9375,52.1875,52.4375, 52.6875,52.9375,53.1875,53.4375,53.6875,53.9375,54 .1875,54.4375,54.6875,54.9375,55.1875,55.4375,55.6 875,55.9375,56.1875,56.4375,56.6875,56.9375,57.187 5,57.4375,57.6875,57.9375,58.1875,58.4375,58.6875, 58.9375,59.1875,59.4375,59.6875,59.9375,60.1875,60 .4375,60.6875,60.9375,61.1875,61.4375,61.6875,61.9 375,62.1875,62.4375,62.6875,62.9375,63.1875,63.437 5,63.6875,63.9375,64.1875,64.4375,64.6875,64.9375, 65.1875,65.4375,65.6875,65.9375,66.1875,66.4375,66 .6875,66.9375,67.1875,67.4375,67.6875,67.9375,68.1 875,68.4375,68.6875,68.9375,69.1875,69.4375,69.687
36 5,69.9375,70.1875,70.4375,70.6875,70.9375,71.1875, 71.4375,71.6875,71.9375,72.1875,72.4375,72.6875,72 .9375,73.1875,73.4375,73.6875,73.9375,74.1875,74.4 375,74.6875,74.9375,75.1875,75.4375,75.6875,75.937 5,76.1875,76.4375,76.6875,76.9375,77.1875,77.4375, 77.6875,77.9375,78.1875,78.4375,78.6875,78.9375,79 .1875,79.4375,79.6875,79.9375,80.1875,80.4375,80.6 875,80.9375,81.1875,81.4375,81.6875,81.9375,82.187 5,82.4375,82.6875,82.9375,83.1875,83.4375,83.6875, 83.9375,84.1875,84.4375,84.6875,84.9375,85.1875,85 .4375,85.6875,85.9375,86.1875,86.4375,86.6875,86.9 375,87.1875,87.4375,87.6875,87.9375,88.1875,88.437 5,88.6875,88.9375,89.1875,89.4375,89.6875,89.9375, 90.1875,90.4375,90.6875,90.9375,91.1875,91.4375,91 .6875,91.9375,92.1875,92.4375,92.6875,92.9375,93.1 875,93.4375,93.6875,93.9375,94.1875,94.4375,94.687 5,94.9375,95.1875,95.4375,95.6875,95.9375,96.1875, 96.4375,96.6875,96.9375,97.1875,97.4375,97.6875,97 .9375,98.1875,98.4375,98.6875,98.9375,99.1875,99.4 375,99.6875,99.9375,100.188,100.438,100.688,100.93 7,101.187,101.438,101.687,101.938,102.188,102.438, 102.687,102.938,103.188,103.437,103.688,103.938,10 4.188,104.437,104.688,104.937,105.188,105.438,105. 687,105.938,106.187,106.438,106.688,106.938,107.18 8,107.438,107.687,107.938,108.188,108.438,108.687, 108.938,109.188,109.437,109.688,109.937,110.187,11 0.438,110.688,110.938,111.188,111.438,111.687,111. 938,112.187,112.438,112.688,112.938,113.188,113.43 8,113.687,113.938,114.187,114.437,114.687,114.938, 115.188,115.437,115.687,115.937,116.187,116.438,11 6.687,116.938,117.187,117.438,117.687,117.938,118. 187,118.438,118.687,118.938,119.187,119.438,119.68 7,119.938,120.187,120.438,120.687,120.938,121.187, 121.438,121.687,121.938,122.187,122.438,122.685,12 2.944,123.168,123.495,123.516,124.453,122.642,129. 074,110.778,166.667,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0
37 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.}}
Penyelesaian komputasi dengan metode titik interior: input: Timing[LinearProgramming[Range[1000],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{500,1000}],Rang e[500],MethodโโInteriorPointโ]] {0.031,{0.187633,0.437506,0.687502,0.937502,1. 1875,1.4375,1.6875,1.9375,2.1875,2.4375,2.6875,2.9 375,3.1875,3.4375,3.6875,3.9375,4.1875,4.4375,4.68 75,4.9375,5.1875,5.4375,5.6875,5.9375,6.1875,6.437 5,6.6875,6.9375,7.1875,7.4375,7.6875,7.9375,8.1875 ,8.4375,8.6875,8.9375,9.1875,9.4375,9.6875,9.9375, 10.1875,10.4375,10.6875,10.9375,11.1875,11.4375,11 .6875,11.9375,12.1875,12.4375,12.6875,12.9375,13.1 875,13.4375,13.6875,13.9375,14.1875,14.4375,14.687 5,14.9375,15.1875,15.4375,15.6875,15.9375,16.1875, 16.4375,16.6875,16.9375,17.1875,17.4375,17.6875,17 .9375,18.1875,18.4375,18.6875,18.9375,19.1875,19.4 375,19.6875,19.9375,20.1875,20.4375,20.6875,20.937 5,21.1875,21.4375,21.6875,21.9375,22.1875,22.4375, 22.6875,22.9375,23.1875,23.4375,23.6875,23.9375,24 .1875,24.4375,24.6875,24.9375,25.1875,25.4375,25.6 875,25.9375,26.1875,26.4375,26.6875,26.9375,27.187 5,27.4375,27.6875,27.9375,28.1875,28.4375,28.6875, 28.9375,29.1875,29.4375,29.6875,29.9375,30.1875,30 .4375,30.6875,30.9375,31.1875,31.4375,31.6875,31.9 375,32.1875,32.4375,32.6875,32.9375,33.1875,33.437 5,33.6875,33.9375,34.1875,34.4375,34.6875,34.9375, 35.1875,35.4375,35.6875,35.9375,36.1875,36.4375,36 .6875,36.9375,37.1875,37.4375,37.6875,37.9375,38.1 875,38.4375,38.6875,38.9375,39.1875,39.4375,39.687 5,39.9375,40.1875,40.4375,40.6875,40.9375,41.1875, 41.4375,41.6875,41.9375,42.1875,42.4375,42.6875,42 .9375,43.1875,43.4375,43.6875,43.9375,44.1875,44.4 375,44.6875,44.9375,45.1875,45.4375,45.6875,45.937 5,46.1875,46.4375,46.6875,46.9375,47.1875,47.4375, 47.6875,47.9375,48.1875,48.4375,48.6875,48.9375,49 .1875,49.4375,49.6875,49.9375,50.1875,50.4375,50.6 875,50.9375,51.1875,51.4375,51.6875,51.9375,52.187 5,52.4375,52.6875,52.9375,53.1875,53.4375,53.6875, 53.9375,54.1875,54.4375,54.6875,54.9375,55.1875,55
38 .4375,55.6875,55.9375,56.1875,56.4375,56.6875,56.9 375,57.1875,57.4375,57.6875,57.9375,58.1875,58.437 5,58.6875,58.9375,59.1875,59.4375,59.6875,59.9375, 60.1875,60.4375,60.6875,60.9375,61.1875,61.4375,61 .6875,61.9375,62.1875,62.4375,62.6875,62.9375,63.1 875,63.4375,63.6875,63.9375,64.1875,64.4375,64.687 5,64.9375,65.1875,65.4375,65.6875,65.9375,66.1875, 66.4375,66.6875,66.9375,67.1875,67.4375,67.6875,67 .9375,68.1875,68.4375,68.6875,68.9375,69.1875,69.4 375,69.6875,69.9375,70.1875,70.4375,70.6875,70.937 5,71.1875,71.4375,71.6875,71.9375,72.1875,72.4375, 72.6875,72.9375,73.1875,73.4375,73.6875,73.9375,74 .1875,74.4375,74.6875,74.9375,75.1875,75.4375,75.6 875,75.9375,76.1875,76.4375,76.6875,76.9375,77.187 5,77.4375,77.6875,77.9375,78.1875,78.4375,78.6875, 78.9375,79.1875,79.4375,79.6875,79.9375,80.1875,80 .4375,80.6875,80.9375,81.1875,81.4375,81.6875,81.9 375,82.1875,82.4375,82.6875,82.9375,83.1875,83.437 5,83.6875,83.9375,84.1875,84.4375,84.6875,84.9375, 85.1875,85.4375,85.6875,85.9375,86.1875,86.4375,86 .6875,86.9375,87.1875,87.4375,87.6875,87.9375,88.1 875,88.4375,88.6875,88.9375,89.1875,89.4375,89.687 5,89.9375,90.1875,90.4375,90.6875,90.9375,91.1875, 91.4375,91.6875,91.9375,92.1875,92.4375,92.6875,92 .9375,93.1875,93.4375,93.6875,93.9375,94.1875,94.4 375,94.6875,94.9375,95.1875,95.4375,95.6875,95.937 5,96.1875,96.4375,96.6875,96.9375,97.1875,97.4375, 97.6875,97.9375,98.1875,98.4375,98.6875,98.9375,99 .1875,99.4375,99.6875,99.9375,100.188,100.438,100. 688,100.938,101.188,101.438,101.688,101.938,102.18 8,102.438,102.688,102.938,103.188,103.438,103.688, 103.938,104.188,104.438,104.688,104.938,105.188,10 5.438,105.688,105.938,106.188,106.438,106.688,106. 938,107.188,107.438,107.688,107.938,108.188,108.43 8,108.688,108.938,109.188,109.438,109.688,109.938, 110.188,110.438,110.688,110.938,111.188,111.438,11 1.688,111.938,112.188,112.438,112.688,112.938,113. 188,113.438,113.688,113.938,114.188,114.438,114.68 8,114.938,115.188,115.438,115.688,115.938,116.188, 116.438,116.688,116.938,117.188,117.438,117.688,11 7.938,118.188,118.438,118.688,118.938,119.188,119. 438,119.688,119.938,120.188,120.438,120.687,120.93 8,121.187,121.438,121.687,121.938,122.187,122.438, 122.685,122.944,123.168,123.495,123.516,124.453,12 2.642,129.074,110.778,166.667,1.33199*10^7,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.
39 ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}}
40 Lampiran 7 Studi kasus 10 dengan menggunakan Mathematica Kasus 10: Masalah OL dengan 100 kendala dan 200000 variabel ( ๐ฅ๐ โฅ 0, i = 1, 2, 3, ..., 200000) Penyelesaian komputasi dengan metode simpleks: input: Timing[LinearProgramming[Range[200000],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{100,200000}],Ra nge[100],MethodโโSimplexโ]] {227.808,{0.1875,0.4375,0.6875,0.9375,1.1875,1. 4375,1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.1 875,3.4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.93 75,5.1875,5.4375,5.6875,5.9375,6.1875,6.4375,6.687 5,6.9375,7.1875,7.4375,7.6875,<<199938>>,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}}
Penyelesaian komputasi dengan metode titik interior: input: Timing[LinearProgramming[Range[200000],SparseArray
output:
[{Band[{1,1}] โ 3.,Band[{1,2}] โ 1.},{100,200000}],Ra nge[100],MethodโโInteriorPointโ]] {0.124,{0.1875,0.4375,0.6875,0.9375,1.1875,1.437 5,1.6875,1.9375,2.1875,2.4375,2.6875,2.9375,3.1875 ,3.4375,3.6875,3.9375,4.1875,4.4375,4.6875,4.9375, 5.1875,5.4375,5.6875,5.9375,6.1875,6.4375,<<199948 >>,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.}}
41
RIWAYAT HIDUP Penulis lahir di Cirebon tanggal 13 Juli 1991, putra pertama dari Bapak Sanija dan Ibu Rokani. Penulis menempuh pendidikan pertama di TK Nira Indria Palimanan Barat Cirebon selama 2 tahun dari tahun 1995 sampai 1997. Selanjutnya masuk Sekolah Dasar Palimanan Timur 3 pada tahun 1997 sampai 2003. Penulis masuk Sekolah Menengah Pertama Negeri 1 Palimanan pada tahun 2003 hingga 2006, kemudian melanjutkan pendidikan di Sekolah Menengah Atas Negeri 1 Palimanan pada tahun 2006 yang diselesaikan pada tahun 2009. Pada tingkat Sekolah Menengah Atas pernah mengikuti Olimpiade Matematika tingkat Kabupaten dan Kota. Penulis melanjutkan pendidikan di Perguruan Tinggi Negeri pada tahun 2009 diterima di Institut Pertanian Bogor melalui jalur Undangan Seleksi Masuk IPB (USMI) dan diterima di Departemen Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor. Selama kuliah penulis aktif dalam organisasi kemahasiswaan Himpunan Profesi Gumatika sebagai Staf Divisi Pemberdayaan Sumber Daya Manusia pada tahun 2010-2011 dan Staf Divisi Math Event pada tahun 2011-2012, dan juga organisasi UKM Musik Agriculture Expression, serta organisasi daerah Ikatan Keluarga Cirebon sebagai Staf Departemen Sosial dan Kesejahteraan tahun 2010-2011 dan Kepala Departemen Sosial dan Kesejahteraan pada tahun 2011-2012. Penulis aktif sebagai pengajar Tingkat Persiapan Bersama dan Sekolah Menengah Atas tahun 2010-2011. Penulis juga aktif dalam kepanitian dan koordinator di berbagai acara kemahasiswaan, diantaranya Masa Perkenalan Kampus Mahasiswa Baru, IPB Mathematics Challenges, Matematika Ria, Masa Perkenalan Departemen. Penulis pernah menjadi ketua acara โRamah Tamah Civitas Matematikaโ pada tahun 2012. Penulis pernah menjadi pemakalah Seminar Nasional SEMIRATA 2014 Bidang MIPA BKS-PTN Barat.