• Tidak ada hasil yang ditemukan

Perbandingan Waktu Eksekusi Metode Simpleks dan Metode Titik Interior dalam Menyelesaikan Masalah Optimasi Linear Menggunakan Mathematica

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Waktu Eksekusi Metode Simpleks dan Metode Titik Interior dalam Menyelesaikan Masalah Optimasi Linear Menggunakan Mathematica"

Copied!
51
0
0

Teks penuh

(1)

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

(2)
(3)

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

(4)

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.

(5)

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains

pada

Departemen Matematika

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

(6)
(7)

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

(8)

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

(9)

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 5

Metode Simpleks 5

Metode Titik Interior 10

Studi Kasus 16

SIMPULAN 22

DAFTAR PUSTAKA 22

LAMPIRAN 24

(10)

DAFTAR TABEL

1 Ilustrasi tabulasi simpleks 8

2 Tabulasi simpleks 9

3 Tabulasi simpleks kolom kunci dan baris kunci 10 4 Waktu eksekusi metode simpleks dan metode titik interior dengan lima

kali pengulangan 19

5 Waktu eksekusi rata-rata metode simpleks dan metode titik interior serta perbandingan waktu eksekusi metode simpleks : metode titik

interior 21

DAFTAR GAMBAR

1 Perbandingan waktu eksekusi metode simpleks : metode titik interior 21

DAFTAR LAMPIRAN

(11)

PENDAHULUAN

Latar Belakang

Optimasi adalah bagian dari matematika terapan yang mempelajari masalah-masalah 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

(12)

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, … ,�) = �11 + �22 + … + � = � (Winston 2004). Misalkan contoh sebagai berikut: �( �1,�2,�3) = 2�1+ �2+ �3 merupakan fungsi linear, �( �1,�2) =�1P

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).

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:

(13)

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!

(14)

4

�(��+1) ≈ �(��) +∆�(��).

Tetapkan pendekatan �(��+1) sama dengan 0 sehingga didapat ∆=−�(�

)() .

Titik ��+1= ��+∆ 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:

�(��) =

kemudian dengan menggunakan deret Taylor orde pertama di sekitar titik �� dan dengan menetapkan �(��+1) = 0 diperoleh

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 .

(15)

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

(16)

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 artificialadalah 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

(17)

7 �11�1+�12�2+⋯+�1���+ 1 + 0 +⋯+ 0 = �1,

�21�1+�22�2+⋯+�2���+ 0 + 1 +⋯+ 0 = �2, (1)

�m1�1+�m2�2+⋯+�����+ 0 + 0 +⋯+ 1 = �m.

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:

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,

�21�1+�22�2 +⋯+�2���+ 0 + �1 +⋯+ 0 = �2, (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: � �����

�=1

≥ ��,∀� = 1, 2, … ,�

(18)

8

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,

�21�1+�22�2+⋯+�2���+ 0 − �2 +�2+⋯+ 0 = �2, (3)

�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 … �� 0 0 … M

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.

Berikut ini akan diberikan proses algoritme simpleks, yaitu:

1 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

(19)

9 maksimumkan �= 2�1+ 3�2

terhadap 5�1 + 6�2 ≤60, �1+ 2�2 ≤ 16, �1 ≤ 10, �2 ≤6.

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.

2 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

�� 2 3 0 0 0 0

�� Basis �1 �2 �1 �2 �3 �4 ��

0 �1 5 6 1 0 0 0 60

0 �2 1 2 0 1 0 0 16

0 �3 1 0 0 0 1 0 10

0 �4 0 1 0 0 0 1 6

�� 0 0 0 0 0 0 0 ��− �� -2 -3 0 0 0 0 0

3 Menentukan kolom kunci (variabel masuk), yaitu untuk masalah maksimum memilih�− � yang terkecil, sedangkan untuk masalah minimum memilih

��− �� yang terbesar.

4 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 = ��

���

,

j adalah kolom baris, di mana rasio > 0.

(20)

10

Table 3 Tabulasi Simpleks Kolom Kunci dan Baris Kunci �� 2 3 0 0 0 0

�� Basis �1 �2* �1 �2 �3 �4 �� Rasio

0 �1 5 6 1 0 0 0 60 10

0 �2 1 2 0 1 0 0 16 8

0 �3 1 0 0 0 1 0 10 -

0 �4* 0 1 0 0 0 1 6 6

�� 0 0 0 0 0 0 �� − �� -2 -3 0 0 0 0

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 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).

7 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

(21)

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� masalah primal-barrier ditulis sebagai berikut:

minimumkan �T� − � ∑��=1ln��� …(5.1)

(22)

12

Di mana � adalah parameter suatu konstanta positif. (6) lim ln(�) = −∞

x→ 0

(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����

�=1

− �T(�� − �)

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

adalah vektor nol. Persamaan (8) dalam notasi vektor:

(23)

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:

maksimumkan ���+� ∑��=1ln��� …(12.1)

terhadap ��� +�=�, …(12.2) (12) � ≥ �. …(12.3)

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.

(24)

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): �(�) =�� kendala awal persamaan primal-dual dinotasikan sebagai sistem berikut:

�� =�+��0 �� =� − �T�0− �0

Kondisi optimal dapat ditulis sebagai berikut: �(�)�= −�(�),

(25)

15

Proses iterasi algoritme titik interior primal-dual selanjutnya, yaitu:

1. Menentukan solusi fisibel awal �(0) > 0, �(0) > 0, �(0) > 0, dengan � = 0 toleransi optimal � > 0, dan parameter 0 < �< 1.

2. Tes optimalisasi, selama (��)��� ≥ � lanjut ke langkah berikutnya. Jika

(��)��� <�, iterasi berhenti.

3. Hitung langkah Newton-penuh, dan perbarui solusi �(�+1) = (�)+ adalah nilai pendekatan dengan � sebagai parameter pembatas.

4. Selanjutnya � ← �+ 1, kembali ke Langkah 2.

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

Method→”InteriorPoint” adalah perintah untuk menyelesaikan masalah

(26)

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,-1}},Method→”Simplex”]//Timing

output: {0.,{0., 1.5}}

input: First[%]<$TimeUnit

output: True

input: reps=100000;

input: {time,res}=

Timing[Do[LinearProgramming[{1.,2},{{1,2},{1,1}},{

{3,1},{2,-1}},Method→"Simplex"],{reps}]]

output: {2.574,Null}

input: time/reps

output: 0.00002574

Penyelesaian komputasi dengan metode titik interior:

input:

LinearProgramming[{1.,2},{{1,2},{1,1}},{{3,1},{2,-1}},Method→”InteriorPoint”]//Timing

output: {0.,{0.00940398,1.4953}}

input: First[%]<$TimeUnit

output: True

input: reps=100000;

input: {time,res}=

Timing[Do[LinearProgramming[{1.,2},{{1,2},{1,1}},{

{3,1},{2,-1}},Method→"InteriorPoint"],{reps}]]

output: {59.046,Null}

input: time/reps

(27)

17 Kasus 2:

Masalah optimasi linear dengan 5 kendala dan 5 variabel maks 2�1+�2+�3+ 2�4+ �5

Penyelesaian komputasi dengan metode simpleks:

input: 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”]//Timing

output: {0.,{1,2,1,2,1}}

input: First[%]<$TimeUnit

output: True

input: reps=100000;

input: {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}]]

output: {22.09,Null}

input: time/reps

output: 0.0002209

Penyelesaian komputasi dengan metode titik interior:

input: LinearProgramming[{-2,-1,-1,-2,-1},{{2,1,1,1,1},{1, 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

output: {0.,{1,2,1,2,1}}

input: First[%]<$TimeUnit

output: True

input: reps=100000;

input: {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}]]

output: {301.784,Null}

input: time/reps

output: 0.00301784

Pada studi kasus di atas terdapat sintaks tambahan, yaitu reps. Pengertian

(28)

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 SparseArraydan Band sebagai berikut:

input: SparseArray[{Band[{1,1}]→x,Band[{2,1}]→y},{3,3}] //MatrixForm

Penyelesaian komputasi dengan metode simpleks:

input: Timing[LinearProgramming[Range[10],SparseArray

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{10,10}],Range[10]

,Method→”Simplex”]]

output: {0.,{0.187454,0.437637,0.68709,0.938729,1.18381, 1.44856,1.65432,2.03704,1.88889,3.33333}}

input: First[%]<$TimeUnit

output: True

(29)

19 input: {time,res}=

Timing[Do[LinearProgramming[Range[10],SparseArray[{

Band[{1,1}]→3.,Band[{1,2}]→1.},{10,10}],Range[10]

,Method→"Simplex"],{reps}]]

output: {48.797,Null}

input: time/reps

output: 0.00048797

Penyelesaian komputasi dengan metode titik interior:

input: Timing[LinearProgramming[Range[10],SparseArray

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{10,10}],Range[10]

,Method→”InteriorPoint”]]

output: {0,{0.187454,0.437637,0.68709,0.938729,1.18381, 1.44856,1.65432,2.03704,1.88889,3.33333}}

input: First[%]<$TimeUnit

output: True

input: reps=100000;

input: {time,res}=

Timing[Do[LinearProgramming[Range[10],SparseArray[{

Band[{1,1}]→3.,Band[{1,2}]→1.},{10,10}],Range[10]

,Method→"InteriorPoint"],{reps}]]

output: {177.217,Null}

input: time/reps

output: 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

I 0.00002574 0.00059046 II 0.00002480 0.00057673 III 0.00002480 0.00063009 IV 0.00002559 0.00063118 V 0.00002605 0.00063945

2 5 × 5

(30)

20

3 10 × 10

I 0.00048797 0.00177217 II 0.00049187 0.00177810 III 0.00049234 0.00177295 IV 0.00049031 0.00176812 V 0.00049203 0.00177310

4 50 × 50

I 0.01600000 0.00417630 II 0.03100000 0.00417849 III 0.01500000 0.00417630 IV 0.01600000 0.00418036 V 0.01600000 0.00417786

5 100 × 100

I 0.12500000 0.00701146 II 0.12500000 0.00700461 III 0.14000000 0.00700804 IV 0.12500000 0.00700695 V 0.14000000 0.00699259

6 100 × 200

I 0.25000000 0.00715202 II 0.24900000 0.00713127 III 0.25000000 0.00720849 IV 0.24900000 0.00714531 V 0.25000000 0.00714063

7 200 × 200

I 0.95200000 0.01500000 II 0.93600000 0.03100000 III 0.93600000 0.03200000 IV 0.96700000 0.01500000 V 0.95200000 0.01600000

8 500 × 500

I 14.2430000 0.03100000 II 14.2740000 0.03100000 III 14.4140000 0.03100000 IV 14.2900000 0.04700000 V 14.4770000 0.04700000

9 500 × 1000

I 28.0170000 0.03100000 II 27.9550000 0.03200000 III 28.0800000 0.04700000 IV 28.1580000 0.04700000 V 28.0180000 0.04600000

10 100 × 200000

(31)

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 Studi

Kasus Ukuran ��

Waktu Eksekusi Perbandingan Waktu Eksekusi

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:

Gambar 1 Perbandingan waktu eksekusi metode simpleks : metode titik interior 0

(32)

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.

(33)

23 Vanderbei R. 2001. Linear Programming Foundations and Extensions. New York

(US): Springer - Verlag.

(34)

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

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{50,50}],Range[5

0],Method→”Simplex”]]

output: {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

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{50,50}],Range[5

0],Method→”InteriorPoint”]]

output: {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}}

input: First[%]<$TimeUnit

output: True

input: reps=100000;

input: {time,res}=

Timing[Do[LinearProgramming[Range[50],SparseArray[{

Band[{1,1}]→1.,Band[{1,2}]→2.},{50,50}],Range[50],M

ethod→"InteriorPoint"],{reps}]]

output: {417.63,Null}

input: time/reps

(35)

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

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{100,100}],Range

[100],Method→”Simplex”]]

output: {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

Penyelesaian komputasi dengan metode titik interior:

input: Timing[LinearProgramming[Range[100],SparseArray

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{100,100}],Range

[100],Method→”InteriorPoint”]]

output: {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

input: First[%]<$TimeUnit

output: True

input: reps=100000;

(36)

26

Timing[Do[LinearProgramming[Range[100],SparseArray[

{Band[{1,1}]→1.,Band[{1,2}]→2.},{100,100}],Range[10

0],Method→"InteriorPoint"],{reps}]]

output: {701.146,Null}

input: time/reps

(37)

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

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{100,200}],Range

[100],Method→”Simplex”]]

output: {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

Penyelesaian komputasi dengan metode titik interior:

input: Timing[LinearProgramming[Range[200],SparseArray

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{100,200}],Range

[100],Method→”InteriorPoint”]]

(38)

28

0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0. ,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0 .,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}}

input: First[%]<$TimeUnit

output: True

input: reps=100000;

input: {time,res}=

Timing[Do[LinearProgramming[Range[200],SparseArray[

{Band[{1,1}]→3.,Band[{1,2}]→1.},{100,200}],Range[10

0],Method→"InteriorPoint"],{reps}]]

output: {715.202,Null}

input: time/reps

(39)

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

y[{Band[{1,1}]→3.,Band[{1,2}]→1.},{200,200}],Rang

e[200],Method→”Simplex”]]

output: {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

Penyelesaian komputasi dengan metode titik interior:

input: Timing[LinearProgramming[Range[200],SparseArray

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{200,200}],Range

[200],Method→”InteriorPoint”]]

(40)

30

(41)

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

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{500,500}],Range

[500],Method→”Simplex”]]

(42)

32

Penyelesaian komputasi dengan metode titik interior:

input: Timing[LinearProgramming[Range[500],SparseArray

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{500,500}],Range

[500],Method→”InteriorPoint”]]

(43)
(44)

34

(45)

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

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{500,1000}],Rang

e[500],Method→”Simplex”]]

(46)
(47)

37

Penyelesaian komputasi dengan metode titik interior:

input: Timing[LinearProgramming[Range[1000],SparseArray

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{500,1000}],Rang

e[500],Method→”InteriorPoint”]]

(48)
(49)

39

(50)

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

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{100,200000}],Ra

nge[100],Method→”Simplex”]]

output: {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

[{Band[{1,1}]→3.,Band[{1,2}]→1.},{100,200000}],Ra

nge[100],Method→”InteriorPoint”]]

(51)

41

RIWAYAT HIDUP

Gambar

Table 1 Ilustrasi Tabulasi Simpleks
Table 2 Tabulasi Simpleks
Table 3 Tabulasi Simpleks Kolom Kunci dan Baris Kunci
Tabel 4 Waktu eksekusi metode simpleks dan metode titik interior dengan lima
+2

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk menemukan metode baru (yaitu metode simpleks fuzzy ) dalam menentukan solusi masalah pemrograman linear fuzzy dengan variabel

Penelitian ini bertujuan untuk menemukan metode baru (yaitu metode simpleks fuzzy ) dalam menentukan solusi masalah pemrograman linear fuzzy dengan variabel bilangan

Tujuan penulisan skripsi ini adalah untuk menyelesaikan permasala- han optimisasi berkendala dengan menggunakan metode titik-interior primal- dual pada pemrograman kuadratik

Berdasarkan hasil analisis dengan menerapkan model Linear Programming dengan metode Simpleks, keuntungan maksimal yang dapat diperoleh Home Industry Sri Bayu yaitu sebesar

Penulisan tugas akhir ini bertujuan untuk menyelesaikan masalah program linear sasaran ganda menggunakan metode simpleks multifase dengan terlebih dahulu mengubah masalah

Tujuan dari penulisan ini adalah menyelesaikan masalah program linier yang memuat n variabel dan m kendala dengan menggunakan kedua metode tersebut. Keefisienan kedua

Untuk masalah maksimisasi, solusi optimal pada optimasi linear adalah suatu titik pada daerah fisibel dengan nilai fungsi objektif paling besar sedangkan untuk masalah

Metode titik interior dengan panduan central path dalam menuju solusi optimal memiliki unjuk kerja yang buruk pada kasus-kasus central path berada dekat dengan semua titik sudut