TI 2001 or 1 - Pemrogr Bilangan Bulat - Kuliah 12 - 25 MAR 14

October 16, 2017 | Author: BrYan Wpe | Category: N/A
Share Embed Donate


Short Description

Download TI 2001 or 1 - Pemrogr Bilangan Bulat - Kuliah 12 - 25 MAR 14...

Description

Pemrograman Bilangan Bulat (Integer Programming) Kuliah 10-11

TI 2001 Penelitian Operasional I

1

Materi Bahasan ① Pengantar pemrograman bilangan bulat ② Beberapa contoh model pemrograman bilangan bulat ③ Metode pemecahan bilangan bulat  Metode cutting-plane  Metode branch-and-bound (termasuk untuk pemrograman bilangan bulat biner)

TI 2001 Penelitian Operasional I

2

① Pengantar Pemrograman Bilangan Bulat

TI 2001 Penelitian Operasional I

3

Pemrograman Bilangan Bulat • Pemrograman bilangan bulat (integer programming) mensyaratkan bahwa beberapa variabel keputusan harus mempunyai nilai yang bulat (bukan pecahan) • Pembahasan hanya ditujukan untuk masalah pemrograman linier bilangan bulat (integer linear programming problem)

TI 2001 Penelitian Operasional I

4

Jenis Pemrograman Bilangan Bulat • Pemrograman linier bilangan bulat murni, (pure integer linear programming, PILP) • Pemrograman linier bilangan bulat campuran, (mixed integer linear programming, MILP) • Pemrograman linier bilangan bulat biner, (binary integer linear programming, BILP)

TI 2001 Penelitian Operasional I

5

Fungsi Variabel Biner • Penangangan pembatas either-or • Penanganan nilai lebih dari satu yang mungkin dari suatu pembatas • Representasi bentuk lain dari variabel bilangan bulat

TI 2001 Penelitian Operasional I

6

Pembatas Either-Or 3x1  2 x2  18 dan x1  4 x2  16  M

3x1  2 x2  18 atau

atau

x1  4 x2  16

3x1  2 x2  18  M dan x1  4 x2  16

PL format:

bila y = 1

bila y = 0

3x1  2 x2  18  My x1  4 x2  16  M (1  y) y  0,1

TI 2001 Penelitian Operasional I

7

Fungsi dengan N Nilai yang Mungkin (1) f x1 , x2 ,, xn   d1 atau d 2 atau  atau d N

Perumusan PLBB: N

f x1 , x2 ,, xn    d i yi i 1

N

y i 1

i

1

yi  0,1,

i  1,2,, N

TI 2001 Penelitian Operasional I

8

Fungsi dengan N Nilai yang Mungkin (2) Bila diinginkan : 3x1  2x 2  6, atau 12, atau 18 maka perumusan PLBB-nya adalah : 3x1  2 x2  6 y1  12 y2  18 y3 y1  y2  y3  1 yi  0,1,

i  1,2,3

TI 2001 Penelitian Operasional I

9

Representasi Biner untuk Variabel Bilangan Bulat (1) Batas-batas untuk variabel x:

0  x  u dimana 2 N  u  2 N 1 Representasi biner: N

x   2i yi i 0

yi  0,1,

i  0,1,2, , N

TI 2001 Penelitian Operasional I

10

Representasi Biner untuk Variabel Bilangan Bulat (2) x1  5 2 x1  3x2  30

u untuk x1 = 5  22  5  23

x1, x2 bil. bulat

u untuk x2 = 10  23  10  24

Representasi biner:

y0  2 y1  4 y2  5 2 y0  2 y1  4 y2   3w0  2w1  4w2  8w3   30 yi  0,1, wi  0,1,

i  0,1,2 i  0,1,2,3 TI 2001 Penelitian Operasional I

11

② Beberapa Contoh Model Pemrograman Bilangan Bulat

TI 2001 Penelitian Operasional I

12

Beberapa Contoh Model-model Pemrograman Bilangan Bulat • Fixed charge problem • Knapsack problem • Set covering problem – Set Partitioning Problem

• Traveling salesman problem • Job (Machine) scheduling problem

TI 2001 Penelitian Operasional I

13

Fixed Charge Problem (1) Misalkan terdapat n jenis produk pj = harga satuan produk j Kj = biaya tetap untuk memproduksi produk j (independen terhadap jumlah produksi, bila produk j yang dibuat > 0) cj = biaya variabel untuk memproduksi produk j (proporsional terhadap jumlah produksi) bi = kapasitas sumber i (i = 1, …m) aij = kebutuhan sumber i untuk per unit produk j

TI 2001 Penelitian Operasional I

14

Fixed Charge Problem (2) Permasalahan : Menentukan produk mana yang perlu diproduksi dan jumlah produksinya masing-masing agar diperoleh profit (selisih penjualan dengan biaya tetap dan variabel) total yang maksimum dengan memperhatikan kondisi: - ketersediaan kapasitas - jika suatu produk diputuskan untuk tidak diproduksi maka jumlah produksinya nol. Variabel keputusan : xj = jumlah produk j yang diproduksi yj = keputusan untuk memproduksi produk j atau tidak; yj = 1 jika produk j diproduksi yj = 0 jika produk j tidak diproduksi TI 2001 Penelitian Operasional I

15

Fixed Charge Problem (3) Maksimasi Z   p j x j   K j y j  c j x j  n

n

j 1

j 1

dengan pembatas-pembatas: n

a x j 1

ij

j

 bi , i  1,, m

x j  My j , x j  0,

j  1,, n

j  1,, n

y j  0,1,

j  1,..., n

TI 2001 Penelitian Operasional I

16

Knapsack Problem (1) Misalkan terdapat n item. wj = berat item j vj = nilai item j W = kapasitas muatan (berat) dari kantong

Permasalahan : Menentukan banyaknya setiap item yang perlu dimasukkan ke dalam kantong agar diperoleh nilai total yang maksimum dengan memperhatikan kondisi kapasitas muatan (berat) dari kantong Variabel keputusan : xj = jumlah item yang dimasukkan ke kantong TI 2001 Penelitian Operasional I

17

Knapsack Problem (2)

n

Maksimasi

Z  vjxj j 1

dengan pembatas-pembatas: n

w x j 1

j

j

W

x j  0 dan bilangan bulat TI 2001 Penelitian Operasional I

18

Set Covering Problem (1) Contoh masalah set covering problem dalam menentukan lokasi pendirian pos siskamling 2

Jalan B

Jalan H

Jalan E 6

5 Jalan J

Jalan G

Jalan C

4

3

Jalan K

Jalan A

Jalan I

1

Jalan D

7 TI 2001 Penelitian Operasional I

8 19

Set Covering Problem (2) Misalkan terdapat n lokasi pendirian pos dan m jalan. cj = biaya mendirikan pos di lokasi j aij = konstanta biner (0-1) aij = 1 jika jalan i dilayani oleh pos yang berlokasi di j aij = 0 jika sebaliknya Pertanyaan: Menentukan lokasi pendirian pos dimana tiap jalan dapat dilayani minimal oleh satu pos sehingga diperoleh biaya total pendirian yang minimum Variabel keputusan xj = variabel biner (0-1) yang menentukan keputusan untuk mendirikan pos di lokasi j (xj = 1 jika pos dididikan di lokasi j, xj = 0 sebaliknya) TI 2001 Penelitian Operasional I

20

Set covering problem (3)

n

Z  cjxj

Minimasi

j 1

dengan pembatas-pembatas: n

a x j 1

ij

j

 1,

i  1,..., m

x j  0,1,

j  1,..., n

TI 2001 Penelitian Operasional I

21

Set Partitioning Problem Tiap jalan tepat dilayani oleh satu pos

n

Z  cjxj

Minimasi

j 1

dengan pembatas-pembatas: n

a x j 1

ij

j

 1,

i  1,..., m

x j  0,1,

j  1,..., n

TI 2001 Penelitian Operasional I

22

Traveling Salesman Problem (1) 2

5

3 8

6

1

3 3

7

6

4 (jarak)

2 5

1 4

TI 2001 Penelitian Operasional I

23

Traveling Salesman Problem (2) Misalkan terdapat n titik. cij = jarak antara titik i ke titik j (cij =  untuk i = j) Permasalahan Menentukan rute salesman yang berangkat dari suatu titik dan mengunjungi setiap titik yang lain paling banyak sekali, serta kembali ke titik asal agar diperoleh jarak total yang minimum Variabel keputusan xij = keputusan untuk melintasi atau tidak busur (i, j) xij = 1 jika busur (i, j) dilintasi xij = 0 jika busur (i, j) tidak dilintas TI 2001 Penelitian Operasional I

24

Traveling Salesman Problem (3) n

n

Z   cij xij

Minimasi

j 1 j 1

dengan pembatas-pembatas: n

x j 1 n

ij

x i 1

ij

 1, i  1,, n

 1,

j  1,, n

ui  u j  nxij  n  1,

Subtour breaking constraint

i  2,, n; j  2,, n; i  j

xij  0,1, i  1,, n; j  1,n

ui  0,

i  1,..., n

TI 2001 Penelitian Operasional I

25

Traveling Salesman Problem (4) 2

Subtour 1 3

5 4

Subtour breaking constraint bertujuan untuk mengeliminasi terjadinya solusi subtour TI 2001 Penelitian Operasional I

26

Traveling Salesman Problem (5) 2

Tour 1 3

5 4

Suatu solusi traveling salesman problem yang layak (terbentuknya suatu tour). TI 2001 Penelitian Operasional I

27

Job Scheduling Problem (1) Misalkan -terdapat n job dengan operasi-tunggal -terdapat satu mesin tunggal pj = waktu pengerjaan job j wj = bobot kepentingan job j Permasalahan: Menentukan saat awal (juga secara implisit menentukan saat akhir) pengerjaan job agar diperoleh waktu penyelesaian tertimbang total (total weighted completion time) yang minimum dengan memperhatikan bahwa pada suatu saat mesin hanya dapat mengerjakan satu operasi (job) TI 2001 Penelitian Operasional I

28

Job Scheduling Problem (2) Variabel keputusan: Bj = saat awal pengerjaan job j Cj = saat akhir pengerjaan job j yij = keputusan apakah job i mendahului job j yij = 1 jika job i mendahului job j yij = 0 jika sebaliknya

0

p3

p1

p4

p5

p2

3

1

4

5

2

Suatu solusi (jadwal) pengerjaan job yang layak TI 2001 Penelitian Operasional I

29

Job Scheduling Problem (3) n

Minimasi

Z   w jC j j 1

dengan pembatas-pembatas:

Cj  pj,

i  1,, n

Disjunctive constraint (Either-or constraint)

C j  Ci  M 1  yij   pi , i  1,, n; j  1,n, i  j Ci  C j  Myij  p j , i  1,, n; j  1,n; i  j C j  0,

i  1,..., n

yij  0,1,

Bj  C j  p j ,

i  1,..., n, j  1,n

i  1,, n

TI 2001 Penelitian Operasional I

30

③ Metode Pemecahan Model Pemrograman Bilangan Bulat

TI 2001 Penelitian Operasional I

31

Metode Pemecahan Model Pemrograman Bilangan Bulat • Cutting method – Cutting Plane

• Search method – Branch and Bound

TI 2001 Penelitian Operasional I

32

Algoritma Cutting Plane • Dikembangkan oleh R.E. Gomory • Algoritma – Fractional algorithm untuk masalah pemrograman bilangan bulat murni (PILP) – Mixed algorithm untuk masalah pemrograman bilangan bulat campuran (MILP)

TI 2001 Penelitian Operasional I

33

Ilustrasi Suatu Masalah PLBB

Maximasi : Z = 7x1 + 9x2

s/t :

–x1 + 3x2  6 7x1 + x2  35 x1, x2 ≥ 0 dan bilangan bulat

TI 2001 Penelitian Operasional I

34

x2

Daerah layak

x1 TI 2001 Penelitian Operasional I

35

Solusi Optimal Kontinyu x2 (dengan mengabaikan kondisi integralitas)

( x1 , x2 )  4 12 ,3 12 

Z  63

TI 2001 Penelitian Operasional I

36

x1

Ide Dasar dari Cutting Plane • Mengubah convex set dari daerah daerah feasible (solution space) sehingga titik ekstrem yang diperoleh berupa bilangan bulat • Perubahan dibuat tanpa memotong (slicing off) daerah layak sehingga menghilangkan bilangan bulat yang ada. • Perubahan dilakukan dengan penambahan beberapa secondary constraint. TI 2001 Penelitian Operasional I

37

x2

Penambahan Pembatas Sekunder

secondary constraint

( x1 , x2 )  4,3 Z  55

x1 TI 2001 Penelitian Operasional I

38

Fractional Algorithm (1) • Digunakan untuk memecahkan masalah pemrograman linier bilangan bulat murni (PILP). • Mensyaratkan bahwa semua koefisien teknologi dan konstanta ruas kanan adalah bilangan bulat. 1 13 x1  x2  3 2

6 x1  2 x2  39

• Pada awalnya, masalah PILP dipecahkan sebagai PL reguler, yaitu dengan mengabaikan persyaratan bilangan bulat (= PL relaksasi). TI 2001 Penelitian Operasional I

39

Fractional Algorithm (2) Tabel akhir optimal untuk PL Basis

x1

xi

xm

w1

wj

wn

Solusi

X1

1

0

0

11

1j

1n

1

Xi

0

1

0

i1

ij

in

i

xm

0

0

1

m1

mj

mn

m

cj

0

0

0

c1

cj

cn

0

TI 2001 Penelitian Operasional I

40

Fractional Algorithm (3) Variabel xi (i = 1, …, m) menunjukkan variabel basis Variabel wj (j = 1, …, n) menunjukkan variabel non basis Misalkan persamaan ke-i dimana variabel xi diasumsikan bernilai bilangan bulat n

xi   i   i j w j , j 1

 i bukan bilangan bulat (baris sumber)

TI 2001 Penelitian Operasional I

41

Fractional Algorithm (4) Misal:

i  i   f i i

j

   f j

i

ij

dimana : N = [a] adalah bilangan bulat terbesar sehingga N  a 0 < fi < 1 0  fij < 1

TI 2001 Penelitian Operasional I

42

Fractional Algorithm (5) Dari baris sumber diperoleh: n

xi   i   i j w j , j 1

 i bukan bilangan bulat n

 

xi  {  i   f i }   {  i j  f ij }w j ;  i bukan bilangan bulat j 1

n

n

j 1

j 1

 

f i   f ij wi  xi   i     i j w j

Agar semua xi dan wj adalah bilangan bulat, maka ruas kanan dari persamaan harus bilangan bulat  Akibatnya, ruas kiri harus bilangan bulat TI 2001 Penelitian Operasional I

43

Fractional Algorithm (6) Karena fij  0 dan wj  0 untuk semua i dan j maka n

f j 1

ij

wj  0

Akibatnya n

f i   f ij w j  f i j 1

TI 2001 Penelitian Operasional I

44

Fractional Algorithm (7) Karena fi < 1 maka n

f i   f ij w j  1 j 1

Karena ruas kiri harus bilangan bulat, maka syarat perlu untuk memenuhi integralitas adalah: n

f i   f ij w j  0 j 1

TI 2001 Penelitian Operasional I

45

Fractional Algorithm (8) Pertidaksamaan terakhir dapat dijadikan sebagai pembatas dalam bentuk: n

fi 

f w ij

j

S i 0

j 1 n

Si 

f w ij

j

 fi

(fractional cut)

j 1

TI 2001 Penelitian Operasional I

46

Fractional Algorithm (9) Tabel setelah penambahan fractional cut Basis

x1

xi

xm

w1

wj

wn

Si

Solusi

x1

1

0

0

11

1j

1n

0

1

xi

0

1

0

 i1

ij

 in

0

i

xm

0

0

1

m1

 mj

mn

0

m

Si

0

0

0

-fi1

-fij

-fim

1

-fi

cj

0

0

0

c1

cj

cn

0

0

TI 2001 Penelitian Operasional I

47

Fractional Algorithm (10) • Dengan penambahan fractional cut, tabel terakhir menjadi tidak layak walaupun optimal sehingga metode dual simplex diterapkan untuk meniadakan ketidaklayakan. • Algoritma berhenti jika solusi optimal bilangan bulat diperoleh.

TI 2001 Penelitian Operasional I

48

Fractional Algorithm (11) Kekuatan fractional cut n

f j 1

ij

w j  fi

………………………..(1)

wj  fk

………………………..(2)

n

f j 1

kj

Cut (1) dikatakan lebih kuat dari cut (2) jika fi  fk dan fij  fkj untuk semua j dengan strict inequality terpenuhi paling sedikit satu TI 2001 Penelitian Operasional I

49

Fractional Algorithm (12)

Aturan :

max  f i  i

   f   i  max  n  i   f ij   j 1  TI 2001 Penelitian Operasional I

50

Contoh Penerapan Fractional Algorithm (1)

Maximasi Z = 7x1 + 9x2 s/t : –x1 + 3x2  6 7x1 + x2  35 x1, x2 ≥ 0 dan bilangan bulat

TI 2001 Penelitian Operasional I

51

Contoh Penerapan Fractional Algorithm (2)

Tabel optimal kontinyu Basis

x1

x2

x3

x4

Solusi

x2

0

1

7/22

1/22

3 1/2

x1

1

0

-1/22

3/22

4 1/2

cj – zj

0

0

-28/11

-15/11

Z = 63

TI 2001 Penelitian Operasional I

52

Contoh Penerapan Fractional Algorithm (3) Bila baris sumber “cut” yang diambil adalah  persamaan x2 7 1 7 x3  x4  22 22 2 7  1  1    x2   0   x3   0   x4   3   22  22  2   

x2 

Fractional cut: 7 1 1 S1  x3  x4   22 22 2 TI 2001 Penelitian Operasional I

53

Contoh Penerapan Fractional Algorithm (4)

Tabel setelah penambahan fractional cut

Basis

x1

x2

x3

x4

S1

Solusi

x2

0

1

7/22

1/22

0

7/2

x1

1

0

-1/22

3/22

0

9/2

S1

0

0

-7/22

-1/22

1

-1/2

cj – zj

0

0

-28/11 -15/11

0

TI 2001 Penelitian Operasional I

54

Contoh Penerapan Fractional Algorithm (5)

Tabel yang diperoleh dengan dual simplex:

Basis

x1

x2

x3

x4

S1

Solusi

x2

0

1

0

0

1

3

x1

1

0

0

1/7

-1/7

4 4/7

x3

0

0

1

1/7

-22/7

1 4/7

cj – zj

0

0

0

-1

-8

Z = 59

TI 2001 Penelitian Operasional I

55

Contoh Penerapan Fractional Algorithm (6) Bila baris sumber “cut” yang diambil adalah  persamaan x1 1 1 4 x1  x4  S1  4 7 7 7

1 6 4    x1   0   x4    1  S1   4   7 7 7   

Fractional cut: 1 6 4 S 2  x4  S1   7 7 7 TI 2001 Penelitian Operasional I

56

Contoh Penerapan Fractional Algorithm (7) Tabel setelah penambahan fractional cut Basis

x1

x2

x3

x4

S1

S2

Solusi

x2

0

1

0

0

1

0

3

x1

1

0

0

1/7

-1/7

0

4 4/7

x3

0

0

1

1/7

-22/7

0

1 4/7

S2

0

0

0

-1/7

-6/7

1

-4/7

c j – zj

0

0

0

-1

-8

0

TI 2001 Penelitian Operasional I

57

Contoh Penerapan Fractional Algorithm (8) Tabel yang diperoleh dengan dual simplex: Basis

x1

x2

x3

x4

S1

S2

Solusi

x2

0

1

0

0

1

0

3

x1

1

0

0

0

-1

1

4

x3

0

0

1

0

-4

1

1

x4

0

0

0

1

6

-7

4

c j – zj

0

0

0

-2

-7

0

Z = 55

Solusi bilangan bulat optimal, x1 = 4, x2 = 3; Z = 55 TI 2001 Penelitian Operasional I

58

Ilustrasi Fractional Cut secara Grafis (1) Fractional cut 1: 7 1 1 S1  x3  x4   22 22 2

7 1 1 S1  6  x1  3x2   35  7 x1  x2    22 22 2

S1  x2  3 x2  3 TI 2001 Penelitian Operasional I

59

Ilustrasi Fractional Cut secara Grafis (2)

x2

Dg.fractional cut 1, solusi optimal integer belum diperoleh

x2  3

x1 TI 2001 Penelitian Operasional I

60

Ilustrasi Fractional Cut secara Grafis (3) Fractional cut 2: 1 6 4 S 2  x4  S1   7 7 7 1 6 4 S 2  35  7 x1  x2   3  x2    7 7 7

S2  x1  x2  7 x1  x2  7 TI 2001 Penelitian Operasional I

61

Ilustrasi Fractional Cut secara Grafis (4)

x2

x2  3

x1  x2  7

Dg.ditambah fractional cut 2, diperoleh solusi optimal integer

x1 TI 2001 Penelitian Operasional I

62

Mixed Algorithm (1) • Digunakan untuk memecahkan masalah pemrograman linier bilangan bulat campuran (MILP) • Pada awalnya, masalah MILP dipecahkan sebagai PL reguler, yaitu dengan mengabaikan kondisi integralitas.

TI 2001 Penelitian Operasional I

63

Mixed Algorithm (3)

Maximasi Z = 7x1 + 9x2 s/t : –x1 + 3x2  6 7x1 + x2  35 x1 ≥ 0 dan bilangan bulat x2 ≥ 0

TI 2001 Penelitian Operasional I

64

Mixed Algorithm (3) Misal xk adalah variabel bilangan bulat dari masalah MILP. Persamaan-xk dalam solusi kontinyu optimal: n

xk   k    kj w j j 1

n

xk   k   f k    kj w j

(baris sumber)

j 1 n

xk   k   f k    kj w j j 1

TI 2001 Penelitian Operasional I

65

Mixed Algorithm (4) Untuk xk adalah bilangan bulat, maka

xk   k  atau xk   k   1 harus dipenuhi n

j   x    f   Dari baris sumber : k  k wj k k

kondisi 1) : xk  βk  ekivalen dengan : j 1

n

fk 



n

α kj w j

j 1

0 

 j 1

j k

wk  f k

(1)

2) : xk  βk   1 ekivalen dengan : n

fk 



n

α kj w j

j   1   k wk  f k  1 (2)

j TI12001 Penelitian OperasionaljI1

66

Mixed Algorithm (5) Misal : J+ = himpunan subscripts j untuk kj  0 J- = himpunan subscripts j untuk kj < 0 n

j  Dari (1) diperoleh :  k wk  f k

(3)

jJ 

dan dari (2) diperoleh : n

 wk  f k  1  j 1

j k

n



α kj w k  fk  1

jJ 

fk n j  k wk  f k  f k  1 jJ  TI 2001 Penelitian Operasional I

(4) 67

Mixed Algorithm (6) Karena (1) dan (2) tidak dapat terjadi secara simultan, maka : n  kj wk  f k (3) dan



jJ 

fk n j  k wk  f k  f k  1 jJ 

(4)

dapat digabungkan menjadi satu pembatas dalam bentuk : n  n  f   j j k α k w k   fk  αkwk  fk  1 jJ     j  J  





TI 2001 Penelitian Operasional I

68

Mixed Algorithm (6) n  n  f   j j k α k w k   Sk  fk  αkwk  fk  1 jJ     j  J  





 fk n j   n j  S k     k wk   k wk    f k  f k  1 jJ     jJ  

TI 2001 Penelitian Operasional I

(mixed cut)

69

Contoh Penerapan Mixed Algorithm (1) Maksimasi : Z = 7x1 + 9x2 dengan pembatas-pembatas: –x1 + 3x2  6 7x1 + x2  35 x1 ≥ 0 dan bilangan bulat x2 ≥ 0

TI 2001 Penelitian Operasional I

70

Contoh Penerapan Mixed Algorithm (2)

Tabel optimal kontinyu: Basis

x1

x2

x3

x4

Solusi

x2

0

1

7/22

1/22

7/2

x1

1

0

-1/22

3/22

9/2

cj – zj

0

0

-28/11

-15/11

Z = 63

TI 2001 Penelitian Operasional I

71

Contoh Penerapan Mixed Algorithm (3) Baris sumber  persamaan-x1 1 3 1  x1  x3  x4   4   22 22 2 

J   3, J   4,

f1  12

Mixed cut:

 12  1  1  3    S1    x4   1    x3   2  22   2  1  22  1 3 1 S1  x3  x4   22 22 2 TI 2001 Penelitian Operasional I

72

Contoh Penerapan Mixed Algorithm (4)

Tabel setelah penambahan mixed cut

Basis

x1

x2

x3

x4

S1

Solusi

x2

0

1

7/22

1/22

0

7/2

x1

1

0

-1/22

3/22

0

9/2

S1

0

0

-1/22

-3/22

1

-1/2

cj – zj

0

0

-28/11 -15/11

0

TI 2001 Penelitian Operasional I

73

Contoh Penerapan Mixed Algorithm (5) Tabel yang diperoleh dengan dual simplex: Basis

x1

x2

x3

x4

S1

Solusi

x2

0

1

10/33

0

-1/3

10/3

x1

1

0

-1/11

0

1

4

x4

0

0

1/3

1

-22/3

11/3

cj – zj

0

0

-23/11

-10

0

Z= 58

Solusi optimal, x1 = 4, x2 = 10/3; Z = 58 TI 2001 Penelitian Operasional I

74

Algoritma Branch-and-Bound (1) • Metode yang paling banyak digunakan dalam praktek untuk memecahkan masalah pemrograman bilangan bulat baik murni maupun campuran. • Digunakan sebagian besar software komersial • Pada dasarnya merupakan prosedur enumerasi yang efisien untuk memeriksa semua solusi layak yang mungkin. TI 2001 Penelitian Operasional I

75

Algoritma Branch-and-Bound (2) • Algoritma BB untuk PLBB (Murni & Campuran) • Algoritma BB untuk PLBB Biner

TI 2001 Penelitian Operasional I

76

Algoritma BB untuk PLBB (1)

Misalkan diberikan suatu masalah pemrograman bilangan bulat sebagai berikut:

Maksimasi Z = cx dengan pembatas Ax = b x0 xj bilangan bulat untuk j  I dimana I adalah himpunan variabel bilangan bulat TI 2001 Penelitian Operasional I

77

Algoritma BB untuk PLBB (2) • Langkah pertama adalah memecahkan masalah PLBB sebagai PL dengan mengabaikan pembatas bilangan bulat (langkah ini disebut langkah bounding) • Misalkan masalah PL ini dinyatakan sebagai PL-1 dan mempunyai nilai optimal dg. nilai fungsi tujuan Z1. PL-1 Maksimasi Z = cx dengan pembatas Ax = b x0 TI 2001 Penelitian Operasional I

78

Algoritma BB untuk PLBB (3) • Asumsikan bahwa solusi optimal dari PL-1 mengandung beberapa variabel yg.seharusnya bernilai bulat tetapi nilai optimum kontinu saat ini adalah pecahan. • Oleh karena solusi optimal bilangan bulat untuk PLBB belum diperoleh, Z1 menjadi batas atas (upper bound) dari nilai maksimum Z untuk PLBB. • Langkah berikutnya adalah membagi daerah layak dari PL-1 dengan mencabangkan (branching) salah satu variabel bilangan bulat yang nilainya saat ini pecahan TI 2001 Penelitian Operasional I

79

Algoritma BB untuk PLBB (4) • Misalkan variabel xj dipilih untuk dicabangkan dengan nilai pecahan j dalam PL-1. • Misalkan dibuat dua masalah pemrograman linier baru, PL-2 dan PL-3 dengan memasukkan masing-masing pembatas baru xj  [] dan xj  []+1

TI 2001 Penelitian Operasional I

80

Algoritma BB untuk PLBB (5) PL-2

PL-3

Maksimasi Z = cx dengan pembatas Ax = b xj  [] x0

Maksimasi Z = cx dengan pembatas Ax = b xj  []+1 x0

TI 2001 Penelitian Operasional I

81

Algoritma BB untuk PLBB (6)

PL-1

Solusi pecahan Z1

x j  [ j ] Solusi pecahan PL-2 Z2

x j ≥[ β j ] + 1

PL-3

TI 2001 Penelitian Operasional I

Solusi pecahan Z3

82

Algoritma BB untuk PLBB (7) • Memecahkan (bounding) PL-2 dan PL-3 • Asumsikan solusi PL-2 dan PL-3 masih pecahan • Langkah berikutnya adalah memilih node (masalah PL) yang akan dicabangkan.

TI 2001 Penelitian Operasional I

83

Algoritma BB untuk PLBB (8) • Setelah masalah PL sdh dipilih untuk dicabangkan lebih lanjut, langkah selanjutnya adalah – memilih variabel bilangan bulat dengan nilai pecahan yang akan dicabangkan untuk membentuk 2 masalah PL baru (proses branching) – memecahkan masalah PL yang baru (proses bounding)

• Jika solusi bilangan bulat telah diperoleh dari suatu masalah PL maka nilai Z-nya menjadi batas bawah (lower bound) dari nilai maksimum Z untuk masalah PLBB. TI 2001 Penelitian Operasional I

84

Algoritma BB untuk PLBB (9) • Proses branching dan bounding berlanjut hingga semua node dalam kondisi fathomed. • Fathoming suatu node (masalah PL): – Solusi optimal PL merupakan bilangan bulat – Masalah PL adalah tak layak – Nilai optimal Z dari masalah PL tidak lebih baik daripada • batas bawah (lower bound) saat ini untuk masalah maksimisasi • batas atas (upper bound) saat ini untuk masalah minimisasi

TI 2001 Penelitian Operasional I

85

Algoritma BB untuk PLBB (10) PL-1

Solusi pecahan Z0 = Z1

x j  [ j ]

x j ≥[ β j ] + 1

Solusi pecahan PL-2 Z2

xi  [ i ]

PL-4 Solusi bulat Z4

PL-3

Solusi pecahan Z3

xi ≥ [ βi ] + 1

PL-5 Tidak layak TI 2001 Penelitian Operasional I

86

Algoritma BB untuk PLBB (11) PL-1

Solusi pecahan Z0 = Z1

x j  [ j ]

x j ≥[ β j ] + 1

Solusi pecahan PL-2 Z2

xi  [ i ]

PL-4 Solusi bulat Z4

PL-3 xi ≥ [ βi ] + 1

PL-5 Tidak layak

xk  [  k ]

PL-6

Solusi pecahan Z3 xk ≥ [ βk ] + 1

Solusi pecahan PL-7 Z 7 > Z4

Solusi pecahan Z 6 < Z4

TI 2001 Penelitian Operasional I

87

Algoritma BB untuk PLBB (12) • Esensi dari algoritma BB – Bounding – Branching – Fathoming

TI 2001 Penelitian Operasional I

88

Contoh Penerapan Algoritma BB (1)

Maximasi Z = 2x1 + 3x2 s/t : 5x1 + 7x2  35 4x1 + 9x2  36 x1, x2 ≥ 0 dan bilangan bulat

TI 2001 Penelitian Operasional I

89

PL1 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: X 5x1 + 7x2  35 4x1 + 9x2  36 5 x1 , x2 ≥ 0 4

2

12 x1  3 17 , x2  2 176

Z  14 178 Feasible Solution Area 0

TI 2001 Penelitian Operasional I

7

X1

9

90

Solusi Grafis (Kontinyu) X2 5 4

0

7

TI 2001 Penelitian Operasional I

9

X1

91

Contoh Penerapan Algoritma BB (2) 12 x1  3 17 , x2  2 176

Z  14 178

PL-1

TI 2001 Penelitian Operasional I

92

PL2 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: X2 5x1 + 7x2  35 4x1 + 9x2  36 5 x2 < 2 4 x1 , x2 ≥ 0

x1  4 15 , x2  2 Z  14 52 Feasible Solution Area

0

TI 2001 Penelitian Operasional I

7

X1

9

93

PL3 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: X 5x1 + 7x2  35 4x1 + 9x2  36 5 x2 > 3 4 x1 , x2 ≥ 0

2

Feasible Solution Area

x1  2 14 , x2  3 Z  13 12

0

TI 2001 Penelitian Operasional I

7

9

X1

94

Contoh Penerapan Algoritma BB (3) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-1

PL-2

x2  3

x1  2 14 , x2  3

PL-3

TI 2001 Penelitian Operasional I

Z  13 12

95

PL4 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: 5x1 + 7x2  35 4x1 + 9x2  36 x2 < 2 x1 < 4 x1 , x2 ≥ 0

X2 5 4 x1  4, x2  2 Z  14

Feasible Solution Area 0

TI 2001 Penelitian Operasional I

7

9

X1

96

PL5 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: 5x1 + 7x2  35 X 4x1 + 9x2  36 5 x2 < 2 4 x1 > 5 x1 , x2 ≥ 0

2

x1  5, x2  1 73 Z  14 72 0

TI 2001 Penelitian Operasional I

FSA 7

9

X1

97

Contoh Penerapan Algoritma BB (4) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-2

x1  4 PL-4 x1  4, x2  2 Z  14

PL-1

x2  3

x1  2 14 , x2  3

PL-3

Z  13 12

x1  5 PL-5 x1  5, x2  1 73 Z  14 72

TI 2001 Penelitian Operasional I

98

Contoh Penerapan Algoritma BB (5) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-2

x1  4 PL-4 x1  4, x2  2 Z  14

PL-1

x2  3

x1  2 14 , x2  3

PL-3

Z  13 12

x1  5 PL-5 x1  5, x2  1 73 Z  14 72

TI 2001 Penelitian Operasional I

99

Contoh Penerapan Algoritma BB (6) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-2

x1  4 PL-4 x1  4, x2  2 Z  14

PL-1

x2  3

x1  2 14 , x2  3

PL-3

Z  13 12

x1  5 PL-5 x1  5, x2  1 73 Z  14 72

TI 2001 Penelitian Operasional I

100

Contoh Penerapan Algoritma BB (7) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-2

x1  4 PL-4

x2  3

x1  2 14 , x2  3

PL-3

Z  13 12

x1  5 PL-5

x1  4, x2  2 Z  14

PL-1

x1  5, x2  1

3 7

Z  14 2

7 perbedaan Fathomed karena nilai Z dengan lower bound < 1 dan semua koefisien fungsi tujuan adalah bulat

TI 2001 Penelitian Operasional I

Solusi bilangan bulat optimal x1 = 4, x2 = 2 Z = 14 101

Solusi Optimal X2 5 4 x1  4, x2  2 Z  14

0

7

TI 2001 Penelitian Operasional I

9

X1

102

Contoh Penerapan Algoritma BB (8) 12 x1  3 17 , x2  2 176

Jika pencabangannya dipilih dari PL-3 (bukan dari PL-2)

Z  14 178

PL-1

TI 2001 Penelitian Operasional I

103

Contoh Penerapan Algoritma BB (9) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-1

PL-2

x2  3

x1  2 14 , x2  3

PL-3

TI 2001 Penelitian Operasional I

Z  13 12

104

Contoh Penerapan Algoritma BB (10) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-1

x2  3

PL-2

x1  2 14 , x2  3

PL-3 x1  2, x2  3 Z  13 13

1 9

x1  2 PL-4

Z  13 12

x1  3 PL-5 Tidak layak

TI 2001 Penelitian Operasional I

105

Contoh Penerapan Algoritma BB (11) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-1

x2  3

PL-2

x1  2 14 , x2  3

PL-3 x1  2, x2  3 Z  13 13

1 9

x1  2 PL-4

Z  13 12

x1  3 PL-5 Tidak layak

TI 2001 Penelitian Operasional I

106

Contoh Penerapan Algoritma BB (12) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-1

x2  3

x1  2 14 , x2  3

PL-2

PL-3 x1  2, x2  3

1 9

Z  13 13

x1  2, x2  3 Z  13

x1  2

Z  13 12

x1  3

PL-4

PL-5

x2  3

x2  4

PL-6

PL-7 x  0, x  4 1 2

Tidak layak

Z  12

TI 2001 Penelitian Operasional I

107

Contoh Penerapan Algoritma BB (13) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-1

x2  3

x1  2 14 , x2  3

PL-2

PL-3 x1  2, x2  3

1 9

Z  13 13

x1  2, x2  3 Z  13

x1  2

Z  13 12

x1  3

PL-4

PL-5

x2  3

x2  4

PL-6

PL-7 x  0, x  4 1 2

Tidak layak

Z  12

TI 2001 Penelitian Operasional I

108

Contoh Penerapan Algoritma BB (14) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

PL-1

x2  3

x1  2 14 , x2  3

PL-2

PL-3 x1  2, x2  3

1 9

Z  13 13

x1  2, x2  3 Z  13

x1  2

Z  13 12

x1  3

PL-4

PL-5

x2  3

x2  4

PL-6

PL-7 x  0, x  4 1 2

Tidak layak

Z  12

TI 2001 Penelitian Operasional I

109

Contoh Penerapan Algoritma BB (15) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

x2  3

x1  2 14 , x2  3

PL-2

x1  4 PL-8 x1  4, x2  2 Z  14

PL-1

PL-3

x1  5 PL-9

x1  2, x2  3 Z  13 13

x1  5, x2  1 73 Z  14 72

1 9

x1  2, x2  3 Z  13

x1  2

Z  13 12

x1  3

PL-4

PL-5

x2  3

x2  4

PL-6

PL-7 x  0, x  4 1 2

Tidak layak

Z  12

TI 2001 Penelitian Operasional I

110

Contoh Penerapan Algoritma BB (16) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

x2  3

x1  2 14 , x2  3

PL-2

x1  4 PL-8 x1  4, x2  2 Z  14

PL-1

PL-3

x1  5 PL-9

x1  2, x2  3 Z  13 13

x1  5, x2  1 73 Z  14 72

1 9

x1  2, x2  3 Z  13

x1  2

Z  13 12

x1  3

PL-4

PL-5

x2  3

x2  4

PL-6

PL-7 x  0, x  4 1 2

Tidak layak

Z  12

TI 2001 Penelitian Operasional I

111

Contoh Penerapan Algoritma BB (17) 12 x1  3 17 , x2  2 176

Z  14 178

x2  2

x1  4 , x2  2 1 5

Z  14 52

x2  3

x1  2 14 , x2  3

PL-2

x1  4 PL-8

PL-3

x1  5

x1  2, x2  3 19 Z  13 13

PL-9

x1  4, x2  2 Z  14

PL-1

x1  5, x2  1 73 Z  14 72

Fathomed karena perbedaan nilai Z dengan lower bound < 1 dan semua koefisien fungsi tujuan adalah bulat

x1  2, x2  3 Z  13

x1  2

Z  13 12

x1  3

PL-4

PL-5

x2  3

x2  4

PL-6

PL-7 x  0, x  4 1 2

TI 2001 Penelitian Operasional I

Tidak layak

Z  12

112

Aturan Pencabangan (1) • Aturan-aturan pencabangan variabel adalah sebagai berikut: – Pilih variabel bilangan bulat yang mempunyai nilai pecahan terbesar dalam solusi PL. – Pilih variabel bilangan bulat yang mempunyai prioritas paling tinggi. • Menunjukkan keputusan yang terpenting dalam model • Mempunyai koefisien profit/biaya paling besar • Mempunyai nilai yang kritis yang didasarkan pengalaman pengguna

– Aturan pemilihan bebas, misal, pilih variabel bilangan bulat dengan indeks paling kecil TI 2001 Penelitian Operasional I

113

Aturan Pencabangan (2) • Aturan penentuan masalah PL yang hendak dicabangkan: – Nilai optimal dari fungsi tujuan – LIFO (Last-In First-Out), yaitu masalah PL yang dipecahkan paling belakangan.

TI 2001 Penelitian Operasional I

114

Contoh Algoritma BB untuk PLBB Biner (1)

Maximasi Z = 9x1 + 5x2 + 6x3 + 4x4 dengan pembatas-pembatas: 6x1 + 3x2 + 5x3 + 2x4  10 x3 + x4  1 -x1 + x3 + 0 -x2 + x4 0 x1, x2, x3, x4 = {0, 1}

TI 2001 Penelitian Operasional I

115

Contoh Algoritma BB untuk PLBB Biner (2) ( x1 , x2 , x3 , x4 ; Z )

PL-1

56 ,1,0,1;16 12 

TI 2001 Penelitian Operasional I

116

Contoh Algoritma BB untuk PLBB Biner (3) ( x1 , x2 , x3 , x4 ; Z )

PL-1

x1  0

0,1,0,1;9

56 ,1,0,1;16 12  x1  1

PL-2

PL-3

TI 2001 Penelitian Operasional I

1, 54 ,0, 54 ;16 15 

117

Contoh Algoritma BB untuk PLBB Biner (4) ( x1 , x2 , x3 , x4 ; Z )

PL-1

x1  0

0,1,0,1;9

56 ,1,0,1;16 12  x1  1

PL-2

PL-3

TI 2001 Penelitian Operasional I

1, 54 ,0, 54 ;16 15 

118

Contoh Algoritma BB untuk PLBB Biner (5) ( x1 , x2 , x3 , x4 ; Z )

PL-1

x1  0

0,1,0,1;9

56 ,1,0,1;16 12  x1  1

PL-2

PL-3

x2  0

1,0, 54 ,0;13 54 

PL-4

TI 2001 Penelitian Operasional I

1, 54 ,0, 54 ;16 15  x2  1

1,1,0, 12 ;16

PL-5

119

Contoh Algoritma BB untuk PLBB Biner (6) ( x1 , x2 , x3 , x4 ; Z )

PL-1

x1  0

0,1,0,1;9

56 ,1,0,1;16 12  x1  1

PL-2

PL-3

1, 54 ,0, 54 ;16 15 

x2  0

1,0, 54 ,0;13 54 

x2  1

PL-4

PL-5

x3  0

1,1,0, 12 ;16

1,1,0, 12 ;16

PL-6

x3  1 PL-7 Tidak layak

TI 2001 Penelitian Operasional I

120

Contoh Algoritma BB untuk PLBB Biner (7) ( x1 , x2 , x3 , x4 ; Z )

PL-1

x1  0

0,1,0,1;9

56 ,1,0,1;16 12  x1  1

PL-2

PL-3

1, 54 ,0, 54 ;16 15 

x2  0

1,0, 54 ,0;13 54 

x2  1

PL-4

1,1,0, 12 ;16

PL-5

x3  0

1,1,0, 12 ;16 1,1,0,0;14

x3  1

PL-6

PL-7

x4  0

x4  1

PL-8

PL-9

TI 2001 Penelitian Operasional I

Tidak layak

Tidak layak

121

Contoh Algoritma BB untuk PLBB Biner (8) ( x1 , x2 , x3 , x4 ; Z )

PL-1

x1  0

0,1,0,1;9

56 ,1,0,1;16 12  x1  1

PL-2

PL-3

1, 54 ,0, 54 ;16 15 

x2  0

1,0, 54 ,0;13 54 

x2  1

PL-4

1,1,0, 12 ;16

PL-5

x3  0

1,1,0, 12 ;16 1,1,0,0;14

x3  1

PL-6

PL-7

x4  0

x4  1

PL-8

PL-9

TI 2001 Penelitian Operasional I

Tidak layak

Tidak layak

122

Contoh Algoritma BB untuk PLBB Biner (9) ( x1 , x2 , x3 , x4 ; Z )

PL-1

x1  0

0,1,0,1;9

56 ,1,0,1;16 12  x1  1

PL-2

PL-3

1, 54 ,0, 54 ;16 15 

x2  0

1,0, 54 ,0;13 54 

x2  1

PL-4

1,1,0, 12 ;16

PL-5

x3  0

1,1,0, 12 ;16 1,1,0,0;14

x3  1

PL-6

PL-7

x4  0

x4  1

PL-8

PL-9

TI 2001 Penelitian Operasional I

Tidak layak

Tidak layak

123

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF