You are on page 1of 16

CATATAN KULIAH RISET OPERASIONAL 2

2 SKS
Oleh Hotniar Siringoringo
Pertemuan minggu pertama (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
Metode Branch and bound
Algoritma:
Asumsikan permasalahan maksimisasi. Berikan z sebagai batas bawah solusi optimum
ILP.
1. Fathoming/Bounding. Pilih LP
i
sebagai subproblem untuk dibulatkan. Selesaikan
untuk LP
i
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 LP
i
fathomed, perbaharui batas bawah z jika solusi ILP lebih baik.
Jika tidak, pilih subproblem yang baru dan ulangi ulangi langkah 1. jika
Pembulatan matematis ?
semua subproblem sudah diselidiki, stop. Solusi optimum ILP adalah z
batas bawah terakhir, jika ada. Jika tidak ada :
b. Jika LP
i
belum fathomed, teruskan ke langkah 2.
2. Branching (pencabangan). Pilih satu variabel x
j
yang nilai optimumnya tidak
memenuhi batasan integer. Hilangkan daerah [ ] [ ] 1
* *
+ < <
j j j
x x x , (dimana [A]
menunjukkan integer terbesar sedemikian shg A) dengan membuat dua subproblem
LP yang sesuai dengan 2 pembatas mutually exclusive :
[ ]
*
j j
x x dan [ ] 1
*
+
j j
x x
Kembali ke langkah 1.
Contoh :
Maks
2 1
4 5 x x z +
Sub to :
eger dan x x
x x
x x
int 0 ,
45 6 10
5
2 1
2 1
2 1

+
+
Dengan simpleks, solusi optimal untuk kasus tersebut ditunjukkan tabel berikut:
VB X
1
X
2
S
1
S
2
NK
Z 0 0 5/2 23.75
X
2
0 1 5/2 -1/4 1.25
X
1
1 0 -3/2 3.75
Batasan integer untuk varaibek x
1
dan x
2
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 x
1
, maka batasan baru x
1
3 dan x
1
3+1 (atau x
1
4). Pilih
batasan x
1
3 (ini akan menjadi LP1), maka model matematik menjadi :
Maks
2 1
4 5 x x z +
Sub to :

45 6 10
5
2 1
2 1
+
+
x x
x x
3
1
x
0 ,
2 1
x x
Selesaikan dengan simpleks, maka didapat tabel optimal:
LP1
X
1
4
X
1
5
X
2
0 X
2
1
LP4 L
X
1
3
X
1
4
VB X
1
X
2
S
1
S
2
S
3
NK
Z 0 0 4 0 1 23
X
2
0 1 1 1 -1 2
S
2
1 0 0 0 -4 3
X
1
0 0 0 0 1 3
2. solusinya memenuhi batasan integer (x
1
= 3, x
2
= 2 dan z = 23), sehingga dikatakan
LP1 sudah fathomed. Solusi ini adalah batas bawah.
2. Branching : Pilih batasan x
1
4, maka model matematik menjadi :
Maks
2 1
4 5 x x z +
Sub to :

45 6 10
5
2 1
2 1
+
+
x x
x x
4
1
x
0 ,
2 1
x x
Selesaikan dengan dual simpleks, maka didapat tabel optimal:
VB X
1
X
2
S
1
S
2
S
3
NK
Z 0 0 0 2/3 5/3 23.333
S
1
0 1 1 -1/6 -2/3 1/6
X
2
1 0 0 1/6 5/3 5/6
X
1
0 0 0 0 -1 4
3. solusinya belum memenuhi batasan integer (x
1
= 4, x
2
= 5/6 dan z = 23.333),
sehingga harus dibuat pencabangan.
Dari LP2, terbentuk cabang x
2
1 dan x
2
0, demikian seterusnya sampai semua
cabang-cabangnya sudah ditelusuri.
Secara lengkap, cabang-cabang penyelesaian dari LP0 dengan memilih X
1
untuk memulai
pencabangan LP1 dan seterusnya ditunjukkan oleh gambar 1 di bawah:
Maka solusi optimal ILP adalah solusi LP1.
LP2
X
1
4
X
1
5
X
2
0 X
2
1
LP4 L
X
1
3
X
1
4
Gambar 1. Pohon penyelesaian ILP
Pertemuan minggu kedua (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 X
1
... X
i
... X
m
W
1
... W
j
... W
n
NK
Z 0 ... 0 ... 0
1
c
...
j
c
...
n
c
0

X
1
1 ... 0 ... 0 1
1

... j
1

... n
1

.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
X
i
0 ... 1 ... 0 1
i

...
j
i

... n
i

.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
X
m
0 ... 0 ... 1 1
m

... j
m

... n
m

Pure Integer
Digunakan jika semua variabel keputusan harus integer.
Algoritma Pure integer :
X
1
4
X
1
5
X
2
0 X
2
1
X
1
= 4; X
2
= 0.8333; Z = 23.333
X
1
= 3.75; X
2
= 1.25; Z = 23.75
X
1
= 3; X
2
= 2; Z = 23
X
1
= 4; X
2
= 0; Z = 20
X
1
= 4.5; X
2
= 0; Z = 22.5 Tidak ada solusi
Tidak ada solusi
LP0
LP1
LP3
LP2
LP4 L
LP5
LP6
X
1
3
X
1
4
Input : solusi optimal primal simpleks.
1. Tentukan baris sumber baris variabel keputusan yang akan dibulatkan.
Jika lebih dari satu, boleh dipilih sembarang.

j
n
j
j
i
i i
w x


1

,
i
tidak integer.
2. buat ke dalam bentuk fractional cut penambahan kendala baru.


n
j
i j ij i
f w f S
1
atau


n
j
i j ij i
f w f S
1
VB X
1
... X
i
... X
m
W
1
... W
j
... W
n
S
i
NK
Z 0 ... 0 ... 0
1
c
...
j
c
...
n
c
0
0

X
1
1 ... 0 ... 0 1
1

... j
1

... n
1

0
0

.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
X
i
0 ... 1 ... 0 1
i

... j
i

... n
i

0
i

.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
X
m
0 ... 0 ... 1 1
m

... j
m

... n
m

0
m

S
i
0 ... 0 ... 0 -f
i1
... -f
ij
... -f
in
1 -f
i
3. selesaikan dengan dual simpleks.
Contoh Kasus :
Maks
2 1
9 7 x x z +
Sub to :
35 7
6 3
2 1
2 1
+
+
x x
x x
2 1
, x x

positif dan bulat.
Solusi optimalnya dengan simpleks adalah :
VB X
1
X
2
S
1
S
2
NK
Z 0 0 28/11 15/11 63
X
2
0 1 7/22 1/22 7/2
X
1
1 0 -1/22 3/22 9/2
1. Ambil baris X
2
sebagai baris sumber :
2
7
22
1
22
7
2 1 2
+ + s s x atau
( ) ( ) ( )
2
1
3
22
1
0
22
7
0
2 1 2
+ + + + + s s x
2. Maka fractional cutnya adalah :
2
1
22
1
22
7
2 1 3
s s s
Dan tabel simpleksnya adalah :
VB X
1
X
2
S
1
S
2
S
3
NK
Z 0 0 28/11 15/11 0 63
X
2
0 1 7/22 1/22 0 7/2
X
1
1 0 -1/22 3/22 0 9/2
S
3
0 0 -7/22 -1/22 1 -1/2
3. Dengan dual simpleks, solusi optimalnya adalah :
VB X
1
X
2
S
1
S
2
S
3
NK
Z 0 0 0 1 8 59
X
2
0 1 0 0 1 3
X
1
1 0 0 1/7 -1/7
7
4
4
S
1
0 0 1 1/7 -22/7
7
4
1
Solusi belum bulat, sehingga baris sumber dan fractional cut baru harus dibentuk.
1. X
1
sebagai baris sumber :
7
4
4
7
1
7
1
3 2 1
+ s s x atau
( ) ( ) ( )
7
4
4
7
6
1
7
1
0
2 2 1
+ + + + + s s x
2. Maka fractional cutnya adalah :
7
4
7
6
7
1
3 2 4
s s s
Dan tabel simpleksnya adalah :
VB X
1
X
2
S
1
S
2
S
3
S
4
NK
Z 0 0 0 1 8 0 59
X
2
0 1 0 0 1 0 3
X
1
1 0 0 1/7 -1/7 0
7
4
4
S
3
0 0 1 1/7 -22/7 0
7
4
1
S
4
0 0 0 -1/7 -6/7 1 -4/7
3. Dengan dual simpleks, solusi optimalnya adalah :
VB X
1
X
2
S
1
S
2
S
3
S
4
NK
Z 0 0 0 0 2 7 55
X
2
0 1 0 0 1 0 3
X
1
1 0 0 0 -1 1 4
S
1
0 0 1 0 -4 1 1
S
2
0 0 0 1 6 -7 4
Maka solusi optimal ILPnya adalah : X
1
= 4, X
2
= 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 varaibel yang akan dibulatkan
dari tabel optimal simpleks :
[ ]


+
n
j
j
j
k
k
n
j
k j
j
k
k k
w f w x
1 1

supaya x
k
integer, maka [ ]
k k
x atau [ ] 1 +
k k
x harus dipenuhi, dengan
demikian :

n
j
k j
j
k
f w
1


n
j
k j
j
k
f w
1
1
2. definisikan

+
J
himpunan subscript j dimana
0
j
k

J
= himpunan subscript j dimana
0 <
j
k

k
J J
j
j
k
f w

dan
k
J J
j
j
k
k
k
f w
f
f

1
3. mixed cut :
k
J J
j
j
k
k
k
J J
j
j
k
k
f w
f
f
w s

'

+

+


1
4. Masukkan ke tabel simpleks sebelumnya dan selesaikan dengan dual simpleks.
Maks
2 1
9 7 x x z +
Sub to :
35 7
6 3
2 1
2 1
+
+
x x
x x
2 1
, x x

positif
x
1
bulat.
Solusi optimalnya dengan simpleks adalah :
VB X
1
X
2
S
1
S
2
NK
Z 0 0 28/11 15/11 63
X
2
0 1 7/22 1/22 7/2
X
1
1 0 -1/22 3/22 9/2
Baris sumber (baris x
1
, karena hanya x
1
yang akan dibulatkan) :

,
_

+ +
2
1
4
22
3
22
1
2 1 1
s s x
{ } 3

J
,
{ } 4
+
J
,
2
1
1
f
Mixed cut :
2
1
22
1
1
2
1
2
1
22
3
1 2 3

'

,
_

,
_

+ s S S atau
2
1
22
3
22
1
2 1 3
S S S
Tabel simpleks :
VB X
1
X
2
S
1
S
2
S
3
NK
Z 0 0 28/11 15/11 0 63
X
2
0 1 7/22 1/22 0 7/2
X
1
1 0 -1/22 3/22 0 9/2
S
3
0 0 -1/22 -3/22 1 -1/2
Solusi optimalnya :
VB X
1
X
2
S
1
S
2
S
3
NK
Z 0 0 23/11 0 10 58
X
2
0 1 10/33 0 -1/3 10/3
X
1
1 0 -1/11 0 1 4
S
2
0 0 1/3 1 -22/3 11/3
Pertemuan minggu Ketiga (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.
Apa itu Model Jaringan?
Perhatikan situasi berikut:
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 C sebagai
himpunan simpul yang tidak terhubung.
Solusi Awal : C = { } dan C beranggotakan semua simpul.
Pilih sembarang simpul sebagai titik awal, maka C sekarang memiliki satu
anggota dan
C
berkurang satu.
Hubungkan simpul itu dengan simpul terdekat. C bertambah satu dan C
berkurang satu.
Hubungkan salah satu dari kedua simpul yang ada pada C dengan simpul terdekat,
maka C bertambah satu lagi dan
C
berkurang satu.
Demikian seterusnya sampai C ={ } 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
beserta jarak jalan yang sudah dibangun ( dalam mil) antara satu area dengan area lainnya
ditunjukkan tabel di bawah. Tanda strip (-) menunjukkan bahwa kedua area tidak
dihubungkan dengan jalan raya yang bisa dilalui mobil.
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:
PM
AT
BR
SP
TM
5.2
19.2
7.1
16.2
8.3
13.2
17.2 19.5
25.7
18.1
Solusi Awal : C = { PM} C = {AT, BR, SP, TM}
Iterasi 1 : C = {PM, AT} C = {BR, SP, TM}, Total jarak = 7.1
Iterasi 2 : C = {PM, AT, BR} C ={SP, TM}, Total jarak = 15.4
Iterasi 3 : C = {PM, AT, BR, TM} C = { SP}, Total jarak = 20.6
Iterasi 4 : C = {PM, AT, BR, TM, SP} C ={ }, Total jarak = 36.8
Solusi Optimum :
Rute Terpendek.
Acyclic
Jaringan asiklik kalau tidak memuat loop.
Algoritma :
Berikan u
j
= jarak terpendek dari simpul 1 ke simpul j, maka u
1
= 0.
Hitung u
j
untuk j=2, 3, ... secara rekursif dengan rumus berikut:
{ }
ij i
i
j
d u u + min
u
i
= jarak terpendek u
i
ke simpul yang langsung mendahului.
d
ij
= jarak antara simpul j dengan semua predecessor i.
Contoh :
Tentukan rute terpendek!!!
Penyelesaian :
PM
AT
BR
SP
TM
5.2
7.1
16.2
8.3
5
1
1
10
8
4
2
6 3
5
7
4
3
2
7
6
9
11
Simpul j Perhitungan u
j
Label
1
2
3
4
5
6
7
u
1
= 0
u
2
= u
1
+d
12
= 0+2 = 2, dari 1
u
3
= u
1
+d
13
= 0+4 = 4, dari 1
u
4
= min {u
1
+d
14
, u
2
+d
24
, u
3
+d
34
}= min {0+10, 2+11, 4+3} = 7,
dari 3
u
5
= min { u
2
+d
25
, u
4
+d
45
}= min {2+5, 7+8} = 7, dari 2
u
6
= min {u
3
+d
36
, u
4
+d
46
}= min {4+1, 7+1} = 5, dari 3
u
7
= min {u
5
+d
57
, u
6
+d
67
}= min {7+6, 5+9} = 13, dari 5
[0, -]
[2, 1]
[4, 1]
[7, 3]
[7, 2]
[5, 3]
[13, 5]
Pertemuan minggu Keempat (2 x 50 menit)
Teori Keputusan
Tujuan Instruksional Umum : Mahasiswa dapat menjelaskan jenis-jenis pengambilan
keputusan berdasarkan sifat datanya dan menggunakan
kriteria pengambilan keputusan sehingga diharapkan dapat
membuat program aplikasinya.
Tujuan Instruksional Khusus :
1. Mahasiswa dapat menggunakan kriteria Laplace untuk pengambilan keputusan.
2. Mahasiswa dapat menggunakan kriteria minimaks dan maksimin untuk
pengambilan keputusan.
3. Mahasiswa dapat menggunakan kriteria Savage regret untuk pengambilan
keputusan.
4. Mahasiswa dapat menggunakan kriteria Hurwicz untuk pengambilan keputusan.
Pengertian Metode Keputusan Tidak Pasti
Data yang digunakan dalam pengambilan keputusan bersifat tidak pasti dan
ketidakpastian tersebut tidak dapat dihitung dalam bentuk peluang.
Lawan (opponen) pengambil keputusan adalah alam.
Kriteria Laplace
Setiap kriteria keputusan dianggap mempunyai peluang yang sama untuk terjadi.
Contoh Diberikan tabel perolehan dalam bentuk biaya berikut :
Suplai
level
Kategori customer

1

2

3

4
a
1
5 10 18 25
a
2
8 7 8 23
a
3
21 18 12 21
a
4
30 22 19 15
Penyelesaian :
E{a
1
} = (1/4)(5+10+18+25) = 14.5
E{a
2
} = (1/4)(8+7+8+23) = 11.5
E{a
3
} = (1/4)(21+18+12+21) = 18.0
E{a
4
} = (1/4)(30+22+19+15) = 21.5
Kriteria Minimaks dan Maksimin
Biasanya digunakan oleh pengambil keputusan yang bersifat pesimis.
Memilih yang terbaik dari antara yang terburuk.
Minimaks tabel perolehan dalam bentuk biaya (kerugian).
Maksimin tabel perolehan dalam bentuk keuntungan.
Contoh Diberikan tabel perolehan dalam bentuk biaya berikut :
Suplai
level
Kategori customer

1

2

3

4
a
1
5 10 18 25
a
2
8 7 8 23
a
3
21 18 12 21
a
4
30 22 19 15
Penyelesaian :
Suplai
level
Kategori customer Maksimum

1

2

3

4
a
1
5 10 18 25 25
a
2
8 7 8 23 23
a
3
21 18 12 21
21
a
4
30 22 19 15 30
Jika tabel di atas dianggap perolehan dalam bentuk keuntungan, maka penyelesaiannya
adalah:
Suplai
level
Kategori customer Minimum

1

2

3

4
a
1
5 10 18 25 5
a
2
8 7 8 23 7
a
3
21 18 12 21 12
a
4
30 22 19 15
15
Kriteria Savage Regret
Perbaikan dari Minimaks dan Maksimin

Minimaks
Maksimin
Contoh : Diberikan tabel perolehan dalam bentuk biaya berikut:

Suplai
level
Kategori
customer
Maksimum

1

2
a
1
5 100 100
a
2
50 100 100
a
3
90 85
90
a
4
60 90
90
Dengan Savage regret
Bentuk tabel savage regret, lalu gunakan kriteria minimaks.
Suplai
level
Kategori
customer
Maksimum

1

2
a
1
0 15
15
a
2
45 15 45
a
3
85 0 85
a
4
55 5 55
Kriteria Hurwicz
Contoh Diberikan tabel perolehan dalam bentuk biaya berikut. Misalkan = 0.4.
Suplai
level
Kategori customer

1

2

3

4
a
1
5 10 18 25
a
2
8 7 8 23
a
3
21 18 12 21
a
4
30 22 19 15
Penyelesaian :
Suplai
level
Kategori customer Maksimum Minimum

1

2

3

4
a
1
5 10 18 25 25 5
a
2
8 7 8 23 23 7
a
3
21 18 12 21 21 12
a
4
30 22 19 15 30 15
E{a
1
} = (0.4*5)+(0.6*25) = 17
E{a
2
} = (0.4*7)(0.6*23) = 16.6
E{a
3
} = (0.4*12)(0.6*21) = 17.4
E{a
4
} = (0.4*15)(0.6*30) = 24
Minimaks
Minimaks

You might also like