Materi Pemrograman Linier
Linear Programming
(Pemrograman Linier)
Program Studi Statistika
Semester Ganjil 2011/2012
(2)
Metode Dual Simplex
Dapat dimanfaatkan untuk
1.
Menentukan solusi optimal baru
setelah menambah kendala
baru pada LP
2.
Menentukan solusi optimal baru
setelah perubahan rhs dari LP
3.
Mencari solusi masalah
(3)
Metode Dual Simplex pada kasus
Maksimisasi
Kriteria optimal bukan lagi pada
baris nol
Kriteria optimal berdasarkan rhs
Baris pivot ditentukan dulu, baru
(4)
Langkah-langkah:
1. Apakah rhs setiap kendala sudah >=0 semua? ◦Ya: solusi sudah diperoleh
◦Tidak: lanjutkan langkah berikutnya
2. Pilih BV yang paling negatif (Baris pivot) yang harus
meninggalkan BV. Pilih kolom pivot, sebagai pemenang ratio test dari setiap peubah dengan koefisien negatif pada baris pivot
Ratio test= Koefisien baris nol/Koefisien baris pivot
◦ Pemenangnya adalah ratio terkecil: BV yang baru
◦ Lakukan ERO
3. Selesai jika rhs setiap kendala>=0.
◦ Jika rhs ada yang <0 tapi pada baris pivot semua koefisien >=0: tidak ada solusi feasibel
(5)
Menentukan solusi optimal baru
setelah menambah kendala baru
pada LP
Terdapat tiga kemungkinan:
1.
Solusi optimal yang ada memenuhi kendala
baru
2.
Solusi optimal yang ada tidak memenuhi
kendala baru, tapi LP tetap mempunyai solusi
feasibel
3.
Tambahan kendala menyebabkan LP tidak
mempunyai solusi feasibel
(6)
Pada Permasalahan
Dakota
0
,
,
carpentry)
(jam
8
5
.
0
5
.
1
2
finishing)
(jam
20
5
.
1
2
4
kayu)
(bahan
48
6
8
.
.
20
30
60
max
3 2 1 3 2 1 3 2 1 3 2 1 3 2 1
x
x
x
x
x
x
x
x
x
x
x
x
t
s
x
x
x
z
11
3 21
x
x
x
Misalkan dipunyai kendala baru dalam
bentuk sbb:
Solusi optimal masih memenuhi kendala
tsb:
280
,
0
,
24
,
8
,
0
,
2
:
x
1
x
2
x
3
s
1
s
2
s
3
z
BFS
11
8
0
2
kursi produksi :# meja produksi :# bangku produksi :# 3 2 1 x x x
Kasus 1
(7)
Misalkan pihak pemasaran menentukan
bahwa paling sedikit 1 meja harus diproduksi.
Maka akan ada kendala baru sbb:
1
2
x
Dari solusi yang ada
x
2=0
Tidak memenuhi kendala baru
Solusi tidak lagi feasibel dan tidak
optimal
Digunakan metode dual simpleks,
berdasarkan tableau paling akhir +
kendala baru
(8)
Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 0 -1 0 0 0 0 1 -1 e4=-1
1
4 2
e
x
Kendala baru dalam bentuk standar:
Untuk memperoleh bentuk kanonik
pada peubah excess:
1
4
2
(9)
Langkah-langkah dual simplex
pada kasus ini
1. Apakah rhs setiap kendala sudah >=0 semua?
◦ Tidak: lanjutkan langkah berikutnya
Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 0 -1 0 0 0 0 1 -1 e4=-1
2. Pilih BV yang paling negatif (Baris pivot).
Pilih kolom pivot: pemenang ratio test dari setiap peubah dengan koefisien negatif pada baris pivot
Baris 4 0 0 -1 0 0 0 0 1 -1 e4=-1
Lakukan ERO: x2 menggantikan e2
x2 5 -2 -2 1.25
(10)
Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 0 -1 0 0 0 0 1 -1 e4=-1
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs
Baris 4 0 0 1 0 0 0 0 1 1
1
)
2
(
4
)
3
(
4
Baris
Baris
Dengan ERO ingin diperoleh Tableau
3
: baris 4 didahulukan (pivot row)
(11)
Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 0 -1 0 0 0 0 1 -1 e4=-1
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs
Baris 4 0 0 1 0 0 0 0 1 1
)
3
(
4
*
5
)
2
(
0
)
3
(
0
Baris
Baris
Baris
Dengan ERO ingin diperoleh baris 0 di
tableau 3: dengan memanfaatkan baris 4 di tableu 3 (pivot row)
(12)
Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 0 -1 0 0 0 0 1 -1 e4=-1
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs
Baris 4 0 0 1 0 0 0 0 1 1
2
*
4
(
3
)
)
2
(
1
)
3
(
1
Baris
Baris
Baris
Dengan ERO ingin diperoleh baris 1 di tableau 3: dengan memanfaatkan baris 4 di tableu 3 (pivot row)
Baris 0 1 0 0 0 0 10 10 5 275
(13)
Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 0 -1 0 0 0 0 1 -1 e4=-1
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs
Baris 4 0 0 1 0 0 0 0 1 1
2
*
4
(
3
)
)
2
(
2
)
3
(
2
Baris
Baris
Baris
Dengan ERO ingin diperoleh baris 2 di tableau 3: dengan memanfaatkan baris 4 di tableu 3 (pivot row)
Baris 0 1 0 0 0 0 10 10 5 275
Baris 1 0 0 0 0 1 2 -8 -2 26
(14)
Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 0 -1 0 0 0 0 1 -1 e4=-1
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs
Baris 4 0 0 1 0 0 0 0 1 1
)
3
(
4
*
25
.
1
)
2
(
3
)
3
(
3
Baris
Baris
Baris
Dengan ERO ingin diperoleh baris 3 di tableau 3: dengan memanfaatkan baris 4 di tableu 3 (pivot row)
Baris 0 1 0 0 0 0 10 10 5 275
Baris 1 0 0 0 0 1 2 -8 -2 26
Baris 2 0 0 0 1 0 2 -4 -2 10
Baris 3 0 1 0 0 0 -0.5 1.5 1.25 0.75
BV z=275 s1=26 x3=10 x1=0.75 x2=1
288
,
0
,
26
,
10
,
1
,
75
.
0
:
x
1
x
2
x
3
s
1
s
2
s
3
z
(15)
Dengan tambahan batasan bahwa paling
sedikit 1 meja harus diproduksi
Solusi optimal berubah menjadi:
288
,
0
,
26
,
10
,
1
,
75
.
0
:
x
1
x
2
x
3
s
1
s
2
s
3
z
BFS
kursi produksi :# meja produksi :# bangku produksi :# 3 2 1 x x xMeja diproduksi 1 buah, dengan konsekuensi mengurangi
produksi bangku dan menambah produksi kursi
Bangku dari 2 buah menjadi 0.75 buah (non integer di luar
topik ini!)
Kursi dari 8 buah menjadi 10 buah Keuntungan menjadi lebih tinggi
280
,
0
,
24
,
8
,
0
,
2
:
x
1
x
2
x
3
s
1
s
2
s
3
z
BFS
Solusi optimal awal:
Memproduksi 2 bangku, dan 8 kursi tanpa
(16)
Misalkan pihak manajemen memberi syarat bahwa
jumlah produksi bangku dan meja paling sedikit 12
buah:
Kasus 3
12
2 1
x
x
Solusi optimal awal:
Memproduksi 2 bangku, dan 8 kursi tanpa
memproduksi meja
Tidak memenuhi syarat tersebut
12
0
2
Solusi optimal awal tidak memenuhi syarat
sehingga harus dilakukan tambahan iterasi
dengan mentode dual simplex
(17)
Tambahan kendala baru dalam bentuk standar:
Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 -1 -1 0 0 0 0 1 -12 e4=-12
12
12
1 2 44 2
1
x
e
x
x
e
x
Baris 4 0 -1 -1 0 0 0 0 1 -12 e4=-12
Karena X
1BV, kolom bagi X
1harus disesuaikan
menjadi bentuk kanonik di baris 3
Dengan cara melakukan ERO untuk baris 4
2
'
4
2
3
2
4
Baris
Baris
Baris
(18)
Baris 4 0 0 0.25 0 0 -0.5 1.5 1 -10 e4=-10 Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 -1 -1 0 0 0 0 1 -12 e4=-12
Tableau 2’ z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2
2
'
4
2
3
2
4
Baris
Baris
Baris
(19)
1. Apakah rhs setiap kendala sudah >=0 semua?
◦ Tidak: lanjutkan langkah berikutnya
2. Pilih BV yang paling negatif (Baris pivot): Baris 4
Pilih kolom pivot: pemenang ratio test dari
setiap peubah dengan koefisien negatif pada
baris pivot
Tableau 2’ z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 0 0.25 0 0 -0.5 1.5 1 -10 e4=-10 Baris 4 0 0 0.25 0 0 -0.5 1.5 1 -10 e4=-10
Tidak perlu ratio test karena:
Hanya s
2, yang mempunyai koefisien (-) pada
baris pivot.
s2 10 2 2 -0.5 -0.5
s
2menggantika
n e
4(20)
Tableau 2’ z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 5 0 0 10 10 0 280 z=280 Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24 Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8 Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2 Baris 4 0 0 0.25 0 0 -0.5 1.5 1 -10 e4=-10
Dengan ERO diperoleh Tableau 3
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 10 0 0 0 40 20 80 z=80 Baris 1 0 0 -1 0 1 0 -2 4 -16 s1=-16 Baris 2 0 0 -1 1 0 0 2 4 -32 x3=-32
Baris 3 0 1 1 0 0 0 0 -1 12 x1=2
(21)
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 10 0 0 0 40 20 80 z=80 Baris 1 0 0 -1 0 1 0 -2 4 -16 s1=-16 Baris 2 0 0 -1 1 0 0 2 4 -32 x3=-32
Baris 3 0 1 1 0 0 0 0 -1 12 x1=2
Baris 4 0 0 -0.5 0 0 1 -3 -2 20 s2=20
1. Apakah rhs setiap kendala sudah >=0 semua?
◦ Tidak: lanjutkan langkah berikutnya
2. Pilih BV yang paling negatif (Baris pivot): Baris 2
Pilih kolom pivot: pemenang ratio test dari
setiap peubah dengan koefisien negatif pada
baris pivot
Tidak perlu ratio test karena:
Hanya x
2, yang mempunyai koefisien (-) pada
baris pivot.
Baris 2 0 0 -1 1 0 0 2 4 -32 x3=-32
x
2menggantika
n x
3x2 10 -1 -1 1 -0.5
(22)
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 10 0 0 0 40 20 80 z=80 Baris 1 0 0 -1 0 1 0 -2 4 -16 s1=-16 Baris 2 0 0 -1 1 0 0 2 4 -32 x3=-32
Baris 3 0 1 1 0 0 0 0 -1 12 x1=2
Baris 4 0 0 -0.5 0 0 1 -3 -2 20 s2=20
Dengan ERO diperoleh Tableau 4
Tableau 4 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 0 10 0 0 60 60 -240 z=-240 Baris 1 0 0 0 -1 1 0 -4 0 16 s1=16 Baris 2 0 0 1 -1 0 0 -2 -4 32 x2=32 Baris 3 0 1 0 1 0 0 2 3 -20 x1=-20 Baris 4 0 0 0 -0.5 0 1 -4 -4 36 s2=36
(23)
Tableau 4 z x1 x2 x3 s1 s2 s3 e4 rhs BV Baris 0 1 0 0 10 0 0 60 60 -240 z=-240 Baris 1 0 0 0 -1 1 0 -4 0 16 s1=16 Baris 2 0 0 1 -1 0 0 -2 -4 32 x2=32 Baris 3 0 1 0 1 0 0 2 3 -20 x1=-20 Baris 4 0 0 0 -0.5 0 1 -4 -4 36 s2=36
1. Apakah rhs setiap kendala sudah >=0 semua?
◦ Tidak: lanjutkan langkah berikutnya
2. Pilih BV yang paling negatif (Baris pivot): Baris 3
Pilih kolom pivot: pemenang ratio test dari
setiap peubah dengan koefisien negatif pada
baris pivot
Baris 3 0 1 0 1 0 0 2 3 -20 x1=-20
Tidak ada peubah dengan koefisien negatif pada
baris 3
Indikator bahwa tidak ada solusi feasibel bagi LP
setelah tambahan kendala baru.
Nilai Z yang (-) juga sebagai indikator
infeasibilitas
(1)
Baris 4 0 0 0.25 0 0 -0.5 1.5 1 -10 e4=-10
Tableau 2 z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 5 0 0 10 10 0 280 z=280
Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24
Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8
Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2
Baris 4 0 -1 -1 0 0 0 0 1 -12 e4=-12
Tableau 2’ z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 5 0 0 10 10 0 280 z=280
Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24
Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8
Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2
2
'
4
2
3
2
4
Baris
Baris
(2)
1. Apakah rhs setiap kendala sudah >=0 semua?
◦ Tidak: lanjutkan langkah berikutnya
2. Pilih BV yang paling negatif (Baris pivot): Baris 4
Pilih kolom pivot: pemenang ratio test dari
setiap peubah dengan koefisien negatif pada
baris pivot
Tableau 2’ z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 5 0 0 10 10 0 280 z=280
Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24
Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8
Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2
Baris 4 0 0 0.25 0 0 -0.5 1.5 1 -10 e4=-10
Baris 4 0 0 0.25 0 0 -0.5 1.5 1 -10 e4=-10
Tidak perlu ratio test karena:
Hanya s
2, yang mempunyai koefisien (-) pada
baris pivot.
s2 10 2 2 -0.5 -0.5
s
2menggantika
n e
4(3)
Tableau 2’ z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 5 0 0 10 10 0 280 z=280
Baris 1 0 0 -2 0 1 2 -8 0 24 s1=24
Baris 2 0 0 -2 1 0 2 -4 0 8 x3=8
Baris 3 0 1 1.25 0 0 -0.5 1.5 0 2 x1=2
Baris 4 0 0 0.25 0 0 -0.5 1.5 1 -10 e4=-10
Dengan ERO diperoleh Tableau 3
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 10 0 0 0 40 20 80 z=80
Baris 1 0 0 -1 0 1 0 -2 4 -16 s1=-16
Baris 2 0 0 -1 1 0 0 2 4 -32 x3=-32
Baris 3 0 1 1 0 0 0 0 -1 12 x1=2
(4)
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 10 0 0 0 40 20 80 z=80
Baris 1 0 0 -1 0 1 0 -2 4 -16 s1=-16
Baris 2 0 0 -1 1 0 0 2 4 -32 x3=-32
Baris 3 0 1 1 0 0 0 0 -1 12 x1=2
Baris 4 0 0 -0.5 0 0 1 -3 -2 20 s2=20
1. Apakah rhs setiap kendala sudah >=0 semua?
◦ Tidak: lanjutkan langkah berikutnya
2. Pilih BV yang paling negatif (Baris pivot): Baris 2
Pilih kolom pivot: pemenang ratio test dari
setiap peubah dengan koefisien negatif pada
baris pivot
Tidak perlu ratio test karena:
Hanya x
2, yang mempunyai koefisien (-) pada
baris pivot.
Baris 2 0 0 -1 1 0 0 2 4 -32 x3=-32
x
2menggantika
n x
3x2 10 -1 -1 1 -0.5
(5)
Tableau 3 z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 10 0 0 0 40 20 80 z=80
Baris 1 0 0 -1 0 1 0 -2 4 -16 s1=-16
Baris 2 0 0 -1 1 0 0 2 4 -32 x3=-32
Baris 3 0 1 1 0 0 0 0 -1 12 x1=2
Baris 4 0 0 -0.5 0 0 1 -3 -2 20 s2=20
Dengan ERO diperoleh Tableau 4
Tableau 4 z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 0 10 0 0 60 60 -240 z=-240
Baris 1 0 0 0 -1 1 0 -4 0 16 s1=16
Baris 2 0 0 1 -1 0 0 -2 -4 32 x2=32
Baris 3 0 1 0 1 0 0 2 3 -20 x1=-20
(6)
Tableau 4 z x1 x2 x3 s1 s2 s3 e4 rhs BV
Baris 0 1 0 0 10 0 0 60 60 -240 z=-240
Baris 1 0 0 0 -1 1 0 -4 0 16 s1=16
Baris 2 0 0 1 -1 0 0 -2 -4 32 x2=32
Baris 3 0 1 0 1 0 0 2 3 -20 x1=-20
Baris 4 0 0 0 -0.5 0 1 -4 -4 36 s2=36
1. Apakah rhs setiap kendala sudah >=0 semua?
◦ Tidak: lanjutkan langkah berikutnya
2. Pilih BV yang paling negatif (Baris pivot): Baris 3
Pilih kolom pivot: pemenang ratio test dari
setiap peubah dengan koefisien negatif pada
baris pivot
Baris 3 0 1 0 1 0 0 2 3 -20 x1=-20