• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
123
0
0

Teks penuh

(1)

TI 2001 Penelitian Operasional I 1

Pemrograman Bilangan Bulat

(Integer Programming)

(2)

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)

(3)

TI 2001 Penelitian Operasional I 3

Pengantar Pemrograman Bilangan

(4)

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

(5)

TI 2001 Penelitian Operasional I 5

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

,

(6)

Fungsi Variabel Biner

• Penangangan pembatas

either-or

• Penanganan nilai lebih dari satu yang mungkin

dari suatu pembatas

• Representasi bentuk lain dari variabel bilangan

bulat

(7)

TI 2001 Penelitian Operasional I 7

Pembatas

Either-Or

18

2

3

x

1

x

2

16

4

2 1

x

x

18 2 3x1x2M x x  2 18 3 1 2 16 4 2 1  xx dan dan My x x  2 18 3 1 2 ) 1 ( 16 4 2 1 x M y x     atau PL format: atau M x x1  4 2 16 bila y = 0

 

0,1  y bila y = 1

(8)

Fungsi dengan

N

Nilai yang Mungkin (1)

x x xn

d d dN

f 1, 2,,  1 atau 2 atau atau

  N i i i n d y x x x f 1 2 1, ,, Perumusan PLBB: 1 1 

N i i y

 

i N yi  0,1 , 1,2,,

(9)

TI 2001 Penelitian Operasional I 9

Fungsi dengan

N

Nilai yang Mungkin (2)

3 2 1 2 1 2 6 12 18 3xxyyy

maka perumusan PLBB-nya adalah :

1 3 2 1  yyy

 

0,1 , 1,2,3  i yi

(10)

Representasi Biner untuk

Variabel Bilangan Bulat (1)

u

x

0

dimana

2

N

u

2

N1 Representasi biner:

N i i i

y

x

0

2

 

i

N

y

i

0

,

1

,

0

,

1

,

2

,

,

(11)

TI 2001 Penelitian Operasional I 11

Representasi Biner untuk

Variabel Bilangan Bulat (2)

5

1

x

Representasi biner:

5

4

2

1 2 0

y

y

y

 

0

,

1

,

0

,

1

,

2

i

y

i

30

3

2

x

1

x

2

2

4

 

3

2

4

8

30

2

y

0

y

1

y

2

w

0

w

1

w

2

w

3

u untuk x1 = 5  22  5  23 u untuk x2 = 10  23  10  24

 

0

,

1

,

0

,

1

,

2

,

3

i

w

i x1, x2 bil. bulat

(12)

Beberapa Contoh Model Pemrograman

(13)

TI 2001 Penelitian Operasional I 13

Beberapa Contoh Model-model Pemrograman

Bilangan Bulat

Fixed charge problem

Knapsack problem

Set covering problem

Set Partitioning Problem

Traveling salesman problem

(14)

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)

(15)

TI 2001 Penelitian Operasional I 15

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

(16)

Fixed Charge Problem

(3)

     n j j j j j n j j jx K y c x p Z 1 1 Maksimasi dengan pembatas-pembatas: m i b x a i n j j ij , 1, , 1   

n j My xjj, 1,, n j xj  0, 1,,

 

j n yj  0,1 , 1,...,

(17)

TI 2001 Penelitian Operasional I 17

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 :

(18)

Knapsack Problem

(2)

n j j j

x

v

Z

1 Maksimasi dengan pembatas-pembatas:

W

x

w

n j j j

1

bulat

bilangan

dan

0

j

x

(19)

TI 2001 Penelitian Operasional I 19

Set Covering Problem

(1)

Jalan C Jalan D Jalan B Jalan A Jalan E Jal an G Jal an K Jal an J Jal an I Jal an H 1 2 6 7 4 8 5 3

Contoh masalah set covering problem dalam menentukan lokasi pendirian pos siskamling

(20)

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)

(21)

TI 2001 Penelitian Operasional I 21

Set covering problem

(3)

n j j j

x

c

Z

1 Minimasi dengan pembatas-pembatas:

m

i

x

a

n j j ij

1

,

1

,...,

1

 

j

n

x

j

0

,

1

,

1

,...,

(22)

Set Partitioning Problem

n j j j

x

c

Z

1 Minimasi dengan pembatas-pembatas:

m

i

x

a

n j j ij

1

,

1

,...,

1

 

j

n

x

j

0

,

1

,

1

,...,

Tiap jalan tepat dilayani oleh satu pos

(23)

TI 2001 Penelitian Operasional I 23

Traveling Salesman Problem

(1)

1 2 3 4 5 5 6 3 4 3 8 2 6 1 7 (jarak)

(24)

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

(25)

TI 2001 Penelitian Operasional I 25

Traveling Salesman Problem

(3)



   n j n j ij ijx c Z 1 1 Minimasi dengan pembatas-pembatas: n i x n j ij 1, 1, , 1   

n j x n i ij 1, 1, , 1   

j i n j n i n nx u uijij  1,  2,, ;  2,, ; 

 

i n j n xij  0,1 , 1,, ; 1, n i ui  0, 1,..., Subtour breaking constraint

(26)

Traveling Salesman Problem

(4)

1 2 3 4 5 Subtour

Subtour breaking constraint bertujuan untuk mengeliminasi terjadinya solusi subtour

(27)

TI 2001 Penelitian Operasional I 27

Traveling Salesman Problem

(5)

1 2 3 4 5 Tour

Suatu solusi traveling salesman problem yang layak (terbentuknya suatu tour).

(28)

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)

(29)

TI 2001 Penelitian Operasional I 29

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

3 1 4 5 2

p3 p1 p4 p5 p2

(30)

Job Scheduling Problem

(3)

  n j j jC w Z 1 Minimasi dengan pembatas-pembatas: n i p Cjj, 1,,

y

p i n j n i j M C Cji  1 iji, 1,, ; 1, ,  n i Cj  0, 1,..., j i n j n i p My C Cijijj, 1,, ; 1, ; 

 

i n j n yij  0,1 , 1,..., , 1, n i p C Bjjj, 1,, Disjunctive constraint (Either-or constraint)

(31)

TI 2001 Penelitian Operasional I 31

Metode Pemecahan Model

(32)

Metode Pemecahan Model Pemrograman

Bilangan Bulat

Cutting method

Cutting Plane

Search method

(33)

TI 2001 Penelitian Operasional I 33

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)

(34)

Ilustrasi Suatu Masalah PLBB

Maximasi : Z = 7x1 + 9x2

s/t : –x1 + 3x2  6 7x1 + x2  35

(35)

TI 2001 Penelitian Operasional I 35

Daerah layak

x2

(36)

TI 2001 Penelitian Operasional I 36

Solusi Optimal Kontinyu

(dengan mengabaikan kondisi integralitas)

x2 x1

21

2 1 2 1, ) 4 ,3 (x x  63  Z

(37)

TI 2001 Penelitian Operasional I 37

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

.

(38)

Penambahan Pembatas Sekunder

x2 x1 secondary constraint

 

4 3 2 1, ) , (x x  55  Z

(39)

TI 2001 Penelitian Operasional I 39

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.

• Pada awalnya, masalah PILP dipecahkan sebagai PL

reguler, yaitu dengan mengabaikan persyaratan bilangan bulat (= PL relaksasi).

2 13 3 1 2 1  xx

6

x

1

2

x

2

39

(40)

Fractional Algorithm

(2)

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 0 0 0 0 j c c1 cj cn

(41)

TI 2001 Penelitian Operasional I 41

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

bulat bilangan bukan , i 1

   n j j j i i i w x (baris sumber)

(42)

Fractional Algorithm

(4)

Misal:

i

 

i

f

i

 

ij j i j i

f

dimana :

N = [a] adalah bilangan bulat terbesar sehingga N a

0 < fi < 1 0  fij < 1

(43)

TI 2001 Penelitian Operasional I 43

Fractional Algorithm

(5)

Dari baris sumber diperoleh:

 

 

      n j j j i i i n j i ij i f w x w f 1 1  

Agar semua xi dan wj adalah bilangan bulat,

maka ruas kanan dari persamaan harus bilangan bulat

 Akibatnya, ruas kiri harus bilangan bulat

bulat bilangan bukan , i 1

   n j j j i i i w x

 

f } {

 

f }w ; bukanbilangan bulat { x i n j j ij j i i i i

     1

(44)

Fractional Algorithm

(6)

Karena fij  0 dan wj  0 untuk semua i dan j maka

0

1

n j j ij

w

f

Akibatnya i n j j ij i

f

w

f

f

1

(45)

TI 2001 Penelitian Operasional I 45

Fractional Algorithm

(7)

1

1

n j j ij i

f

w

f

Karena fi < 1 maka

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

0

1

n j j ij i

f

w

f

(46)

Fractional Algorithm

(8)

Pertidaksamaan terakhir dapat dijadikan sebagai pembatas dalam bentuk: i n j j ij i f w f S

 1 (fractional cut) 0 1   

i n j j ij i f w S f

(47)

TI 2001 Penelitian Operasional I 47

Fractional Algorithm

(9)

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 -f ij -fim 1 -fi 0 0 0 0 0 j c c1 cj cn

(48)

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.

(49)

TI 2001 Penelitian Operasional I 49

Fractional Algorithm

(11)

i n j j ij

w

f

f

1 k n j j kj

w

f

f

1

Cut (1) dikatakan lebih kuat dari cut (2) jika

fifk dan fijfkj untuk semua j dengan strict inequality

terpenuhi paling sedikit satu Kekuatan fractional cut

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

(50)

Fractional Algorithm

(12)

Aturan :

 

i i

f

max





n j ij i i

f

f

1

max

(51)

TI 2001 Penelitian Operasional I 51

Contoh Penerapan

Fractional Algorithm

(1)

Maximasi Z = 7x1 + 9x2

s/t :

x1 + 3x2  6 7x1 + x2  35

(52)

Contoh Penerapan

Fractional Algorithm

(2)

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

cjzj 0 0 -28/11 -15/11 Z = 63 Tabel optimal kontinyu

(53)

TI 2001 Penelitian Operasional I 53

Contoh Penerapan

Fractional Algorithm

(3)

2 7 22 1 22 7 4 3 2  xxx                         2 1 3 22 1 0 22 7 0 3 4 2 x x x 2 1 22 1 22 7 4 3 1  xx   S Fractional cut:

(54)

Contoh Penerapan

Fractional Algorithm

(4)

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 cjzj 0 0 -28/11 -15/11 0 Tabel setelah penambahan fractional cut

(55)

TI 2001 Penelitian Operasional I 55

Contoh Penerapan

Fractional Algorithm

(5)

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

cjzj 0 0 0 -1 -8 Z = 59 Tabel yang diperoleh dengan dual simplex:

(56)

Contoh Penerapan

Fractional Algorithm

(6)

7 4 4 7 1 7 1 1 4 1  xSx                        7 4 4 7 6 1 7 1 0 4 1 1 x S x 7 4 7 6 7 1 1 4 2  xS   S Fractional cut:

(57)

TI 2001 Penelitian Operasional I 57

Contoh Penerapan

Fractional Algorithm

(7)

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 cjzj 0 0 0 -1 -8 0

(58)

Contoh Penerapan

Fractional Algorithm

(8)

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 cjzj 0 0 0 -2 -7 0 Z = 55

Solusi bilangan bulat optimal, x1 = 4, x2 = 3; Z = 55 Tabel yang diperoleh dengan dual simplex:

(59)

TI 2001 Penelitian Operasional I 59 2 1 22 1 22 7 4 3 1  xx   S

Ilustrasi

Fractional Cut

secara Grafis (1)

2 1 7 35 22 1 3 6 22 7 2 1 2 1 1   xx   xx   S 3 2 1  xS 3 2  x Fractional cut 1:

(60)

Ilustrasi

Fractional Cut

secara Grafis (2)

x2 x1 3 2  x Dg.fractional cut 1, solusi optimal integer belum diperoleh

(61)

TI 2001 Penelitian Operasional I 61 7 4 7 6 7 1 1 4 2  xS   S

Ilustrasi

Fractional Cut

secara Grafis (3)

 

7 4 3 7 6 7 35 7 1 2 2 1 2   xx   x   S 7 2 1 2  xxS 7 2 1  xx Fractional cut 2:

(62)

Ilustrasi

Fractional Cut

secara Grafis (4)

x2 x1 3 2  x 7 2 1  xx Dg.ditambah fractional cut 2, diperoleh solusi optimal integer

(63)

TI 2001 Penelitian Operasional I 63

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.

(64)

Mixed Algorithm

(3)

Maximasi Z = 7x1 + 9x2

s/t :

x1 + 3x2  6 7x1 + x2  35

x1 ≥ 0 dan bilangan bulat

(65)

TI 2001 Penelitian Operasional I 65

Mixed Algorithm

(3)

   n j j j k k k w x 1  

Misal xk adalah variabel bilangan bulat dari masalah MILP.

Persamaan-xk dalam solusi kontinyu optimal:

 

    n j j j k k k k f w x 1  

 

    n j j j k k k k f w x 1   (baris sumber)

(66)

Mixed Algorithm

(4)

Untuk xk adalah bilangan bulat, maka

 

atau

 

1

k k k k

x

x

harus dipenuhi k n j k j k

w

f

1

Dari baris sumber :

1

1

k n j k j k

w

f

(1) (2) kondisi 1) :

 

    n j j j k k k k f w x 1     

n j j j k k α w f 1 0 ekivalen dengan :

 

k k

β

x

2) :

x

k

 

β

k

1

ekivalen dengan :   

n j j j k k α w f 1 1

(67)

TI 2001 Penelitian Operasional I 67

Mixed Algorithm

(5)

Misal : J+ = himpunan subscripts j untuk

kj  0 J- = himpunan subscripts j untuk

kj < 0 Dari (1) diperoleh : k n J j k j k

w

f

 

k n J j k j k k k

w

f

f

f

1

(3) (4)

1

1

k n j k j k

w

f

 1   k n J j k j kw f α

(68)

Mixed Algorithm

(6)

Karena (1) dan (2) tidak dapat terjadi secara simultan, maka : k n J j k j k k k n J j k j k α w f f f w α           

   1 k n J j k j k

w

f

 

(3) dan k n J j k j k k k

f

w

f

f

1

(4)

(69)

TI 2001 Penelitian Operasional I 69

Mixed Algorithm

(6)

k n J j k j k k k n J j k j k k

w

f

f

f

w

S





 

1

(mixed cut) k k n J j k j k k k n J j k j k α w S f f f w α            

   1

(70)

Contoh Penerapan

Mixed Algorithm

(1)

Maksimasi : Z = 7x1 + 9x2

dengan pembatas-pembatas: –x1 + 3x2  6

7x1 + x2  35

x1 ≥ 0 dan bilangan bulat

(71)

TI 2001 Penelitian Operasional I 71

Contoh Penerapan

Mixed Algorithm

(2)

Basis x1 x2 x3 x4 Solusi

x2 0 1 7/22 1/22 7/2

x1 1 0 -1/22 3/22 9/2

cjzj 0 0 -28/11 -15/11 Z = 63 Tabel optimal kontinyu:

(72)

Contoh Penerapan

Mixed Algorithm

(3)

          2 1 4 22 3 22 1 4 3 1 x x x 2 1 22 1 1 22 3 3 2 1 2 1 4 1                        x x S 2 1 22 3 22 1 4 3 1  xx   S Mixed cut:

Baris sumber  persamaan-x1

 

 

21 1 , 4 , 3      f J J

(73)

TI 2001 Penelitian Operasional I 73

Contoh Penerapan

Mixed Algorithm

(4)

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

cjzj 0 0 -28/11 -15/11 0 Tabel setelah penambahan mixed cut

(74)

Contoh Penerapan

Mixed Algorithm

(5)

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 cjzj 0 0 -23/11 -10 0 Z= 58 Tabel yang diperoleh dengan dual simplex:

(75)

TI 2001 Penelitian Operasional I 75

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.

(76)

Algoritma

Branch-and-Bound

(2)

• Algoritma BB untuk PLBB (Murni &

Campuran)

(77)

TI 2001 Penelitian Operasional I 77

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

(78)

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

(79)

TI 2001 Penelitian Operasional I 79

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

(80)

Algoritma BB untuk PLBB (4)

• Misalkan variabel

x

j

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

(81)

TI 2001 Penelitian Operasional I 81

Algoritma BB untuk PLBB (5)

Maksimasi Z = cx dengan pembatas Ax = b xj  [

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

]+1 x 0 PL-2 PL-3

(82)

Algoritma BB untuk PLBB (6)

PL-1 PL-2 PL-3 Solusi pecahan Z1 Solusi pecahan Z2 ] [ j j x   xj[βj]+1 Solusi pecahan Z3

(83)

TI 2001 Penelitian Operasional I 83

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

(84)

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.

(85)

TI 2001 Penelitian Operasional I 85

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

(86)

Algoritma BB untuk PLBB (10)

PL-1 PL-2 PL-3 Solusi pecahan Z0 = Z1 Solusi pecahan Z2 ] [ j j x   xj[βj]+1 Solusi pecahan Z3 PL-4 PL-5 Tidak layak Solusi bulat Z4 ] [ i i x   xi ≥[βi]+1

(87)

TI 2001 Penelitian Operasional I 87

Algoritma BB untuk PLBB (11)

PL-1 PL-2 PL-4 PL-5 PL-3 PL-6 PL-7 Solusi pecahan Z0 = Z1 Solusi pecahan Z2 Tidak layak Solusi bulat Z4 Solusi pecahan Z6 < Z4 ] [ j j x   ] [ i i x   xk [k] Solusi pecahan Z3 Solusi pecahan Z7 >Z4 1 β +[ j] j x 1 β ≥[ k]+ k x 1 β ≥[ i]+ i x

(88)

Algoritma BB untuk PLBB (12)

• Esensi dari algoritma BB

Bounding

Branching

(89)

TI 2001 Penelitian Operasional I 89

Contoh Penerapan Algoritma BB (1)

Maximasi Z = 2x1 + 3x2

s/t :

5x1 + 7x2  35 4x1 + 9x2  36

(90)

PL1

Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: 5x1 + 7x2  35 4x1 + 9x2  36 x1, x2 ≥ 0 Feasible Solution Area 7 9 4 5 X1 X2 0 6 12 1 17 2 17 8 17 3 , 2 14 x x Z   

(91)

TI 2001 Penelitian Operasional I 91

Solusi Grafis (Kontinyu)

7 9 4 5 X1 X2 0

(92)

Contoh Penerapan Algoritma BB (2)

PL-1 17 8 17 6 2 17 12 1 14 2 , 3    Z x x

(93)

TI 2001 Penelitian Operasional I 93

PL2

Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: 5x1 + 7x2  35 4x1 + 9x2  36 x2 < 2 x1, x2 ≥ 0 Feasible Solution Area 7 9 4 5 X1 X2 0 1 1 5 2 2 5 4 , 2 14 x x Z   

(94)

PL3

Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: 5x1 + 7x2  35 4x1 + 9x2  36 x2 > 3 x1, x2 ≥ 0 Feasible Solution Area 7 9 4 5 X1 X2 0 1 1 4 2 1 2 2 , 3 13 x x Z   

(95)

TI 2001 Penelitian Operasional I 95

Contoh Penerapan Algoritma BB (3)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x

(96)

PL4

Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: 5x1 + 7x2  35 4x1 + 9x2  36 x2 < 2 x1 < 4 x1, x2 ≥ 0 Feasible Solution Area 7 9 4 5 X1 X2 0 1 4, 2 2 14 x x Z   

(97)

TI 2001 Penelitian Operasional I 97

PL5

FSA 7 9 4 5 X1 X2 0 3 1 2 7 2 7 5, 1 14 x x Z    Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: 5x1 + 7x2  35 4x1 + 9x2  36 x2 < 2 x1 > 5 x1, x2 ≥ 0

(98)

Contoh Penerapan Algoritma BB (4)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-4 PL-5 4 1  x x1  5 14 2 , 4 2 1    Z x x 7 2 7 3 2 1 14 1 , 5    Z x x

(99)

TI 2001 Penelitian Operasional I 99

Contoh Penerapan Algoritma BB (5)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-4 PL-5 4 1  x x1  5 14 2 , 4 2 1    Z x x 7 2 7 3 2 1 14 1 , 5    Z x x

(100)

Contoh Penerapan Algoritma BB (6)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-4 PL-5 4 1  x x1  5 14 2 , 4 2 1    Z x x 7 2 7 3 2 1 14 1 , 5    Z x x

(101)

TI 2001 Penelitian Operasional I 101

Contoh Penerapan Algoritma BB (7)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-4 PL-5 4 1  x x1  5 14 2 , 4 2 1    Z x x 7 2 7 3 2 1 14 1 , 5    Z x x

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

Solusi bilangan bulat optimal

x1 = 4, x2 = 2

(102)

Solusi Optimal

7 9 4 5 X1 X2 0 1 4, 2 2 14 x x Z   

(103)

TI 2001 Penelitian Operasional I 103

Contoh Penerapan Algoritma BB (8)

PL-1 17 8 17 6 2 17 12 1 14 2 , 3    Z x x Jika pencabang- annya dipilih dari PL-3 (bukan dari PL-2)

(104)

Contoh Penerapan Algoritma BB (9)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x

(105)

TI 2001 Penelitian Operasional I 105

Contoh Penerapan Algoritma BB (10)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-5 PL-4 2 1  x x1  3 Tidak layak 3 1 9 1 2 1 13 3 , 2    Z x x

(106)

Contoh Penerapan Algoritma BB (11)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-5 PL-4 2 1  x x1  3 Tidak layak 3 1 9 1 2 1 13 3 , 2    Z x x

(107)

TI 2001 Penelitian Operasional I 107

Contoh Penerapan Algoritma BB (12)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-5 PL-4 2 1  x x1  3 Tidak layak 3 1 9 1 2 1 13 3 , 2    Z x x PL-6 PL-7 13 3 , 2 2 1    Z x x 3 2  x x2  4 12 4 , 0 2 1    Z x x

(108)

Contoh Penerapan Algoritma BB (13)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-5 PL-4 2 1  x x1  3 Tidak layak 3 1 9 1 2 1 13 3 , 2    Z x x PL-6 PL-7 13 3 , 2 2 1    Z x x 3 2  x x2  4 12 4 , 0 2 1    Z x x

(109)

TI 2001 Penelitian Operasional I 109

Contoh Penerapan Algoritma BB (14)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-5 PL-4 2 1  x x1  3 Tidak layak 3 1 9 1 2 1 13 3 , 2    Z x x PL-6 PL-7 13 3 , 2 2 1    Z x x 3 2  x x2  4 12 4 , 0 2 1    Z x x

(110)

Contoh Penerapan Algoritma BB (15)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-5 PL-4 2 1  x x1  3 Tidak layak 3 1 9 1 2 1 13 3 , 2    Z x x PL-6 PL-7 13 3 , 2 2 1    Z x x 3 2  x x2  4 12 4 , 0 2 1    Z x x PL-8 PL-9 4 1  x x1  5 14 2 , 4 2 1    Z x x 7 2 7 3 2 1 14 1 , 5    Z x x

(111)

TI 2001 Penelitian Operasional I 111

Contoh Penerapan Algoritma BB (16)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-5 PL-4 2 1  x x1  3 Tidak layak 3 1 9 1 2 1 13 3 , 2    Z x x PL-6 PL-7 13 3 , 2 2 1    Z x x 3 2  x x2  4 12 4 , 0 2 1    Z x x PL-8 PL-9 4 1  x x1  5 14 2 , 4 2 1    Z x x 7 2 7 3 2 1 14 1 , 5    Z x x

(112)

Contoh Penerapan Algoritma BB (17)

PL-1 PL-2 PL-3 17 8 17 6 2 17 12 1 14 2 , 3    Z x x 2 2  x x2  3 2 1 2 4 1 1 13 3 , 2    Z x x 5 2 2 5 1 1 14 2 , 4    Z x x PL-5 PL-4 2 1  x x1  3 Tidak layak 3 1 9 1 2 1 13 3 , 2    Z x x PL-6 PL-7 13 3 , 2 2 1    Z x x 3 2  x x2  4 12 4 , 0 2 1    Z x x PL-8 PL-9 4 1  x x1  5 14 2 , 4 2 1    Z x x 7 2 7 3 2 1 14 1 , 5    Z x x

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

(113)

TI 2001 Penelitian Operasional I 113

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

(114)

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.

(115)

TI 2001 Penelitian Operasional I 115

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}

(116)

Contoh Algoritma BB untuk PLBB Biner (2)

PL-1 ) ; , , , (x1 x2 x3 x4 Z

2

1 6 5 ,1,0,1;16

(117)

TI 2001 Penelitian Operasional I 117

Contoh Algoritma BB untuk PLBB Biner (3)

PL-1 PL-2 PL-3 ) ; , , , (x1 x2 x3 x4 Z

2

1 6 5 ,1,0,1;16 0 1  x 1 1  x

0,1,0,1;9

1, 54 ,0, 54;16 15

(118)

Contoh Algoritma BB untuk PLBB Biner (4)

PL-1 PL-2 PL-3 ) ; , , , (x1 x2 x3 x4 Z

2

1 6 5 ,1,0,1;16 0 1  x 1 1  x

0,1,0,1;9

1, 54 ,0, 54;16 15

(119)

TI 2001 Penelitian Operasional I 119

Contoh Algoritma BB untuk PLBB Biner (5)

PL-1 PL-2 PL-3 ) ; , , , (x1 x2 x3 x4 Z

2

1 6 5 ,1,0,1;16 0 1  x 1 1  x

0,1,0,1;9

1, 54 ,0, 54;16 15

PL-4 PL-5 0 2  x x2 1

54

5 4 ,0;13 , 0 , 1

16 ; , 0 , 1 , 1 21

(120)

Contoh Algoritma BB untuk PLBB Biner (6)

PL-1 PL-2 PL-3 ) ; , , , (x1 x2 x3 x4 Z

2

1 6 5 ,1,0,1;16 0 1  x 1 1  x

0,1,0,1;9

1, 54 ,0, 54;16 15

PL-4 PL-5 0 2  x x2 1

54

5 4 ,0;13 , 0 , 1

16 ; , 0 , 1 , 1 21 PL-6 PL-7 0 3  x x3 1

1,1,0, 12;16

Tidak layak

(121)

TI 2001 Penelitian Operasional I 121

Contoh Algoritma BB untuk PLBB Biner (7)

PL-1 PL-2 PL-3 ) ; , , , (x1 x2 x3 x4 Z

2

1 6 5 ,1,0,1;16 0 1  x 1 1  x

0,1,0,1;9

1, 54 ,0, 54;16 15

PL-4 PL-5 0 2  x x2 1

54

5 4 ,0;13 , 0 , 1

16 ; , 0 , 1 , 1 21 PL-6 PL-7 0 3  x x3 1

1,1,0, 12;16

Tidak layak PL-8 PL-9

1,1,0,0;14

0 4  x x4 1 Tidak layak

(122)

TI 2001 Penelitian Operasional I 122

Contoh Algoritma BB untuk PLBB Biner (8)

PL-1 PL-2 PL-3 ) ; , , , (x1 x2 x3 x4 Z

2

1 6 5 ,1,0,1;16 0 1  x 1 1  x

0,1,0,1;9

1, 54 ,0, 54;16 15

PL-4 PL-5 0 2  x x2 1

54

5 4 ,0;13 , 0 , 1

16 ; , 0 , 1 , 1 21 PL-6 PL-7 0 3  x x3 1

1,1,0, 12;16

Tidak layak PL-8 PL-9

1,1,0,0;14

0 4  x x4 1 Tidak layak

(123)

TI 2001 Penelitian Operasional I 123

Contoh Algoritma BB untuk PLBB Biner (9)

PL-1 PL-2 PL-3 ) ; , , , (x1 x2 x3 x4 Z

2

1 6 5 ,1,0,1;16 0 1  x 1 1  x

0,1,0,1;9

1, 54 ,0, 54;16 15

PL-4 PL-5 0 2  x x2 1

54

5 4 ,0;13 , 0 , 1

16 ; , 0 , 1 , 1 21 PL-6 PL-7 0 3  x x3 1

1,1,0, 12;16

Tidak layak PL-8 PL-9

1,1,0,0;14

0 4  x x4 1 Tidak layak

Gambar

Ilustrasi Suatu Masalah PLBB
Tabel akhir optimal untuk PL
Tabel setelah penambahan fractional cut
Tabel yang diperoleh dengan dual simplex:
+6

Referensi

Dokumen terkait

HARGA BESARNYA NILAI. JAMINAN

field (motivasi, persepsi, pembelajaran, kepribadian dan sikap) Faktor persepsi memiliki kontribusi terbesar mempengaruhi minat nasabah terhadap Bank Perkreditan Rakyat

“Asuransi atau pertanggungan adalah perjanjian antara 2 (dua) pihak atau lebih, dengan nama pihak penanggung mengikatkan diri kepada tertanggung dengan menerima premi asuransi,

 Artikel memuat masa kekuasaan belanda kedua di Indonesia dikaji secara mendalam skor 4  Artikel memuat masa kekuasaan belanda kedua di Indonesia dikaji cukup mendalam skor 3

Berdasarkan analisis data dan pengujian hipotesis yang telah dilakukan maka dapat ditarik kesimpulan sebagai berikut. Koefisien determinasi atau R square adalah

Gambar.5 distribusi frekuensi tingkat pengetahuan tentang menopause di Dusun Ngepoh Badran Kranggan Temanggunng Jawa Tengah didapatkan hasil tingkat pengetahuan

yang di bebankan pada hak atas tanah sebagaimana dimaksud dalam Undang-undang Nomor 5 Tahun 1960 tentang Peraturan Dasar Pokok-Pokok Agraria, berikut atau tidak berikut benda-benda

Hal ini diperjelas dalam pasal 3 ayat (1) Perturan Kepala Badan Narkotika Nasional Nomor 11 Tahun 2014 tentang Tata Cara Penanganan Tersangka dan/atau Terdakwa