Pertemuan minggu ke-1 (2 x 50 menit) Pemrograman Bulat Linear (Integer Linear Programming - ILP) Tujuan Instruksional Umum : Mahasiswa dapat menggunakan algoritma yang ada pada metode pemrograman bulat untuk mendapatkan solusi optimal permasalahan pemrograman linier, sehingga diharapkan dapat membuat program aplikasinya. Tujuan Instruksional Khusus : 1. Mahasiswa mengerti pentingnya penggunaan pemrograman bulat. 2. Mahasiswa dapat memahami algoritma metode Branch and Bound. Apa itu Pemrograman Bulat Metode simpleks (OR1) solusi optimal mungkin tidak integer. Bayangkan misalnya jika kita tertarik untuk menentukan solusi optimal dari satu lini perakitan televisi, yang memproduksi beberapa tipe televisi. Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 1
44
Embed
Pertemuan minggu pertama (2 x 50 menit)ftp.gunadarma.ac.id/handouts/S1_Sistem Informasi.1... · Web viewVB X1 X2 S1 S2 NK Z 0 0 5/2 ¼ 23.75 X2 0 1 5/2 -1/4 1.25 X1 1 0 -3/2 ¼ 3.75
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Pertemuan minggu ke-1 (2 x 50 menit)
Pemrograman Bulat Linear (Integer Linear Programming - ILP)
Tujuan Instruksional Umum : Mahasiswa dapat menggunakan algoritma yang ada pada
metode pemrograman bulat untuk mendapatkan solusi
optimal permasalahan pemrograman linier, sehingga
diharapkan dapat membuat program aplikasinya.
Tujuan Instruksional Khusus :
1. Mahasiswa mengerti pentingnya penggunaan pemrograman bulat.
2. Mahasiswa dapat memahami algoritma metode Branch and Bound.
Apa itu Pemrograman Bulat
Metode simpleks (OR1) solusi optimal mungkin tidak integer.
Bayangkan misalnya jika kita tertarik untuk menentukan solusi optimal dari satu lini
perakitan televisi, yang memproduksi beberapa tipe televisi.
Mengganggu batasan
ILP
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 1
Pembulatan matematis ?
Metode Branch and bound
Algoritma:
Asumsikan permasalahan maksimisasi. Berikan z sebagai batas bawah solusi optimum
ILP.
1. Fathoming/Bounding. Pilih LPi sebagai subproblem untuk dibulatkan. Selesaikan
untuk LPi dan usahakan fathom.
Fathom dipenuhi jika salah satu kondisi ini dipenuhi:
1. subproblem menghasilkan solusi integer layak permasalahan ILP.
2. subproblem tidak dapat menghasilkan solusi yang lebih baik dari solusi batas
bawah terbaik yang ada (z) permasalahan ILP yang ada.
a. Jika LPi fathomed, perbaharui batas bawah z jika solusi ILP lebih baik.
Jika tidak, pilih subproblem yang baru dan ulangi ulangi langkah 1. jika
semua subproblem sudah diselidiki, stop. Solusi optimum ILP adalah z
batas bawah terakhir, jika ada. Jika tidak ada :
b. Jika LPi belum fathomed, teruskan ke langkah 2.
2. Branching (pencabangan). Pilih satu variabel xj yang nilai optimumnya tidak
memenuhi batasan integer. Hilangkan daerah , (dimana [A]
menunjukkan integer terbesar sedemikian shg £ A) dengan membuat dua subproblem
LP yang sesuai dengan 2 pembatas mutually exclusive :
dan
Kembali ke langkah 1.
Contoh :
Maks
Sub to :
Dengan simpleks, solusi optimal untuk kasus tersebut ditunjukkan tabel berikut:
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 2
VB X1 X2 S1 S2 NK
Z 0 0 5/2 ¼ 23.75
X2 0 1 5/2 -1/4 1.25
X1 1 0 -3/2 ¼ 3.75
Batasan integer untuk varaibek x1 dan x2 tidak dipenuhi, dimana nilai optimal masing-
masing secara berturut-turut adalah 3.75 dan 1.25. Solusi ini kita sebut sebagai LP0.
Penyelesaian dengan ILP :
1. Branching : pilih x1, maka batasan baru x1 £ 3 dan x1 ³ 3+1 (atau x1 ³ 4). Pilih
batasan x1 £ 3 (ini akan menjadi LP1), maka model matematik menjadi :
Maks
Sub to :
Selesaikan dengan simpleks, maka didapat tabel optimal:
VB X1 X2 S1 S2 S3 NK
Z 0 0 4 0 1 23
X2 0 1 1 1 -1 2
S2 1 0 0 0 -4 3
X1 0 0 0 0 1 3
2. solusinya memenuhi batasan integer (x1 = 3, x2 = 2 dan z = 23), sehingga dikatakan
LP1 sudah fathomed. Solusi ini adalah batas bawah.
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 3
LP1
2. Branching : Pilih batasan x1 ³ 4, maka model matematik menjadi :
Maks
Sub to :
Selesaikan dengan dual simpleks, maka didapat tabel optimal:
VB X1 X2 S1 S2 S3 NK
Z 0 0 0 2/3 5/3 23.333
S1 0 1 1 -1/6 -2/3 1/6
X2 1 0 0 1/6 5/3 5/6
X1 0 0 0 0 -1 4
3. solusinya belum memenuhi batasan integer (x1 = 4, x2 = 5/6 dan z = 23.333),
sehingga harus dibuat pencabangan.
Dari LP2, terbentuk cabang x2 ³ 1 dan x2 £ 0, demikian seterusnya sampai semua
cabang-cabangnya sudah ditelusuri.
Secara lengkap, cabang-cabang penyelesaian dari LP0 dengan memilih X1 untuk memulai
pencabangan LP1 dan seterusnya ditunjukkan oleh gambar 1 di bawah:
Maka solusi optimal ILP adalah solusi LP1.
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 4
LP2
X1 £ 4X1 ³ 5
X2 £ 0X2 ³ 1
X1 = 4; X2 = 0.8333; Z = 23.333
X1 = 3.75; X2 = 1.25; Z = 23.75
X1 = 3; X2 = 2; Z = 23
X1 = 4; X2 = 0; Z = 20
X1 = 4.5; X2 = 0; Z = 22.5Tidak ada solusi
Tidak ada solusi
LP0
LP1
LP3
LP2
LP4
LP5LP6
X1 £ 3X1 ³ 4
Gambar 1. Pohon penyelesaian ILP
Pertemuan minggu ke-2 (2 x 50 menit)
Metode Cutting-Plane
Tujuan Instruksional Khusus :
Mahasiswa dapat memahami algoritma metode Cutting-Plane dengan pure dan mixed
integer.
Perhatikan tabel simpleks berikut:
VB X1 ... Xi ... Xm W1 ... Wj ... Wn NK
Z 0 ... 0 ... 0 ... ...
X1 1 ... 0 ... 0 ... ...
. . ... . . . . . .
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Xi 0 ... 1 ... 0 ... ...
.
.
.
.
.
.
... .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Xm 0 ... 0 ... 1 ... ...
Pure Integer
Digunakan jika semua variabel keputusan harus integer.
Algoritma Pure integer :
Input : solusi optimal primal simpleks.
1. Tentukan baris sumber baris variabel keputusan yang akan dibulatkan.
Jika lebih dari satu, boleh dipilih sembarang.
, tidak integer.
2. buat ke dalam bentuk fractional cut penambahan kendala baru.
atau
VB X1 ... Xi ... Xm W1 ... Wj ... Wn Si NK
Z 0 ... 0 ... 0 ... ... 0
X1 1 ... 0 ... 0 ... ... 0
.
.
.
.
... .
.
.
.
.
.
.
.
.
.
.
.
.
.
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 6
. . . . . . . . .
Xi 0 ... 1 ... 0 ... ... 0
.
.
.
.
.
.
... .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Xm 0 ... 0 ... 1 ... ... 0
Si 0 ... 0 ... 0 -fi1 ... -fij ... -fin 1 -fi
3. selesaikan dengan dual simpleks.
Contoh Kasus :
Maks
Sub to :
positif dan bulat.
Solusi optimalnya dengan simpleks adalah :
VB X1 X2 S1 S2 NK
Z 0 0 28/11 15/11 63
X2 0 1 7/22 1/22 7/2
X1 1 0 -1/22 3/22 9/2
1. Ambil baris X2 sebagai baris sumber :
atau
2. Maka fractional cutnya adalah :
Dan tabel simpleksnya adalah :
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 7
VB X1 X2 S1 S2 S3 NK
Z 0 0 28/11 15/11 0 63
X2 0 1 7/22 1/22 0 7/2
X1 1 0 -1/22 3/22 0 9/2
S3 0 0 -7/22 -1/22 1 -1/2
3. Dengan dual simpleks, solusi optimalnya adalah :
VB X1 X2 S1 S2 S3 NK
Z 0 0 0 1 8 59
X2 0 1 0 0 1 3
X1 1 0 0 1/7 -1/7
S1 0 0 1 1/7 -22/7
Solusi belum bulat, sehingga baris sumber dan fractional cut baru harus dibentuk.
1. X1 sebagai baris sumber :
atau
2. Maka fractional cutnya adalah :
Dan tabel simpleksnya adalah :
VB X1 X2 S1 S2 S3 S4 NK
Z 0 0 0 1 8 0 59
X2 0 1 0 0 1 0 3
X1 1 0 0 1/7 -1/7 0
S3 0 0 1 1/7 -22/7 0
S4 0 0 0 -1/7 -6/7 1 -4/7
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 8
3. Dengan dual simpleks, solusi optimalnya adalah :
VB X1 X2 S1 S2 S3 S4 NK
Z 0 0 0 0 2 7 55
X2 0 1 0 0 1 0 3
X1 1 0 0 0 -1 1 4
S1 0 0 1 0 -4 1 1
S2 0 0 0 1 6 -7 4
Maka solusi optimal ILPnya adalah : X1 = 4, X2 = 3 dan Z = 55.
Mixed Integer
Digunakan jika tidak semua variabel keputusan harus integer.
Algoritma mixed integer :
1. Tentukan baris sumber dengan memilih salah satu variabel yang akan dibulatkan
dari tabel optimal simpleks :
supaya xk integer, maka atau harus dipenuhi, dengan demikian :
2. definisikan himpunan subscript j dimana
= himpunan subscript j dimana
dan
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 9
mixed cut :
3. Masukkan ke tabel simpleks sebelumnya dan selesaikan dengan dual simpleks.
Maks
Sub to :
positif
x1 bulat.
Solusi optimalnya dengan simpleks adalah :
VB X1 X2 S1 S2 NK
Z 0 0 28/11 15/11 63
X2 0 1 7/22 1/22 7/2
X1 1 0 -1/22 3/22 9/2
Baris sumber (baris x1, karena hanya x1 yang akan dibulatkan) :
, ,
Mixed cut :
atau
Tabel simpleks :
VB X1 X2 S1 S2 S3 NK
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 10
Z 0 0 28/11 15/11 0 63
X2 0 1 7/22 1/22 0 7/2
X1 1 0 -1/22 3/22 0 9/2
S3 0 0 -1/22 -3/22 1 -1/2
Solusi optimalnya :
VB X1 X2 S1 S2 S3 NK
Z 0 0 23/11 0 10 58
X2 0 1 10/33 0 -1/3 10/3
X1 1 0 -1/11 0 1 4
S2 0 0 1/3 1 -22/3 11/3
Pertemuan minggu Ke-3 (2 x 50 menit)
Model Jaringan
Tujuan Instruksional Umum : Mahasiswa dapat menggunakan algoritma yang ada pada
model jaringan untuk mendapatkan solusi optimal
permasalahan pemrograman linier, sehingga diharapkan
dapat membuat program aplikasinya.
Tujuan Instruksional Khusus :
1. Mahasiswa dapat memahami dan menggunakan algoritma minimum spanning tree.
2. Mahasiswa dapat memahami dan menggunakan algoritma rute terpendek asiklik.
Apa itu Model Jaringan?
Perhatikan situasi berikut:
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 11
1. Disain jaringan pipa gas alam yang menghubungkan Arun Aceh dengan tangki
penampungan Pertamina di salah satu kota dengan tujuan minimisasi biaya
pemasangan pipa.
2. penentuan rute terpendek yang menghubungkan dua kota pada jaringan jalan yang
sudah ada.
3. penentuan kapasitas maksimum tahunan (dalam ton) jaringan pipa coal slurry yang
menghubungkan pertambangan dengan daerah pusat pembangkit energi.
4. penentuan jadwal aliran biaya-minimum dari pertambangan ke kilang pemurnia
dan akhirnya ke pusat pendistribusian minyak.
Jaringan adalah himpunan simpul yang dihubungkan oleh garis atau kurva.
Notasi standar jaringan G : G = (N,A).
Predecessor adalah aktivitas yang mendahului suatu aktivitas tertentu.
Successor adalah aktivitas yang mengikuti suatu aktivitas tertentu.
Algoritma Minimum Spanning Tree.
Asumsikan himpunan C sebagai himpunan simpul yang terhubung dan sebagai
himpunan simpul yang tidak terhubung.
Solusi Awal : C = { } dan beranggotakan semua simpul.
Pilih sembarang simpul sebagai titik awal, maka C sekarang memiliki satu
anggota dan berkurang satu.
Hubungkan simpul itu dengan simpul terdekat. C bertambah satu dan berkurang
satu.
Hubungkan salah satu dari kedua simpul yang ada pada C dengan simpul terdekat,
maka C bertambah satu lagi dan berkurang satu.
Demikian seterusnya sampai ={ } dan setiap simpul sudah terhubung.
Contoh :
Seorang petugas lapangan di The National Park Service setiap hari harus berkendaraan
menggunakan mobil untuk memantau empat lokasi yang ada di taman. Setiap area harus
dia kunjungi sekali, berangkat dari dan berakhir di pintu masuk. Area-area tersebut
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 12
beserta jarak jalan yang sudah dibangun ( dalam mil) antara satu area dengan area lainnya
ditunjukkan tabel di bawah.
Pintu
Masuk
air terjun Batu
Raksasa
Sunset
Point
The
Meadow
Pintu Masuk - 7.1 19.5 19.1 25.7
Air Terjun 7.1 - 8.3 16.2 13.2
Batu Raksasa 19.5 8.3 - 18.1 5.2
Sunset Point 19.1 16.2 18.1 - 17.2
The Meadow 25.7 13.2 5.2 17.2 -
Penyelesaian :
Jaringan dari kasus di atas adalah:
Solusi Awal : C = { PM} = {AT, BR, SP, TM}
Iterasi 1 : C = {PM, AT} = {BR, SP, TM}, Total jarak = 7.1
Iterasi 2 : C = {PM, AT, BR} ={SP, TM}, Total jarak = 15.4
Iterasi 3 : C = {PM, AT, BR, TM} = { SP}, Total jarak = 20.6
Iterasi 4 : C = {PM, AT, BR, TM, SP} ={ }, Total jarak = 36.8
Solusi Optimum :
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 13
PM
AT
BR
SP
TM5.2
19.2
7.1 16.2
8.313.2
17.219.5
25.718.1
PM
AT
BR
SP
TM5.2
7.1 16.2
8.3
Rute Terpendek.
Acyclic
Jaringan asiklik kalau tidak memuat loop.
Algoritma :
Berikan uj = jarak terpendek dari simpul 1 ke simpul j, maka u1 = 0.
Hitung uj untuk j=2, 3, ... secara rekursif dengan rumus berikut:
ui = jarak terpendek ui ke simpul yang langsung mendahului.
dij = jarak antara simpul j dengan semua predecessor i.
Label [d,n] dimana d adalah total jarak dari simpul awal dan n adalah predecessor
langsung.
Contoh :
Tentukan rute terpendek!!!
Penyelesaian :
Simpul jPerhitungan uj Label
1
2
3
4
5
u1 = 0
u2 = u1 +d12 = 0+2 = 2, dari 1
u3 = u1 +d13 = 0+4 = 4, dari 1
u4 = min {u1 +d14 , u2 +d24 , u3 +d34 }= min {0+10, 2+11, 4+3} = 7,
dari 3
u5 = min { u2 +d25 , u4 +d45 }= min {2+5, 7+8} = 7, dari 2
[0, -]
[2, 1]
[4, 1]
[7, 3]
[7, 2]
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 14
5
1
1
108
4
2
63
5
743
2
7
6
9
11
6
7
u6 = min {u3 +d36 , u4 +d46 }= min {4+1, 7+1} = 5, dari 3
u7 = min {u5 +d57 , u6 +d67 }= min {7+6, 5+9} = 13, dari 5
[5, 3]
[13, 5]
Pertemuan minggu Ke-4 (2 x 50 menit)Tujuan Instruksional Khusus :
1. Mahasiswa dapat memahami dan menggunakan algoritma rute terpendek siklik.
2. Mahasiswa dapat memahami dan menggunakan algoritma aliran maksimum.
Siklik
Jaringan siklik memuat loop Algoritma Dijkstra digunakan.
Algoritma siklik menggunakan 2 label, yaitu label sementara dan label permanen.
Iterasi 0 : simpul 1 diberi label pemanen [0, -].
Iterasi 1 : simpul 2 label sementara [2, 1], simpul 3 label sementara [4, 1] dan simpul 4
label sementara [10, 1] min [2, 1] maka simpul 2 diberi label
permanen.
Iterasi 2 : dari simpul 2 (simpul terakhir dengan label permanen) simpul 3 dapat
label sementara lagi [2+7, 2], simpul 5 label sementara [2+5, 2]. Dari [4, 1],
[10, 1], [9, 2] dan [7, 2] minimum adalah [4, 1], maka [4, 1] menjadi label
permanen.
Iterasi 3 : label sementara berikutnya bertambah dengan [7, 3] simpul 4 dan [5, 3] simpul
6. Label [5, 3] menjadi permanen.
Catatan kuliah Riset Operasional 2, jurusan Sistem Informasi dan Teknik Informatika, dosen Hotniar Siringoringo, hal. 15
1
1
108
4
2
63
5
743
2
7
6
9
117
5
Iterasi 4 : [14, 6] menjadi label sementara. Sehingga label sementara sekarang menjadi