melakukan iterasi perhitungan pada titik-titik ekstrim mis

advertisement
Oleh :
Hartrisari H.
Tahun 1947
George Dantzig
Memecahkan masalah programa linier yang kompleks
(QSB+, STORM)
Memecahkan persoalan-persoalan Programa linier dengan iterasi yaitu mengulangi langkahlangkah perhitungan yang sama dalam rangka mendapatkan hasil yang optimum
ALGORITMA
solusi awal
iterasi perhitungan
uji optimalitas
T
optimal
?
Y
selesai
# Dasar metoda simplex
geometri dan aljabar
# Persiapan-persiapan sebelum menggunakan metoda simplex
BENTUK STANDAR LP
 Kendala-kendala pertidaksamaan ( / ) harus dikonversi ke dalam bentuk persamaan
yang ekivalen.

~ menambahkan var. slack pada sisi kiri pertidaksamaan
=
Mis : x1 + 2x2  6
x1 + 2x2 + S1 = 6 ; S1  0
S1 ~ var. slack

=
~ mengurangkan dengan var. surplus
(sisi kiri > sisi kanan)
Mis : 3x1 + 2x2 – 3x3  5
3x1 + 2x2 – 3x3 – S2 = 5; S2  0
S2 var. surplus
 Sisi kanan suatu persamaan yang bernilai (-) dapat selalu dibuat non
negatif dengan cara mengalikan ke 2 sisi persamaan dengan -1
mis : 2x1  3 x 2  7 x 3   5 x  1
 2x1  3x 2  7x 3   5
 Mengalikan pertidaksamaan dengan –1  arah pertidaksamaan berubah
mis : *) 2  4
x 1
 2 4
*) 2x1  x 2   5 x  1
 2 x1  x 2   5
 Fungsi tujuan dapat berbentuk max./min.
(tergantung kebutuhan ~ max/min)
max. Z = 5x1 + 2x2 + 3x3
min. (-Z) = -5x1 –2x2 –3x3
DASAR METODE SIMPLEX
~ Solusi grafik
* daerah yang memenuhi “constraints”
* mencari solusi optimal
titik ekstrim
Secara tidak sadar ~ melakukan iterasi perhitungan pada titik-titik ekstrim
mis :
max. Z = 3xE + 2xI + OS1 + OS2 + OS3 + OS4
~ mengapa ada S1 s/d S4 pada fungsi tujuan ??
Kendala :
xE +
2xI
2xE +
xI
-xE
xI
+ S1
=6
+ S2
xI
xE, xI, S1, S2, S3, S4  0
=8
+ S3
=1
+ S4
=2
XI
5
xE + 2x1 + S1 = 6
9
7
3
5
3
E
D
F
C
4
6
1
A
1
3
B
5
7
9
1
2
~ Cara
mencari nilai max dari titik-titik ekstrim (A, B, C, D, E, F)
~ Pada garis kendala
~ nilai var. slack = 0
Iterasi
xI
4
3
E
D
1
F
C
5
6
A
2
B
Titik ekstrim
var. = 
xE
var. tidak 
A
xE, xI
S1, S2, S3, S4
B
S2, xI
S1, xE, S3, S4
C
S2, S1
xI, xE, S3, S4
D
S4, S1
xI, xE, S3, S2
E
S4, S3
xI, xE, S1, S2
F
xE, S3
xI, S4, S1, S2
KESIMPULAN ?
KESIMPULAN
 untuk titik ekstrim mengandung 2 var. bernilai  (var. )
4 pers. kendala
6 variabel
(m)
(n; m  n)
n–m=6–4=2
 untuk titik ekstrim yang berhubungan (A-B, A-F, B-C, C-D, D-E, E-F)
hanya berbeda pada 1 variabel
Iterasi perhitungan ~ mempertukarkan var.  dengan var tidak 
mis : dari A
B
var. 
var tidak 
A
xE, xI
S1, S2, S3, S4
B
S2, xI
S1, xE, S3, S4
var.  : VAR. NON BASIC
var tidak  : VAR BASIC
Simplex
menukar var.non Basic dengan var. Basic
ALJABAR
TAHAPAN METODA SIMPLEX
1.
Membuat persoalan
bentuk standar LP.
a) mengubah fungsi tujuan menjadi fungsi implisit
b) mengubah fungsi batasan menjadi persamaan dengan menambahkan
var.
slack
c) menambahkan var. slack dalam fungsi dalam fungsi tujuan
2.
Dari bentuk standar
menentukan solusi awal dengan menetapkan/
memilih var. non basic sebagai variasi bernilai 0.
ingat n – m
3.
4.
Menyusun tabel simplex
Memilih variasi non basic yang harus dipertukarkan menjadi var. basic :
a) memilih kolom pivot
~ nilai minimal terbesar pada fungsi tujuan bila fungsi tujuan maksimal.
b) mencari index tiap baris dengan cara membagi nilai pada kolom solusi
dengan kolom pivot
~ tidak termasuk baris tujuan
c) baris pivot
nilai positif terkecil.
Pivot = perpotongan kolom pivot dan baris pivot.
d) Menghitung baris pivot baru dengan cara membagi semua nilai pada baris pivot
lama dengan nilai pivot.
e) Menghitung nilai baris-baris lainnya.
cara :
Baris baru = baris lama – (koef. pada kolom pivot)
* Nilai Baru Baris Pivot
~ nilai pada kolom pivot = 0
kenapa ?
5)
6)
7)
Susun tabel simplex baru
Evaluasi apakah pada fungsi tujuan masih ada nilai (-)
Jika ya
tidak
ulangi tahapan 4 s/d 6
solusi optimal
Maksinumkan 3x1 + 5x2
Kendala :
x1
2x2
3x1 + 2xx
x1, x2
4
 12
 18
0
Jawab :
Fungsi tujuan ~ implisit
 ~ Bentuk standar L.P
batasan ~ persamaan (+var. slack)
var. slack ~ fungsi tujuan
a) Z - 3x1 - 5x2 = 0 ~ maksimumkan
b) x1
+ S1
2x2
3x1 + 2x2
+ S2
+ S3
=4
= 12
= 18
x1, x2, S1, S2, S3  0
Ada xi ada Si ~ seragamkan
S 1 = x3
S 2 = x4
S 3 = x5
OPTION
c) Z - 3x1 -5x2 - 0x3 - 0x4 - 0x5 = 0
Kendala :
x1
+ x3
2x2
3x1 + 2x2
+ x4
+ x5
=4
= 12
= 18
x1, x2, x3, x4, x5  0
 ~ menentukan solusi awal
memilih var  (var. non Basic)
Ingat n - m
n = variabel ~ 5
m = persamaan ~ 3
5 - 3 = 2 var. 
Pemilihan ~ 5 var. (x1, x2, x3, x4, x5)
2 var  = x1, x2
ALASAN ?
Var. non Basic
 ~ menyusun tabel simplex
Basic
Z
x1
x2
x3
x4
x5
Solusi
Z
1
-3
-5
0
0
0
0
X3
X4
X5
0
0
0
1
0
3
0
2
2
1
0
0
0
1
0
0
0
1
4
12
18
 memilih var. non basic yang akan ditukar
a) kolom pivot ~ nilai(-) terbesar pada fungsi tujuan (Z)
kolom x2 (nilai (-) terbesar = -5)
b) index tiap baris ~ solusi/kolom pivot (Z tidak deperhitungkan)
4/0 = ?
12/2 = 6
18/2 = 9
c) baris pivot ~ nilai terkecil
baris 2
x4
pivot = 2 (perpotongan)
ARTI : pada tabel berikutnya / iterasi berikutnya
x2 menjadi var. basic
x4 menjadi var. non basic
d)
Menghitung baris pivot baru ~ membagi semua nilai pada baris pivot dengan
pivot
baris pivot lama :
0 2 0 1 0 12
:2
baris pivot baru :
0 1 0 ½ 0 6
e)
Menghitung nilai baris lainnya
* baris lama - (koefisien kolom pivot) * nilai baru baris pivot
* nilai pada kolom pivot = 0
Z : -3
Pivot baru : 0
-3
-5
1
1
X3 : 1
Pivot baru : 0
1
0
1
0
X5 : 3
Pivot baru : 0
3
0
0
0
0
1/2
1/2
1
0
1
2
1
0
0
1/2
0
0
0
0
0
1/2
-1
0
0
0
0
6
6
0
0
0
1
0
1
(-5)
4
6
4
(0)
18
6
6
(2)
 Susun tabel simplex baru
Basic
Z
x1
x2
x3
x4
x5
Solusi
Z
1
-3
-5
0
5/2
0
30
X3
X2
X5
0
0
0
1
0
3
0
2
2
1
0
0
0
1/2
-1
0
0
1
4
6
6
 Evaluasi apakah pada fungsi tujuan masih ada nilai (-) ?
~ masih pada kolom x1, nilai = - 3
ARTINYA ?
 Ulangi langkah perhitungan
• kolom pivot = kolom x4 (nilai – 3)
• index tiap baris
4/1 = 4
6/0 = ?
6/3 = 2
• baris pivot ~ baris 3  x5
pivot = 3
x5 tukar dengan x1
• baris pivot lama :
3
0
0
-1
1
6
:3
baris pivot baru
1
0
0
-1/3
1/3
2
• menghitung nilai-nilai baris lainnya
Z:
p.b :
x3 :
p.b :
x2 :
p.b :
-3
1
0
0
0
0
5/2
-1/3
0
1/3
0
0
0
3/2
1
1
1
0
0
1
0
0
-1/3
0
1/3
0
0
1
1/3
-1/3
0
1
1
0
0
0
½
-1/3
0
1/3
0
1
0
1/2
0
Tabel baru
30
2 (-3)
36
4
2 (1)
2
6
2 (0)
6
S1
S2
S3
Basic
Z
x1
x2
x3
x4
x5
Solusi
Z
1
-3
-5
0
3/2
1
36
X3
X2
X1
0
0
0
0
0
1
0
2
2
1
0
0
1/3
1/2
- 1/3
-1/3
0
1/3
2
6
2
Evaluasi
pada Z tidak ada nilai (-)
# optimal
# x1 = 2
x2 = 6
Z = 36
Maksinumkan 8x1 + 4x2
Kendala :
x1 + x x
5 x1 + x x
x1, x2
 18
 15
0
Jawab :
Fungsi tujuan ~ implisit
 ~ Bentuk standar L.P
batasan ~ persamaan (+var. slack)
var. slack ~ fungsi tujuan
a) Z - 8x1 - 4x2 = 0 ~ maksimumkan
b) x1 + 2x2
5x1 + x2
+ S3
= 10
+ S3 = 15
x1, x2, S1, S2, S3  0
Ada xi ada Si ~ seragamkan
S 1 = x3
S 2 = x4
OPTION
c) Z - 8x1 -4x2 - 0x3 - sx2 = 0
Kendala :
x1 + x 2
+ s1
5x1 + x2
+ s2
x1, x2, s1 s2  0
 ~ menentukan solusi awal
= 10
= 15
memilih var  (var. non Basic)
Ingat n - m
n = variabel ~ 5
m = persamaan ~ 3
5 - 3 = 2 var. 
Pemilihan ~ 5 var. (x1, x2, x3, x4, x5)
2 var  = x1, x2
ALASAN ?
Var. non Basic
 ~ menyusun tabel simplex
Basic
Z
x1
x2
x3
x4
x5
Solusi
Z
1
-3
-5
0
0
0
0
X3
X4
X5
0
0
0
1
0
3
0
2
2
1
0
0
0
1
0
0
0
1
4
12
18
 memilih var. non basic yang akan ditukar
a) kolom pivot ~ nilai(-) terbesar pada fungsi tujuan (Z)
kolom x2 (nilai (-) terbesar = -5)
b) index tiap baris ~ solusi/kolom pivot (Z tidak deperhitungkan)
4/0 = ?
12/2 = 6
18/2 = 9
c) baris pivot ~ nilai terkecil
baris 2
x4
pivot = 2 (perpotongan)
ARTI : pada tabel berikutnya / iterasi berikutnya
x2 menjadi var. basic
x4 menjadi var. non basic
d)
Menghitung baris pivot baru ~ membagi semua nilai pada baris pivot dengan
pivot
baris pivot lama :
0 2 0 1 0 12
:2
baris pivot baru :
0 1 0 ½ 0 6
e)
Menghitung nilai baris lainnya
* baris lama - (koefisien kolom pivot) * nilai baru baris pivot
* nilai pada kolom pivot = 0
Z : -3
Pivot baru : 0
-3
-5
1
1
X3 : 1
Pivot baru : 0
1
0
1
0
X5 : 3
Pivot baru : 0
3
0
0
0
0
1/2
1/2
1
0
1
2
1
0
0
1/2
0
0
0
0
0
1/2
-1
0
0
0
0
6
6
0
0
0
1
0
1
(-5)
4
6
4
(0)
18
6
6
(2)
Download