Upload
rahmi-jinan-auuriyah
View
68
Download
10
Embed Size (px)
Citation preview
RISET OPERASIONALRISET OPERASIONAL
(PROGRAM 0(PROGRAM 0--1)1)
Mikhratunnisa, S.Si.,M.Si.Email: [email protected], S.Si.,M.Si.Email: [email protected]
JURUSAN TEKNOLOGI INDUSTRI PERTANIANFAKULTAS TEKNOLOGI PERTANIAN
UNIVERSITAS TEKNOLOGI SUMBAWA
PROGRAM 0PROGRAM 0--11 Program 0-1 merupakan kasus khusus program bilangan bulat,
dimana Xi={0,1} untuk semua i. Penyelesaian program 0-1 sebenarnya lebih mudah dilakukan
dengan menguji semua kemungkinannya mengingat semuavariabelnya hanya dapat bernilai 0 atau 1.
Akan tetapi pengujian tersebut memakan waktu lama jikajumlah variabelnya cukup besar.
Penyelesaian program 0-1 dilakukan dengan metode enumerasiimplisit. Enumerasi implisist mirip dengan metode cabangbatas (branch & bound), hanya saja aturan pencabangan,pembatasan dan penghentian cabang diubah lebih sederhanakarena setiap variabelnya hanya bisa bernilai 0 dan 1.
Program 0-1 merupakan kasus khusus program bilangan bulat,dimana Xi={0,1} untuk semua i.
Penyelesaian program 0-1 sebenarnya lebih mudah dilakukandengan menguji semua kemungkinannya mengingat semuavariabelnya hanya dapat bernilai 0 atau 1.
Akan tetapi pengujian tersebut memakan waktu lama jikajumlah variabelnya cukup besar.
Penyelesaian program 0-1 dilakukan dengan metode enumerasiimplisit. Enumerasi implisist mirip dengan metode cabangbatas (branch & bound), hanya saja aturan pencabangan,pembatasan dan penghentian cabang diubah lebih sederhanakarena setiap variabelnya hanya bisa bernilai 0 dan 1.
Metode Enumerasi ImplisitIterasi dalam metode enumerasi implisit mirip denganmetode cabang batas, hanya saja iterasi dalam metodeenumerasi implisit digambarkan sebagai pohon biner.
Variabel yang sudah ditetapkan nilainya (1 atau 0) disebutvariabel tetap (fixed variable), dan variabel yang belumditetapkan nilainya disebut variabel bebas (free variable).
Metode Enumerasi ImplisitIterasi dalam metode enumerasi implisit mirip denganmetode cabang batas, hanya saja iterasi dalam metodeenumerasi implisit digambarkan sebagai pohon biner.
Variabel yang sudah ditetapkan nilainya (1 atau 0) disebutvariabel tetap (fixed variable), dan variabel yang belumditetapkan nilainya disebut variabel bebas (free variable).
Algoritma enumerasi implisit untuk menyelesaikanprogram 0-1 sebagai berikut:
1. Langkah Maju (forward step)Ujilah apakah suatu titik iterasi perlu dicabangkan. Jika perlu,cabangkan titik tersebut ke kiri dengan memberi nilai 1 padasuatu variabel bebas. lakukan terus hingga sampai pada suatutitik yang tidak perlu dicabangkan lagi.
2. Langkah Balik (Backtracking)Carilah titik terdekat di atasnya yang hanya memiliki sebuahcabang kiri (misal titikVk).Apabila semua titik diatasnyasudah memiliki dua cabang, hentikan proses.
Cabangkan titikVk ke kanan dengan mengambil Xk=0Kembali ke langkah 1.
Algoritma enumerasi implisit untuk menyelesaikanprogram 0-1 sebagai berikut:
1. Langkah Maju (forward step)Ujilah apakah suatu titik iterasi perlu dicabangkan. Jika perlu,cabangkan titik tersebut ke kiri dengan memberi nilai 1 padasuatu variabel bebas. lakukan terus hingga sampai pada suatutitik yang tidak perlu dicabangkan lagi.
2. Langkah Balik (Backtracking)Carilah titik terdekat di atasnya yang hanya memiliki sebuahcabang kiri (misal titikVk).Apabila semua titik diatasnyasudah memiliki dua cabang, hentikan proses.
Cabangkan titikVk ke kanan dengan mengambil Xk=0Kembali ke langkah 1.
Bentuk Standar Program 0-1
Minimumkandengan
dengan kendala:
nnxcxcxcZ ...2211
0jc j
Bentuk Standar Program 0-1
Minimumkandengan
dengan kendala:
1,0,...,,...
...
...
21
2211
22222121
11212111
n
mnmnmm
nn
nn
xxx
bxaxaxa
bxaxaxabxaxaxa
Perubahan soal ke bentuk standar program 0-1 dilakukandengan cara sebagai berikut:1. Jika soal memaksimumkan, maka jadikan soal meminimumkan
dengan mengalikan pada fungsi tujuan dengan (-1)2. Jika ada kendala berbentuk pertidaksamaan , maka diubah
kebentuk pertidaksamaan dengan mengalikan keduaruasnya dengan (-1)
3. Jika ada kendala berbentuk persamaan, maka diubah menjadi2 buah kendala yang masing-masing berupa pertidaksamaan
dan4. Jika , maka gantilah dengan , baik pada
fungsi tujuan maupun pada kendalanya.
jc
Perubahan soal ke bentuk standar program 0-1 dilakukandengan cara sebagai berikut:1. Jika soal memaksimumkan, maka jadikan soal meminimumkan
dengan mengalikan pada fungsi tujuan dengan (-1)2. Jika ada kendala berbentuk pertidaksamaan , maka diubah
kebentuk pertidaksamaan dengan mengalikan keduaruasnya dengan (-1)
3. Jika ada kendala berbentuk persamaan, maka diubah menjadi2 buah kendala yang masing-masing berupa pertidaksamaan
dan4. Jika , maka gantilah dengan , baik pada
fungsi tujuan maupun pada kendalanya.
0kc kx kx1
Untuk mengurangi jumlah titik iterasi maka pada setiap titikdilakukan proses uji penyelesaian nol (zero completion test) danuji infisibilitas (infeasibility test). Kedua uji ini digunakan untukmenentukan apakah titik tersebut perlu dicabangkan atau tidak.Jika perlu, maka percabangan kiri dengan mengambil
. Jika tidak perlu dicabangkan, maka lakukan prosesbacktracking.
1ix
Uji Penyelesaian Nol
Pada awal proses belumditemukan batas atas
penyelesaian sehingga Zudiambil
Uji Infisibilitas Uji infisibilitas digunakan untuk menentukan apakah dalamproses berikutnya nanti akan mungkin memperolehpenyelesaian fisibel (memenuhi semua kendala). Jiakmungkin maka dilakukan percabangan untuk memperolehpenyelesaian lainnya. Jika tidak mungkin maka titik tersebuttidak perlu dicabangkan lagi.
Uji infisibilitas dilakukan dengan mengevaluasi besarnyanilai maksimum variabel pengetat pada tiap kendala.
Uji infisibilitas digunakan untuk menentukan apakah dalamproses berikutnya nanti akan mungkin memperolehpenyelesaian fisibel (memenuhi semua kendala). Jiakmungkin maka dilakukan percabangan untuk memperolehpenyelesaian lainnya. Jika tidak mungkin maka titik tersebuttidak perlu dicabangkan lagi.
Uji infisibilitas dilakukan dengan mengevaluasi besarnyanilai maksimum variabel pengetat pada tiap kendala.
Uji infisibilitas pada titik-k
Contoh
Selesaikan program 0-1 berikut:MinimumkanKendala
PenyelesaianSoal di atas sudah dalam bentuk standar, yaitu meminimumkandengan semua dan semua kendala berbentuk .
54321 32654 xxxxxZ
1,0,...,,5222512324
521
54321
54321
xxx
xxxxx
xxxxx
Contoh
Selesaikan program 0-1 berikut:MinimumkanKendala
PenyelesaianSoal di atas sudah dalam bentuk standar, yaitu meminimumkandengan semua dan semua kendala berbentuk .
1,0,...,,5222512324
521
54321
54321
xxx
xxxxx
xxxxx
0jc
Program 0-1 (program mula-mula)
Karena pada awalnya belumditemukan penyelesaian fisibelmaka diambil batas ataspenyelesaiannya = . Padaprogram-0 belum ada variabelyang diberi nilai sehingga semuavariabel merupakan variabel bebas.
Uji Penyelesaian NolAmbil untuk semuavariabel bebas (berarti
maka Z=4(0)+5(0)+6(0)+2(0)+3(0)=0.Karena Z
Uji InfisibilitasUntuk menjadikan kendalaberbentuk persamaan makaperlu ditambahkan variabelpengetat a dan b pada kendala 1dan kendala 2.Kendala 1:
maka
Kendala 2:
maka
Karena danmaka titik-1 perlu dicabangkan.
Ambil X1 untuk dijadikanvariabel tetap, dan percabangandilakukan dengan mengambilX1=1. (program-1)
,5)1(2)0(2)1(2)1(515max b0max a 0max b
54321
54321
54321
2225552225
52225
xxxxxbbxxxxx
xxxxx
Uji InfisibilitasUntuk menjadikan kendalaberbentuk persamaan makaperlu ditambahkan variabelpengetat a dan b pada kendala 1dan kendala 2.Kendala 1:
maka
Kendala 2:
maka
Karena danmaka titik-1 perlu dicabangkan.
Ambil X1 untuk dijadikanvariabel tetap, dan percabangandilakukan dengan mengambilX1=1. (program-1)
54321
54321
54321
2324112324
12324
xxxxxa
axxxxx
xxxxx
,70)1(2)0(3)1(2)1(41max a
0max a 0max b
Program-1 (X1=1)
Substitusi X1=1 pada modelprogram-0 maka diperoleh:MinimumkanKendala
Uji Penyelesaian Nol
Variabel bebas: {X2,,X5}.Dengan mengambil X2=X3=x4=x5=0 maka diperolehZ=4
Uji InfisibilitasKendala 1
maka
7>0
Kendala 2
32323232
5432
5432
axxxx
xxxx
5432 2323 xxxxa
maka
5>0
Karena keduanya makatitik-1 perlu dicabangkan lagidengan mengambil X2=1(program 2).
0
5432 22254 xxxxb ,5max b
Uji InfisibilitasKendala 1
maka
7>0
Kendala 2
,7max a
4222542225
5432
5432
bxxxx
xxxx
maka
5>0
Karena keduanya makatitik-1 perlu dicabangkan lagidengan mengambil X2=1(program 2).
Program 2 (X1=1, X2=1)Substitusi X2=1 pada program-1MinimumkanKendala
Uji Penyelesaian NolDengan mengambil X3=X4=X5=0diperoleh Z=9.Kendala 1:Kendala 2:
Semua kendala terpenuhioleh penyelesaian nol. MakaZ menjadi batas atas baru.Diperoleh Zu=9. Ujiinfisibilitas tidak perludilakukan.
Setelah diperoleh Zu baru(=9), lakukan Backtrackingke titik terdekat di atasnya,yakni titik-1. Cabangkantitik-1 ke kanan denganmengambil X2=0 (program-3).
543 3269 xxxZ
1,0,...,1222
523
53
543
543
xx
xxx
xxx
Program 2 (X1=1, X2=1)Substitusi X2=1 pada program-1MinimumkanKendala
Uji Penyelesaian NolDengan mengambil X3=X4=X5=0diperoleh Z=9.Kendala 1:Kendala 2:
Semua kendala terpenuhioleh penyelesaian nol. MakaZ menjadi batas atas baru.Diperoleh Zu=9. Ujiinfisibilitas tidak perludilakukan.
Setelah diperoleh Zu baru(=9), lakukan Backtrackingke titik terdekat di atasnya,yakni titik-1. Cabangkantitik-1 ke kanan denganmengambil X2=0 (program-3).
,00)0(2)0(3 50 ,0)0(2)0(2)0(2
50
Program 3 (X1=1, X2=0)Substitusi X2=0 pada program-1MinimumkanKendala
Uji Penyelesaian NolDengan mengambil X3=X4=X5=0diperoleh Z=4. 4
Program 4 (X1=1, X2=0,X3=1)Substitusi X3=1 pada program-3,MinimumkanKendala
Uji Penyelesaian NolDengan mengambil X4=X5=0diperoleh Z=10, 10>Zu (Zu=9). Iniberati bahwa titik-4 tidak akanmenghasilkan penyelesaian yang lebihoptimal dibandingkan penyelesaiansebelumnya (=9). Jadi titik-4 tidakperlu dicabangkan lagi.Backtracking terdekat berikutnyaadalah dengan mengambil X3=0pada titik-3 (program-5).
Program-5 (X1=1, X2=0,X3=0)
Substitusi X3=0 pada program-3,MinimumkanKendala
Uji Penyelesaian NolDengan mengambil X4=X5=0maka Z=4, 4Zu (Zu=9). Iniberati bahwa titik-4 tidak akanmenghasilkan penyelesaian yang lebihoptimal dibandingkan penyelesaiansebelumnya (=9). Jadi titik-4 tidakperlu dicabangkan lagi.Backtracking terdekat berikutnyaadalah dengan mengambil X3=0pada titik-3 (program-5).
Program-5 (X1=1, X2=0,X3=0)
Substitusi X3=0 pada program-3,MinimumkanKendala
Uji Penyelesaian NolDengan mengambil X4=X5=0maka Z=4, 4
Uji InfisibilitasKendala 1:maka
Kendala 2:maka
Karena pada kendala keduamaka dilakukan prosesBacktracking .Titik terdekat yangdapat dicabangkan adalah titik-0.percabangan dilakukan denganmengambil X1=0 (program-6).
Program-6 (X1=0)
Substitusi X1=0 pada program-0(program mula-mula),MinimumkanKendala
Uji Penyelesaian NolJika X2=X3=X4=X5=0 maka Z=0,0
Uji InfisibilitasKendala 1:maka
Kendala 2:maka
Karena tidak ada danyang negatif maka titik-6 perludicabangkan dengan mengambilX2=1 (program-7).
Program-7 (X1=0, X2=1)
Substitusi X2=1 pada program-6,MinimumkanKendala:
Uji Penyelesaian NolJika X3=X4=X5=0 maka Z=5,5
Program-8 (X1=0, X2=0)Substitusi X2=0 pada program-6,MinimumkanKendala
Uji Penyelesaian NolJika X3=X4=X5=0 maka Z=0,0
Sehingga diperoleh penyelesaian optimum:X1 = 0, X2 = 1, X3=X4=X5=0dengan 5min Z
Gambar Program-1(X1=1)
Gambar Program-2 (X1=1,X2=1)
Gambar Program-3(X1=1, X2=0)
Gambar Program-4 (X1=1,X2=0, X3=1)
Gambar Program-5(X1=1, X2=0, X3=0)
Gambar Program-6(X1=0)
Gambar Program-7(X1=0, X2=1)
Gambar Program-8 (X1=0,X2=0)