Lampiran 1. Perhitungan Simpleks Awal Iterasi 0
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M M M M B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15
s1 0 1.2 1.1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55000
s2 0 0.6 0.4 0.6 0.4 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 12000
s3 0 1 0.75 1 0.75 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 4160
s4 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1600
s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 900
s6 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1250
s7 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 875
s12 M 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 0 1575
s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 850
s14 M 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 1245
s15 M 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 800
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M M M B x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s13 s14 s15
s1 0 0 1.1 1 1 1 0 0 0 0 0 0 1.2 0 0 0 0 0 0 53110
s2 0 0 0.4 0.6 0.4 0 1 0 0 0 0 0 0.6 0 0 0 0 0 0 11055
s3 0 0 0.75 1 0.75 0 0 1 0 0 0 0 1 0 0 0 0 0 0 2585
s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 25
s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 900
s6 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1250
s7 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 875
x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 1575
s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 850
s14 M 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 1245
s15 M 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 800
Iterasi 2
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M M B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s13 s15
s1 0 0 1.1 0 1 1 0 0 0 0 0 0 1.2 0 1 0 0 0 51865
s2 0 0 0.4 0 0.4 0 1 0 0 0 0 0 0.6 0 0.6 0 0 0 10308
s3 0 0 0.75 0 0.75 0 0 1 0 0 0 0 1 0 1 0 0 0 1340
s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 25
s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 900
s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 5
s7 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 875
x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 1575
s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 850
x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1245
s15 M 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1 800
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M B x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s13
s1 0 0 1.1 0 0 1 0 0 0 0 0 0 1.2 0 1 1 0 51065
s2 0 0 0.4 0 0 0 1 0 0 0 0 0 0.6 0 0.6 0.4 0 9988
s3 0 0 0.75 0 0 0 0 1 0 0 0 0 1 0 1 0.75 0 740
s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 25
s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 900
s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 5
s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 75
x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 1575
s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 850
x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1245
x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 800
Iterasi 4
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 0 0 0 0 0 1.2 1.1 1 1 50130
s2 0 0 0 0 0 0 1 0 0 0 0 0 0.6 0.4 0.6 0.4 9648
s3 0 0 0 0 0 0 0 1 0 0 0 0 1 0.75 1 0.75 102.5
s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25
s5 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50
s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5
s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75
x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1575
x2 10000 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 850
x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245
x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 800
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 0 -1.2 0 0 0 0 1.1 1 1 50100
s2 0 0 0 0 0 0 1 0 -0.6 0 0 0 0 0.4 0.6 0.4 9633
s3 0 0 0 0 0 0 0 1 -1 0 0 0 0 0.75 1 0.75 77.5
s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25
s5 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50
s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5
s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75
x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600
x2 10000 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 850
x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245
x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 800
Iterasi 6
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 0 -1.2 0 -1 0 0 1.1 0 1 50095
s2 0 0 0 0 0 0 1 0 -0.6 0 -0.6 0 0 0.4 0 0.4 9630
s3 0 0 0 0 0 0 0 1 -1 0 -1 0 0 0.75 0 0.75 72.5
s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25
s5 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50
s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5
s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75
x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600
x2 10000 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 850
x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250
x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 800
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 0 -1.2 -1.1 -1 0 0 0 0 1 50040
s2 0 0 0 0 0 0 1 0 -0.6 -0.4 -0.6 0 0 0 0 0.4 9610
s3 0 0 0 0 0 0 0 1 -1 -0.75 -1 0 0 0 0 0.75 35
s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25
s9 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50
s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5
s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75
x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600
x2 10000 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 900
x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250
x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 800
Iterasi 8
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 0 -1.2 -1.1 -1 -1 0 0 0 0 49965
s2 0 0 0 0 0 0 1 0 -0.6 -0.4 -0.6 -0.4 0 0 0 0 9580
s3 0 0 0 0 0 0 0 1 -1 -0.75 -1 -0.75 0 0 0 0 -21.25
s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25
s9 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50
s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5
s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75
x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600
x2 10000 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 900
x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250
x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 -1.4667 0.26667 0 0.46667 0.1 0 0 0 0 49996.17
s2 0 0 0 0 0 0 1 -0.5333 -0.0667 0 -0.0667 0 0 0 0 0 9591.333
s5 0 0 0 0 0 0 0 -1.3333 1.33333 1 1.33333 1 0 0 0 0 28.33333
s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25
s9 0 0 0 0 0 0 0 1.33333 -1.3333 0 -1.3333 -1 0 1 0 0 21.66667
s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5
s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75
x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600
x2 10000 0 1 0 0 0 0 1.33333 -1.3333 0 -1.3333 -1 0 0 0 0 871.6667
x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250
x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875
Iterasi 10
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 -1.4667 0 0 0.46667 0.1 -0.2667 0 0 0 49989.5
s2 0 0 0 0 0 0 1 -0.5333 0 0 -0.0667 0 0.0667 0 0 0 9593.001
s5 0 0 0 0 0 0 0 -1.3333 0 1 1.33333 1 -1.3333 0 0 0 -4.99992
s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25
s9 0 0 0 0 0 0 0 1.33333 0 0 -1.3333 -1 1.3333 1 0 0 54.99917
s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5
s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75
x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1575
x2 10000 0 1 0 0 0 0 1.33333 0 0 -1.3333 -1 1.3333 0 0 0 904.9992
x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250
x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 -1.4667 0 0 0 0.1 -0.2667 0 -0.4667 0 49987.17
s2 0 0 0 0 0 0 1 -0.5333 0 0 0 0 0.0667 0 0.0667 0 9593.334
s5 0 0 0 0 0 0 0 -1.3333 0 1 0 1 -1.3333 0 -1.3333 0 -11.6666
s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25
s9 0 0 0 0 0 0 0 1.33333 0 0 0 -1 1.3333 1 1.3333 0 61.66567
s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5
s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75
x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1575
x2 10000 0 1 0 0 0 0 1.33333 0 0 0 -1 1.3333 0 1.3333 0 911.6657
x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245
x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875
Iterasi 12
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 0 0 -1.1001 0 -1.0001 1.20006 0 1.00006 0 50000
s2 0 0 0 0 0 0 1 0 0 -0.4 0 -0.4 0.60001 0 0.60001 0 9598.001
s3 0 0 0 0 0 0 0 1 0 -0.75 0 -0.75 1.00002 0 1.00002 0 8.750144
s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25
s9 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 49.99884
s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5
s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75
x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1575
x2 10000 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 900
x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245
x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875
Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B
x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11
s1 0 0 0 0 0 1 0 -1.2 0 -0.2 0 -0.1 1.20006 0 -0.2 0 49989.5
s2 0 0 0 0 0 0 1 -0.6 0 0.05002 0 0.05002 0.60001 0 0 0 9592.751
s8 0 0 0 0 0 0 0 0.99998 0 -0.75 0 -0.75 1.00002 0 1 0 8.749969
s4 0 0 0 0 0 0 0 -1 1 0.75 0 0.75 1 0 -1 0 16.25003
s9 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 49.99884
s6 0 0 0 0 0 0 0 0.99998 0 -0.75 1 -0.75 0 0 2 0 13.74997
s11 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 49.99884
x1 13000 1 0 0 0 0 0 0.99998 0 -0.75 0 -0.75 -1 0 1 0 1583.75
x2 10000 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 900
x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245
x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875
Zj - Cj 0 0 0 0 0 0 0 0 250 0 250 -13000 0 0 0 53278750
Karena baris Zj - Cj ≥ 0, maka permasalahan telah optimal.
x2≥899 x2≤898
x3≥1248 x3≤1247
x3≥1247 x3≤1246
Iterasi 078
z = 53277000
x1=1583;x2=899;x3=1246,5;x4=875
Iterasi 085
No Feasible Solution
Iterasi 079 z = 53271000
x1=1583;x2=899;x3=1246;x4=875
Iterasi 080
z = 53276330
x1=1583;x2=898,33;x3=1247;x4=875
Iterasi 081
z = 53276000
x1=1583;x2=898;x3=1247,25;x4=875
Iterasi 084
No Feasible Solution
Iterasi 082 z = 53273000
x1=1583;x2=898;x3=1247;x4=875
Iterasi 083 z = 53275000
DAFTAR PUSTAKA
Alannuariputri, Y.A. 2013. Integer Programming dengan Pendekatan Metode Branch and Bound dan Metode Cutting Plane untuk Optimasi Kombinasi
Produk (Studi Kasus pada Perusahaan “Diva” Sanitary, Sidoarjo). Jurnal
Mahasiswa Statistik. 1(2): 89-92.
Assauri, Sofjan. 1999. Manajemen Produksi dan Operasi. Edisi Revisi. Fakultas Ekonomi Universitas Indonesia. Jakarta.
Bangun, E. 2004. Kajian Strategis untuk Menyelesaikan Integer Program dengan Metode Branch and Bound. [Tesis]. Medan: Universitas Sumatera Utara, Program Pascasarjana.
Siagian, P. 2006. Penelitian Operasional: Teori dan Praktek. Universitas Indonesia (UI-Press). Jakarta.
Sidabutar, J. 2008. Pengembangan Algoritma Pencarian untuk Menyelesaikan Problema Program Tak Linier Campuran. [Tesis]. Medan: Universitas Sumatera Utara, Program Pascasarjana.
Sitorus, P. 1997. Program Linier. Universitas Trisakti. Jakarta.
Supranto, J. 1991. Teknik Pengambilan Keputusan. Rineka Cipta. Jakarta.
Taha, H.A. 1996. Riset Operasi, Jilid I ed. Dr. Lyndon Saputra. Binarupa Aksara. Jakarta.
METODE PENELITIAN
Pada bab ini, akan dijelaskan metode-metode yang penulis gunakan dalam penelitian ini. Adapun metode yang akan digunakan dalam penelitian ini adalah Metode Simpleks dan Metode Branch and Bound.
3.1. Metode Simpleks
Metode simpleks adalah prosedur pemecahan program linier yang lebih efisien daripada metode grafik. Meskipun problem program linier dapat diselesaikan secara grafik, akan tetapi hampir seluruh problem program linier sesungguhnya tidak dapat diselesaikan dengan cara ini, karena pada umumnya program linier mempunyai lebih dari 3 variabel.
Oleh karena itu, George Dantzig pada tahun 1947 mengajukan satu metode yang paling berhasil untuk meyelesaikan problem program linier yang disebut Metode Simpleks.
Secara umum, bentuk umum dari program linier dapat dimodelkan sebagai berikut.
Maksimumkan: z = c1x1 + c2x2 + … + cnxn Kendala :
xn≥ 0, n = 1, 2, 3, …
Minimumkan : z = c1x1 + c2x2+ … + cnxn Kendala :
xn ≥ 0, n = 1, 2, 3, …
Prosedur (tahap proses) untuk menyelesaikan program linier dengan menggunakan metode simpleks adalah sebagai berikut:
Tahap 1. Merumuskan problema ke dalam model simpleks. Tahap 2. Menyusun tabel simpleks iterasi awal.
Tahap 3. Mengecek nilai optimal tabel simpleks dengan cara sebagai berikut: a. Kalau sudah optimal, tafsirkan hasil penyelesaian.
b. Kalau belum optimal, teruskan penyelesaian pada tahap berikutnya. Tahap 4. Mengidentifikasi variabel yang akan masuk dalam tabel.
Tahap 5. Mengidentifikasi variabel yang akan dikeluarkan dalam tabel. Tahap 6. Menyusun tabel simpleks baru.
Tahap 7. Mengecek nilai optimal tabel simpleks baru tersebut: a. Kalau sudah optimal, tafsirkan hasil penyelesaian. b. Kalau belum optimal, kembali kepada prosedur tahap 4.
Tahap 1. Perumusan Model Simpleks
dapat dirumuskan sebagai berikut: (Asumsikan untuk permasalahan maksimasi).
Maksimumkan: z = c1x1 + c2x2 + … + cnxn Kendala :
xn≥ 0, n = 1, 2, 3, …
si ≥ 0, i = 1, 2, 3, …
Pada permasalahan dalam penelitian ini, tanda ketidaksamaan kendala adalah lebih kecil atau sama dengan (≤), diubah menjadi tanda sama dengan (=) dengan syarat menambah variabel slack pada sisi bagian kiri persamaan kendala. Mengapa harus ditambah dengan variabel slack? Jawabannya ialah agar persamaan garis kendala memenuhi persyaratan penyelesaian pada daerah kelayakan.
Tahap 2. Menyusun Tabel Simpleks
Tabel 3.1. Format Tabel Simpleks
Basis / C … … … B
x1 x2 … … xn s1 s2 … … sn
Zj - Cj
Penjelasan tabel simplek di atas:
1. C = Nilai kontribusi setiap variabel basis dalam proses iterasi.
2. Basis = Variabel basis dalam proses iterasi (nilainya tidak sama dengan nol). 3. B = Nilai variabel basis dalam proses iterasi.
4. Cj – Zj = Nilai kontribusi dalam problema meminimalkan dari setiap variabel dalam proses iterasi.
Tahap 3. Pengecekan Optimalisasi Tabel Simpleks Iterasi Awal
Pengecekan apakah tabel simplek pada iterasi awal telah atau belum optimal dilakukan dengan cara melihat nilai Zj - Cj masing-masing variabel fungsi tujuan. Apabila Zj - Cj untuk semua variabel bernilai nol atau positif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka dilakukan tahap proses selanjutnya.
Tahap 4. Identifikasi Variabel yang Akan Masuk (Incoming Variable)
Tahap 5. Identifikasi Variabel yang Akan Keluar (Outgoing Variable)
Dengan adanya variabel yang masuk kedalam tabel simpleks, maka salah satu dari variabel basis harus keluar dari tabel simpleks tersebut agar diperoleh peningkatan nilai tujuan maksimum. Cara mengidentifikasi variabel yang akan keluar adalah dengan mencari hasil bagi antara nilai solusi dan nilai substitusi marjinal yang terkecil dan bilangan tersebut bernilai non-negatif.
Tahap 6. Penyusunan Tabel Simpleks Iterasi Pertama
Untuk menyusun tabel simpleks iterasi pertama, kita harus mencari koefisien elemen pivot dari tabel simpleks sebelumnya. Koefisien elemen pivot dapat dicari dengan cara menghubungkan kolom pivot dengan baris pivot sedemikian rupa sehingga titik potong kedua pivot ini menunjukkan koefisien, yang disebut elemen pivot.
Koefisien-koefisien baris pivot yang baru dicari dengan menggunakan rumus sebagai berikut:
Nilai Baris Pivot Baru = Nilai Baris Pivot Lama : Elemen Pivot
Untuk menghitung nilai baris baru lainnya, dilakukan dengan menggunakan rumus sebagai berikut:
Tahap 7. Pengecekan Optimalisasi Tabel Simpleks Iterasi Pertama
Pengecekan apakah tabel simpleks pada iterasi pertama telah atau belum optimal. Apabila Zj - Cj untuk semua variabel bernilai nol atau negatif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka kembali pada prosedur Tahap 4.
3.2. Metode Branch and Bound
Metode Branch and Bound mula-mula dipakai dan dikembangkan oleh Land and Doig (1960) untuk menyelesaikan program integer yang kemudian dimodifikasi oleh Dakin (1965) dan telah dengan sukses menerapkannya di dalam kitab undang-undang hukum dagang banyak orang dalam memecahkan persoalan program integer (Sidabutar, 2008).
Metode ini telah menjadi kode komputer standar untuk program integer, dan penerapan-penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efisien dibanding dengan pendekatan Gomory. Teknik ini dapat diterapkan baik untuk masalah pure programming maupun mixed programming.
Secara umum, bentuk umum dari program integer adalah sebagai berikut.
Maksimumkan:
∑
dengan kendala:
Asumsikan fungsi tujuan program integer adalah sebagai berikut.
Maksimumkan:
z = c1x1 + c2x2 + … + cnxn
maka,
( ) =
= ∑ ; j = 1, 2, …, n
Selanjutnya, asumsikan fungsi kendala program integer adalah sebagai berikut.
maka,
∑ ; i =1, 2, …, m
Langkah-langkah Metode Branch and Bound
Asumsikan suatu masalah program integer. Maksimumkan
Kendala dimana S0 = {x | Ax = b, x ≥ 0, dan integer}.
Ide umum dari metode branch and bound adalah pertama untuk menyelesaikan problema sebagai model kontinu, yakni menyelesaikan program integer sebagai program linier:
Maksimumkan
Kendala dimana T0 = {x | Ax = b, x ≥ 0}.
Andaikan bahwa xr merupakan peubah yang berkendala integer yang mempunyai nilai optimum kontimu xr* yang pecahan. Hasil dari tidak memuat solusi integer yang layak. Sebagai akibatnya nilai integer layak dari xr harus memenuhi salah satu dari dua kondisi berikut yakni:
atau
Kedua kondisi ini bilamana diaplikasikan untuk model yang kontinu maka hasilnya merupakan dua problema saling lepas (mutually exclusive) dengan himpunan kendala sebagai berikut:
(i) { } (ii) { }
dan bilamana kendala-kendala integernya dimasukkan, maka diperoleh himpunan: S1 = {x|Ax = b, , x ≥ 0, dan integer} dan
S2 = {x|Ax = b, , x ≥ 0, dan integer}
Sebenarnya bentuk ini merupakan pemisahan dari S0, yakni , . Solusi optimal x* dari problema yang diberikan, harus berada di salah satu S1 atau S2 dan harus juga merupakan solusi optimal dari salah satu subproblema berikut:
kembali bila solusi optimal mempunyai komponen yang bernilai pecahan atau tidak integer. Proses percabangan ini akan membangun pohon keputusan, dengan setiap node k dari pohon keputusan tersebut berhubungan dengan sebuah subproblema: Maksimumkan z = c.x kendala . Jika solusi optimal yang berhubungan dengan program linier tersebut layak (memenuhi) atau mempunyai komponen-komponen bulat, maka solusi ini dicatat dan nilai objektifnya merupakan batas bawah untuk nilai optimum. Dalam kasus seperti ini tidak perlu dilakukan percabangan lebih jauh lagi dari subproblema ini dan node yang demikian difathom atau dipangkas. Node yang belum terfathom disimpan dalam master list. Pada beberapa node, nilai optimal (nilai integer terbesar yang lebih kecil atau sama dengan nilai optimum jika fungsi objektif mempunyai koefisien-koefisien integer) ̅̅̅ dari program linier yang bersangkutan merupakan sebuah batas atas untuk nilai optimum dari semua turunannya. Jika batas atas tersebut lebih kecil dari batas bawah terbaik yang ada, maka subproblema ini tidak dicabangkan lagi. Proses Branch and Bound diteruskan sampai setiap subproblema berhenti karena salah satu dari dua alasan berikut, yakni
(i) Sebuah solusi integer, atau
(ii)Batas atas lebih kecil dari batas bawah yang ada sekarang (Bangun, 2004).
Berdasarkan uraian di atas, maka prosedur atau langkah-langkah metode Branch and Bound untuk masalah maksimasi adalah sebagai berikut.
1. Selesaikan masalah program linier dengan metode simpleks.
3. Jadikan solusi pada penyelesaian langkah 1 menjadi batas atas dan untuk batas bawahnya merupakan solusi yang variabel keputusannya telah diintegerkan (rounded – down).
4. Pilih variabel yang mempunyai nilai pecahan terbesar (artinya bilangan desimal terbesar dari masing-masing variabel untuk dijadikan pencabangan ke dalam sub-sub masalah). Tujuannya adalah untuk menghilangkan solusi yang tidak memenuhi persyaratan integer dalam masalah itu. Pencabangan itu dilakukan secara mutually exclusive untuk memenuhi persyaratan integer dengan jaminan tidak ada solusi fisibel (layak) yang diikutsertakan.
5. Untuk setiap sub-masalah, nilai optimum fungsi tujuan ditetapkan sebagai batas atas. Solusi optimum yang diintegerkan menjadi batas bawah (solusi yang sebelumnya tidak integer kemudian diintegerkan). Sub-sub masalah yang memiliki batas atas kurang dari batas bawah yang ada, tidak diikutsertakan pada analisa selanjutnya. Suatu solusi integer fisibel (layak) adalah sama baik atau lebih baik dari batas atas untuk setiap sub masalah yang dicari. Jika solusi yang demikian terjadi, suatu sub masalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali ke langkah 4 (Winston, 2004).
Perhitungan dalam Metode Branch and Bound
Satu kerugian dasar dari metode Branch and Bound adalah bahwa metode ini mengharuskan pemecahan program linier yang lengkap di setiap node. Dalam masalah besar, hal ini dapat sangat memakan waktu, terutama ketika satu-satunya informasi yang diperlukan di node tersebut adalah nilai tujuan optimumnya. Hal ini diperjelas dengan menyadari bahwa sebuah batas yang “baik” diperoleh, “banyak” node dapat disingkirkan dengan diketahui nilai tujuan optimum mereka.
lebih kecil daripada nilai tujuan yang berkaitan dengan pemecahan integer terbaik yang tersedia, node tersebut disingkirkan. Keuntungan utamanya adalah bahwa batas atas tersebut dapat diestimasi dengan cepat dengan perhitungan minimal. Gagasan umum ini mengestimasi penalti (yaitu, penurunan nilai tujuan) yang dihasilkan dari pemberlakuan kondisi dan . Ini dapat dicapai dengan menambahkan setiap batasan ini ke tabel optimum di node tersebut.
BAB 4
HASIL DAN PEMBAHASAN
Perumusan fungsi tujuan dan fungsi kendala akan dirumuskan sebagai berikut:
4.1.Pengumpulan Data
Untuk menyelesaikan suatu permasalahan, perlu adanya data yang berhubungan dengan masalah tersebut, baik data primer maupun sekunder.
a. Keuntungan (laba) masing-masing produk
Keuntungan dari masing-masing produk dapat dilihat pada Tabel 4.1 berikut:
Tabel 4.1.Keuntungan Tiap Produk Bulan Januari 2013 hingga Juni 2013
Produk Keuntungan (Rp/buah)
Celana panjang pria 13.000
Celana panjang wanita 10.000
Celana pendek pria 12.000
Celana pendek wanita 10.000
b. Persediaan bahan baku
Bulan Kain Jeans (yar) KainKatun (yar)
Januari 53.716 13.250
Februari 60.495 13.110
Maret 63.500 12.880
April 50.404 12.870
Mei 47.105 9.879
Juni 54.780 10.011
Jumlah 330.000 72.000
Rata-rata 55.000 12.000
Tabel 4.3. Bahan Baku yang Dibutuhkan dalam Membuat Celana
Jenis Produk Kain Jeans (yar) Kain Katun (yar)
Celana panjang pria 1,2 0,6
Celana panjang wanita 1,1 0,4
Celana pendek pria 1 0,6
Celana pendek wanita 1 0,4
c. Waktu pembuatan tiap produk
Diketahui bahwa tenaga kerja CV. Keris Sakti yang bekerja dalam bagian produksi tersebut terdiri dari 20 orang. Pekerja bekerja selama 8 jam sehari, dalam 1 minggu bekerja dari hari Senin hingga Sabtu, sehingga dalam 1 bulan 1 pekerja bekerja selama 208 jam. Jadi apabila dijumlahkan semua waktu pekerja maka terdapat 4.160 jam. Di samping itu, apabila industri tersebut ingin memproduksi hanya 1 buah celana, maka dibutuhkan waktu sekitar 1 jam untuk celana pria dan 0,75 jam (45 menit) untuk celana wanita.
d. Jumlah permintaan pasar
Tabel 4.4. Jumlah Permintaan Pasar Bulan Januari 2013 hingga Juni 2013 jumlah maksimum tiap celana dari bulan Januari 2013 hingga Juni 2013, yaitu celana panjang pria 1.600 buah, celana panjang wanita 900 buah, celana pendek pria 1.250 buah, dan celana pendek wanita 875 buah. Untuk mengantisipasi agar jumlah produksi dari tiap celana tidak 0, maka ditambah kendala batasan bawah jumlah yang dapat diproduksi oleh industri, yaitu celana panjang pria 1.575 buah, celana panjang wanita 850 buah, celana pendek pria 1.245, dan celana pendek wanita 800 buah.
4.2.Perumusan Fungsi Tujuan
Asumsikan:
x1 = Jumlah celana panjang pria per buah x2 = Jumlah celana panjang wanita per buah x3 = Jumlah celana pendek pria per buah x4 = Jumlah celana pendek wanita per buah
4.3.Perumusan Fungsi Kendala
Fungsi kendala terdiri dari jumlah persediaan bahan baku, jumlah permintaan pasar terhadap produk, dan waktu pembuatan produk.
1. Model kendala persediaan bahan baku
Dalam memodelkan kendala persediaan bahan baku, data yang digunakan adalah jumlah rata-rata dari tiap produk yang dapat dilihat pada Tabel 4.2 dan berdasarkan banyaknya bahan baku yang dibutuhkan tiap jenis celana (Tabel 4.3) maka model kendala persediaan bahan baku dapat dirumuskan sebagai berikut:
Kain jeans : 1,2x1 + 1,1x2 + x3 + x4≤ 55.000 Kain katun : 0,6x1 + 0,4x2 + 0,6x3 + 0,4x4≤ 12.000
2. Model kendala waktu pembuatan tiap produk
Dalam memodelkan kendala waktu pembuatan produk, data yang digunakan adalah waktu yang dihabiskan dalam membuat tiap jenis celana, sehingga model kendala waktu pembuatan produk dapat dirumuskan sebagai berikut:
x1 + 0,75x2+ x3 + 0,75x4 ≤ 4.160
3. Model kendala jumlah permintaan pasar
Berdasarkan jumlah permintaan pasar terhadap produk yang telah diperlihatkan pada Tabel 4.4, maka model kendala permintaan pasar dapat dirumuskan sebagai berikut:
Celana panjang wanita : 850 ≤ x2≤ 900 Celana pendek pria : 1.245 ≤ x3≤ 1.250 Celana pendek wanita : 800 ≤ x4 ≤ 875
4.4.Analisis dan Pembahasan
Dalam mengoptimalkan jumlah produksi celana, metode yang akan digunakan adalah Metode Branch and Bound. Sehingga pertama-tama kita modelkan ke dalam model program integer menjadi:
Fungsi tujuan:
Maksimumkan z = 13.000x1 + 10.000x2 + 12.000x3 +10.000x4
Fungsi kendala:
1. Kendala persediaan bahan baku
1,2x1 + 1,1x2 + x3 + x4≤ 55.000 0,6x1 + 0,4x2 + 0,6x3 + 0,4x4≤ 12.000
2. Kendala waktu pembuatan produk
x1 + 0,75x2 + x3 + 0,75x4 ≤ 4.160
3. Kendala jumlah permintaan pasar
x1 ≤ 1.600 x2 ≤ 900 x3 ≤ 1.250
x4 ≤ 875 x1 ≥ 1.575
Maksimumkan z = 13.000x1 + 10.000x2 + 12.000x3 +10.000x4
Kendala 1,2x1 + 1,1x2 + x3 + x4+ s1 = 55.000 0,6x1 + 0,4x2 + 0,6x3 + 0,4x4 + s2 = 12.000 x1 + 0,75x2+ x3 + 0,75x4 + s3 = 4.160 x1 + s4 = 1.600
x2 + s5 = 900 x3 +s6 =1.250 x4 + s7 = 875 x1 - s8 + s12 = 1.575 x2 - s9 + s13 = 850 x3 - s10 + s14 = 1.245 x4 - s11 + s15 = 800 xj≥ 0; j = 1, 2, 3, 4 si≥ 0; i = 1, 2, 3, …, 15
Berdasarkan perhitungan simpleks dan pohon pencabangan Branch and Bound yang dapat dilihat pada Lampiran 1 dan Lampiran 2, maka perbandingan jumlah tiap celana yang dapat diproduksi industri dengan yang didapat dari perhitungan Branch and Bound adalah sebagai berikut.
Tabel 4.5. Perbandingan Jumlah Produksi Optimum Produksi (per buah)
Selisih
Jenis Celana Industri Usulan
Celana panjang pria 1.575 1.586 1.586 1.586 11
Celana panjang wanita 850 900 898 895 50/48/45
Celana pendek pria 1.245 1.245 1.245 1.245 0
Celana pendek wanita 800 872 874 875 72/74/75
Metode Branch and Bound diharapkan dapat menyelesaikan suatu problem program integer dengan penyelesaian optimal yang lebih teliti dan lebih baik dari metode lain. Metode ini biasanya menghasilkan lebih dari satu solusi optimal, sehingga baik penulis maupun pemimpin industri dapat membandingkan manakah yang merupakan solusi yang paling optimal diantara solusi-solusi yang dihasilkan tersebut.
KESIMPULAN DAN SARAN
5.1. Kesimpulan
1. Jumlah produksi optimal tiap jenis celana (celana panjang pria, celana panjang wanita, celana pendek pria, celana pendek wanita) masing-masing dapat diperoleh dalam 3 alternatif yaitu 1.586, 900, 1.245, 872 buah; 1.586, 898, 1.245, 874 buah atau 1.586, 895, 1.245, 875 buah per bulan.
2. Jumlah pendapatan penjualan celana pada CV. Keris Sakti berdasarkan perhitungan dengan metode Branch and Bound diperoleh rata-rata Rp.53.278.000,- per bulan.
3. Metode Branch and Bound dapat dikatakan merupakan metode yang efektif dalam mengoptimalkan suatu permasalahan karena walaupun prosedur dari metode ini sangat panjang dalam permasalahan yang besar tetapi hasilnya lebih optimal daripada metode lain karena metode ini biasanya menghasilkan hasil optimal lebih dari satu. Dengan demikian, dari hasil-hasil optimal yang didapat dapat dibandingkan manakah yang merupakan hasil yang paling optimal.
5.2. Saran
BAB 3
METODE PENELITIAN
Pada bab ini, akan dijelaskan metode-metode yang penulis gunakan dalam penelitian ini. Adapun metode yang akan digunakan dalam penelitian ini adalah Metode Simpleks dan Metode Branch and Bound.
3.1. Metode Simpleks
Metode simpleks adalah prosedur pemecahan program linier yang lebih efisien daripada metode grafik. Meskipun problem program linier dapat diselesaikan secara grafik, akan tetapi hampir seluruh problem program linier sesungguhnya tidak dapat diselesaikan dengan cara ini, karena pada umumnya program linier mempunyai lebih dari 3 variabel.
Oleh karena itu, George Dantzig pada tahun 1947 mengajukan satu metode yang paling berhasil untuk meyelesaikan problem program linier yang disebut Metode Simpleks.
Secara umum, bentuk umum dari program linier dapat dimodelkan sebagai berikut.
Maksimumkan: z = c1x1 + c2x2 + … + cnxn Kendala :
Minimumkan : z = c1x1 + c2x2+ … + cnxn Kendala :
xn ≥ 0, n = 1, 2, 3, …
Prosedur (tahap proses) untuk menyelesaikan program linier dengan menggunakan metode simpleks adalah sebagai berikut:
Tahap 1. Merumuskan problema ke dalam model simpleks. Tahap 2. Menyusun tabel simpleks iterasi awal.
Tahap 3. Mengecek nilai optimal tabel simpleks dengan cara sebagai berikut: a. Kalau sudah optimal, tafsirkan hasil penyelesaian.
b. Kalau belum optimal, teruskan penyelesaian pada tahap berikutnya. Tahap 4. Mengidentifikasi variabel yang akan masuk dalam tabel.
Tahap 5. Mengidentifikasi variabel yang akan dikeluarkan dalam tabel. Tahap 6. Menyusun tabel simpleks baru.
Tahap 7. Mengecek nilai optimal tabel simpleks baru tersebut: a. Kalau sudah optimal, tafsirkan hasil penyelesaian. b. Kalau belum optimal, kembali kepada prosedur tahap 4.
Tahap 1. Perumusan Model Simpleks
memenuhi persyaratan yang dikehendaki pada persamaan kendala tersebut). Bentuk ini biasanya dikatakan sebagai bentuk standar, sehingga bentuk standarnya dapat dirumuskan sebagai berikut: (Asumsikan untuk permasalahan maksimasi).
Maksimumkan: z = c1x1 + c2x2 + … + cnxn Kendala :
xn≥ 0, n = 1, 2, 3, …
si ≥ 0, i = 1, 2, 3, …
Pada permasalahan dalam penelitian ini, tanda ketidaksamaan kendala adalah lebih kecil atau sama dengan (≤), diubah menjadi tanda sama dengan (=) dengan syarat menambah variabel slack pada sisi bagian kiri persamaan kendala. Mengapa harus ditambah dengan variabel slack? Jawabannya ialah agar persamaan garis kendala memenuhi persyaratan penyelesaian pada daerah kelayakan.
Tahap 2. Menyusun Tabel Simpleks
Basis / C B x1 x2 … … xn s1 s2 … … sn
Zj - Cj
Penjelasan tabel simplek di atas:
1. C = Nilai kontribusi setiap variabel basis dalam proses iterasi.
2. Basis = Variabel basis dalam proses iterasi (nilainya tidak sama dengan nol). 3. B = Nilai variabel basis dalam proses iterasi.
4. Cj – Zj = Nilai kontribusi dalam problema meminimalkan dari setiap variabel dalam proses iterasi.
Tahap 3. Pengecekan Optimalisasi Tabel Simpleks Iterasi Awal
Pengecekan apakah tabel simplek pada iterasi awal telah atau belum optimal dilakukan dengan cara melihat nilai Zj - Cj masing-masing variabel fungsi tujuan. Apabila Zj - Cj untuk semua variabel bernilai nol atau positif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka dilakukan tahap proses selanjutnya.
Tahap 4. Identifikasi Variabel yang Akan Masuk (Incoming Variable)
nonbasis ini memiliki nilai terbesar yang dapat ditingkatkan dalam proses iterasi selanjutnya.
Tahap 5. Identifikasi Variabel yang Akan Keluar (Outgoing Variable)
Dengan adanya variabel yang masuk kedalam tabel simpleks, maka salah satu dari variabel basis harus keluar dari tabel simpleks tersebut agar diperoleh peningkatan nilai tujuan maksimum. Cara mengidentifikasi variabel yang akan keluar adalah dengan mencari hasil bagi antara nilai solusi dan nilai substitusi marjinal yang terkecil dan bilangan tersebut bernilai non-negatif.
Tahap 6. Penyusunan Tabel Simpleks Iterasi Pertama
Untuk menyusun tabel simpleks iterasi pertama, kita harus mencari koefisien elemen pivot dari tabel simpleks sebelumnya. Koefisien elemen pivot dapat dicari dengan cara menghubungkan kolom pivot dengan baris pivot sedemikian rupa sehingga titik potong kedua pivot ini menunjukkan koefisien, yang disebut elemen pivot.
Koefisien-koefisien baris pivot yang baru dicari dengan menggunakan rumus sebagai berikut:
Nilai Baris Pivot Baru = Nilai Baris Pivot Lama : Elemen Pivot
Untuk menghitung nilai baris baru lainnya, dilakukan dengan menggunakan rumus sebagai berikut:
Pengecekan apakah tabel simpleks pada iterasi pertama telah atau belum optimal. Apabila Zj - Cj untuk semua variabel bernilai nol atau negatif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka kembali pada prosedur Tahap 4.
3.2. Metode Branch and Bound
Metode Branch and Bound mula-mula dipakai dan dikembangkan oleh Land and Doig (1960) untuk menyelesaikan program integer yang kemudian dimodifikasi oleh Dakin (1965) dan telah dengan sukses menerapkannya di dalam kitab undang-undang hukum dagang banyak orang dalam memecahkan persoalan program integer (Sidabutar, 2008).
Metode ini telah menjadi kode komputer standar untuk program integer, dan penerapan-penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efisien dibanding dengan pendekatan Gomory. Teknik ini dapat diterapkan baik untuk masalah pure programming maupun mixed programming.
Secara umum, bentuk umum dari program integer adalah sebagai berikut.
Maksimumkan:
∑
dengan kendala:
Dengan demikian, penjabaran bentuk umum dari fungsi tujuan dan fungsi kendala program integer adalah sebagai berikut.
Asumsikan fungsi tujuan program integer adalah sebagai berikut.
Maksimumkan:
z = c1x1 + c2x2 + … + cnxn
maka,
( ) =
= ∑ ; j = 1, 2, …, n
Selanjutnya, asumsikan fungsi kendala program integer adalah sebagai berikut.
maka,
∑ ; i =1, 2, …, m
Langkah-langkah Metode Branch and Bound
Maksimumkan
Kendala dimana S0 = {x | Ax = b, x ≥ 0, dan integer}.
Ide umum dari metode branch and bound adalah pertama untuk menyelesaikan problema sebagai model kontinu, yakni menyelesaikan program integer sebagai program linier:
Maksimumkan
Kendala dimana T0 = {x | Ax = b, x ≥ 0}.
Andaikan bahwa xr merupakan peubah yang berkendala integer yang mempunyai nilai optimum kontimu xr* yang pecahan. Hasil dari tidak memuat solusi integer yang layak. Sebagai akibatnya nilai integer layak dari xr harus memenuhi salah satu dari dua kondisi berikut yakni:
atau
Kedua kondisi ini bilamana diaplikasikan untuk model yang kontinu maka hasilnya merupakan dua problema saling lepas (mutually exclusive) dengan himpunan kendala sebagai berikut:
(i) { } (ii) { }
dan bilamana kendala-kendala integernya dimasukkan, maka diperoleh himpunan: S1 = {x|Ax = b, , x ≥ 0, dan integer} dan
S2 = {x|Ax = b, , x ≥ 0, dan integer}
Sebenarnya bentuk ini merupakan pemisahan dari S0, yakni , . Solusi optimal x* dari problema yang diberikan, harus berada di salah satu S1 atau S2 dan harus juga merupakan solusi optimal dari salah satu subproblema berikut:
Subproblema-subproblema ini dapat lagi diselesaikan dengan mengulangi proses yang sama dengan merelaksasi kendala integernya dan mencabangkan kembali bila solusi optimal mempunyai komponen yang bernilai pecahan atau tidak integer. Proses percabangan ini akan membangun pohon keputusan, dengan setiap node k dari pohon keputusan tersebut berhubungan dengan sebuah subproblema: Maksimumkan z = c.x kendala . Jika solusi optimal yang berhubungan dengan program linier tersebut layak (memenuhi) atau mempunyai komponen-komponen bulat, maka solusi ini dicatat dan nilai objektifnya merupakan batas bawah untuk nilai optimum. Dalam kasus seperti ini tidak perlu dilakukan percabangan lebih jauh lagi dari subproblema ini dan node yang demikian difathom atau dipangkas. Node yang belum terfathom disimpan dalam master list. Pada beberapa node, nilai optimal (nilai integer terbesar yang lebih kecil atau sama dengan nilai optimum jika fungsi objektif mempunyai koefisien-koefisien integer) ̅̅̅ dari program linier yang bersangkutan merupakan sebuah batas atas untuk nilai optimum dari semua turunannya. Jika batas atas tersebut lebih kecil dari batas bawah terbaik yang ada, maka subproblema ini tidak dicabangkan lagi. Proses Branch and Bound diteruskan sampai setiap subproblema berhenti karena salah satu dari dua alasan berikut, yakni
(i) Sebuah solusi integer, atau
(ii)Batas atas lebih kecil dari batas bawah yang ada sekarang (Bangun, 2004).
Berdasarkan uraian di atas, maka prosedur atau langkah-langkah metode Branch and Bound untuk masalah maksimasi adalah sebagai berikut.
1. Selesaikan masalah program linier dengan metode simpleks.
(rounded – down).
4. Pilih variabel yang mempunyai nilai pecahan terbesar (artinya bilangan desimal terbesar dari masing-masing variabel untuk dijadikan pencabangan ke dalam sub-sub masalah). Tujuannya adalah untuk menghilangkan solusi yang tidak memenuhi persyaratan integer dalam masalah itu. Pencabangan itu dilakukan secara mutually exclusive untuk memenuhi persyaratan integer dengan jaminan tidak ada solusi fisibel (layak) yang diikutsertakan.
5. Untuk setiap sub-masalah, nilai optimum fungsi tujuan ditetapkan sebagai batas atas. Solusi optimum yang diintegerkan menjadi batas bawah (solusi yang sebelumnya tidak integer kemudian diintegerkan). Sub-sub masalah yang memiliki batas atas kurang dari batas bawah yang ada, tidak diikutsertakan pada analisa selanjutnya. Suatu solusi integer fisibel (layak) adalah sama baik atau lebih baik dari batas atas untuk setiap sub masalah yang dicari. Jika solusi yang demikian terjadi, suatu sub masalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali ke langkah 4 (Winston, 2004).
Perhitungan dalam Metode Branch and Bound
Satu kerugian dasar dari metode Branch and Bound adalah bahwa metode ini mengharuskan pemecahan program linier yang lengkap di setiap node. Dalam masalah besar, hal ini dapat sangat memakan waktu, terutama ketika satu-satunya informasi yang diperlukan di node tersebut adalah nilai tujuan optimumnya. Hal ini diperjelas dengan menyadari bahwa sebuah batas yang “baik” diperoleh, “banyak” node dapat disingkirkan dengan diketahui nilai tujuan optimum mereka.
Gagasannya adalah “mengestimasi” sebuah batas atas (asumsikan masalah maksimasi) dari nilai tujuan optimum di setiap node. Jika batas atas ini menjadi lebih kecil daripada nilai tujuan yang berkaitan dengan pemecahan integer terbaik yang tersedia, node tersebut disingkirkan. Keuntungan utamanya adalah bahwa batas atas tersebut dapat diestimasi dengan cepat dengan perhitungan minimal. Gagasan umum ini mengestimasi penalti (yaitu, penurunan nilai tujuan) yang dihasilkan dari pemberlakuan kondisi dan . Ini dapat dicapai dengan menambahkan setiap batasan ini ke tabel optimum di node tersebut.
TINJAUAN PUSTAKA
Optimasi bilangan bulat (integer) bukan merupakan sebuah persoalan matematika baru, dan dalam penelitian operasional dikenal sejak tahun 1940. Optimisasi bilangan bulat penting digunakan pada pemecahan masalah yang disusun sebagai sebuah hasil perkembangan pada bidang penelitian operasional, terutama sekali pada persoalan Program Linier. Hal itu diperlukan untuk penentuan model penyusunan pada beberapa atau semua variabel keputusan agar integer (Taha, 1996).
2.1. Pengertian Produksi
rumah sakit, pelayanan, dan lain sebagainya. Dari pengertian yang luas inilah sekarang berkembang istilah yang sering digunakan, yaitu industri, seperti halnya dengan industri manufacture, industri pengolah hasil pertanian atau agro-industry, industri pengolah hasil-hasil pertambangan, industri pariwisata, industri jasa perdagangan, dan industri pengangkutan. Dalam arti sempit, pengertian produksi hanya dimaksud sebagai kegiatan yang menghasilkan barang baik barang jadi maupun barang setengah jadi, bahan industri dan suku cadang atau spareparts dan komponen. Dengan pengertian ini, produksi dimaksudkan sebagai kegiatan pengolahan dalam pabrik. Hasil produksinya dapat berupa barang-barang konsumsi maupun barang-barang industri (Assauri, 1999).
2.2. Program Linier
Program linier adalah suatu teknik penyelesaian optimal atas suatu problema keputusan dengan cara menentukan terlebih dahulu fungsi tujuan (memaksimalkan atau meminimalkan) dan kendala-kendala yang ada ke dalam model matematik persamaan linier. Program linier sering digunakan dalam menyelesaikan problema-problema alokasi sumber daya, seperti dalam bidang manufacturing, pemasaran, keuangan, personalia, administrasi, dan lain sebagainya. Syarat-syarat yang harus dipenuhi dalam merumuskan suatu problema keputusan ke dalam model matematik persamaan linier adalah sebagai berikut:
1. Memiliki kriteria tujuan;
2. Sumber daya yang tersedia sifatnya terbatas;
3. Semua variabel dalam model memiliki hubungan matematis bersifat linier; 4. Koefisien model diketahui dengan pasti;
5. Bilangan yang digunakan dapat bernilai bulat atau pecahan;
yang optimal (maksimum atau minimum) (Supranto, 1991).
2.3. Program Integer
Program integer adalah suatu bentuk dari program matematikal. Ia adalah suatu kasus khusus dari program linear di mana semua (atau beberapa) variabel dibatasi sebagai bilangan cacah tak negatif. Kalau semua variabel dibatasi sebagai bilangan cacah, problemanya disebut sebagai pure integer programming dan kalau beberapa variabel tertentu dibatasi sebagai bilangan cacah sedang yang lain tidak, problemanya disebut mixed integer programming. Suatu bentuk khusus dari program integer ialah suatu kasus di mana variabel dibatasi harus berharga nol atau satu. Kalau variabel dibatasi seperti ini, maka problemnya disebut zero-one integer programming. Cara simpleks adalah basis untuk penyelesaian problema program linear di mana disyaratkan bahwa semua variabel adalah tak negatif. Tetapi untuk menyelesaikan problema (model) program linear bilangan bulat terdapat beberapa cara. Hanya saja, baik program linear maupun program linear bilangan bulat, mulai dengan ruang yang sama yaitu ruang penyelesaian layak (feasible). Tetapi, karena adanya persyaratan bilangan cacah bagi problem kedua yang berarti munculnya batasan tambahan menyebabkan adanya suatu pengurangan dari ruang penyelesaian layak.
Bentuk umum program integer dapat dirumuskan sebagai berikut:
Maksimumkan:
∑
dengan kendala:
dimana aij, bi, cj diketahui sebagai konstanta jika ternyata:
1. xj semua bilangan cacah, maka problema disebut pure integer programming. 2. xj sebagian bilangan cacah dan yang lainnya boleh tidak, maka disebut mixed
integer programming.
PADA CV. KERIS SAKTI
ABSTRAK
CV. Keris Sakti merupakan sebuah industri manufacturing yang bergerak dibidang industri konveksi. Industri ini belum pernah menggunakan metode apapun untuk mengoptimalkan jumlah produksinya sehingga perlu dilakukan penelitian apakah jumlah produksi yang selama ini dihasilkan sudah optimal atau belum. Metode yang akan digunakan untuk menentukan jumlah produksi optimum pada CV. Keris Sakti adalah dengan metode program integer yaitu metode Branch and Bound. Penelitian ini ditinjau berdasarkan jumlah persediaan bahan baku, permintaan pasar, laba dan waktu pembuatan. Hasil penelitian diperoleh bahwa jumlah produksi celana yang optimal tiap jenis celana (celana panjang pria, celana panjang wanita, celana pendek pria, celana pendek wanita) masing-masing dapat diperoleh dalam 3 alternatif yaitu 1.586, 900, 1.245, 872 buah; 1.586, 898, 1.245, 874 buah atau 1.586, 895, 1.245, 875 buah dengan keuntungan sebesar Rp.53.278.000,- per bulan.
APPLICATION OF BRANCH AND BOUND METHOD IN DETERMINING THE OPTIMUM NUMBER OF
PRODUCTION AT CV. KERIS SAKTI
ABSTRACT
CV. Keris Sakti is a manufacturing industry which is engaged in the pants. This industry had never used any method to optimize the amount of production that need to be investigated if the amount of production that has been generated is optimal or not. Method that will be used to determine the optimum number of production at CV. Keris Sakti is the method of integer programming, that is Branch and Bound method. This study was reviewed based on the amount of stock of raw materials, market demand, profit and time of manufacture. The output of this study obtained that the optimal production quantities of each type of pants (men's trousers, women's trousers, men's shorts, women's shorts) can be obtained in 3 alternatives: 1.586, 900, 1.245, 872 pieces; 1.586, 898, 1.245, 874 pieces or 1.586, 895, 1.245, 875 pieces with a gain of Rp.53.278.000, - per month.
PADA CV. KERIS SAKTI
SKRIPSI
ANGELINE
100803040
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM
PADA CV. KERIS SAKTI
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
ANGELINE 100803040
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
Judul : Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV. Keris Sakti
Kategori : Skripsi
Nama : Angeline
Nomor Induk Mahasiswa : 100803040
Program Studi : Sarjana (S1) Matematika
Departemen : Matematika
Fakultas : Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara
Disetujui di Medan, 2014
Komisi Pembimbing :
Pembimbing 2, Pembimbing 1,
Drs. Gim Tarigan, M.Si. Prof. Dr. Drs. Iryanto, M.Si.
NIP. 195502021986011001 NIP. 194604041971071001
Disetujui Oleh
Departemen Matematika FMIPA USU Ketua,
PERNYATAAN
PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM
PADA CV. KERIS SAKTI
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 2014
Puji dan syukur penulis panjatkan kepada Tuhan yang Maha Penyayang, atas kemurahan dan berkat yang telah diberikan sehingga penulis dapat menyelesaikan skripsi dengan judul Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV. Keris Sakti guna melengkapi syarat memperoleh gelar sarjana Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam di Universitas Sumatera Utara.
Dalam kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu dan membimbing penulis dalam penyusunan skripsi ini, ucapan terima kasih saya sampaikan kepada:
1. Bapak Prof. Dr. Drs. Iryanto, M.Si selaku pembimbing I dan Bapak Drs. Gim Tarigan, M.Si selaku pembimbing II yang telah memberikan bimbingan dan pengarahan sehingga skripsi ini dapat saya selesaikan.
2. Bapak Dr. Parapat Gultom, MSIE dan Ibu Dr. Esther Sorta M.Nababan, M.Sc selaku dosen pembanding.
3. Bapak Prof. Dr. Tulus, Vor.Dipl.Math, M.Si dan Ibu Dra. Mardiningsih, M.Sc selaku Ketua dan Sekretaris Departemen Matematika FMIPA-USU Medan.
4. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
6. Seluruh teman jurusan Matematika khususnya stambuk 2010, adik-adik junior stambuk 2011, stambuk 2012, stambuk 2013 serta Abang dan Kakak alumni.
7. Ayahanda Kang Tjong Tie, Ibunda Dra. Tuty Tamin, adik penulis Filbert, serta keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan.
Penulis menyadari masih banyak kekurangan dan kelemahan dalam penulisan skripsi ini. Untuk itu penulis minta maaf kepada seluruh pembaca bila ada kesalahan serta penulis mengharapkan saran dan kritikan demi kesempurnaan skripsi ini. Akhir kata, semoga skripsi ini dapat bermanfaat bagi kita semua.
Medan, 2014 Penulis
PADA CV. KERIS SAKTI
ABSTRAK
CV. Keris Sakti merupakan sebuah industri manufacturing yang bergerak dibidang industri konveksi. Industri ini belum pernah menggunakan metode apapun untuk mengoptimalkan jumlah produksinya sehingga perlu dilakukan penelitian apakah jumlah produksi yang selama ini dihasilkan sudah optimal atau belum. Metode yang akan digunakan untuk menentukan jumlah produksi optimum pada CV. Keris Sakti adalah dengan metode program integer yaitu metode Branch and Bound. Penelitian ini ditinjau berdasarkan jumlah persediaan bahan baku, permintaan pasar, laba dan waktu pembuatan. Hasil penelitian diperoleh bahwa jumlah produksi celana yang optimal tiap jenis celana (celana panjang pria, celana panjang wanita, celana pendek pria, celana pendek wanita) masing-masing dapat diperoleh dalam 3 alternatif yaitu 1.586, 900, 1.245, 872 buah; 1.586, 898, 1.245, 874 buah atau 1.586, 895, 1.245, 875 buah dengan keuntungan sebesar Rp.53.278.000,- per bulan.
APPLICATION OF BRANCH AND BOUND METHOD IN DETERMINING THE OPTIMUM NUMBER OF
PRODUCTION AT CV. KERIS SAKTI
ABSTRACT
CV. Keris Sakti is a manufacturing industry which is engaged in the pants. This industry had never used any method to optimize the amount of production that need to be investigated if the amount of production that has been generated is optimal or not. Method that will be used to determine the optimum number of production at CV. Keris Sakti is the method of integer programming, that is Branch and Bound method. This study was reviewed based on the amount of stock of raw materials, market demand, profit and time of manufacture. The output of this study obtained that the optimal production quantities of each type of pants (men's trousers, women's trousers, men's shorts, women's shorts) can be obtained in 3 alternatives: 1.586, 900, 1.245, 872 pieces; 1.586, 898, 1.245, 874 pieces or 1.586, 895, 1.245, 875 pieces with a gain of Rp.53.278.000, - per month.
Halaman
Bab 2. Tinjauan Pustaka
2.1. Pengertian Produksi 5
2.2. Program Linier 6
2.3. Program Integer 7
Bab 3. Metode Penelitian
3.1. Metode Simpleks 9
3.2. Metode Branch and Bound 14
Bab 4. Hasil dan Pembahasan
4.1. Pengumpulan Data 20
4.2. Perumusan Fungsi Tujuan 22
4.3. Perumusan Fungsi Kendala 23
4.4. Analisis dan Pembahasan 24
Bab 5. Kesimpulan dan Saran
5.1. Kesimpulan 25
5.2. Saran 25
DAFTAR TABEL
Nomor Judul Halaman
Tabel
3.1. Format Tabel Simpleks 12
4.1. Keuntungan Tiap Produk Bulan Januari 2013 hingga Juni 2013 20 4.2. Jumlah Persediaan Bahan Baku Bulan Januari 2013 hingga Juni 2013 21 4.3. Bahan Baku yang Dibutuhkan dalam Membuat Celana 21 4.4. Jumlah Permintaan Pasar Bulan Januari 2013 hingga Juni 2013 22
Nomor Judul Halaman Lamp
1. Perhitungan Awal Metode Simpleks 27