• Tidak ada hasil yang ditemukan

BAB II PROGRAM LINEAR

B. Metode Simpleks Direvisi

D. Masalah Knapsack (Knapsack Problem)

BAB III. MASALAH PEMOTONGAN PERSEDIAAN

A. Masalah Pemotongan Persediaan (Cutting Stock Problem) B. Metode Penghasil Kolom

BAB IV. PENERAPAN METODE PENGHASIL KOLOM UNTUK MENYELESAIKAN MASALAH PEMOTONGAN ROL KERTAS

BAB V. PENUTUP A. Kesimpulan B. Saran DAFTAR PUSTAKA LAMPIRAN A LAMPIRAN B

13

BAB II

PROGRAM LINEAR

A. Program Linear

Program Linear muncul pada tahun 1939 di Departemen Pertahanan Inggris dan Amerika untuk menjawab masalah optimisasi perencanaan operasi perang melawan Jerman dalam Perang Dunia ke-II. Pada tahun 1947 teori dan teknik simpleks dikembangkan oleh Dantzig dan para pakar lainnya. Masalah dalam program linear adalah mengoptimumkan suatu fungsi linear yang terbatas oleh kendala-kendala berupa persamaan dan pertidaksamaan linear. Program linear termasuk model yang relatif sederhana di antara model-model riset operasi. Beberapa contoh penggunaan program linear ialah penjadwalan produksi, penjadwalan penerbangan, siasat perang, analisis sosial, dan lain-lain.

Model program linear memiliki tiga komponen dasar yaitu:

1. Variabel keputusan adalah variabel yang menguraikan secara lengkap keputusan-keputusan yang akan dibuat, yang merupakan formulasi dari apa yang dicari dalam persoalan tersebut. Variabel keputusan ini dituliskan dengan

, = , , … , .

2. Fungsi tujuan merupakan fungsi dari variabel keputusan yang harus dicapai agar solusi optimal dapat ditentukan dari semua nilai-nilai yang layak.

3. Fungsi kendala merupakan formulasi dari kendala-kendala yang dihadapi dalam menentukan nilai variabel-variabel keputusan.

1. Linearitas

Fungsi tujuan dan kendala haruslah fungsi linear. 2. Proporsionalitas

Nilai variabel dari semua fungsi kendala dan fungsi tujuan yang linear haruslah proporsional atau sebanding. Sebagai contoh, satu potong roti menghasilkan 77,5 kalori maka untuk 2 potong roti menghasilkan 155 kalori.

3. Aditivitas

Fungsi tujuan adalah jumlahan langsung dari kontribusi individual dari variabel-variabel yang berbeda. Sebagai contoh, 2 potong roti menghasilkan 155 kalori dan 1 butir telur menghasilkan 80 kalori maka dihasilkan 235 kalori dengan mengkonsumsi 2 potong roti dan 1 butir telur.

4. Kepastian

Setiap parameter (koefisien fungsi tujuan, koefisien kendala, dan nilai di sisi kanan) diketahui dengan pasti dan tidak berubah selama periode analisis.

Secara umum, masalah umum program linear bisa dinyatakan sebagai berikut:

Memaksimumkan atau meminimumkan

= + + + 2.1 Dengan kendala { + + + = + + + = + + + = , , … , 2.2

Memaksimumkan atau meminimumkan = ∑ = 2.3 Dengan kendala ∑ = = , = , … , 2.4 , = , … , 2.5

dimana setiap pertidaksamaan (2.4) memiliki simbol, , , =, yang hanya dipilih salah satu yang disebut kendala utama, sedangkan pertidaksamaan (2.5) disebut kendala tak negatif. Kendala tak negatif mengasumsikan nilai variabel harus bernilai tak negatif. Fungsi linear (2.3) disebut fungsi tujuan. Dengan disebut koefisien teknis, disebut koefisien ongkos, dan disebut suku tetap di ruas kanan

disingkat “suku tetap” atau “ruas kanan”. Jika , = , … , memenuhi semua kendala maka disebut solusi layak. Solusi layak yang juga mengoptimumkan disebut solusi optimum.

Untuk menyelesaikan masalah minimum maka bentuk minimum dapat diubah menjadi bentuk maksimum dengan cara mengalikan fungsi tujuan dengan

− . Selanjutnya, diselesaikan seperti masalah maksimum. Solusi yang diperoleh untuk masalah maksimum ini akan sama dengan solusi untuk masalah minimum, tetapi dengan nilai yang sama dengan negatif nilai masalah maksimumnya. Jadi, masalah program linear adalah masalah dari fungsi linear maksimum (atau minimum) dengan kendala linear yang terbatas.

Metode yang sering digunakan untuk menyelesaikan masalah program linear adalah metode grafik dan metode simpleks. Metode grafik digunakan untuk memecahkan persoalan model program linear dua variabel. Lalu pada tahun 1947, Dantzig mengembangkan metode yang dapat memecahkan persoalan model program linear dengan lebih dari dua variabel yang disebut metode simpleks.

Metode Simpleks

Metode simpleks yang dikenalkan oleh George B. Dantzig telah dikembang-kan dan diterapdikembang-kannya ke persoalan bisnis. Metode simpleks adalah metode siste-matis dari suatu solusi layak ke solusi layak lainnya dan dilakukan berulang-ulang sehingga tercapai suatu solusi layak yang optimum.

Definisi 2.1

Variabel pengetat (slack variable) merupakan variabel tambahan yang mengubah suatu pertidaksamaan menjadi persamaan, dengan cara menambahkan variabel pengetat pada ruas kiri suatu pertidaksamaan. Variabel pengetat ini digunakan pada kendala pertidaksamaan yang berbentuk lebih kecil sama dengan (≤).

Misalkan diberikan masalah program linear bentuk standar sebagai berikut. Memaksimumkan

= ∑

Dengan kendala

=

, = , … , 2.6

, = , … ,

Maka dapat didefinisikan variabel pengetat + , + , … , + dan fungsi tujuan sebagai berikut. + = − ∑ = , = , … , 2.7 = ∑ = 2.8

Dengan notasi ini, masalah ini dapat diuraikan kembali menjadi

Memaksimumkan dengan kendala , , … , + 2.9

Setiap solusi layak , , … , dari (2.6) ditunjukkan oleh + bilangan bulat tak negatif , , … , + dengan + , + , … , + yang didefinisikan

pada (2.7). Hal ini dapat dikatakan bahwa (2.7) menunjukkan kesamaan/ekuivalensi antara (2.6) dan (2.9). Untuk lebih jelasnya yaitu sebagai berikut.

1. Setiap solusi layak , , … , dari (2.6) dapat diperluas, dengan cara yang ditunjukkan oleh (2.7), menjadi , , … , + dari (2.9).

2. Setiap solusi layak , , … , + dari (2.9) dapat dipersempit dengan menghapus variabel pengetat, menjadi solusi layak , , … , dari (2.6). 3. Solusi optimal (2.6) termuat dalam solusi layak (2.9), begitu sebaliknya.

Di setiap iterasi, metode simpleks mengganti solusi layak , , … , +

menjadi solusi layak lain ̅ , ̅ , … , ̅ + yang lebih baik dari sebelumnya sehingga

∑ ̅

=

> ∑

=

Sistem linear untuk menemukan solusi layak dengan menyatakan nilai-nilai variabel sisi kanan menjadi nilai-nilai yang sesuai dari variabel sisi kiri dan fungsi tujuan disebut kamus (dictionaries). Dengan demikian, setiap kamus dari (2.6) akan menjadi suatu sistem persamaan linear dalam variabel , , … , + dan .

Pertama definisikan + , + , … , + dan , serta + + variabel yang saling bergantung. Saling ketergantungan ini harus didasarkan oleh setiap kamus terkait (2.6) dimana terjemahan harus tepat. Lebih tepatnya, kamus-kamus harus memenuhi syarat-syarat berikut.

1. Setiap solusi dari himpunan persamaan yang memuat kamus harus juga solusi dari (2.7), begitu sebaliknya.

2. Persamaan setiap kamus harus memperlihatkan variabel dari , , … , +

dan fungsi tujuan dalam variabel tersisa.

3. Menetapkan variabel sisi kanan nol dan mengevaluasi variabel sisi kiri sampai pada solusi layak.

Kamus-kamus yang memenuhi ketiga syarat tersebut disebut kamus-kamus layak. Dengan demikian, setiap kamus layak menunjukkan suatu solusi layak. Solusi layak yang dapat ditunjukkan dengan kamus-kamus disebut dasar (basic).

Definisi 2.2

Variabel dasar (basic) adalah variabel yang diperoleh dari banyaknya persamaan pada masalah program linear. Sedangkan variabel lainnya adalah variabel tidak dasar (nonbasic). Variabel ini adalah variabel yang dihasilkan dari selisih banyaknya variabel dengan banyaknya persamaan pada masalah program linear dan merupakan variabel yang bernilai nol.

Variabel yang muncul pada sisi kiri kamus disebut dasar dan variabel yang muncul pada sisi kanan disebut tidak dasar. Variabel dasar merupakan basis. Basis berubah pada setiap iterasi. Pada setiap iterasi, dipilih variabel tidak dasar untuk masuk basis lalu mengeluarkan variabel dasar dari basis. Pemilihan variabel masuk disebabkan oleh keinginan untuk meningkatkan nilai dan penentuan variabel keluar didasarkan pada persyaratan bahwa semua variabel harus diasumsikan bernilai tak negatif. Variabel keluar adalah variabel dasar tak negatif yang menyebabkan batas atas terketat pada kenaikan variabel masuk. Rumus untuk variabel keluar muncul di baris sumbu (pivot row) kamus. Proses perhitungan dari pembuatan kamus baru disebut berputar (pivoting).

Contoh 2.1

Maksimumkan

+ +

Dengan kendala

− +

− +

+ −

, ,

Pada contoh ini, kamus layak awal dapat dituliskan sebagai berikut.

= − − − = + − = − + − = − − + = + + 2.10

Kamus layak ini menunjukkan variabel keputusan , , merupakan variabel tidak dasar (diberi nilai nol) dan variabel pengetat , , , merupakan variabel dasar. Jadi solusi layak yang bersesuaian adalah = , = , = , =

, = , = , = , dan = . Sehingga memenuhi syarat kedua dan ketiga dalam kamus.

Pada iterasi pertama, kita mencoba meningkatkan nilai dengan membuat salah satu variabel sisi kanan positif. Terdapat tiga variabel , , yang akan dipilih. Biasanya akan dipilih variabel pada yang memiliki koefisien terbesar sehingga nilai lebih cepat meningkat. Pada contoh ini akan dipilih sebarang variabel antara dan . Di sini dipilih positif. Karena nilai meningkat dan

nilai , , , dan tidak satupun diizinkan menjadi negatif, maka diberikan batas pada tiap variabel yaitu

= − − −

= − + −

= − − +

Dimana nilai meningkat sehingga tidak menjadi batas atas kenaikan dan =

. Sehingga kendala adalah batas atas terketat dan mengimplikasikan . Dalam meningkatkan solusi layak diperoleh = dan = . Variabel masuk menjadi basis dan variabel keluar menjadi variabel tidak dasar (diberi nilai nol). Persamaan keempat (2.10) dapat dituliskan sebagai berikut.

= − + − 2.11

Substitusikan (2.11) ke dalam persamaan yang tersisa dari (2.10).

= − + − = − − + = − − − = + − + = − + − 2.12

Kamus (2.12) menyelesaikan iterasi pertama metode simpleks. Kamus layak ini menunjukkan variabel tidak dasar , , (diberi nilai nol) dan variabel dasar

, = , = , = , = , dan = . Sehingga memenuhi syarat kedua dan ketiga dalam kamus.

Pada iterasi kedua, untuk meningkatkan nilai dipilih positif. Hal ini karena adalah satu-satunya variabel tidak dasar yang memiliki koefisien positif pada di (2.12). Karena nilai meningkat, maka begitu juga nilai = / . Namun, nilai , , dan menurun, dan tidak satu pun diizinkan menjadi negatif. Ketiga kendala , , memberikan batas atas pada kenaikan , diberikan batas tiap variabel yaitu = , = / , = sehingga kendala adalah batas atas terketat dan mengimplikasikan / . Dalam meningkatkan solusi layak diperoleh = / dan = . Variabel masuk menjadi basis dan variabel keluar menjadi variabel tidak dasar (diberi nilai nol). Dengan cara substitusi seperti iterasi pertama, maka dapat dituliskan kamus ketiga sebagai berikut. = + + − = − − − = − + = − − + = + − − 2.13

Kamus (2.13) menyelesaikan iterasi kedua metode simpleks. Kamus layak ini menunjukkan variabel tidak dasar , , (diberi nilai nol) dan variabel dasar

, , , . Jadi solusi layak yang bersesuaian adalah = / , = , =

/ , = , = / , = , = , dan = / . Sehingga memenuhi syarat

kedua dan ketiga dalam kamus.

Pada iterasi ketiga, untuk meningkatkan nilai dipilih positif. Hal ini karena adalah satu-satunya variabel tidak dasar yang memiliki koefisien positif pada di (2.13). Karena nilai meningkat, maka nilai , , , dan menurun, dan tidak satu pun diizinkan menjadi negatif. Keempat kendala , ,

, memberikan batas atas pada kenaikan , diberikan batas tiap variabel

yaitu = / , = / , = / , = sehingga kendala

adalah batas atas terketat dan mengimplikasikan / . Dalam meningkatkan solusi layak diperoleh = / dan = . Variabel masuk menjadi basis dan variabel keluar menjadi variabel tidak dasar (diberi nilai nol). Dengan cara substitusi seperti iterasi pertama, maka kamus yang dihasilkan.

= − + −

= − − −

= − − +

= + − +

= − − −

Kamus layak ini menunjukkan variabel tidak dasar , , (diberi nilai nol) dan variabel dasar , , , . Jadi solusi layak yang bersesuaian adalah =

/ , = / , = / , = / , = , = , = , dan = .

Sehingga memenuhi syarat kedua dan ketiga dalam kamus.

Pada kamus (2.14) tidak terdapat variabel tidak dasar yang dapat dimasukkan basis. Sedemikian hingga kamus terakhir (2.14) menunjukkan solusi optimal, yaitu =

, = , = dan menghasilkan = . Hal ini memenuhi syarat kedua dan

ketiga dalam kamus.

Untuk setiap pilihan bilangan , , , , , , dan , berikut pernyataan ekuivalen yang memenuhi syarat pertama dalam kamus:

1. , , , , , , dan merupakan solusi (2.10)

2. , , , , , , dan merupakan solusi (2.12)

3. , , , , , , dan merupakan solusi (2.13)

4. , , , , , , dan merupakan solusi (2.14)

B. Metode Simpleks Direvisi

Metode ini menggunakan langkah-langkah yang sama dengan metode simpleks. Perbedaannya terdapat dalam perincian perhitungan variabel masuk dan variabel keluar. Tidak hanya itu untuk masalah yang lebih besar metode simpleks direvisi bekerja lebih cepat dibandingkan dengan metode simpleks. Iterasi dari

metode simpleks direvisi kurang dari sama dengan iterasi dari metode simpeks. Kita dapat menuliskan masalah program linear bentuk standar sebagai berikut.

Maksimumkan = Dengan kendala Dimana = , , … , , = , , … , , = [ , , ], dan = [ ].

Setelah ditambahkan dengan variabel pengetat + , + , … , + maka masalah

ini menjadi sebagai berikut.

Maksimumkan = (2.15) Dengan kendala = (2.16) Dimana = , , … , + , = , , … , + , = [ , + , + ], dan = [ ].

Pendekatan umum dari metode simpleks dan metode simpleks direvisi adalah memperoleh suatu urutan solusi-solusi layak yang semakin baik sampai tercapai suatu solusi optimal. Salah satu ciri pokok dari metode simpleks direvisi mencakup dengan cara mana setiap solusi layak akan diselesaikan, yaitu setelah variabel-variabel dasar dan tidak dasar diketahui.

Untuk setiap solusi layak yaitu , , … , + dibagi ke dalam variabel

dasar dan variabel tidak dasar. Contohnya, membagi vektor menjadi dan

sehinggamatriks terbagi menjadi dan , dan menjadi dan . Dengan

demikian kita dapat menuliskan = menjadi

[ ] [ ] =

= − � �

(2.17)

Dengan

= = [ ] [ ] = + � �

Dimana matriks adalah nonsingular.

Teorema 2.1

Matriks adalah nonsingular.

Bukti:

Kita tunjukkan bahwa matriks adalah nonsingular dengan menunjukkan

= tepat memiliki satu solusi. Karena solusi layak memenuhi persamaan = dan = , maka persamaan tersebut memenuhi persamaan =

� � = . Untuk memeriksa bahwa tidak ada solusi lain, dimisalkan terdapat sebarang solusi layak ̃ sedemikian hingga ̃ = dan ̃= . Dengan demikian vektor ̃ memenuhi ̃ = ̃ + ̃ = , itu harus memenuhi persamaan di kamus yang bersesuaian dengan . Tetapikarena ̃=

maka ̃ = . Jadi, terbukti matriks adalah nonsingular.

Matriks disebut juga matriks basis atau basis. Matriks basis dapat kita notasikan menjadi matriks . Karena adalah matriks nonsingular maka akan

selalu ada. Sehingga kita dapat menuliskan persamaan dan menjadi =

� � dan = +

. Tentunya tak

lain adalah vektor yang menentukan nilai dari variabel dasar dan haruslah

.

Pada metode simpleks direvisi akan dilakukan dengan iterasi yang terus berulang sampai diperoleh solusi yang optimal. Di setiap iterasi metode simpleks direvisi, pertama-tama kita memilih variabel masuk lalu mencari variabel keluar dan akhirnya memperbaharui solusi layak.

Untuk memilih variabel masuk dengan koefisien positif, maka perhatikan vektor baris

. Dalam metode simpleks direvisi, vektor ini dihitung

melalui dua langkah. Pertama, menemukan = dengan menyelesaikan

sistem = . Kedua, menghitung kemudian dipilih elemen dari

vektor yang paling positif untuk menjadi variabel masuk (kolom ). Jika semua elemen bernilai negatif maka iterasi berhenti dan solusi optimal.

Untuk menentukan variabel keluar, maka variabel masuk dinaikan sebesar �

dari nol sampai suatu nilai positif. Nilai variabel dasar berubah sampai nilai variabel turun ke nol meninggalkan basis. Pada persamaan =

� �,

berubah dari menjadi − � dengan merupakan kolom

yang

bersesuaian dengan variabel masuk atau dapat dituliskan = . Jika terdapat

elemen yang memenuhi − � = maka variabel tersebut menjadi variabel keluar.

Berikut iterasi dari metode simpleks direvisi yaitu sebagai berikut.

1. Selesaikan sistem = dimana adalah matriks basis awal, sehingga ditemukan vektor .

2. Tentukan kolom yang masuk, yaitu jika variabel tidak dasar berhubungan dengan elemen dari dan kolom dari , maka = − . Untuk masalah maksimum (minimum), kolom dipilih yang memiliki −

paling positif (negatif). Untuk masalah maksimum (minimum) jika semua elemen − < ( − > ), maka tidak terdapat kolom masuk dan iterasi berhenti sehingga didapatkan solusi optimal. Jika tidak, maka lanjut ke langkah 3.

3. Selesaikan sistem = , sehingga didapat vektor .

4. Tentukan kenaikan nilai � terbesar dari nol sampai suatu nilai positif dengan cara mencari nilai paling minimum dari sedemikian hingga − � . Jika tidak terdapat nilai � atau terdapat elemen di , maka solusi optimal

tak terbatas atau tidak memiliki penyelesaian. Jika terdapat elemen yang memenuhi − � = maka kolom tersebut menjadi kolom keluar.

5. Menukar kolom keluar dari dengan kolom masuk dan tukar variabel keluar dengan variabel masuk. Lalu kembali pada langkah 1 sampai solusi optimal diperoleh.

Berikut diagram alir metode simpleks direvisi. Awal Akhir Tidak Tidak terdapat penyelesaian Tidak Menyelesaikan sistem = . Menyelesaikan sistem = Apakah terdapat kenaikan nilai t terbesar

sedemikian hingga

∗− � 0? Terdapat suatu komponen

= 0 yang berkorespondensi

dengan kolom keluar.

Didapat nilai B dan dengan menggantikan kolom keluar dengan kolom masuk.

Solusi optimal dan didapat nilai B dan yang baru

Ya

Ya Menentukan nilai awal B dan

Tidak terdapat kolom masuk Terdapat kolom

masuk Mencari vektor a (kolom masuk) yaitu elemen paling positif dari . Apakah

semua elemen

�− <0?

Contoh 2.2

Misalkan diberikan masalah program linear berikut. Maksimumkan = + + + Dengan kendala + + + + + + + + + , , ,

Ketiga kendala tersebut kemudian diubah ke dalam bentuk persamaan.

+ + + + =

+ + + + =

+ + + + =

Dimana , dan adalah variabel pengetat. Sehingga persamaan di atas dapat dituliskan dalam bentuk matriks = dengan

= [ ], = [ ], dan =

[ ]

Setelah iterasi kedua dengan metode simpleks didapatkan kamus berikut.

= − , − , − , + ,

= − , − , + , − ,

= + , − , + , + ,

= − , + , − , − ,

Untuk menekankan fakta bahwa hanya variabel dasar , dan yang tidak diketahui, maka dapat ditulis seperti persamaan (2.17) dimana

= [ ], = [ ], = [ ], = [ ], = [ ], =

[ ], dan = [ ].

Dengan menggunakan metode simpleks direvisi, penyelesaian dari masalah program linear tersebut yaitu:

Pertama, menentukan matriks awal yaitu matriks dan vektor = [

] =

[ ], kemudian mulai iterasi.

Iterasi 1:

2. Tentukan kolom yang masuk dengan menyelesaikan = −

yaitu sebagai berikut

[ ] − [ ,, ] [ ] = [ − , , − , − , ]

Dari hasil tersebut terlihat bahwa terdapat satu elemen yang memenuhi − > yaitu elemen kedua yang berkaitan dengan variabel . Jadi, variabel adalah variabel masuk dan vektor kolom dari variabel yang terkait merupakan kolom masuk.

3. Selesaikan sistem = , sehingga didapat vektor = [ ,, , ].

4. Didapatkan nilai � = sedemikian hingga − � dan terdapat 1 komponen dari − � = yaitu variabel yang menjadi variabel keluar. 5. Didapat matriks awal yang baru dengan menukar kolom masuk dengan

kolom keluar yaitu

= [ ] dan vektor = [ ].

Iterasi 2:

1. Menyelesaikan sistem = sehingga diperoleh vektor = [ ].

2. Tentukan kolom yang masuk dengan menyelesaikan = −

[ ] − [ ] [ ] = [ − − − − ]

Dari hasil tersebut terlihat bahwa semua elemen memenuhi − < . Jadi, tidak terdapat kolom masuk dan iterasi berhenti sehingga didapatkan solusi optimal yaitu

= [ ] dan = [ ].

Dokumen terkait