capacitated location planning
DESCRIPTION
Mencari keputusan paling optimal, menggunakan pemrograman mix integer dengan tomlabTRANSCRIPT
Capacitated Location Planning
Faizal MahanantoRetno Aulia Vinarti
Factory (i) Market area (j)
x11
Surabaya
Pasuruan
Gresik
Tangerang
JTM
JTG
JB
JKT
SSx45
Problem
Pabrik
Pasar
Kapasitas
Fixed cost JTM JTG JB JKT SS
Surabaya 250 5 10 15 16 25 5000
Pasuruan 165 10 12 17 18 25 3200
Gresik 180 6 9 14 12 24 4000
Tangerang 200 15 7 4 6 10 4000
Permintaan200
0 1800 1500 3000 1700
Permasalahan
• Factory mana yang harus buka?• Dari factory mana saja demand tiap market
akan dipenuhi?
Memahami fungsi tujuan
• Faktor apa saja yang mempengaruhi buka/tutupnya suatu factory?– Fixed Cost Minimize– Variable Cost Minimize
i i j
ijijii xcyfMinimise
Memahami constraint
• Faktor apa sajakah yang harus ditaati agar semua demand terpenuhi?– Barang yang diterima market totalnya SAMA dari
jumlah demand market yang bersangkutan
Factory (i) Market area (j)
Gresik
Tangerang
JKT
SS
3000
1700 i
jij Dx
x11
x21
x12
x22
Problem
Pabrik
Pasar
Kapasitas
Fixed cost JTM JTG JB JKT SS
Surabaya 250 5 10 15 16 25 5000
Pasuruan 165 10 12 17 18 25 3200
Gresik 180 6 9 14 12 24 4000
Tangerang 200 15 7 4 6 10 4000
Permintaan200
0 1800 1500 3000 1700
Memahami constraint
• Faktor apa sajakah yang harus ditaati agar semua demand terpenuhi?– Barang yang diproduksi factory jumlahnya TIDAK
LEBIH dari kapasitas factory yang bersangkutan
Factory (i) Market area (j)
Surabaya
Gresik
JKT
SS4000
x11
x21
x12
x22
iij
ij yKx
5000
Problem
Pabrik
Pasar
Kapasitas
Fixed cost JTM JTG JB JKT SS
Surabaya 250 5 10 15 16 25 5000
Pasuruan 165 10 12 17 18 25 3200
Gresik 180 6 9 14 12 24 4000
Tangerang 200 15 7 4 6 10 4000
Permintaan200
0 1800 1500 3000 1700
Batasan non-negatif & integer
• Factory yang buka, bernilai 1 (akan mempengaruhi fixed cost)
• Fixed cost ialah biaya tetap yang terjadi hanya bila factory tersebut buka
• Factory yang tutup, bernilai 0
)(0,1iy
Batasan non-negatif & integer
• Barang yang dikirimkan tidak boleh bernilai MINUS
• Barang yang dikirimkan bila bernilai NOL sama dengan tidak mengirimkan
0ijx
Jenis pemrograman optimasi
• Linear Programming• Integer Programming• Mix Integer Linear Programming• dll
Tools
• Definisi matlab, tomlab, dan cplex secara gampang dapat dikatakan sebagai berikut– Matlab : Tempat untuk menuliskan kode program– Tomlab : library yang berisi berbagai macam solver
untuk menyelesaikan pemrograman matematis– Cplex : solver dalam tomlab yang dipakai untuk
menyelesaikan permasalahan MILP
Tools
• Intinya adalah : Membuat vector dan matrik kebutuhan dari fungsi mipassign.
Penjelasan variabel
Melihat constraint lebih dekat :D
iij
ij yKx
i i j
ijijii xcyfMinimise
i
jij Dx
)(0,1 ;0 iij yx
fo atau c
• Fungsi tujuan : minimize
45454444434342424141
35353434333332323131
25252424232322222121
15151414131312121111
44332211
xcxcxcxcxc
xcxcxcxcxc
xcxcxcxcxc
xcxcxcxcxc
yfyfyfyf
i i j
ijijii xcyf Untuk maksimasi, buatlah menjadi minimasi
c
Pabrik
Pasar
Kapasitas
Fixed cost JTM JTG JB JKT SS
Surabaya 250 5 10 15 16 25 5000
Pasuruan 165 10 12 17 18 25 3200
Gresik 180 6 9 14 12 24 4000
Tangerang 200 15 7 4 6 10 4000
Permintaan200
0 1800 1500 3000 1700
b_U dan b_L
• Constraint
jDUb _
545352515
444342414
343332313
242322212
141312111
Dxxxx
Dxxxx
Dxxxx
Dxxxx
Dxxxx
i
jij Dx
jDLb _
b_U dan b_L
Pabrik
Pasar
Kapasitas
Fixed cost JTM JTG JB JKT SS
Surabaya 250 5 10 15 16 25 5000
Pasuruan 165 10 12 17 18 25 3200
Gresik 180 6 9 14 12 24 4000
Tangerang 200 15 7 4 6 10 4000
Permintaan200
0 1800 1500 3000 1700
b_U dan b_L
• Constraint
iij
ij yKx
0
0
0
0
444544434241
333534333231
222524232221
111514131211
yKxxxxx
yKxxxxx
yKxxxxx
yKxxxxx
0 iij
ij yKx0_ Ub
InfLb _
Untuk pertidaksamaan, buatlah sisi kanan menjadi 0
A
545352515
444342414
343332313
242322212
141312111
Dxxxx
Dxxxx
Dxxxx
Dxxxx
Dxxxx
0
0
0
0
444544434241
333534333231
222524232221
111514131211
yKxxxxx
yKxxxxx
yKxxxxx
yKxxxxx
A
Pabrik
Pasar
Kapasitas
Fixed cost JTM JTG JB JKT SS
Surabaya 250 5 10 15 16 25 5000
Pasuruan 165 10 12 17 18 25 3200
Gresik 180 6 9 14 12 24 4000
Tangerang 200 15 7 4 6 10 4000
Permintaan200
0 1800 1500 3000 1700
x_L dan x_U
• Constraint non-negatif
0
0
0
0
0
15
14
13
12
11
x
x
x
x
x
0ijx
0
0
0
0
0
25
24
23
22
21
x
x
x
x
x
0
0
0
0
0
35
34
33
32
31
x
x
x
x
x
0
0
0
0
0
45
44
43
42
41
x
x
x
x
x
InfUx _
0_ Lx
x_L dan x_U
• Constraint non-negatif)(0,1iy
)(0,1
)(0,1
)(0,1
)(0,1
4
3
2
1
y
y
y
y 1_ Ux
0_ Lx
Keyword untuk otodidak matlab
• Ketikkan “help keyword” di command window• Untuk mengetahui ukuran dari suatu matriks
ketikkan “size(namaMatriks)”• Rajin-rajinlah tekan F1• Untuk mengetahui isi dari matriks, ketikkan
“namaMatriks” di command window