program linier

advertisement
PROGRAM LINIER
Fungsi tujuan
Fungsi linier thd variabel keputusan
Semua kendala
Bentuk Umum Program Linier :
Max
c1 x1  c2 x2  .......  cn xn
S.t
a11 x1  a12 x2  .......  a1n xn  b1
a21 x1  a22 x2  .......  a2 n xn  b2
am1 x1  am 2 x2  .......  amn xn  bm
x1 , x2 ,..........., xn  0
 x1 
x 
 2
x . 
 
.
 x n 
 b1 
b 
 2
b=  . 
 
 . 
bm 
;
C = c1
;
 a11
a
 21
A =  ...

 ...
a m1
. . cn 
c2
a12
a 22
...
...
am2
... ... a1n 
... ... a 2 n 
... ... ... 

... ... ... 
... ... a mn 
didapat,
max C x
s.t
Ax  b
x
PROGRAM LINIER
 0
1
Contoh :
Pabrik kayu menghasilkan 2 produk pintu dan jendela dengan proses sebagai berikut :
Pintu kasar
I
III
kayu
Pintu dan jendela siap jual
II
Jendela kasar
Spesifikasi :
-
Terdapat 4 mesin di unit I
-
Terdapat 3 mesin di unit II
-
Terdapat 3 mesin di unit III
- Tiap mesin di unit I dpt menghasilkan 1 pintu tiap 3 jam
- Tiap mesin di unit II dpt menghasilkan 1 jendela tiap 2 jam
- Tiap mesin di unit III dpt menghasilkan 1 pintu tiap 2 jam dan 1
jendela tiap 1 jam
- Tiap hari jam kerja yang tersedia adalah 9 jam
- Keuntungan tiap pintu = Rp 20.000
- Keuntungan tiap jendela = Rp 15.000
Buat Formulasi Program Linier supaya didapat keuntungan yang maksimum !
Penyelesaian :
x1
: banyaknya pintu yang diproduksi
x2
: banyaknya jendela yang diproduksi
z
: Keuntungan
Formulasi Program Linier :
max
Z  20x1  15x2
s.t
3x1
 4x9
2x 2
2 x1  x2
 3x9
 3x9
x1 , x2  0
PROGRAM LINIER
2
Dalam Notasi Matrik :
3 0
A = 0 2
2 1 
C = 20 15
 36 
b =  27 
 27 
Penyelesaian Grafis dari Program Linier :
x1  0
3x1  36
2 x1  x 2  27
2 x 2  27
x2  0
Titik – titik ekstrim dari program linier tersebut adalah :
0 
0 
 
,
12
0
 
,
 0 
13 1  ,

2 
12
3
 
63 
 4
13 1 2 
,
kandidat penyelesaian dari program linier
 6 3. 
4
Dari arah f terlihat bahwa titik maksimumnya adalah :  1 
13 2 
63 
x   4  dengan
13 1 2 
*
PROGRAM LINIER

 

Z  6 3 x20000  13 1 x150000  337500
4
2
3
Penyelesaian dengan Kuhn-Tucker :
max
20x1  15x2
min
 20x1  15x2
: f (x)
s.t
3x1  36  0
: g1 ( x )
2x2  27  0
: g 2 ( x)
2x1  x2  27  0
: g 3 ( x)
 x1  0
: g 4 ( x)
 x2  0
: g 5 ( x)
PROGRAM LINIER
4
PENYELESAIAN MATRIK UNTUK
PROGRAM LINIER
Pertidaksamaan diubah menjadi Persamaan dengan menambahkan SLACK :
x1  x2  3
x1  x2  x3  3
x1 , x2  0
x1 , x2 , x3  0
max
C1 x1  C2 x2  .............  Cn xn
s.t
a11 x1  a12 x2  .............  a1n xn  b1
a21 x1  a22 x2  .............  a2 n xn  b2
am1 x1  am 2 x2  ............  amn xn  bm
x1 , x2 , x3 ,................, xn  0
Dengan menambahkan slack sebanyak kendala didapatkan :
max
C1 x1  C2 x2  .............  Cn xn
s.t
a11 x1  a12 x2  .............  a1n xn  xn1  b1
a21 x1  a22 x2  .............  a2 n xn  xn 2  b2
am1 x1  am 2 x2  ............  amn xn  xn m  bm
x1 , x2 , x3 ,............, xn , xn1 , xn 2 ,.........., xn m  0
Dalam bentuk Matrik didapatkan :
Max
C 'x'
s.t
A' x '  b '
Bentuk Kanonik
x'  0
dimana,
PROGRAM LINIER
5
 x1 
 . 


 . 


 x   xn 
'
x  
 x S   x n 1 


 . 
 . 


 x n  m 
A '   A I 
b'  b
C '  C  0  C1
C2
. . Cn
0 0 . . 0
Contoh :
Nyatakan dalam bentuk kanonik :
max
Z  20x1  15x2
s.t
max Z  20 x1  15x2  0 x3  0 x4  0 x5
 4x9
3x1
2x 2
 3x9
2 x1  x2
 3x9
s.t
3x1
2x 2
 x3
 4x9
 x4
 3x9
 x5  3x9
2 x1  x2
x1 , x2 , x3 , x4 , x5
0
x1 , x2  0
Bentuk Kanonik :
Max
20
15 0 0 0
PROGRAM LINIER
 x1 
x 
 2
 x3 
 
 x4 
 x 5 
6
s.t
 3 0 1 0 0
0 2 0 1 0


2 1 0 0 1
 x1 
x 
 36 
 2
 x 3    27 
 
 
 27 
x
 4
 x 5 
 x1 
x 
 2
 x3   0
 
 x4 
 x 5 
PROGRAM LINIER
7
PENYELESAIAN DASAR
SISTEM PERSAMAAN LINIER
Sistem Persamaan Linier ditulis sebagai :
Ax=b
Agar memiliki penyelesaian tunggal, harus dipenuhi syarat :
-
banyaknya persamaan = banyaknya variabel
-
A harus memiliki rank penuh yang berarti memiliki invers
Penyelesaiannya adalah :
x  A 1b
Dalam program linier akan didapat sistem persamaan linier dengan banyaknya variabel
selalu lebih banyak dari banyaknya persamaan. Akibatnya sistem terseut akan punya
banyak penyelesaian, yang salah satunya adalah penyelesaian dasar yang dapat dicari
sbb :
A  B N 
dimana B adalah matrik bujur sangkar yang mempunyai invers
 xB 
 
x  
x 
 N
Ax  b , berubah menjadi
B
x 
N   B  = b
 xN 
Bx B + Nx N
= b
X B 1
B 1 Bx B + B 1 Nx N = B 1b
Ix B
+ B 1 Nx N = B 1b
x B = B 1b - B 1 Nx N
PROGRAM LINIER
8
Penyelesaian dasar didapat dengan memilih :
xN  0
Didapat :
x B  B 1 .b
yang berarti :
 x B   B 1b
x 

xN   0 
penyelesaian dasar dari sistem persamaan linier Ax  b
xB
disebut variabel dasar
xN
disebut variabel bukan dasar
B
disebut matrik dasar
N
disebut matrik bukan dasar
Contoh :
Max
x1  2x2
s.t
x1  x2  4
x2  2
x1 , x2  0
bentuk kanoniknya adalah sbb :
max
x1  2 x2  0 x3  0 x4
s.t
x1  x 2  x3
x2 
x1 , x2 , x3 , x4
4
x4
2
0
Daerah kelayakannya adalah sbb :
x2
Titik - titik ekstrim :
 0  0  2  4

 0
, 
 2
, 
 2
, 
 0

       
x1
PROGRAM LINIER
9
Penyelesaian dasarnya dapat dicari sbb :
1 1 1 0
A

0 1 0 1 
 x1 
x 
x   2
 x3 
 
 x4 
 4
b 
 2
alternatif 1 :
1 1
B

0 1
1 0
N 

0 1 
x 
xB   1 
 x2 
1  1 4 2
x B  B 1b  
    
0 1   2   2 
x 
xN   3 
 x4 
 x1 
x 
 2
( titik ekstrim )
alternatif 2 :
1 1
B

0 0 
( tdk memenuhi )
alternatif 3 :
1 0
B

0 1 
1 1
N

1 0
 x1  1 0 4 4
 x   0 1 2  2
   
 4 
 x2  0
 x   0
 3  
x 
xB   1 
 x4 
x 
xN   2 
 x3 
 x1  4
 x   0 
 4  
( titik ekstrim )
dst………
PROGRAM LINIER
10
PENYELESAIAN PROGRAM LINIER
DENGAN TABEL ELIMINASI
Menyelesaikan program linier sama saja dengan mencari penyelesaian dasar dari suatu
sistem persamaan linier, karenanya dapat dilakukan dengan menggunakan Eliminasi
GAUSS. Untuk itu program linier tersebut dinyatakan dalam bentuk tabel sehingga
memudahkan proses eliminasi Gauss.
Pada proses in dimulai dari suatu penyelesaian dasar yang paling mudah dicari kemudian
pada tiap iterasi berusaha mendapatkan penyelesaian dasar yang memiliki nilai tujuan ( Z
) yang lebih baik dan seterusnya sampai tidak dapat menghasilkan yang lebih tinggi. Pada
saat itu iterasi dihentikan dan penyelesaian dasar yang terakhir adalah penyelesaian
optimal yang dicari.
Telah didapat bahwa :
Bx B  NxN  b
atau
Ix B  B 1 Nx N  B 1b
….. ( 1 )
Untuk nilai tujuan digunakan persamaan sbb :
Z  Cx
 C B
x 
CN   B 
xN 
Z  CB xB  C N xN


 C B B 1b  B 1 Nx N  C N x N
 C B B 1b  C B B 1 Nx N  C N x N


 C B B 1b  C B B 1 N  C N x N


Z  0.x B  C B B 1 N  C N x N  C B B 1b ……… ( 2 )
Bila
C
B

B 1 N  C N  0 , penyelesaian dasar yang sekarang sudah
Optimal
PROGRAM LINIER
11
Bila ada yang negatif, ambil
xN

1
yang nilai C B B N  C N

nya adalah yang paling
negatif, buat supaya variabel ini menjadi variabel dasar
Karena banyaknya variabel dasar adalah tetap, berarti harus ada salah satu variabel
dasar yang juga harus diubah menjadi variabel bukan dasar yaitu variabel dasar yang
menjadi nol karena ada variabel bukan dasar yang nilainya menjadi positip sesuai dengan
persamaan :
x B  B 1b  B 1 Nx N
Terjadi pertukaran tempat antara salah satu
xB
dengan salah satu
xN
Tabel Eliminasi Gauss dapat disusun dari persamaan (1) dan (2) sebagai berikut :
Z
xB
xN
RK
C B B 1 N  C N
C B B 1b
B 1 N
B 1 b
Z
1
0
xB
0
I
Supaya prosesnya sederhana, sebagai
xB
awal dipilih variabel - variabel yang memiliki
koefisien 0 pada tujuan dan koefisien I pada kendala
Contoh 1:
Max
x1  2x2
s.t
x1  x2  4
x2  2
x1 , x2  0
Bentuk kanonik :
Max
x1  2 x2  0.x3  0.x4
s.t
x1  x2  x3
x2
4
 x4
2
x1 , x2 , x3 , x4  0
 x3 
XB   
 x4 
PROGRAM LINIER
12
Z
x1
x2
x3
x4
RK
Z
1
-1
-2
0
0
0
x3
0
1
1
1
0
4
x4
0
0
1
0
1
2
Z
x1
x2
x3
x4
RK
Z
1
-1
0
0
2
4
x3
0
1
0
1
-1
2
x2
0
0
1
0
1
2
Z
x1
x2
x3
x4
RK
Z
1
0
0
1
1
6
x1
0
1
0
1
-1
2
x2
0
0
1
0
1
2
Jadi
x1  2
x2  2
Z 6
Contoh 2 :
Max
Z  x1  x2
s.t
x1  5x2  5
2 x1  x2  4
x1 , x2  0
Bentuk Kanonik :
Max
Z  x1  x2  0.x3  0.x4
s.t
x1  5 x2  x3  5
2x1  x2  x4  4
x1 , x2 , x3 , x4  0
 x3 
XB   
 x4 
PROGRAM LINIER
13
Z
x1
x2
x3
x4
RK
Z
1
-1
-1
0
0
0
x3
0
1
5
1
0
5
x4
0
2
1
0
1
4
Z
x1
x2
x3
x4
RK
Z
1
0
-1
2
0
0
2
x3
0
0
9
2
1
0
3
x1
0
1
1
2
0
1
2
Z
x1
x2
x3
x4
RK
Z
1
0
0
1
9
0
7
x2
0
0
1
2
9
0
2
x1
0
1
0
1
1
5
9
2
2
3
3
3
Jadi
5
x1  ,
3
PROGRAM LINIER
x2 
2
,
3
Z
7
3
14
METODE SIMPLEK
UNTUK PROGRAM LINIER TIDAK STANDAR
Standar :
-
Tujuan Memaksimumkan
-
Kendala
-
Ruas kanan nonnegatif
-
Variabel nonnegatif

Tidak Standar :
-
Salah satu di atas tidak dipenuhi
1.
Tujuan : Meminimumkan
min Z = - ( maks -Z )
2.
Variabel tidak nonnegatif
x1  0

x1   x1
'
x1   x1
'
 x1  0
'

x1  0
'
x1  3

x1  x1  3
'
x1  x1  3
'
x1  3  3
'

x1  0
'
x1
tidak dibatasi

x1  x1  x1
'
x1  0
'
PROGRAM LINIER
''
x1  0
''
,
15
3.
Ruas kanan tidak non negatif
x1  x2  3
X -1
 x1  x2  3
Untuk menghadapi kasus dimana kendalanya tidak dalam bentuk

( dapat
,
atau = ) perlu ditambahkan variabel semu.
x1  2x2  3
x1  2 x2  x3  3
x3
x3
: slack
tidak dapat dipakai sebagai variabel dasar untuk itu ditambahkan variabel semu yang
dapat dipakai sebagai variabel dasar.
x1  2 x2  x3  xa  3
xa
: variabel semu yang diasumsikan bernilai  0
Tetapi melalui sejumlah iterasi
xa
harus dibuat menjadi variabel nondasar supaya
bernilai 0
Kondisi ini dapat dicapai dengan cara : meminimumkan
xa
.
Contoh :
Max
2 x1  x2
s.t
x1  x2  3
 x1  x2  1
x1 , x2  0
Bentuk Kanonik :
Max
Z  2 x1  x2  0 x3  0 x4  0 x5
s.t
x1  x2  x3  3
 x1  x2  x4  x5  1
min
Z a  x5
PROGRAM LINIER
max  Z a   x5
 Z a  x5  0
16
Z
x1
x2
x3
x4
x5
RK
Za
0
0
0
0
0
1
0
Z
1
-2
-1
0
0
0
0
x3
0
1
1
1
0
0
3
x5
0
-1
1
0
-1
1
1
Z
x1
x2
x3
x4
x5
RK
Za
0
1
-1
0
1
0
-1
Z
1
-2
-1
0
0
0
0
x3
0
1
1
1
0
0
3
x5
0
-1
1
0
-1
1
1
Z
x1
x2
x3
x4
x5
RK
Za
0
0
0
0
0
1
0
Z
1
-3
0
0
-1
1
1
x3
0
2
0
1
1
-1
2
x2
0
-1
1
0
-1
1
1
Z
x1
x2
x3
x4
x5
RK
Z
1
0
0
3
1
x1
0
1
0
1
x2
0
0
1
1
2
2
2
1
1
2
2
2
-1
2
4
2
1
2
2
-1
1
Diabaikan, boleh dibuang
Jadi,
x1  1
PROGRAM LINIER
x2  2
Z 4
17
Contoh :
Min
x1  x2  2x3
s.t
x1  x2  x3  8
2 x1  x2  4
x1  2 x3  6
x1  1, x2  0, x3  0
Penyelesaian :
Misal :
x1  x1 '1
x2   x2 '
x1 '1  1
 x2 '  0
x1 '  0
x2 '  0
sehingga,
min
Z  x1 '1  x2 '2 x3
s.t
x1 '1  x2 ' x3  8
2x1 '1  x2 '  4
x1 '1  2 x3  6
menjadi,
max
 Z   x1 ' x2 '2 x3  1
s.t
x1 ' x2 ' x3  x4  7
2 x1 ' x2 ' x5  x6  2
x1 '2 x3  x7  5
x1 ' , x2 ' ,x3 , x4 , x5 , x6 , x7  0
min
Za
Z
x4
x6
x7
Z a  x6  x7
Z
0
-1
0
0
0
PROGRAM LINIER
max
x1
0
1
1
2
1
'
 Z a   x6  x7
 Z a  x 6  x7  0
'
x3
x4
x5
x6
x7
0
1
-1
1
0
0
2
1
0
2
0
0
1
0
0
0
0
0
-1
0
1
0
0
1
0
1
0
0
0
1
x2
RK
0
-1
7
2
5
18
'
x2
'
x3
x4
x5
x6
x7
x6
Z
0
-1
0
0
-3
1
1
2
-1
1
-1
1
-2
2
1
0
0
0
1
0
1
0
0
-1
0
0
0
1
0
0
0
0
RK
0
-1
7
2
x7
0
1
0
2
0
0
0
1
5
Z
0
-1
0
0
x1
x3
x4
x5
x6
x7
0
0
0
1
½
1/2
-3/2
½
-2
2
1
0
0
0
1
0
-1/2
½
½
-1/2
3/2
-1/2
-1/2
½
0
0
0
0
RK
-4
-2
6
1
0
0
-1/2
2
0
1/2
-1/2
1
4
Z
0
-1
0
0
0
x1
x3
x4
x5
x6
x7
0
0
0
0
1
0
0
1
0
0
0
0
¼
-1/2
1/4
1
0
-1/4
½
-1/4
1
-1
-1/2
0
1/2
RK
0
-6
4
1
2
Za
Z
x4
Za
Z
x4
x1
'
x7
Za
Z
x4
'
x1
x3
x1
'
'
0
0
0
1
0
x2
x2
'
'
0
1
-5/4
½
-1/4
Diabaikan, boleh dibuang
Jadi
x1  1
'
x2  0
PROGRAM LINIER
'
x3  2
Z 6
x1  2
x2  0
19
Download