x1
Lampiran 1 Contoh penyelesaian suatu LP dengan metode branch and bound Dari LP pada Contoh 2
Misalkan diberikan integer programming berikut: Maksimumkan 7z= x1+5x2 …(1) Terhadap : x1+2x2≤13 …(2) 9x1+5x2≤41 …(3) , 0 1 2 x x ≥ dan integer ...(4) Penyelesaian :
Daerah fisibel untuk masalah IP di atas diberikan pada gambar berikut :
2 4 6 8 10 12 14 x1 2 4 6 8 x2
Gambar 1. Daerah Fisibel IP
LP tersebut anggap sebagai Subproblem 1. 1. Cari solusi LP-Relaksasi dari subproblem 1
Dengan mengeliminasi persamaan (2) dan (3) didapat x1 = 1,31, x2 = 5,85. Substitusikan
hasil tersebut ke dalam persamaan (1) didapat z = 38,42.
Karena solusi yang didapat belum memenuhi kendala integer maka harus dibuat subproblem baru, yaitu:
Subproblem 2 : Subproblem 1 + kendala
(
x2≥6)
Subproblem 3 : Subproblem 1 + kendala
(
x2≤5)
Daerah fisibel untuk subproblem 2 dan subproblem 3 diberikan pada gambar berikut :
2 4 6 8 10 12 14 x1 2 4 6 8 x2
Gambar 2. Daerah Fisibel untuk Subproblem 2 dan Subproblem 3 2. Cari solusi LP-Relaksasi dari subproblem 2
6 2
x =
Substitusikan x2 = ke persamaan 6 x1+2x2 =13 …(5)
Solusi Optimal Subproblem 1
x1= 1,31
x1
Sehingga didapatkan x1= . Substitusikan nilai x1 1 dan x2 yang didapat ke persamaan (1)
sehingga diperoleh z = 37.
3. Cari solusi LP-Relaksasi dari subproblem 3 5
2
x =
Substitusikan 5x2 = ke persamaan (3)
Sehingga didapatkan x1=1, 7778. Substitusikan nilai x1 dan x2 yang didapat ke persamaan (1)
sehingga diperoleh z = 37,4446.
Karena solusi yang didapat belum memenuhi kendala integer maka harus dibuat subproblem baru, yaitu:
Subproblem 4 : Subproblem 3 + kendala
(
x1≤1)
Subproblem 5 : Subproblem 3 + kendala(
x1≥2)
Daerah fisibel untuk subproblem 4 dan subproblem 5 diberikan pada gambar berikut :
2 4 6 8 10 12 14 x1 2 4 6 8 x2
Gambar 4. Daerah Fisibel untuk subproblem 4 dan subproblem 5 4. Cari solusi LP-Relaksasi dari subproblem 4
1 1
x =
Substitusikan x1= ke persamaan (5) 1
Sehingga didapatkan x2 = . Substitusikan nilai x6 1 dan x2 yang didapat ke persamaan (1)
sehingga diperoleh z =37. Karena titik (1,31;5,85) tidak berada di daerah fisibel subproblem 4, maka subproblem 4 tidak memiliki solusi fisibel.
5. Cari solusi LP-Relaksasi dari subproblem 5
1 2
x =
Substitusikan x1 =2 ke persamaan 9x1+5x2=41 …(6)
Sehingga didapatkan x2 =4, 6. Substitusikan nilai x1 dan x2 yang didapat ke persamaan (1)
sehingga diperoleh z = 37.
Dari subproblem-subproblem di atas terlihat bahwa subproblem 2 dan subproblem 5 yang memenuhi kendala integer. Karena nilai fungsi objektik dari kedua subproblem tersebut sama, maka solusi optimal dari LP tersebut terdapat pada titik x1= dan 1 x2= serta 6 x1 =2 dan
4, 6 2
x = dengan nilai fungsi objektif 37. Subproblem 4 Subproblem 5
Lampiran 2 Program untuk menyelesaikan masalah MIP (mixed integer programming) dengan menggunakan Lingo 8.0. MODEL: SETS: PRODUKi/PROD1,PROD2/; PABRIKj/PAB1/; GROSIRm/GROS1,GROS2,GROS3/; PENGECERn/ECER1,ECER2,ECER3,ECER4,ECER5,ECER6,ECER7,ECER8/; PRODUKPABRIK(PRODUKi,PABRIKj):P; PRODUKPENGECER(PRODUKi,PENGECERn):D; PRODUKPABRIKGROSIR(PRODUKPABRIK,GROSIRm):C1,X1; PRODUKGROSIR(PRODUKi,GROSIRm):F,II,Y,C2,K; PRODUKGROSIRPENGECER(PRODUKGROSIR,PENGECERn):C3,X2; ENDSETS
MIN = @SUM(PRODUKPABRIKGROSIR(I,J,M):C1(I,J,M)*X1(I,J,M))+
@SUM(PRODUKGROSIR(I,M):Y(I,M)*(F(I,M)+C2(I,M)*II(I,M)))+
@SUM(PRODUKGROSIRPENGECER(I,M,N):C3(I,M,N)*X2(I,M,N));
!KENDALA;
@FOR(PRODUKPABRIK(I,J):P(I,J)>=@SUM(GROSIRm(M):X1(I,J,M)));
@FOR(PRODUKGROSIR(I,M):K(I,M)>=@SUM(PENGECERn(N):X2(I,M,N)));
@FOR(PRODUKGROSIR(I,M):@SUM(PABRIKj(J):X1(I,J,M))>=@SUM(PENGECERn(
N):X2(I,M,N)));
@FOR(PRODUKPENGECER(I,N):D(I,N)=@SUM(GROSIRm(M):X2(I,M,N)));
@FOR(PRODUKGROSIRPENGECER(I,M,N):X2(I,M,N)>=0);
@FOR(PRODUKPABRIKGROSIR(I,J,M):X1(I,J,M)>=0);
@FOR(PRODUKGROSIR(I,M):@BIN(Y(I,M)));
DATA: P = 705 811; D = 72 25 44 89 40 12 52 65 52 10 100 79 32 93 60 32; C1 = 31 18 44 74 38 98; F = 86 61 75 66 21 50; II = 155 235 330 170 396 290; C2 = 73 82 12 53 57 91; K = 246 389 422 253 494 312; C3 =50 79 63 36 99 34 58 51 23 43 82 64 39 52 94 61 91 92 77 72 11 69 98 100 89 44 19 53 70 67 85 57 63 18 87 21 71 78 88 37 49 60 40 71 25 55 10 27; ENDDATA
Global optimal solution found at iteration: 9
Objective value: 70248.00
Variable Value Reduced Cost P( PROD1, PAB1) 705.0000 0.000000 P( PROD2, PAB1) 811.0000 0.000000 D( PROD1, ECER1) 72.00000 0.000000 D( PROD1, ECER2) 25.00000 0.000000 D( PROD1, ECER3) 44.00000 0.000000 D( PROD1, ECER4) 89.00000 0.000000 D( PROD1, ECER5) 40.00000 0.000000
D( PROD1, ECER6) 12.00000 0.000000 D( PROD1, ECER7) 52.00000 0.000000 D( PROD1, ECER8) 65.00000 0.000000 D( PROD2, ECER1) 52.00000 0.000000 D( PROD2, ECER2) 10.00000 0.000000 D( PROD2, ECER3) 100.0000 0.000000 D( PROD2, ECER4) 79.00000 0.000000 D( PROD2, ECER5) 32.00000 0.000000 D( PROD2, ECER6) 93.00000 0.000000 D( PROD2, ECER7) 60.00000 0.000000 D( PROD2, ECER8) 32.00000 0.000000 C1( PROD1, PAB1, GROS1) 31.00000 0.000000 C1( PROD1, PAB1, GROS2) 18.00000 0.000000 C1( PROD1, PAB1, GROS3) 44.00000 0.000000 C1( PROD2, PAB1, GROS1) 74.00000 0.000000 C1( PROD2, PAB1, GROS2) 38.00000 0.000000 C1( PROD2, PAB1, GROS3) 98.00000 0.000000 X1( PROD1, PAB1, GROS1) 197.0000 0.000000 X1( PROD1, PAB1, GROS2) 162.0000 0.000000 X1( PROD1, PAB1, GROS3) 40.00000 0.000000 X1( PROD2, PAB1, GROS1) 100.0000 0.000000 X1( PROD2, PAB1, GROS2) 298.0000 0.000000 X1( PROD2, PAB1, GROS3) 60.00000 0.000000 F( PROD1, GROS1) 86.00000 0.000000 F( PROD1, GROS2) 61.00000 0.000000 F( PROD1, GROS3) 75.00000 0.000000 F( PROD2, GROS1) 66.00000 0.000000 F( PROD2, GROS2) 21.00000 0.000000 F( PROD2, GROS3) 50.00000 0.000000 II( PROD1, GROS1) 24.00000 0.000000 II( PROD1, GROS2) 31.00000 0.000000 II( PROD1, GROS3) 91.00000 0.000000 II( PROD2, GROS1) 96.00000 0.000000 II( PROD2, GROS2) 25.00000 0.000000 II( PROD2, GROS3) 97.00000 0.000000 Y( PROD1, GROS1) 0.000000 1838.000 Y( PROD1, GROS2) 0.000000 2603.000 Y( PROD1, GROS3) 0.000000 1167.000 Y( PROD2, GROS1) 0.000000 5154.000 Y( PROD2, GROS2) 0.000000 1446.000 Y( PROD2, GROS3) 0.000000 8877.000 C2( PROD1, GROS1) 73.00000 0.000000 C2( PROD1, GROS2) 82.00000 0.000000 C2( PROD1, GROS3) 12.00000 0.000000 C2( PROD2, GROS1) 53.00000 0.000000 C2( PROD2, GROS2) 57.00000 0.000000 C2( PROD2, GROS3) 91.00000 0.000000 K( PROD1, GROS1) 246.0000 0.000000 K( PROD1, GROS2) 389.0000 0.000000 K( PROD1, GROS3) 422.0000 0.000000 K( PROD2, GROS1) 253.0000 0.000000 K( PROD2, GROS2) 494.0000 0.000000 K( PROD2, GROS3) 312.0000 0.000000 C3( PROD1, GROS1, ECER1) 50.00000 0.000000 C3( PROD1, GROS1, ECER2) 79.00000 0.000000 C3( PROD1, GROS1, ECER3) 63.00000 0.000000 C3( PROD1, GROS1, ECER4) 36.00000 0.000000 C3( PROD1, GROS1, ECER5) 99.00000 0.000000 C3( PROD1, GROS1, ECER6) 34.00000 0.000000
C3( PROD1, GROS1, ECER7) 58.00000 0.000000 C3( PROD1, GROS1, ECER8) 51.00000 0.000000 C3( PROD1, GROS2, ECER1) 23.00000 0.000000 C3( PROD1, GROS2, ECER2) 43.00000 0.000000 C3( PROD1, GROS2, ECER3) 82.00000 0.000000 C3( PROD1, GROS2, ECER4) 64.00000 0.000000 C3( PROD1, GROS2, ECER5) 39.00000 0.000000 C3( PROD1, GROS2, ECER6) 52.00000 0.000000 C3( PROD1, GROS2, ECER7) 94.00000 0.000000 C3( PROD1, GROS2, ECER8) 61.00000 0.000000 C3( PROD1, GROS3, ECER1) 91.00000 0.000000 C3( PROD1, GROS3, ECER2) 92.00000 0.000000 C3( PROD1, GROS3, ECER3) 77.00000 0.000000 C3( PROD1, GROS3, ECER4) 72.00000 0.000000 C3( PROD1, GROS3, ECER5) 11.00000 0.000000 C3( PROD1, GROS3, ECER6) 69.00000 0.000000 C3( PROD1, GROS3, ECER7) 98.00000 0.000000 C3( PROD1, GROS3, ECER8) 100.0000 0.000000 C3( PROD2, GROS1, ECER1) 89.00000 0.000000 C3( PROD2, GROS1, ECER2) 44.00000 0.000000 C3( PROD2, GROS1, ECER3) 19.00000 0.000000 C3( PROD2, GROS1, ECER4) 53.00000 0.000000 C3( PROD2, GROS1, ECER5) 70.00000 0.000000 C3( PROD2, GROS1, ECER6) 67.00000 0.000000 C3( PROD2, GROS1, ECER7) 85.00000 0.000000 C3( PROD2, GROS1, ECER8) 57.00000 0.000000 C3( PROD2, GROS2, ECER1) 63.00000 0.000000 C3( PROD2, GROS2, ECER2) 18.00000 0.000000 C3( PROD2, GROS2, ECER3) 87.00000 0.000000 C3( PROD2, GROS2, ECER4) 21.00000 0.000000 C3( PROD2, GROS2, ECER5) 71.00000 0.000000 C3( PROD2, GROS2, ECER6) 78.00000 0.000000 C3( PROD2, GROS2, ECER7) 88.00000 0.000000 C3( PROD2, GROS2, ECER8) 37.00000 0.000000 C3( PROD2, GROS3, ECER1) 49.00000 0.000000 C3( PROD2, GROS3, ECER2) 60.00000 0.000000 C3( PROD2, GROS3, ECER3) 40.00000 0.000000 C3( PROD2, GROS3, ECER4) 71.00000 0.000000 C3( PROD2, GROS3, ECER5) 25.00000 0.000000 C3( PROD2, GROS3, ECER6) 55.00000 0.000000 C3( PROD2, GROS3, ECER7) 10.00000 0.000000 C3( PROD2, GROS3, ECER8) 27.00000 0.000000 X2( PROD1, GROS1, ECER1) 0.000000 40.00000 X2( PROD1, GROS1, ECER2) 0.000000 49.00000 X2( PROD1, GROS1, ECER3) 44.00000 0.000000 X2( PROD1, GROS1, ECER4) 89.00000 0.000000 X2( PROD1, GROS1, ECER5) 0.000000 75.00000 X2( PROD1, GROS1, ECER6) 12.00000 0.000000 X2( PROD1, GROS1, ECER7) 52.00000 0.000000 X2( PROD1, GROS1, ECER8) 0.000000 3.000000 X2( PROD1, GROS2, ECER1) 72.00000 0.000000 X2( PROD1, GROS2, ECER2) 25.00000 0.000000 X2( PROD1, GROS2, ECER3) 0.000000 6.000000 X2( PROD1, GROS2, ECER4) 0.000000 15.00000 X2( PROD1, GROS2, ECER5) 0.000000 2.000000 X2( PROD1, GROS2, ECER6) 0.000000 5.000000 X2( PROD1, GROS2, ECER7) 0.000000 23.00000 X2( PROD1, GROS2, ECER8) 65.00000 0.000000 X2( PROD1, GROS3, ECER1) 0.000000 94.00000
X2( PROD1, GROS3, ECER2) 0.000000 75.00000 X2( PROD1, GROS3, ECER3) 0.000000 27.00000 X2( PROD1, GROS3, ECER4) 0.000000 49.00000 X2( PROD1, GROS3, ECER5) 40.00000 0.000000 X2( PROD1, GROS3, ECER6) 0.000000 48.00000 X2( PROD1, GROS3, ECER7) 0.000000 53.00000 X2( PROD1, GROS3, ECER8) 0.000000 65.00000 X2( PROD2, GROS1, ECER1) 0.000000 62.00000 X2( PROD2, GROS1, ECER2) 0.000000 62.00000 X2( PROD2, GROS1, ECER3) 100.0000 0.000000 X2( PROD2, GROS1, ECER4) 0.000000 68.00000 X2( PROD2, GROS1, ECER5) 0.000000 35.00000 X2( PROD2, GROS1, ECER6) 0.000000 25.00000 X2( PROD2, GROS1, ECER7) 0.000000 51.00000 X2( PROD2, GROS1, ECER8) 0.000000 56.00000 X2( PROD2, GROS2, ECER1) 52.00000 0.000000 X2( PROD2, GROS2, ECER2) 10.00000 0.000000 X2( PROD2, GROS2, ECER3) 0.000000 32.00000 X2( PROD2, GROS2, ECER4) 79.00000 0.000000 X2( PROD2, GROS2, ECER5) 32.00000 0.000000 X2( PROD2, GROS2, ECER6) 93.00000 0.000000 X2( PROD2, GROS2, ECER7) 0.000000 18.00000 X2( PROD2, GROS2, ECER8) 32.00000 0.000000 X2( PROD2, GROS3, ECER1) 0.000000 46.00000 X2( PROD2, GROS3, ECER2) 0.000000 102.0000 X2( PROD2, GROS3, ECER3) 0.000000 45.00000 X2( PROD2, GROS3, ECER4) 0.000000 110.0000 X2( PROD2, GROS3, ECER5) 0.000000 14.00000 X2( PROD2, GROS3, ECER6) 0.000000 37.00000 X2( PROD2, GROS3, ECER7) 60.00000 0.000000 X2( PROD2, GROS3, ECER8) 0.000000 50.00000 Row Slack or Surplus Dual Price 1 70248.00 -1.000000 2 306.0000 0.000000 3 353.0000 0.000000 4 49.00000 0.000000 5 227.0000 0.000000 6 382.0000 0.000000 7 153.0000 0.000000 8 196.0000 0.000000 9 252.0000 0.000000 10 0.000000 -31.00000 11 0.000000 -18.00000 12 0.000000 -44.00000 13 0.000000 -74.00000 14 0.000000 -38.00000 15 0.000000 -98.00000 16 0.000000 41.00000 17 0.000000 61.00000 18 0.000000 94.00000 19 0.000000 67.00000 20 0.000000 55.00000 21 0.000000 65.00000 22 0.000000 89.00000 23 0.000000 79.00000 24 0.000000 101.0000 25 0.000000 56.00000 26 0.000000 93.00000
27 0.000000 59.00000 28 0.000000 109.0000 29 0.000000 116.0000 30 0.000000 108.0000 31 0.000000 75.00000 32 0.000000 0.000000 33 0.000000 0.000000 34 44.00000 0.000000 35 89.00000 0.000000 36 0.000000 0.000000 37 12.00000 0.000000 38 52.00000 0.000000 39 0.000000 0.000000 40 72.00000 0.000000 41 25.00000 0.000000 42 0.000000 0.000000 43 0.000000 0.000000 44 0.000000 0.000000 45 0.000000 0.000000 46 0.000000 0.000000 47 65.00000 0.000000 48 0.000000 0.000000 49 0.000000 0.000000 50 0.000000 0.000000 51 0.000000 0.000000 52 40.00000 0.000000 53 0.000000 0.000000 54 0.000000 0.000000 55 0.000000 0.000000 56 0.000000 0.000000 57 0.000000 0.000000 58 100.0000 0.000000 59 0.000000 0.000000 60 0.000000 0.000000 61 0.000000 0.000000 62 0.000000 0.000000 63 0.000000 0.000000 64 52.00000 0.000000 65 10.00000 0.000000 66 0.000000 0.000000 67 79.00000 0.000000 68 32.00000 0.000000 69 93.00000 0.000000 70 0.000000 0.000000 71 32.00000 0.000000 72 0.000000 0.000000 73 0.000000 0.000000 74 0.000000 0.000000 75 0.000000 0.000000 76 0.000000 0.000000 77 0.000000 0.000000 78 60.00000 0.000000 79 0.000000 0.000000 80 197.0000 0.000000 81 162.0000 0.000000 82 40.00000 0.000000 83 100.0000 0.000000 84 298.0000 0.000000 85 60.00000 0.000000