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

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

of 123

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

  • TI 2001 Penelitian Operasional I 1

    Pemrograman Bilangan Bulat

    (Integer Programming)

    Kuliah 10-11

  • TI 2001 Penelitian Operasional I 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)

  • TI 2001 Penelitian Operasional I 3

    Pengantar Pemrograman Bilangan Bulat

  • TI 2001 Penelitian Operasional I 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

    linear programming problem)

  • 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,

    (binary integer linear programming, BILP)

  • TI 2001 Penelitian Operasional I 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

  • TI 2001 Penelitian Operasional I 7

    Pembatas Either-Or

    1823 21 xx

    164 21 xx

    1823 21 xx

    Mxx 1823 21

    164 21 xx

    dan

    dan

    Myxx 1823 21

    )1(164 21 yMxx

    atau

    PL format:

    atau

    Mxx 164 21

    bila y = 0

    10,ybila y = 1

  • TI 2001 Penelitian Operasional I 8

    Fungsi dengan N Nilai yang Mungkin (1)

    Nn dddxxxf atau atau atau ,,, 2121

    N

    i

    iin ydxxxf1

    21 ,,,

    Perumusan PLBB:

    11

    N

    i

    iy

    Niyi ,,2,1 ,1,0

  • TI 2001 Penelitian Operasional I 9

    Fungsi dengan N Nilai yang Mungkin (2)

    32121 1812623 yyyxx

    maka perumusan PLBB-nya adalah :

    1321 yyy

    3,2,1 ,1,0 iyi

    Bila diinginkan : 18atau 12,atau ,6x2x3 21

  • TI 2001 Penelitian Operasional I 10

    Representasi Biner untuk

    Variabel Bilangan Bulat (1)

    ux 0 122 dimana NN u

    Representasi biner:

    N

    i

    i

    i yx0

    2

    Niyi ,,,,,, 210 10

    Batas-batas untuk variabel x:

  • TI 2001 Penelitian Operasional I 11

    Representasi Biner untuk

    Variabel Bilangan Bulat (2)

    51 x

    Representasi biner:

    542 210 yyy

    2,1,0 ,1,0 iyi

    3032 21 xx

    308423422 3210210 wwwwyyy

    u untuk x1 = 5 22 5 23

    u untuk x2 = 10 23 10 24

    3,2,1,0 ,1,0 iwi

    x1, x2 bil. bulat

  • TI 2001 Penelitian Operasional I 12

    Beberapa Contoh Model Pemrograman Bilangan Bulat

  • 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

    Job (Machine) scheduling problem

  • TI 2001 Penelitian Operasional I 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)

    aij = kebutuhan sumber i untuk per unit produk j

  • 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

    yj = 0 jika produk j tidak diproduksi

  • TI 2001 Penelitian Operasional I 16

    Fixed Charge Problem (3)

    n

    j

    jjjj

    n

    j

    jj xcyKxpZ11

    Maksimasi

    dengan pembatas-pembatas:

    mibxa i

    n

    j

    jij ,,1 ,1

    njMyx jj ,,1 ,

    njx j ,,1 ,0

    njy j ,...,1 ,1,0

  • 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 :

    xj = jumlah item yang dimasukkan ke kantong

  • TI 2001 Penelitian Operasional I 18

    Knapsack Problem (2)

    n

    j

    jj xvZ1

    Maksimasi

    dengan pembatas-pembatas:

    Wxwn

    j

    jj 1

    bulatbilangan dan 0jx

  • TI 2001 Penelitian Operasional I 19

    Set Covering Problem (1)

    Jalan C

    Jalan D

    Jalan B Jalan A

    Jalan E

    Jala

    n G

    Jala

    n K

    Ja

    lan

    J

    Jala

    n I

    Ja

    lan H

    1 2

    6 7

    4

    8

    5

    3

    Contoh masalah set covering problem dalam menentukan

    lokasi pendirian pos siskamling

  • TI 2001 Penelitian Operasional I 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)

  • TI 2001 Penelitian Operasional I 21

    Set covering problem (3)

    n

    j

    jj xcZ1

    Minimasi

    dengan pembatas-pembatas:

    mixan

    j

    jij ,...,1 ,11

    njx j ,...,1 ,1,0

  • TI 2001 Penelitian Operasional I 22

    Set Partitioning Problem

    n

    j

    jj xcZ1

    Minimasi

    dengan pembatas-pembatas:

    mixan

    j

    jij ,...,1 ,11

    njx j ,...,1 ,1,0

    Tiap jalan

    tepat dilayani

    oleh satu pos

  • 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)

  • TI 2001 Penelitian Operasional I 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

    xij = 0 jika busur (i, j) tidak dilintas

  • TI 2001 Penelitian Operasional I 25

    Traveling Salesman Problem (3)

    n

    j

    n

    j

    ijij xcZ1 1

    Minimasi

    dengan pembatas-pembatas:

    nixn

    j

    ij ,,1 ,11

    njxn

    i

    ij ,,1 ,11

    jinjninnxuu ijji ;,,2;,,2 ,1

    njnixij ,1;,,1 ,1,0

    niui ,...,1 ,0

    Subtour breaking

    constraint

  • TI 2001 Penelitian Operasional I 26

    Traveling Salesman Problem (4)

    1

    2

    3

    4

    5

    Subtour

    Subtour breaking constraint bertujuan untuk mengeliminasi

    terjadinya solusi subtour

  • 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).

  • TI 2001 Penelitian Operasional I 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)

  • 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

    Suatu solusi (jadwal) pengerjaan job yang layak

  • TI 2001 Penelitian Operasional I 30

    Job Scheduling Problem (3)

    n

    j

    jjCwZ1

    Minimasi

    dengan pembatas-pembatas:

    nipC jj ,,1 ,

    jinjnipyMCC iijij ,,1;,,1 ,1

    niC j ,...,1 ,0

    jinjnipMyCC jijji ;,1;,,1 ,

    njniyij ,1,,...,1 ,1,0

    nipCB jjj ,,1 ,

    Disjunctive constraint

    (Either-or constraint)

  • TI 2001 Penelitian Operasional I 31

    Metode Pemecahan Model Pemrograman Bilangan Bulat

  • TI 2001 Penelitian Operasional I 32

    Metode Pemecahan Model Pemrograman

    Bilangan Bulat

    Cutting method

    Cutting Plane

    Search method

    Branch and Bound

  • 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)

  • TI 2001 Penelitian Operasional I 34

    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 35

    Daerah layak x2

    x1

  • TI 2001 Penelitian Operasional I 36

    Solusi Optimal Kontinyu (dengan mengabaikan kondisi integralitas) x2

    x1

    21

    21

    21 34 ,),( xx

    63Z

  • 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.

  • TI 2001 Penelitian Operasional I 38

    Penambahan Pembatas Sekunder x2

    x1

    secondary constraint

    3421 ,),( xx

    55Z

  • 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

    121 xx 3926 21 xx

  • TI 2001 Penelitian Operasional I 40

    Fractional Algorithm (2)

    Basis x1 xi xm w1 wj wn Solusi

    X1 1 0 0 11 1

    j 1n 1

    Xi 0 1 0 i1 i

    j in i

    xm 0 0 1 m1 m

    j mn m

    0 0 0 0 jc 1c jc

    nc

    Tabel akhir optimal untuk PL

  • 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

    bulatbilangan bukan , i1

    n

    j

    j

    j

    iii wx

    (baris sumber)

  • TI 2001 Penelitian Operasional I 42

    Fractional Algorithm (4)

    Misal: iii f

    ijjiji f

    dimana :

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

    0 < fi < 1

    0 fij < 1

  • TI 2001 Penelitian Operasional I 43

    Fractional Algorithm (5)

    Dari baris sumber diperoleh:

    n

    j

    j

    j

    iii

    n

    j

    iiji wxwff11

    Agar semua xi dan wj adalah bilangan bulat,

    maka ruas kanan dari persamaan harus bilangan bulat

    Akibatnya, ruas kiri harus bilangan bulat

    bulatbilangan bukan , i1

    n

    j

    j

    j

    iii wx

    bulat bilangan bukan ;w}f{}f{x in

    j

    jij

    j

    iiii

    1

  • TI 2001 Penelitian Operasional I 44

    Fractional Algorithm (6)

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

    01

    n

    j

    jijwf

    Akibatnya

    i

    n

    j

    jiji fwff 1

  • TI 2001 Penelitian Operasional I 45

    Fractional Algorithm (7)

    11

    n

    j

    jiji wff

    Karena fi < 1 maka

    Karena ruas kiri harus bilangan bulat, maka syarat perlu

    untuk memenuhi integralitas adalah:

    01

    n

    j

    jiji wff

  • TI 2001 Penelitian Operasional I 46

    Fractional Algorithm (8)

    Pertidaksamaan terakhir dapat dijadikan sebagai pembatas

    dalam bentuk:

    i

    n

    j

    jiji fwfS 1

    (fractional cut)

    0

    1

    i

    n

    j

    jiji Swff

  • TI 2001 Penelitian Operasional I 47

    Fractional Algorithm (9)

    Basis x1 xi xm w1 wj wn Si Solusi

    x1 1 0 0 11 1

    j 1n 0 1

    xi 0 1 0 i1 i

    j in 0 i

    xm 0 0 1 m1 m

    j mn 0 m

    Si 0 0 0 -fi1 -fi

    j -fim 1 -fi

    0 0 0 0 0 jc 1c jc

    nc

    Tabel setelah penambahan fractional cut

  • TI 2001 Penelitian Operasional I 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.

  • TI 2001 Penelitian Operasional I 49

    Fractional Algorithm (11)

    i

    n

    j

    jij fwf 1

    k

    n

    j

    jkj fwf 1

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

    fi fk dan fij fkj untuk semua j dengan strict inequality

    terpenuhi paling sedikit satu

    Kekuatan fractional cut

    ..(1)

    ..(2)

  • TI 2001 Penelitian Operasional I 50

    Fractional Algorithm (12)

    Aturan :

    ii

    fmax

    n

    j

    ij

    i

    i

    f

    f

    1

    max

  • TI 2001 Penelitian Operasional I 51

    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 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

    cj zj 0 0 -28/11 -15/11 Z = 63

    Tabel optimal kontinyu

  • TI 2001 Penelitian Operasional I 53

    Contoh Penerapan Fractional Algorithm (3)

    2

    7

    22

    1

    22

    7432 xxx

    2

    13

    22

    10

    22

    70 432 xxx

    2

    1

    22

    1

    22

    7431 xxS

    Fractional cut:

    Bila baris sumber cut yang diambil adalah persamaan x2

  • TI 2001 Penelitian Operasional I 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

    cj zj 0 0 -28/11 -15/11 0

    Tabel setelah penambahan fractional cut

  • 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

    cj zj 0 0 0 -1 -8 Z = 59

    Tabel yang diperoleh dengan dual simplex:

  • TI 2001 Penelitian Operasional I 56

    Contoh Penerapan Fractional Algorithm (6)

    7

    44

    7

    1

    7

    1141 Sxx

    7

    44

    7

    61

    7

    10 141 Sxx

    7

    4

    7

    6

    7

    1142 SxS

    Fractional cut:

    Bila baris sumber cut yang diambil adalah persamaan x1

  • 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

    cj zj 0 0 0 -1 -8 0

    Tabel setelah penambahan fractional cut

  • TI 2001 Penelitian Operasional I 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

    cj zj 0 0 0 -2 -7 0 Z = 55

    Solusi bilangan bulat optimal, x1 = 4, x2 = 3; Z = 55

    Tabel yang diperoleh dengan dual simplex:

  • TI 2001 Penelitian Operasional I 59

    2

    1

    22

    1

    22

    7431 xxS

    Ilustrasi Fractional Cut secara Grafis (1)

    2

    1735

    22

    136

    22

    721211 xxxxS

    321 xS

    32 x

    Fractional cut 1:

  • TI 2001 Penelitian Operasional I 60

    Ilustrasi Fractional Cut secara Grafis (2) x2

    x1

    32 x

    Dg.fractional cut 1,

    solusi optimal integer

    belum diperoleh

  • TI 2001 Penelitian Operasional I 61

    7

    4

    7

    6

    7

    1142 SxS

    Ilustrasi Fractional Cut secara Grafis (3)

    7

    43

    7

    6735

    7

    12212 xxxS

    7212 xxS

    721 xx

    Fractional cut 2:

  • TI 2001 Penelitian Operasional I 62

    Ilustrasi Fractional Cut secara Grafis (4) x2

    x1

    32 x

    721 xx

    Dg.ditambah fractional

    cut 2, diperoleh solusi

    optimal integer

  • 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.

  • TI 2001 Penelitian Operasional I 64

    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 65

    Mixed Algorithm (3)

    n

    j

    j

    j

    kkk wx1

    Misal xk adalah variabel bilangan bulat dari masalah MILP.

    Persamaan-xk dalam solusi kontinyu optimal:

    n

    j

    j

    j

    kkkk wfx1

    n

    j

    j

    j

    kkkk wfx1

    (baris sumber)

  • TI 2001 Penelitian Operasional I 66

    Mixed Algorithm (4)

    Untuk xk adalah bilangan bulat, maka

    1atau kkkk xx harus dipenuhi

    k

    n

    j

    k

    j

    k fw 1

    Dari baris sumber :

    11

    k

    n

    j

    k

    j

    k fw

    (1)

    (2)

    kondisi 1) :

    n

    j

    j

    j

    kkkk wfx1

    n

    j

    jjkk wf

    1

    0

    ekivalen dengan : kk x

    2) : 1 kk x ekivalen dengan :

    n

    j

    jjkk wf

    1

    1

  • 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

    Jj

    k

    j

    k fw

    k

    n

    Jj

    k

    j

    k

    k

    k fwf

    f

    1

    (3)

    (4)

    11

    k

    n

    j

    k

    j

    k fw 1

    k

    n

    Jj

    kjk fw

    dan dari (2) diperoleh :

  • TI 2001 Penelitian Operasional I 68

    Mixed Algorithm (6)

    Karena (1) dan (2) tidak dapat terjadi secara simultan,

    maka :

    k

    n

    Jj

    kjk

    k

    kn

    Jj

    kjk fw

    f

    fw

    1

    k

    n

    Jj

    k

    j

    k fw

    (3) dan

    k

    n

    Jj

    k

    j

    k

    k

    k fwf

    f

    1

    (4)

    dapat digabungkan menjadi satu pembatas dalam bentuk :

  • TI 2001 Penelitian Operasional I 69

    Mixed Algorithm (6)

    k

    n

    Jj

    k

    j

    k

    k

    kn

    Jj

    k

    j

    kk fwf

    fwS

    1

    (mixed cut)

    kk

    n

    Jj

    kjk

    k

    kn

    Jj

    kjk fSw

    f

    fw

    1

  • TI 2001 Penelitian Operasional I 70

    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 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

    cj zj 0 0 -28/11 -15/11 Z = 63

    Tabel optimal kontinyu:

  • TI 2001 Penelitian Operasional I 72

    Contoh Penerapan Mixed Algorithm (3)

    2

    14

    22

    3

    22

    1431 xxx

    2

    1

    22

    1

    122

    33

    21

    21

    41

    xxS

    2

    1

    22

    3

    22

    1431 xxS

    Mixed cut:

    Baris sumber persamaan-x1

    21

    1 ,4 ,3 fJJ

  • 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

    cj zj 0 0 -28/11 -15/11 0

    Tabel setelah penambahan mixed cut

  • TI 2001 Penelitian Operasional I 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

    cj zj 0 0 -23/11 -10 0 Z= 58

    Tabel yang diperoleh dengan dual simplex:

    Solusi optimal, x1 = 4, x2 = 10/3; Z = 58

  • 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.

  • TI 2001 Penelitian Operasional I 76

    Algoritma Branch-and-Bound (2)

    Algoritma BB untuk PLBB (Murni &

    Campuran)

    Algoritma BB untuk PLBB Biner

  • 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

    dimana I adalah himpunan variabel bilangan bulat

  • TI 2001 Penelitian Operasional 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

  • 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

  • TI 2001 Penelitian Operasional I 80

    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 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

  • TI 2001 Penelitian Operasional I 82

    Algoritma BB untuk PLBB (6)

    PL-1

    PL-2 PL-3

    Solusi pecahan

    Z1

    Solusi pecahan

    Z2

    ][ jjx 1 +][ jjx

    Solusi pecahan

    Z3

  • 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

    (masalah PL) yang akan dicabangkan.

  • TI 2001 Penelitian Operasional I 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.

  • 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

  • TI 2001 Penelitian Operasional I 86

    Algoritma BB untuk PLBB (10)

    PL-1

    PL-2 PL-3

    Solusi pecahan

    Z0 = Z1

    Solusi pecahan

    Z2

    ][ jjx 1 + ][ jjx

    Solusi pecahan

    Z3

    PL-4 PL-5

    Tidak layak Solusi bulat

    Z4

    ][ iix 1 +][ iix

  • 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

    ][ jjx

    ][ iix ][ kkx

    Solusi pecahan

    Z3

    Solusi pecahan

    Z7 > Z4

    1 + ][ jjx

    1 +][ kkx1 +][ iix

  • TI 2001 Penelitian Operasional I 88

    Algoritma BB untuk PLBB (12)

    Esensi dari algoritma BB

    Bounding

    Branching

    Fathoming

  • TI 2001 Penelitian Operasional I 89

    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 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

    6121 217 17

    817

    3 , 2

    14

    x x

    Z

  • TI 2001 Penelitian Operasional I 91

    Solusi Grafis (Kontinyu)

    7 9

    4

    5

    X1

    X2

    0

  • TI 2001 Penelitian Operasional I 92

    Contoh Penerapan Algoritma BB (2)

    PL-1 178

    176

    21712

    1

    14

    2,3

    Z

    xx

  • 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

    11 25

    25

    4 , 2

    14

    x x

    Z

  • TI 2001 Penelitian Operasional I 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

    11 24

    12

    2 , 3

    13

    x x

    Z

  • TI 2001 Penelitian Operasional I 95

    Contoh Penerapan Algoritma BB (3)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

  • TI 2001 Penelitian Operasional I 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 24, 2

    14

    x x

    Z

  • TI 2001 Penelitian Operasional I 97

    PL5

    FSA

    7 9

    4

    5

    X1

    X2

    0

    31 2 7

    27

    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

  • TI 2001 Penelitian Operasional I 98

    Contoh Penerapan Algoritma BB (4)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-4 PL-5

    41 x 51 x

    14

    2,4 21

    Z

    xx

    72

    73

    21

    14

    1,5

    Z

    xx

  • TI 2001 Penelitian Operasional I 99

    Contoh Penerapan Algoritma BB (5)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-4 PL-5

    41 x 51 x

    14

    2,4 21

    Z

    xx

    72

    73

    21

    14

    1,5

    Z

    xx

  • TI 2001 Penelitian Operasional I 100

    Contoh Penerapan Algoritma BB (6)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-4 PL-5

    41 x 51 x

    14

    2,4 21

    Z

    xx

    72

    73

    21

    14

    1,5

    Z

    xx

  • TI 2001 Penelitian Operasional I 101

    Contoh Penerapan Algoritma BB (7)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-4 PL-5

    41 x 51 x

    14

    2,4 21

    Z

    xx

    72

    73

    21

    14

    1,5

    Z

    xx

    Fathomed karena perbedaan

    nilai Z dengan lower bound < 1

    dan semua koefisien fungsi tujuan

    adalah bulat

    Solusi bilangan bulat

    optimal

    x1 = 4, x2 = 2

    Z = 14

  • TI 2001 Penelitian Operasional I 102

    Solusi Optimal

    7 9

    4

    5

    X1

    X2

    0

    1 24, 2

    14

    x x

    Z

  • TI 2001 Penelitian Operasional I 103

    Contoh Penerapan Algoritma BB (8)

    PL-1 178

    176

    21712

    1

    14

    2,3

    Z

    xx

    Jika pencabang-

    annya dipilih dari

    PL-3 (bukan dari

    PL-2)

  • TI 2001 Penelitian Operasional I 104

    Contoh Penerapan Algoritma BB (9)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

  • TI 2001 Penelitian Operasional I 105

    Contoh Penerapan Algoritma BB (10)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-5 PL-4

    21 x 31 x

    Tidak layak

    31

    91

    21

    13

    3,2

    Z

    xx

  • TI 2001 Penelitian Operasional I 106

    Contoh Penerapan Algoritma BB (11)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-5 PL-4

    21 x 31 x

    Tidak layak

    31

    91

    21

    13

    3,2

    Z

    xx

  • TI 2001 Penelitian Operasional I 107

    Contoh Penerapan Algoritma BB (12)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-5 PL-4

    21 x 31 x

    Tidak layak

    31

    91

    21

    13

    3,2

    Z

    xx

    PL-6 PL-7 13

    3,2 21

    Z

    xx

    32 x 42 x

    12

    4,0 21

    Z

    xx

  • TI 2001 Penelitian Operasional I 108

    Contoh Penerapan Algoritma BB (13)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-5 PL-4

    21 x 31 x

    Tidak layak

    31

    91

    21

    13

    3,2

    Z

    xx

    PL-6 PL-7 13

    3,2 21

    Z

    xx

    32 x 42 x

    12

    4,0 21

    Z

    xx

  • TI 2001 Penelitian Operasional I 109

    Contoh Penerapan Algoritma BB (14)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-5 PL-4

    21 x 31 x

    Tidak layak

    31

    91

    21

    13

    3,2

    Z

    xx

    PL-6 PL-7 13

    3,2 21

    Z

    xx

    32 x 42 x

    12

    4,0 21

    Z

    xx

  • TI 2001 Penelitian Operasional I 110

    Contoh Penerapan Algoritma BB (15)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-5 PL-4

    21 x 31 x

    Tidak layak

    31

    91

    21

    13

    3,2

    Z

    xx

    PL-6 PL-7 13

    3,2 21

    Z

    xx

    32 x 42 x

    12

    4,0 21

    Z

    xx

    PL-8 PL-9

    41 x 51 x

    14

    2,4 21

    Z

    xx

    72

    73

    21

    14

    1,5

    Z

    xx

  • TI 2001 Penelitian Operasional I 111

    Contoh Penerapan Algoritma BB (16)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-5 PL-4

    21 x 31 x

    Tidak layak

    31

    91

    21

    13

    3,2

    Z

    xx

    PL-6 PL-7 13

    3,2 21

    Z

    xx

    32 x 42 x

    12

    4,0 21

    Z

    xx

    PL-8 PL-9

    41 x 51 x

    14

    2,4 21

    Z

    xx

    72

    73

    21

    14

    1,5

    Z

    xx

  • TI 2001 Penelitian Operasional I 112

    Contoh Penerapan Algoritma BB (17)

    PL-1

    PL-2 PL-3

    178

    176

    21712

    1

    14

    2,3

    Z

    xx

    22 x32 x

    21

    241

    1

    13

    3,2

    Z

    xx

    52

    251

    1

    14

    2,4

    Z

    xx

    PL-5 PL-4

    21 x 31 x

    Tidak layak

    31

    91

    21

    13

    3,2

    Z

    xx

    PL-6 PL-7 13

    3,2 21

    Z

    xx

    32 x 42 x

    12

    4,0 21

    Z

    xx

    PL-8 PL-9

    41 x 51 x

    14

    2,4 21

    Z

    xx

    72

    73

    21

    14

    1,5

    Z

    xx

    Fathomed karena perbedaan

    nilai Z dengan lower bound < 1

    dan semua koefisien fungsi tujuan

    adalah bulat

  • 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

  • TI 2001 Penelitian Operasional I 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.

  • 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}

  • TI 2001 Penelitian Operasional I 116

    Contoh Algoritma BB untuk PLBB Biner (2)

    PL-1 );,,,( 4321 Zxxxx

    21

    65 16;1,0,1,

  • TI 2001 Penelitian Operasional I 117

    Contoh Algoritma BB untuk PLBB Biner (3)

    PL-1

    PL-2 PL-3

    );,,,( 4321 Zxxxx

    21

    65 16;1,0,1,

    01 x 11 x

    9;1,0,1,0 515454 16;,0,,1

  • TI 2001 Penelitian Operasional I 118

    Contoh Algoritma BB untuk PLBB Biner (4)

    PL-1

    PL-2 PL-3

    );,,,( 4321 Zxxxx

    21

    65 16;1,0,1,

    01 x 11 x

    9;1,0,1,0 515454 16;,0,,1

  • TI 2001 Penelitian Operasional I 119

    Contoh Algoritma BB untuk PLBB Biner (5)

    PL-1

    PL-2 PL-3

    );,,,( 4321 Zxxxx

    21

    65 16;1,0,1,

    01 x 11 x

    9;1,0,1,0 515454 16;,0,,1

    PL-4 PL-5

    02 x 12 x

    54

    54 13;0,,0,1

    16;,0,1,121

  • TI 2001 Penelitian Operasional I 120

    Contoh Algoritma BB untuk PLBB Biner (6)

    PL-1

    PL-2 PL-3

    );,,,( 4321 Zxxxx

    21

    65 16;1,0,1,

    01 x 11 x

    9;1,0,1,0 515454 16;,0,,1

    PL-4 PL-5

    02 x 12 x

    54

    54 13;0,,0,1

    16;,0,1,121

    PL-6 PL-7

    03 x 13 x

    16;,0,1,121

    Tidak layak

  • TI 2001 Penelitian Operasional I 121

    Contoh Algoritma BB untuk PLBB Biner (7)

    PL-1

    PL-2 PL-3

    );,,,( 4321 Zxxxx

    21

    65 16;1,0,1,

    01 x 11 x

    9;1,0,1,0 515454 16;,0,,1

    PL-4 PL-5

    02 x 12 x

    54

    54 13;0,,0,1

    16;,0,1,121

    PL-6 PL-7

    03 x 13 x

    16;,0,1,121

    Tidak layak

    PL-8 PL-9 14;0,0,1,1

    04 x 14 x

    Tidak layak

  • TI 2001 Penelitian Operasional I 122

    Contoh Algoritma BB untuk PLBB Biner (8)

    PL-1

    PL-2 PL-3

    );,,,( 4321 Zxxxx

    21

    65 16;1,0,1,

    01 x 11 x

    9;1,0,1,0 515454 16;,0,,1

    PL-4 PL-5

    02 x 12 x

    54

    54 13;0,,0,1

    16;,0,1,121

    PL-6 PL-7

    03 x 13 x

    16;,0,1,121

    Tidak layak

    PL-8 PL-9 14;0,0,1,1

    04 x 14 x

    Tidak layak

  • TI 2001 Penelitian Operasional I 123

    Contoh Algoritma BB untuk PLBB Biner (9)

    PL-1

    PL-2 PL-3

    );,,,( 4321 Zxxxx

    21

    65 16;1,0,1,

    01 x 11 x

    9;1,0,1,0 515454 16;,0,,1

    PL-4 PL-5

    02 x 12 x

    54

    54 13;0,,0,1

    16;,0,1,121

    PL-6 PL-7

    03 x 13 x

    16;,0,1,121

    Tidak layak

    PL-8 PL-9 14;0,0,1,1

    04 x 14 x

    Tidak layak