31
Integer Linear Programming Sebuah perusahaan ingin membeli mesin dengan memaksimumkan permintaan konsumen agar banyak konsumen yang membeli produknya. Berikut ini adalah daftar mesin-mesin yang kemungkinan akan dibeli perusahaan tersebut: Alat Biaya Produksi Produk ( produk/hari ) Orang/mesin Mesin A 200.000 50 5 Mesin B 250.000 60 4 Mesin C 270.000 70 3 Mesin D 300.000 80 5 Mesin E 310.000 90 4 Perusahaan menyediakan anggaran 900.000 dan memproduksi yang diinginkan perusahaan kurang dari 200 produk/hari. Tentukan jumlah mesin yang harus dilakukan agar jumlah pekerja dapat dimaksimumkan? Penyelesaiaan: 1. Software LINGO Adapun prosedur penggunaan untuk menyelesaikan persoalan integer linear programming dengan software LINGO dapat dijabarkan sebagai berikut:

Laporan or 2

Embed Size (px)

DESCRIPTION

laporan praktikum or

Citation preview

Integer Linear ProgrammingSebuah perusahaan ingin membeli mesin dengan memaksimumkan permintaan konsumen agar banyak konsumen yang membeli produknya. Berikut ini adalah daftar mesin-mesin yang kemungkinan akan dibeli perusahaan tersebut:AlatBiayaProduksi Produk( produk/hari )Orang/mesin

Mesin A200.000505

Mesin B250.000604

Mesin C270.000703

Mesin D300.000805

Mesin E310.000904

Perusahaan menyediakan anggaran 900.000 dan memproduksi yang diinginkan perusahaan kurang dari 200 produk/hari. Tentukan jumlah mesin yang harus dilakukan agar jumlah pekerja dapat dimaksimumkan?

Penyelesaiaan:1. Software LINGOAdapun prosedur penggunaan untuk menyelesaikan persoalan integer linear programming dengan software LINGO dapat dijabarkan sebagai berikut:a. Membuka file LINGO dengan cara klik dua kali pada icon LINGO.

b. Pada layar akan muncul untitled baru yang siap untuk tempat mengetikkan formulasi.

c. Berdasarkan persoalan diatas, akan terlebih dahulu ditentukan variabel keputusan yang kemudian diterjemahkan ke dalam model matematis seperti berikut: Variabel keputusan:X1: Mesin AX2: Mesin BX3: Mesin CX4: Mesin DX5: Mesin ETujuan : memaksimumkan permintaan konsumenFormulasi ke dalam model matematis:Fungsi tujuan: Max: Z = 5X1 + 4X2 + 3X3 + 5X4 + 4X5Batasan:200.000X1 + 250.000X2 + 270.000X3 + 300.000X4 + 310.000X5 900.00050X1 + 60X2 + 70X3 + 80X4 + 90X5 200X1, X2, X3, X4, X5 0 dan integer

d. Ketikkan formulasi model matematis yang telah dibuat diatas pada layar LINGO yang dapat dilihat pada gambar berikut:

Karena jumlah mesin A ( X1 ), mesin B ( X2 ), mesin C ( X3 ), mesin D ( X4 ), dan mesin E ( X5 ) merupakan variabel integer, kita tambahkan GIN pada variabel X1, X2, X3, X4, dan X5.e. Klik LINGO >Solve pada toolbar untuk melihat solusi hasil dari perumusan masalah tersebut.f. Maka akan muncul Output LINGO dari permasalahan diatas yang dapat dilihat pada gambar beriikut:

g. Setelah diperoleh output diatas, maka analisa yang diperoleh adalah sebagai berikut:1. Objective Funcition ValueFungsi tujuan dari kasus di atas adalah memaksimumkan permintaan konsumen dengan model matematis Max: Z = 5X1 + 4X2 + 3X3 + 5X4 + 4X5. Karena nilai optimal variabel keputusan, seperti tercantum pada kolom Value adalah X1 = 4, X2 = 0, X3 = 0, X4 = 0 dan X5 = 0 maka nilai fungsi tujuan adalah:5 ( 4 ) + 4 ( 0 ) + 3 ( 0 ) + 5 ( 0 ) + 4 ( 0 ) = 20Sehingga:

Objective value: 20.00000

Atau

Row Slack or Surplus 1 20.00000

2. ValueBilangan di bawah ini label Value dan berada pada baris dimana X1, X2, X3, X4, X5 menunjukkan nilai optimal variabel keputusan X1 = 4, X2 = 0, X3 = 0, X4 = 0 dan X5 = 0, seperti dinyatakan seperti di bawah ini:

Variable Value X1 4.000000 X2 0.000000 X3 0.000000 X4 0.000000 X5 0.000000

3. Reduce CostMemberikan informasi mengenai sampai sejauh mana nilai Cj harus diturunkan agar nilai variabel keputusan menjadi positif. Informasi ini pada dasarnya sama dengan informasi analisis sensitivitas Cj pada saat nilai Xj = 0, namun dimunculkan dengan label lain dan ditempatkan di atas agar diperoleh perhatian segera bila kasus Xj = 0 muncul. Reduce Cost juga menggambarkan besarnya pengurangan dalam kasus maksimasi dan penambahan dalam kasus minimasi. Oleh karena itu, dalam kasus ini:

Variable Value Reduced Cost X1 4.000000 -5.000000 X2 0.000000 -4.000000 X3 0.000000 -3.000000 X4 0.000000 -5.000000 X5 0.000000 -4.00000

Pada kasus ini dapat kita lihat bahwa nilai Reduced cost yang didapat adalah jumlah tenaga kerja per mesin dimana jumlah tenaga kerja yang akan digunakan ketika mesin beroprasi.

4. Slack or SurplusInformasi ini menunjukkan nilai Slack atau Surplus masing-masing kendala ketika nilai fungsi tujuan mencapai nilai ekstrim, pada output LINGO dapat kita lihat Constrain dimana terdapat C1, C2, seperti pada gambar.Row Slack or Surplus Dual Price 2 100.0000 0.000000 3 0.000000 0.000000

Karena seluruh kendala adalah kendala pembatas, maka informasi di atas menunjukkan nilai slack variable pada kendala C1 dan C2,. Di samping itu, informasi di atas juga tercermin pada posis masing-masing slack variable di dalam tabel simpleks optimal. Posisi C2 sebagai variabel nonbasis jelas menunjukkan bahwa C2 = 0; sedangkan posisi C1, sebagai variabel basis menunjukkan bahwa nilai slack variable itu adalah positif dimana C1 = 100.5. Dual PriceInformasi ini menjelaskan tentang perubahan yang akan terjadi pada nilai fungsi tujuan bila nilai ruas kanan berubah satu unit. Dengan demikian , dual price kendala 2 yang terletak pada baris ke-3 menjelaskan bahwa nilai fungsi tujuan akan menjadi 20, 0 bila ruas kanan kendala 2 bertambah 1 unit. Oleh karena itu,

Row Slack or Surplus Dual Price 2 100.0000 0.000000 3 0.000000 0.000000

Berdasarkan data di atas, menjelaskanbahwa: Nilai slack variable nol pada baris ke-3 menunjukan kendala 2 sebagai kendala aktif, dan kita juga bias mengetahui S3 adalah variable non basis, oleh karna itu nilai dual price pada S3 sebesar 0, ini menjelaskan perubahan nilai fungsi tujuan bila nilai ruas kanan kendala 2 berubah 1 unit maka perubahan nilai yang akan terjadi sebesar 0 bisa dikatakan tidak ada perubahan ketika nilai ruas kanan kendala 2 di tambah satu unit terhadap fungsi tujuan walaupun kendala ini adalah kendala aktif. Nilai slack variable 2, pada baris ke-2, menunjukan kendala I, sebagai kendala tidak aktif sehingga bias dimengerti bahwa perubahan nilai ruas kanan pada kendala tersebut 1 unit tidak akan mempengaruhi nilai fungsi tujuan, itulah kenapa nilai dual price pada baris ke-2 adalah 0.

2. Software WINQSBAdapun prosedur penggunaan untuk menyelesaikan persoalan integer linear programming dengan software WINQSB dapat dijabarkan sebagai berikut:a. Membuka file WINQSB dengan cara klik Start>All Program> WINQSB >Linear and Integer Programming.

b. Pada layar akan muncul untiled baru WINQSB.

c. Kemudian klik File>New Problem pada toolbar untuk memasukkan persoalan yang akan diselesaikan.d. Setelah itu akan muncul tampilan kotak dialog LP-ILP Problem Spesification.

e. Kemudian masukkan data pada kotak dialog LP-ILP Problem Spesification sebagai berikut:Pada Program Title masukkan kata pembelian mesin.Pada Number of Variabel masukkan angka sebanyak 5.Pada Number of Constrains masukkan angka sebanyak 2.Pada Objective Criterion pilih Maximization.Pada Data Entry Format, pilih Spreadsheet Matrikx Form.Pada Default Variabel Type, pilih Nonnegative Integer.

f. Jika pengisian telah selesai klik tombol OK, maka akan muncul tampilan solve problem dan isikan sesuai dengan model matematis yang diterjemahkan sebelumnya seperti yang terlihat pada gambar berikut:

g. Karena ini adalah integer linier programming, maka sebelum program dijalankan isikan terlebih dahulu Interger Torelancenya, dengan cara memilih menu Solve and Analyze>Change Integer Tolerance dan muncul kotak dialog Integer Tolerance. Kemudian toleransi integer yang diinginkan, sebagai contoh adalah 0,05 sebagai berikut:

h. Setelah itu, untuk mengetahui hasil dari persoalan diatas , maka pilih Solve and Analyze>Solve the Problemhingga muncul kotak dialog Linear and Integer Programmingsebagai berikut:

i. Klik tombol OK dan hasil dari persoalan akan muncul pada layar yang dapat dilihat pada gambar berikut:

j. Untuk melihat teknik Branch and Bound hingga akhir dilakukan dengan memilih Solve and Analyze>Solve and Display Steps, kemudian Branch and Bound Iteration>Next Iteration dan akan muncul gambar-gambar sebagai berikut:

k. Interprestasi hasilBeerdasarkan output yang diperoleh diatas, maka analisa yang diperoleh adalah sebagai berikut:1. Objective FunctionFungsi tujuan dari kasus di atas adalah memaksimumkan permintaan konsumen dengan model matematis Max: Z = 5X1 + 4X2 + 3X3 + 5X4 + 4X5. Karena nilai optimal variabel keputusan, seperti tercantum pada kolom Value adalah X1 = 4, X2 = 0, X3 = 0, X4 = 0 dan X5 = 0 maka nilai fungsi tujuan adalah:5 ( 4 ) + 4 ( 0 ) + 3 ( 0 ) + 5 ( 0 ) + 4 ( 0 ) = 20Sehingga

2. Solution VelueInformasi ini menunjukan nilai variable keputusan yang dapat kita lihat pada output WINQSB dibawah label Solution Velue, karena pada kasus ini memiliki 5 variabel keputusan dengan lebel X1. X2 , X3, X4, dan X5 maka variable ini tercantum pada kolom Decission Variable.

Pada label Solution Velue terdapat nilai X1 = 4, X2 = 0, X3 = 0, X4 = 0 dan X5 = 0 dapat dilihat pada gambar dibawah:Berarti pada kasus ini perusahaan membeli mesin A sebesar 4 dan mesin lain tidak dibeli untuk mememenuhi permintaan.

3. Reduced CostMemberikan informasi mengenai sampai sejauh mana nilai Cj harus diturunkan agar nilai variabel keputusan menjadi positif. Informasi ini pada dasarnya sama dengan informasi analisis sensitivitas Cj pada saat nilai Xj = 0, namun dimunculkan dengan label lain dan ditempatkan di atas agar diperoleh perhatian segera bila kasus Xj = 0 muncul. Reduce Cost juga menggambarkan besarnya pengurangan dalam kasus maksimasi dan penambahan dalam kasus minimasi. Oleh karena itu, dalam kasus ini:

Pada kasus ini dapat kita lihat ketika menyediakan mesin A dengan variable X1 saat permintaan yang di sediakan mesin A dengan membutuhkan tenaga kerja 5 orang sehingga dengan permintaan lebih kecil atau sama dengan 200 dengan kapasitas mesin 50 sehingga tidak ada tenaga kerja yang menganggur sehingga permintaan bias maksimal dan tenaga kerja yang di pakai juga maksimal sehingga nilai reduce cost 0 tetapi untuk mesin B dengan variable X2 dengan kapasitas 60 dan tenaga kerja maka 4 orang maka permintaan tidak maksimal dan apabila itu di lakukan maka akan membuat tenaga kerja 2 orang yang menganggur begitu juga dengan mesin C dengan variable X3 ada 4 orang tenaga kerja yang menganggur, mesin D dengan variable X4 ada 3 orang tenaga kerja yang menganggur dan mesin E dengan variable X5 ada 5 orang tenaga kerja yang menggur

4. Slack or SurplusInformasi ini menunjukkan nilai Slack atau Surplus masing-masing kendala ketika nilai fungsi tujuan mencapai nilai ekstrim, pada output WINQSB dapat kitalihat Constrain dimanaterdapat C1, C2,seperti pada gambar.

Karena seluruh kendala adalah kendala pembatas, maka informasi di atas menunjukkan nilai slack variable pada kendala C1 dan C2. Di samping itu, informasi di atas juga tercermin pada posis masing-masing slack variable di dalam tabel simpleks optimal. Posisi C2 sebagai variabel non basis jelas menunjukkan bahwa C2 = 0; sedangkan posisi C1 = 100. Yang artinya biaya yang tersedia sebesar 900 dan pemakaian biaya hanya 800 sehingga terdapat nilai slack variableI C1 = 100 dan tidak ada slack variable pada C2

5. Allowable Min dan Allowable Maxpada kasus ini allowable min dan allowable max dapat kita lihat pada tabel dibawah:

Jadi pada kasus ini Allowable Min sebesar 3.3333 batas range penggunaan tenaga kerja terkecil pada mesin A dan M pada mesin lain nya yang artinya penggunaan terkecil tenaga kerja min tak terhingga sedangkan allowable max nilai M pada mesin A menunjukan tenaga kerja tak terhingga untuk mesin A dan maksimal tenaga kerja 6 orang mesin B dan 7 orang mesin C 8 orang mesin D dan 9 orang mesin A.

6. Left Hand Side dan Right Hand SideLeft Hand Side Merupakan penggunaan resource sesuai dengan koefisien pembatas/ constraint formulasi, sedangkan Right Hand Side Merupakan kapasitas resource pembatas/ constraint formulasi

Pada kasus ini Left Hand Side pada C1 yang berarti biaya pembelian mesin A yang digunakan pada C1 sebesar 800 karena nilai X1= 4 sedangkan untuk Right Hand Side 900 yaitu kemampuan dari pembelian tersebut dari C1 tersebut atau nilai kanan dari constrain tersebut, untuk constrain ke-2 atau C2 memiliki nilai Left Hand Side sebesar 200 yang artinya permintaan yang bias disediakan sedangkan Right Hand Side 200 yaitu besar permintaan tersebut sehingga dapat dilihat permintaan bisa terpenuhi.

7. Shadow PriceMerupakan nilai yang muncul dikarenakan slack or surplus bernilai nol (LHS = RHS)Nilai shadow price berasal dari nilai allowable min atau allowable max solution summary tergantung dengan besarnya variable value dan contraint.

Pada kasus ini dapat dilihat slack variable yang bernilai 0 adalah pada C2 dikarnakan nilai LHS=RHS sehingga muncul nilais hadow price, yang artinya ketika nilai RHS atau nilai kanan dari batasan 2 bertambah satu unit maka nilai fungsi tujuan bertambah 0.1 tetapi pada batasan 1 walaupun nilai kanan dari sebuah batasan di tambah 1 unit tidak akan mempengaruhi fungsi tujuan.

8. Allowable Min dan Allowable Max RHSMenunjukkan range sensitivitas dengan perubahan RHS. Jika terjadi LHS = RHS maka allowable max dapat digunakan sebagai acuan kapasitas resource harus dikurang atau ditambah untuk merubah besarnya variable value sehingga solution tetap optimal dan feasible tidak terganggu.

Pada batasan C2 terdapat nilai LHS = RHS sehingga dapat dijadikan acuan untuk kapasitas batasan tersebut dan harus ditambah sehingga variable velue menjadi lebih besar sehingga solusi tetap optimal maka nilai allowable max RHS menjadi 225 yaitu nilai permintaan tersebut dan allowable min nya sebesar 0 yang artinya bisa saja tidak ada permintaan sama sekali, sedangkan Allowable Min diambil dari nilai penggunaan biaya optimum yaitu sebesar 800 dan nilai kanan dari batasan satu bisa smpai tak terhingga sehingga nilai allowable max menjadi M.

Binnary Linear Programming

Sebuah perusahaan ingin membeli mesin dengan memaksimumkan permintaan konsumen agar banyak konsumen yang membeli produknya. Berikut ini adalah daftar mesin-mesin yang kemungkinan akan dibeli perusahaan tersebut:AlatBiayaProduksi Produk( produk/hari )Orang/mesin

Mesin A200.000505

Mesin B250.000604

Mesin C270.000703

Mesin D300.000805

Mesin E310.000904

Perusahaan menyediakan anggaran 900.000 dan memproduksi yang diinginkan perusahaan kurang dari 200 produk/hari. Mesin mana yang harus dibeli agar produksi dapat dimaksimumkan?

Penyelesaiaan: 1. Software LINGOAdapun prosedur penggunaan untuk menyelesaikan persoalan integer linear programming dengan software LINGO dapat dijabarkan sebagai berikut:a. Membuka file LINGO dengan cara klik dua kali pada icon LINGO.

b. Pada layar akan muncul untitled baru yang siap untuk tempat mengetikkan formulasi.

c. Berdasarkan persoalan diatas, akan terlebih dahulu ditentukan variabel keputusan yang kemudian diterjemahkan ke dalam model matematis seperti berikut: Variabel keputusan:X1: Mesin AX2: Mesin BX3: Mesin CX4: Mesin DX5: Mesin ETujuan : memaksimumkan permintaan konsumenFormulasi ke dalam model matematis:Fungsi tujuan: Max: Z = 5X1 + 4X2 + 3X3 + 5X4 + 4X5Batasan:200.000X1 + 250.000X2 + 270.000X3 + 300.000X4 + 310.000X5 900.00050X1 + 60X2 + 70X3 + 80X4 + 90X5 200X1, X2, X3, X4, X5 = 0 atau 1

d. Ketikkan formulasi model matematis yang telah dibuat diatas pada layar LINGO yang dapat dilihat pada gambar berikut:

Karena keputusan yang akan diambil adalah mesin mana yang akan dibeli dengan variabel X1, X2, X3, X4, dan X5, dimana jawabannya adalah iya dan tidak saja, maka tambahkan INTE pada variabel X1, X2, X3, X4, dan X5.e. Klik LINGO >Solve pada toolbar untuk melihat solusi hasil dari perumusah masalah tersebut.f. Maka akan muncul Output LINGO dari permasalahan diatas yang dapat dilihat pada gambar berikut:

g. Setelah diperoleh output diatas, maka analisa yang diperoleh adalah sebagai beikut:1. Objective Funcition ValueFungsi tujuan dari kasus di atas adalah memaksimumkan permintaan konsumen dengan model matematis Max: Z = 5X1 + 4X2 + 3X3 + 5X4 + 4X5. Karena nilai optimal variabel keputusan, seperti tercantum pada kolom Value adalah X1 = 1, X2 = 1, X3 = 0, X4 = 1 dan X5 = 0 maka nilai fungsi tujuan adalah:5 ( 1 ) + 4 ( 1 ) + 3 ( 0 ) + 5 ( 1 ) + 4 ( 0 ) = 14Artinya dengan membeli mesin A mesin B dan mesin D maka permintaan dapat terpenuhi dengan optimum dengan penggunaan tenaga kerja 14 orang.Sehingga:

Objective value: 14.00000

Atau

Row Slack or Surplus 1 14.00000

6. ValueBilangan di bawah ini label Value dan berada pada baris dimana X1, X2, X3, X4, X5 menunjukkan nilai optimal variabel keputusan X1 = 1, X2 = 1, X3 = 0, X4 = 1 dan X5 = 0, seperti dinyatakan seperti di bawah ini:

Variable Value X1 1.000000 X2 1.000000 X3 0.000000 X4 1.000000 X5 0.000000Artinya perusahaan mebeli mesin A =1 mesin B=1 dan mesin D =1.

7. Reduce CostMemberikan informasi mengenai sampai sejauh mana nilai Cj harus diturunkan agar nilai variabel keputusan menjadi positif. Informasi ini pada dasarnya sama dengan informasi analisis sensitivitas Cj pada saat nilai Xj = 0, namun dimunculkan dengan label lain dan ditempatkan di atas agar diperoleh perhatian segera bila kasus Xj = 0 muncul. Reduce Cost juga menggambarkan besarnya pengurangan dalam kasus maksimasi dan penambahan dalam kasus minimasi. Oleh karena itu, dalam kasus ini:

Variable Value Reduced Cost X1 1.000000 -5.000000 X2 1.000000 -4.000000 X3 0.000000 -3.000000 X4 1.000000 -5.000000 X5 0.000000 -4.00000

Pada kasus ini dapat kita lihat bahwa nilai Reduced cost yang didapat adalah jumlah tenaga kerja per mesin dimana jumlah tenaga kerja yang akan digunakan ketika mesin beroprasi.

8. Slack or SurplusInformasi ini menunjukkan nilai Slack atau Surplus masing-masing kendala ketika nilai fungsi tujuan mencapai nilai ekstrim, pada output LINGO dapat kita lihat Constrain dimana terdapat C1, C2, seperti pada gambar.Row Slack or Surplus Dual Price 2 150.0000 0.000000 3 10.00000 0.000000

Karena seluruh kendala adalah kendala pembatas, maka informasi di atas menunjukkan nilai slack variable pada kendala C1 dan C2,. posisi C1, dan C2 sebagai variabel basis menunjukkan bahwa nilai slack variable itu adalah positif dimana C1 = 150 dan C2 = 10 sehingga tidak terdapat variable non basis..9. Dual PricePada kasus ini tidak terdapat variable non basis dan nilai dari slack variable bukan 0 maka tidak terdapat kendala aktif.

Row Slack or Surplus Dual Price 2 100.0000 0.000000 3 10.00000 0.000000

Berdasarkan data di atas, menjelaskanbahwa: Nilai slack variable 1 dan 2, pada baris ke-2 dan ke-3, menunjukan kendala I dan 2 sebagai kendala tidak aktif sehingga bisa dimengerti bahwa perubahan nilai ruas kanan pada kendala tersebut 1 unit tidak akan mempengaruhi nilai fungsi tujuan, itulah kenapa nilai dual price pada baris ke-2 dan ke-3 adalah 0.

2. Software WINQSBAdapun prosedur penggunaan untuk menyelesaikan persoalan integer linear programming dengan software WINQSB dapat dijabarkan sebagai berikut:a. Membuka file WINQSB dengan cara klik Start>All Program> WINQSB >Linear and Integer Programming.

b. Pada layar akan muncul untiled baru WINQSB.

c. Kemudian klik File>New Problem pada toolbar untuk memasukkan persoalan yang akan diselesaikan.d. Setelah itu akan muncul tampilan kotak dialog LP-ILP Problem Spesification.

e. Kemudian masukkan data pada kotak dialog LP-ILP Problem Spesification sebagai berikut:Pada Program Title masukkan kata pembelian mesin.Pada Number of Variabel masukkan angka sebanyak 5.Pada Number of Constrains masukkan angka sebanyak 2.Pada Objective Criterion pilih Maximization. Pada Data Entry Format, pilih Spreadsheet Matrikx Form. Pada Default Variabel Type, pilih Binnary (0,1).f. Jika pengisian telah selesai klik tombol OK, maka akan muncul tampilan solve problem dan isikan sesuai dengan model matematis yang diterjemahkan sebelumnya seperti yang terlihat pada gambar berikut:

g. Pilih Option>Solve and Analyze>Solve the problem maka akan muncul kotak dialog Linear and Integer Programming dengan tampilan sebagai berikut:

h. Klik tombol OK dan hasil dari persoalan akan muncul pada layar yang dapat dilihat pada gambar berikut:

i. Untuk melihat teknik Branch and Bound hingga akhir dilakukan dengan memilih Solve and Analyze>Solve and Display Steps, kemudian Branch and Bound Iteration>Next Iteration.

j. Interprestasi hassilBerdasarkan output yang diperoleh diatas, maka analisa yang diperoleh adalah sebagai berikut: