• Tidak ada hasil yang ditemukan

Materi Pemrograman Linier

N/A
N/A
Protected

Academic year: 2017

Membagikan "Materi Pemrograman Linier"

Copied!
33
0
0

Teks penuh

(1)

Linear Programming

(Pemrograman Linier)

Program Studi Statistika

Semester Ganjil 2011/2012

(2)

Contoh untuk Algoritma Simpleks

Dakota’s Problem

Perusahaan furniture Dakota

memproduksi bangku, meja dan kursi.

Untuk setiap jenis furniture dibutuhkan

bahan baku kayu dan 2 jenis waktu

pengerjaan:

finishing & carpentry

Bahan baku dan waktu pengerjaan

terbatas

Ingin ditentukan jumlah produksi setiap

(3)

Dakota’s Problem dalam Tabel

Sumber daya

Bangku

Meja

Kursi

Ketersediaan

Kayu (m2)

8

6

1

48

Finishing (jam)

4

2

1.5

20

Carpentry (jam)

2

1.5

0.5

8

Profit

60

30

20

 

Peubah

Keputusan?

kursi

produksi

:#

meja

produksi

:#

bangku

produksi

:#

3 2 1

(4)

LP untuk Dakota’s

Problem

Sumber daya

Bangku

X1

Meja

X2

Kursi

X3

Ketersediaan

Kayu (m2)

8

6

1

48

Finishing (jam)

4

2

1.5

20

Carpentry (jam)

2

1.5

0.5

8

Profit($)

60

30

20

 

(5)

Algoritma Simpleks

Tentukan BFS:

BV

&

NBV

Mula

i

BFS

optimal?

Selesa

i

Lakukan iterasi

untuk

menentukan

BFS:

BV & NBV

yang baru

Ya

(6)

Langkah 1 Algoritma Simpleks

Rubah ke bentuk Standar

Digunakan slack

variabel karena

semua kendala

Kendala kayu

Kendala

finishing

Kendala

carpentry

0

,

0

,

0

hour)

(Carpentry

8

5

.

0

5

.

1

2

hour)

(Finishing

20

5

.

1

2

4

(Kayu)

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

48

6

8

x

1

x

2

x

3

8

x

1

6

x

2

x

3

s

1

48

20

5

.

1

2

4

x

1

x

2

x

3

4

x

1

2

x

2

1

.

5

x

3

s

2

20

8

5

.

0

5

.

1

(7)

Langkah 1 Algoritma Simpleks

Bentuk Standar LP

Baris 0

Baris 1

Baris 2

Baris 3

Modifikasi baris 0 menjadi:

Semua peubah di

ruas kiri,

konstanta di ruas

kanan tanda =

0

,

,

,

,

,

8

5

.

0

5

.

1

2

20

5

.

1

2

4

48

6

8

.

.

20

30

60

max

3 2 1 3 2 1 3 3 2 1 2 3 2 1 1 3 2 1 3 2 1

s

s

s

x

x

x

s

x

x

x

s

x

x

x

s

x

x

x

t

s

x

x

x

z

0

20

30

0

6

1

2

3

x

x

x

(8)

Langkah 1 Algoritma Simpleks

Bentuk Tableau

 

z

x1

x2

x3

s1

s2

s3

rhs

Baris 0

1

-60

-30

-20

0

0

0

0

Baris 1

0

8

6

1

1

0

0

48

Baris 2

0

4

2

1.5

0

1

0

20

Baris 4

0

2

1.5

0.5

0

0

1

8

(9)

Langkah 2 Algoritma Simpleks

 

z

x1

x2

x3

s1

s2

s3

rhs

Baris 0

1

-60

-30

-20

0

0

0

0

Baris 1

 

0

8

6

1

1

0

0

48

Baris 2

 

0

4

2

1.5

0

1

0

20

Baris 3

 

0

2

1.5

0.5

0

0

1

8

Tentukan BFS (BV dan NBV).

BV dapat ditentukan dari elemen tableau yang

berbentuk kanonik.

BV

z=0

s1=48

s2=20

s3=8

s

1

,

s

2

,

s

3

BV

NBV

x

1

,

x

2

,

x

3

8

,

20

,

48

,

0

(10)

Langkah 3 Algoritma Simpleks

Apakah BFS tersebut sudah optimal?

Dapat dilihat dari koefisien baris 0.

 

z

x1

x2

x3

s1

s2

s3

rhs

Baris 0

1

-60

-30

-20

0

0

0

0

Satu unit penambahan x

1

,

menaikkan z sebesar $ 60

8

,

20

,

48

,

0

:

x

1

x

2

x

3

s

1

s

2

s

3

BFS

 

0

30

 

0

20

 

0

0

60

20

30

60

1 2 3

x

x

x

(11)

Langkah 3 Algoritma Simpleks

Interpretasi koefisien baris 0

Bagi

NBV

Variabel dengan Koefisien

-c

: satu unit penambahan

variabel tsb menaikkan Z sebesar

c.

Variabel dengan koefisien

+c

: satu unit penambahan

variabel tsb menurunkan Z sebesar

c.

Variabel dengan koefisien 0: BV

 

z

x1

x2

x3

s1

s2

s3

rhs

Baris 0

1

-60

-30

-20

0

0

0

0

Semua koefisien bagi

NBV

adalah < 0

Ada beberapa kemungkinan menaikkan nilai

Z

dengan menaikkan nilai peubah keputusan:

menambah produksi

(12)

Langkah 3 Algoritma Simpleks

 

z

x1

x2

x3

s1

s2

s3

rhs

Baris 0

1

-60

-30

-20

0

0

0

0

Produksi satu unit x1 (Bangku) akan menaikkan Z

(profit) sebesar 60 ($)

Produksi satu unit x2 (Meja) akan menaikkan Z

(profit) sebesar 30 ($)

Produksi satu unit x3 (Kursi) akan menaikkan Z

(profit) sebesar 20 ($)

Pilih

Entering Variable:

Peubah NBV

yang meningkatkan Z paling besar,

untuk menggantikan salah satu

peubah di

BV

1

(13)

Langkah 4 Algoritma Simpleks

Menentukan peubah

BV

yang mana yang akan

digantikan oleh

x

1

Dengan melakukan

Ratio Test

, agar pergantian

peubah tetap berada di dalam wilayah feasibel

 

z

x1

x2

x3

s1

s2

s3

rhs

Baris 0

1

-60

-30

-20

0

0

0

0

Baris 1

 

0

8

6

1

1

0

0

48

Baris 2

 

0

4

2

1.5

0

1

0

20

Baris 3

 

0

2

1.5

0.5

0

0

1

8

BV

z=0

s1=48

s2=20

s3=8

Baris 1

Baris 2

Baris 3

Peubah

selainn

ya

tetap =

0

8 , 20 , 48 , 0 : 3 2 1 3 2 1       s s s x x x

BFS

3 2 1

,

s

,

s

s

BV

NBV

x

1

,

x

2

,

x

3

48

8

x

1

s

1

agar

0

6

8

48 1

1

x

s

20

4

x

1

s

2

agar

0

5

4

20 1

2

x

s

8

2

x

1

s

3

agar

0

4

2 8 1

3

x

(14)

Langkah 4 Algoritma Simpleks

Semua syarat:

Terpenuhi pada: di baris 3

Ratio Test

: agar pergantian peubah tetap berada di dalam

wilayah feasibel, dipilih peubah dengan nilai

ratio test

terkecil

 

z

x1

x2

x3

s1

s2

s3

rhs

Baris 0

1

-60

-30

-20

0

0

0

0

Baris 1

 

0

8

6

1

1

0

0

48

Baris 2

 

0

4

2

1.5

0

1

0

20

Baris 3

 

0

2

1.5

0.5

0

0

1

8

BV

z=0

s1=48

s2=20

s3=8

Pada

BFS

berikutnya

x1

adalah peubah

NBV

yang akan

menggantikan

s3

salah satu dari

BV

Dengan

ERO

Elementary Row Operation

4

,

5

,

6

1 1

1

x

x

x

4

1

(15)

Langkah 4 Algoritma Simpleks

Elementary Row Operation

(Operasi

baris elementer): operasi antar baris

untuk menentukan bentuk kanonik

yang baru (

BV

&

NBV

yang baru)

Di dalam bentuk kanonik baru:

Peubah di dalam

BV

harus

mempunyai bentuk kanonik

B1 B2 B3

s

1

,

s

2

,

x

1

BV

NBV

s

3

,

x

2

,

x

3

0

0

1

0

1

0

(16)

Operasi Baris Elementer

 

z

X1

x2

x3

s1

s2

s3

rhs

Baris 0

0

0

0

Baris 1

0

1

0

Baris 2

0

0

1

Baris 3

1

0

0

Pada Iterasi berikutnya ingin diperoleh

Tableau sbb:

s

1

,

s

2

,

x

1

(17)

Operasi Baris Elementer

Tableau

z x1 x2 x3 s1 s2 s3 rhs

Baris 0 1 -60 -30 -20 0 0 0 0

Baris 1  0 8 6 1 1 0 0 48

Baris 2  0 4 2 1.5 0 1 0 20

Baris 3  0 2 1.5 0.5 0 0 1 8

BV z=0 s1=48 s2=20 s3=8

 

Tableau

1

z

x1

x2

x3

s1

s2

s3

rhs

Baris 3 0 1 0.75 0.25 0 0 0.5 4

Initial Tableau (Tableau 0):

Dengan ERO ingin diperoleh Tableau

1:

: baris 3 didahulukan (pivot

row)

2

)

0

(

3

)

1

(

3

Baris

(18)

Operasi Baris Elementer

Tableau

z x1 x2 x3 s1 s2 s3 rhs

Baris 0 1 -60 -30 -20 0 0 0 0

Baris 1  0 8 6 1 1 0 0 48

Baris 2  0 4 2 1.5 0 1 0 20

Baris 3  0 2 1.5 0.5 0 0 1 8

BV z=0 s1=48 s2=20 s3=8

 

Tableau

1

z

x1

x2

x3

s1

s2

s3

rhs

Baris 3 0 1 0.75 0.25 0 0 0.5 4

Initial Tableau (Tableau 0):

ERO untuk baris 0, memanfaatkan baris 3 pada tableu 1

(pivot row)

Baris 0 1 0 15 -5 0 0 30 240

)

1

(

3

*

60

)

0

(

0

)

1

(

0

Baris

Baris

(19)

Operasi Baris Elementer

Tableau

z x1 x2 x3 s1 s2 s3 rhs

Baris 0 1 -60 -30 -20 0 0 0 0

Baris 1  0 8 6 1 1 0 0 48

Baris 2  0 4 2 1.5 0 1 0 20

Baris 3  0 2 1.5 0.5 0 0 1 8

BV z=0 s1=48 s2=20 s3=8

 

Tableau

1

z

x1

x2

x3

s1

s2

s3

rhs

Baris 3 0 1 0.75 0.25 0 0 0.5 4

Initial Tableau (Tableau 0):

ERO untuk baris 1, memanfaatkan baris 3 pada tableu 1

(pivot row)

Baris 0 1 0 15 5 0 0 30 240

Baris 1 0 0 0 -1 1 0 -4 16

)

1

(

3

*

8

)

0

(

1

)

1

(

1

Baris

Baris

(20)

Operasi Baris Elementer

Tableau

z x1 x2 x3 s1 s2 s3 rhs

Baris 0 1 -60 -30 -20 0 0 0 0

Baris 1  0 8 6 1 1 0 0 48

Baris 2  0 4 2 1.5 0 1 0 20

Baris 3  0 2 1.5 0.5 0 0 1 8

BV z=0 s1=48 s2=20 s3=8

 

Tableau

1

z

x1

x2

x3

s1

s2

s3

rhs

Baris 3 0 1 0.75 0.25 0 0 0.5 4

Initial Tableau (Tableau 0):

ERO untuk baris 2, memanfaatkan baris 3 pada tableu 1

(pivot row)

Baris 0 1 0 15 -5 0 0 30 240

Baris 1 0 0 0 -1 1 0 -4 16

Baris 2 0 0 -1 0,5 0 1 -2 4

BV z=240 s1=16 s2=4 x1=4

)

1

(

3

*

4

)

0

(

2

)

1

(

2

Baris

Baris

(21)

Tableau hasil iterasi: Tableau 1

Tableau

1   z x1 x2 x3 s1 s2 s3 rhs BV Baris 0 1 0 15 -5 0 0 30 240 z=240

Baris 1 0 0 0 -1 1 0 -4 16 s1=16

Baris 2 0 0 -1 0,5 0 1 -2 4 s2=4

Baris 3 0 1 0,75 0,25 0 0 0,5 4 x1=4

Pada tableau 1:

Kembali ke langkah 3: Apakah BFS tersebut sudah optimal?

Lihat koefisien di baris 0, apakah masih ada kemungkinan menaikkan

nilai z dengan menambah nilai peubah keputusan?

Peubah dengan Koefisien baris

0 <0?

s

1

,

s

2

,

x

1

BV

NBV

s

3

,

x

2

,

x

3

240

,

0

,

4

,

16

,

0

,

4

:

x

1

x

2

x

3

s

1

s

2

s

3

z

BFS

3

(22)

Langkah 3 Algoritma Simpleks,

Iterasi ke-2

Tableau

1   z x1 x2 x3 s1 s2 s3 rhs BV Baris 0 1 0 15 -5 0 0 30 240 z=240

Produksi satu unit x2 (Meja) akan menurunkan Z

(profit) sebesar 15 ($)

Produksi satu unit x3 (Kursi) akan menaikkan Z (profit)

sebesar 5 ($)

Pilih

Entering Variable:

Peubah NBV

yang meningkatkan Z paling besar,

untuk menggantikan salah satu

peubah di

BV

BFS yang ada belum optimal.

3

x

s

3

,

x

2

,

x

3

NBV

(23)

Langkah 4 Algoritma Simpleks,

Iterasi 2

Menentukan peubah

BV

yang mana yang akan

digantikan oleh

x

2

Dengan melakukan

Ratio Test

, agar pergantian

peubah tetap berada di dalam wilayah feasibel

Tableau

1   z x1 x2 x3 s1 s2 s3 rhs BV Baris 0 1 0 15 -5 0 0 30 240 z=240

Baris 1 0 0 0 -1 1 0 -4 16 s1=16

Baris 2 0 0 -1 0,5 0 1 -2 4 s2=4

Baris 3 0 1 0,75 0,25 0 0 0,5 4 x1=4

Baris 1

Pada baris dengan koefisien negatif, tidak

perlu dilakukan ratio test

s

1

,

s

2

,

x

1

BV

0

semua

untuk

0

16

16

1 3 3

1

3

(24)

Langkah 4 Algoritma Simpleks,

Iterasi 2

Tableau

1   z x1 x2 x3 s1 s2 s3 rhs BV Baris 0 1 0 15 -5 0 0 30 240 z=240

Baris 1 0 0 0 -1 1 0 -4 16 s1=16

Baris 2 0 0 -1 0,5 0 1 -2 4 s2=4

Baris 3 0 1 0,75 0,25 0 0 0,5 4 x1=4

Baris 2

Baris 3

Pemenang ratio test (terkecil): di baris 2

x3 akan menggantikan s2

8

0

agar

04.5 3

2

x

s

6

1

0

agar

0.425 3

1

x

(25)

Langkah 4 Algoritma Simpleks,

Iterasi 2

Tableau

1   z x1 x2 x3 s1 s2 s3 rhs BV Baris 0 1 0 15 -5 0 0 30 240 z=240

Baris 1 0 0 0 -1 1 0 -4 16 s1=16

Baris 2 0 0 -1 0,5 0 1 -2 4 s2=4

Baris 3 0 1 0,75 0,25 0 0 0,5 4 x1=4

Pada

BFS

berikutnya

x3

adalah peubah

NBV

yang akan

menggantikan

s2

salah satu dari

BV

Dengan

ERO

Elementary Row Operation

Kolom

pivot

Kolo

m

pivot

Tableau 2 mempunyai bentuk kanonik baru:

 Tableau

2 z X1 x2 X3 s1 s2 s3 rhs Baris 0 0 0 0

Baris 1 0 0 1 Baris 2 0 1 0 Baris 3 1 0 0

s

1

,

x

3

,

x

1

BV

s

3

,

x

2

,

s

2

(26)

Operasi Baris Elementer

Dengan ERO untuk memperoleh

Tableau 2:

baris 2 didahulukan

(pivot row)

Tableau

1   z x1 x2 x3 s1 s2 s3 rhs BV Baris 0 1 0 15 -5 0 0 30 240 z=240

Baris 1 0 0 0 -1 1 0 -4 16 s1=16

Baris 2 0 0 -1 0,5 0 1 -2 4 s2=4

Baris 3 0 1 0,75 0,25 0 0 0,5 4 x1=4

Tableau 2

z

x1

x2

x3

s1

s2

s3

rhs

Baris 2

0

0

-2

1

0

2

-4

8

5

.

0

)

1

(

2

)

2

(

2

Baris

(27)

Operasi Baris Elementer

Tableau

1   z x1 x2 x3 s1 s2 s3 rhs BV Baris 0 1 0 15 -5 0 0 30 240 z=240

Baris 1 0 0 0 -1 1 0 -4 16 s1=16

Baris 2 0 0 -1 0,5 0 1 -2 4 s2=4

Baris 3 0 1 0,75 0,25 0 0 0,5 4 x1=4

Tableau 2

z

x1

x2

x3

s1

s2

s3

rhs

Baris 2

0

0

-2

1

0

2

-4

8

ERO untuk baris 0, memanfaatkan baris 2 pada tableu 2

(pivot row)

Baris 0

1

0

5

0

0

10

10

280

)

2

(

2

*

5

.

0

)

1

(

0

)

2

(

0

Baris

Baris

(28)

Operasi Baris Elementer

Tableau

1   z x1 x2 x3 s1 s2 s3 rhs BV Baris 0 1 0 15 -5 0 0 30 240 z=240

Baris 1 0 0 0 -1 1 0 -4 16 s1=16

Baris 2 0 0 -1 0,5 0 1 -2 4 s2=4

Baris 3 0 1 0,75 0,25 0 0 0,5 4 x1=4

Tableau 2

z

x1

x2

x3

s1

s2

s3

rhs

Baris 2

0

0

-2

1

0

2

-4

8

ERO untuk baris 1, memanfaatkan baris 2 pada tableu 2

(pivot row)

Baris 0

1

0

5

0

0

10

10

280

Baris 1

0

0

-2

0

1

2

-8

24

)

2

(

2

*

)

1

(

)

1

(

1

)

2

(

1

Baris

Baris

(29)

Operasi Baris Elementer

Tableau

1   z x1 x2 x3 s1 s2 s3 rhs BV Baris 0 1 0 15 -5 0 0 30 240 z=240

Baris 1 0 0 0 -1 1 0 -4 16 s1=16

Baris 2 0 0 -1 0,5 0 1 -2 4 s2=4

Baris 3 0 1 0,75 0,25 0 0 0,5 4 x1=4

Tableau 2

z

x1

x2

x3

s1

s2

s3

rhs

Baris 2

0

0

-2

1

0

2

-4

8

ERO untuk baris 3, memanfaatkan baris 2 pada tableu 2

(pivot row)

Baris 0

1

0

5

0

0

10

10

280

Baris 1

0

0

-2

0

1

2

-8

24

Baris 3

0

1

1.25

0

0

-0.5

1.5

2

)

2

(

2

*

25

.

0

)

1

(

3

)

2

(

3

Baris

Baris

(30)

Tableau Hasil Iterasi: Tableau 2

Tableau

2

z

x1

x2

x3

s1

s2

s3

rhs

BV

Baris 0

1

0

5

0

0

10

10

280

z=280

Baris 1

0

0

-2

0

1

2

-8

24

s1=24

Baris 2

0

0

-2

1

0

2

-4

8

x3=8

Baris 3

0

1

1.25

0

0

-0.5

1.5

2

x1=2

Kembali ke langkah 3: Apakah BFS tersebut sudah optimal?

Lihat koefisien di baris 0, apakah masih ada kemungkinan

menaikkan nilai z dengan menambah nilai peubah keputusan?

Semua koefisien baris 0 >=0. Tidak mungkin lagi

menaikkan nilai z.

BFS sudah Optimal

s

1

,

x

3

,

x

1

BV

NBV

s

3

,

x

2

,

s

2

280

,

0

,

24

,

8

,

0

,

2

:

x

1

x

2

x

3

s

1

s

2

s

3

z

(31)

Solusi Optimal Dakota’s Problem

Agar keuntungan maksimum, dan

produksi yang sesuai dengan kendala

(bahan baku dan jam pengerjaan), harus

diproduksi sejumlah 2 buah bangku (x1), 8

buah kursi (x3), tanpa memproduksi meja

kursi

produksi

:#

meja

produksi

:#

bangku

produksi

:#

3 2 1

x

x

x

280

,

0

,

24

,

8

,

0

,

2

:

x

1

x

2

x

3

s

1

s

2

s

3

z

(32)

Langkah-langkah Algoritma

Simpleks untuk Masalah Max

Langkah

1

Rubah LP ke bentuk standar,

tuliskan dalam bentuk tableau.

Langkah

2

Tentukan BFS (BV dan NBV).

BV dapat ditentukan dari elemen

tableau yang berbentuk kanonik.

Langkah

3

Jika semua koefisien baris 0 >=0,

BFS solusi optimal

Selainnya, pilih koefisien paling

negatif untuk masuk ke dalam BV

Langkah

4

Ratio test (terkecil) untuk

(33)

Langkah-langkah Algoritma

Simpleks untuk Masalah Max

Langkah

4

Lakukan ERO untuk membentuk

bentuk kanonik baru, BFS baru

(Tableau baru)

Referensi

Dokumen terkait

meniru adalah suatu proses melakukan tindakan maupun aksi (atensional, retensi, reproduksi dan motivasi) seperti yang dilakukan oleh model berupa video game

Skripsi yang berjudul “Pengaruh Insentif Material dan Insentif Non Material Terhadap Semangat Kerja Karyawan Karita Mosle m Square Surabaya” ini merupakan hasil

Berdasarkan hasil tersebut, peneliti menyarankan perlu diadakan penelitian lebih rinci berdasarkan indikator-indikator yang ada, perlu diadakan penelitian lebih lanjut

Untuk mengungkap persoalan tersebut secara menyeluruh dan mendalam, maka penelitian skripsi ini menggunakan pendekatan kualitatif dan jenis metode penelitian berupa analisis

kekerasan dalam video game dengan perilaku agresif siswa kelas VIII SMP.. Negeri I Suruh

[r]

Secara umum, hasil penelitian menunjukkan bahwa pelaksanaan pendidikan pemustaka efektif dalam peningkatan pengetahuan dalam pemanfaatan perpustakaan bagi peserta

Sebaliknya siswa yang memiliki persepsi negatif terhadap gaya kepemimpinan guru akan mengakibatkan siswa menjadi malas untuk mengikuti kegiatan pembelajaran di kelas dan