PROGRAM LINIER – METODE SIMPLEKS

  PROGRAM LINIER – METODE SIMPLEKS

  

Merupakan metode yang biasanya digunakan

untuk memecahkan setiap permasalahan pada pemrogramman linear yang kombinasi

variabelnya terdiri dari tiga variabel atau lebih.

   Metode yang secara matematis dimulai dari

pemecahan dasar yang feasibel (basic feasible

solution) ke pemecahan dasar feasibel lainnya, yang dilakukan berulang-ulang (iteratif) sehingga tercapai suatu penyelesaian

   Diperkenalkan pada tahun 1947 oleh George B. Dantzig dan telah diperbaiki oleh beberapa ahli lain.

   Metode penyelesaian dari Metode Simpleks

ini melalui perhitungan ulang (iteration) di

mana langkah-langkah perhitungan yang

sama diulang-ulang sampai solusi optimal diperoleh. Syarat: Model program linier (Canonical form) harus dirubah dulu ke dalam suatu bentuk umum yang dinamakan ”bentuk baku” (standard form).

  Sifat bentuk baku: 

  Semua batasan adalah persamaan (dengan tidak ada nilai negatif pada sisi kanan) 

  Semua variabel tidak ada yang bernilai negatif, dan 

  Fungsi tujuan dapat berupa minimisasi atau maksimisasi.

  1

  2

  1 ≤ dengan batasan (kendala): σ

  Maksimalkan/minimalkan: , , … … , = σ

  

1

≥ ≥ 0 = 1,2,3, … = 1,2,3, …

  Atau Maksimalkan/minimalkan:

  • = + ⋯ . . + +

  1

  1

  2

  2

  3

  3 dengan batasan(kendala):

  • ⋯ … + ≤ ≥

  11

  1

  12

  2

  13

  3

  1

  1

  • ⋯ … + + +

  ≤ ≥

  21

  1

  22

  2

  23

  3

  2

  2 … . .

  • ⋯ … + ≤ ≥ + +

  1

  1

  2

  2

  3

  3 , , , … . , ≥ 0 z = Fungsi tujuan x = Jenis kegiatan (variabel keputusan) j

a = Kebutuhan sumberdaya i untuk menghasilkan setiap unit

ij kegiatan j b = Jumlah sumberdaya i yang tersedia i

c = Kenaikan nilai Z jika ada pertambahan satu unit kegiatan j

j

  a, b, dan c, disebut juga sebagai parameter model m = Jumlah sumberdaya yang tersedia n = Jumlah kegiatan.

   Fungsi Pembatas

   Suatu fungsi pembatas yang mempunyai tanda < diubah menjadi suatu bentuk persamaan (bentuk standar) dengan cara menambahkan suatu

variabel baru yang dinamakan slack variable .

   Banyaknya slack variable bergantung pada fungsi pembatas.

   Fungsi Tujuan

   Dengan adanya slack variable pada fungsi pembatas, maka fungsi tujuan juga harus

disesuaikan dengan memasukkan unsur slack

variable ini.

   Karena slack variable tidak mempunyai kontribusi apa-apa terhadap fungsi tujuan, maka konstanta untuk slack variable tersebut dituliskan nol.

   Setelah fungsi batasan diubah ke dalam

bentuk persamaan (bentuk standar), maka

untuk menyelesaikan masalah program linier dengan metode simpleks menggunakan suatu kerangka tabel yang disebut dengan tabel simpleks.

   Tabel ini mengatur model ke dalam suatu bentuk yang memungkinkan untuk penerapan penghitungan matematis menjadi

  Var. Z

  X 1 X . . . . 2 n

  X S S . . . . S NK 1 2 n Dasar Z

  1 -C -C . . . . -C 1 2 n S a a . . . a 1 11 12 1n

  1 b 1 S a a . . . a 2 21 22 2n 1 b 2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

  S a a . . . a n m1 m2 mn 1 b m

  1. Rumuskan persoalan PL ke dalam model umum PL (fungsi tujuan dan fungsi pembatas).

  2. Ubah model umum PL menjadi model simpleks: a. Fungsi Pembatas: tambahkan slack variable (surplus variabel, variabel buatan atau artifisial variable)

b. Fungsi tujuan :

  • Ubahlah bentuk fungsi tujuan eksplisit menjadi persamaan bentuk implisit
  • - Tambahkan/kurangi dengan slack

    variable (surplus var atau variable buatan) yang bernilai nol.

  3. Formulasikan ke dalam Tabel Simpleks.

4. Lakukan langkah-langkah penyelesaian.

   Model Program Linear

  1. Fungsi Tujuan : Maksimumkan : Z=8X + 6X

  1

  2 (dalam Rp 1000)

  2. Fungsi Pembatas : Bahan A : 4X + 2X ≤ 60

  

1

  2 ≤ 48 Bahan B : 2X + 4X

  

1

  2 ≥ 0 X , X

  1

  2

  • –6 X
  • –0S
    • 0S

  2

  2 = 0

  1

   Model Simpleks :

  

1. Fungsi Tujuan : Maksimumkan

Z– 8X

  1

2. Fungsi Pembatas :

  • 2X
  • S
  • 0S

  • 4X
  • S

  • 0S

  2 ≥ 0

  

1

, S

  2 , S

  1 , X

  X

  2 = 48

  2

  1

  1

  2X

  2 = 60

  2

  1

  4X

  1

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z S

1 S

  2

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z -8 -6 S

1 S

  2

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z -8 -6 S

  1

  4

  2

  1

  60 S

  2

  Variabel Dasar

  2

  1

  4

  2

  2

  60 S

  1

  4

  X

  1

  Z -8 -6 S

  2 NK

  1 S

  2 S

  1 X

  48

  Variabel Dasar

  1

  48

  1

  4

  2

  2

  60 S

  2

  X

  4

  1

  Z -8 -6 S

  2 NK

  1 S

  2 S

  1 X

  1. Iterasi Awal (Iterasi-0)

  Variabel Dasar

  1

  2. Iterasi-1 :

  48

  1

  4

  2

  2

  60 S

  2

  X

  4

  1

  Z -8 -6 S

  2 NK

  1 S

  2 S

  1 X

  a. Menentukan kolom kunci : kolom yang mempunyai koefisien fungsi tujuan yang bernilai negatif terbesar.

  • - S

  

1

  24 b. Menentukan baris kunci : nilai indeks yang terkecil (positif).

  48

  1

  4

  2

  2

  15 S

  60

  2

  Variabel Dasar

  4

  1

  Z -8 -6

  2 NK Indeks

  

1

S

  2 S

  1 X

  X

  = .

c. Perubahan-perubahan nilai baris :

  • Nilai baris kunci baru = (Nilai baris kunci lama) / n-angka kunci
  • Nilai baris yang lain = Baris lama
    • – {(Nilai baris kunci baru) x (angka kolom kunci baris ybs)}

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z

  X

  1 1 ½ ¼

  15 S Baris baru = baris lama

  2 120 ] Baris pertama (Z) Baris ke-3 (batasan 2) [2

  Mengubah nilai-nilai selain pada baris kunci Rumus :

  • – (koefisien pada kolom kunci) x nilai baru baris kunci [-8 -6 0 ] (-8) [ 1 1/2 1/4 15 ] ( - ) Nilai baru = [0 -2

  4 1 48 ] (2) [ 1 1/2 1/4 15 ] ( - ) Langkah Penyelesaian (5)

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK Z - 2 2 120

  X

  1 1 ½ ¼

  15 S

  2 3 - ½

  1

  18

  Variabel Dasar

  X

  1 X

  2 S

  

1

S

  2 NK Indeks Z - 2 2 120 -

  X

  1 1 ½ ¼

  15

  30 S

  2 3 - ½

  1

  18

  6

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK Indeks Z

  X

1 X

  2

1 - 1/6 1/3

6 -

  Variabel

  X X S S NK Indeks

  1

  2

  

1

  2 Dasar Z 5/3 2/3 - 132

  X 1 1/3 - 1/6

  12 -

  1

  

1 - 1/6 1/3

  6

  • - X

  2

  

Pada iterasi-2 terlihat bahwa koefisien fungsi

tujuan sudah tidak ada lagi yang mempunyai

nilai negatif, proses perubahan selesai dan ini

menunjukkan penyelesaian persoalan linear

dengan metode simpleks sudah mencapai

optimum dengan hasil sbb :

  X = 12 dan X = 6

  1

  2 dengan Z = Rp 132.000.- makasimum

   Model Program Linear

  1. Fungsi Tujuan : Maksimumkan : Z=15X + 10X

  1

  2 (Dlm Rp10.000)

  2. Fungsi Pembatas : Bahan A : X + X ≤ 600

  1

  2 ≤ 1000 Bahan B : 2X + X

  1

2 X , X ≥ 0

  

1

  2

  • –10 X
  • –0S
    • 0S

  

2

  2 = 0

  1

  

1. Fungsi Tujuan : Maksimumkan

Z– 15X

  1

2. Fungsi Pembatas :

  • X
  • S
  • + 0S

  • X
  • 1S

  • 0S

  2 ≥ 0

  1 , S

  2 , S

  1 , X

  X

  2 = 1000

  2

  1

  1

  2X

  2 = 600

  2

  1

  X

  1

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z S

1 S

  2

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK Z -15 -10 S

1 S

  2

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z -15 -10 S

  1

  1

  1 1 600

  S

  2

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK Z -15 -10 S

  1

  1

  1 1 600 S

  2

  2

  1 1 1000

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z -15 -10 S

  1

  1

  1 1 600

  S

  2

  2

  1 1 1000

  1. Iterasi Awal (Iterasi-0)

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z -15 -10 S

  1

  1

  1 1 600

  S

  2

  2

  1 1 1000

  2. Iterasi-1 :

  a. Menentukan kolom kunci : kolom yang mempunyai koefisien fungsi tujuan yang bernilai negatif terbesar.

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK Indeks

  Z -15 -10

  • - S

  1

  1

  1 1 600 600

  S

  2

  2

  1 1 1000 500 b. Menentukan baris kunci : nilai indeks yang terkecil (positif).

  = .

c. Perubahan-perubahan nilai baris :

  • Nilai baris kunci baru = (Nilai baris kunci lama) / n-angka kunci
  • Nilai baris yang lain = Baris lama
    • – (Nilai baris kunci baru) x angka kolom kunci baris ybs.

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z S

1 X 1 ½ ½ 500

c. Perubahan-perubahan nilai baris :

  • Nilai baris kunci baru = (Nilai baris kunci lama) / n-angka kunci
  • Nilai baris yang lain = Baris lama
    • – (Nilai baris kunci baru) x angka kolom kunci baris ybs.

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z S

  1 ½ 1 - ½ 100

  X

  1 1 ½ ½ 500

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK

  Z -2½ 7½ 7500 S

  1 ½ 1 - ½ 100

  X

  1 1 ½ ½ 500

  

3. Iterasi-2 : perhatikan apakah koefisien fungsi tujuan pada Tabel

simpleks masih ada yang bernilai negatif.

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK Indeks

  Z -2½ 7½ 7500 - S

  1 ½ 1 - ½ 100 200

  X

  1 1 ½ ½ 500 1000

  • Merubah baris pada angka kunci dan baris-baris lainnya.

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK Indeks

  Z

  X

  2

  1 2 -1 200 -

  X

  1

  • Merubah baris pada angka kunci dan baris-baris lainnya.

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 NK Indeks

  Z

  X

  2

  1 2 -1 200 -

  X

  1 1 -1 1 400 -

  • Merubah baris pada angka kunci dan baris-baris lainnya.

  Variabel

  X X S S NK Indeks

  1

  2

  1

  2 Dasar

  Z

  1

  

5

5 - 8000

  1 2 -1 200

  • - X

  2

  1 -1 1 400

  • - X

  1

  

Pada iterasi-2 terlihat bahwa koefisien fungsi

tujuan sudah tidak ada lagi yang mempunyai

nilai negatif, proses peru-bahan selesai dan ini

menunjukkan penyelesaian persoalan linear

dengan metode simpleks sudah mencapai

optimum dengan hasil sbb :

  X = 400 dan X = 200 dengan

  1

  2 Z = Rp 8000.- makasimum

   Model Program Linear Fungsi Tujuan : Maksimumkan : Z = 3X +2X

  1

  2 Fungsi Pembatas : ≤ 15 X + X

  1

  2

  2X + X ≤ 28

  1

2 X + 2X ≤ 20

  1

  2 ≥ 0 X , X

  1

  2

  • –2X
  • –0S
  • –0S
  • –0S

  • X
  • S
  • X
  • S
  • 2X
  • S

  1 , X

  X

  3 = 20

  2

  1

  X

  2 = 28

  2

  1

  1 = 15

  2X

  2

  1

  X

  3 = 0 Fungsi Pembatas :

  2

  1

  1

  1

   Model Simpleks

Fungsi Tujuan : Maksimumkan

Z– X

  

2

≥ 0

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 S

  3 NK

  Z S

  1 S

  2 S

  3

   Tabel Simpleks

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 S

  3 NK

  Z -3 -2 S

  1 S

  2 S

  3

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 S

  3 NK

  Z -3 -2 S

  1

  1

  1

  

1

  15 S

2 S

  3

  Variabel Dasar

  1

  28 S

  1

  1

  2

  2

  15 S

  1

  X

  1

  1

  3 NK Z -3 -2 S

  2 S

  1 S

  2 S

  1 X

  3

  Variabel Dasar

  15 S

  1

  2

  1

  3

  28 S

  1

  1

  2

  2

  

1

  X

  1

  1

  1

  Z -3 -2 S

  3 NK

  2 S

  1 S

  2 S

  1 X

  20

  • - S

  15 S

  20

  1

  2

  1

  3

  14 S

  28

  1

  1

  2

  2

  15

  (a). Iterasi Awal (Iterasi-0) :

  1

  1

  1

  1

  Z -3 -2

  3 NK Indeks

  2 S

  1 S

  2 S

  1 X

  X

  Variabel Dasar

  20

  • - S

  15 S

  20

  1

  2

  1

  3

  14 S

  28

  1

  1

  2

  2

  15

  (a). Iterasi Awal (Iterasi-0) : Angka Kunci

  1

  1

  1

  1

  Z -3 -2

  3 NK Indeks

  2 S

  1 S

  2 S

  1 X

  X

  Variabel Dasar

  20

  (b). Iterasi-1

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 S

  3 NK Indeks

  Z S

1 X

  1 1 ½ ½ 14 - S

  3

  (b). Iterasi-1

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 S

  3 NK Indeks

  Z S

1 X

  1 1 ½ ½ 14 -

  S

  3 3/2 -½

  1 6 -

  (b). Iterasi-1

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 S

  3 NK Indeks

  Z S

  1 ½ 1 -½ 1 -

  X

  1 1 ½ ½ 14 -

  S

  3 3/2 -½

  1 6 -

  (b). Iterasi-1

  Variabel

  X X S S S NK Indeks

  1

  2

  1

  2

  3 Dasar 42 - Z -½ 3/2

  S ½

  1 -½

  • - 1

1 X 1 ½ ½

  14 -

  1

  1

  6 - S 3/2 -½

  3

  Variabel Dasar

  1

  6

  1

  3 3/2 -½

  28 S

  14

  1 ½ ½

  1

  2 X

  1 ½

1 -½

  X

  S

  42 -

  Z -½ 3/2

  3 NK Indeks

  2 S

  1 S

  2 S

  1 X

  4 Perubahan-perubahan baris kunci dan baris lainnya.

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 S

  3 NK Indeks

  Z

  X

  2

  1 2 -1 2 -

  X

1 S

  3 Perubahan-perubahan baris kunci dan baris lainnya.

  Variabel Dasar

  X

  1 X

  2 S

  1 S

  2 S

  3 NK Indeks

  Z

  X

  2

  1

2 -1

2 -

  X

  1 1 ½ ½ 14 -

  S

  3

  1 1 -

  X

  3

  S

  1 1 ½ ½ 14 -

  X

  1 2 -1 2 -

  2

  Z

  Perubahan-perubahan baris kunci dan baris lainnya.

  3 NK Indeks

  2 S

  1 S

  2 S

  1 X

  X

  Variabel Dasar

  • -3
Perubahan-perubahan baris kunci dan baris lainnya.

  Variabel

  X X S S S NK Indeks

  1

  2

  1

  2

  3 Dasar

  1

  1

  43

  • - Z

  X

  1

2 -1

  2 -

2 X 1 ½

  14 - ½

  1

  • -3

  1

  1

  • - S

  3

  

Pada iterasi-2 terlihat bahwa koefisien fungsi

tujuan sudah tidak ada lagi yang mempunyai

nilai negatif, proses peru-bahan selesai dan ini

menunjukkan penyelesaian perhitungan

persoalan program linear dengan metode

simpleks sudah mencapai optimum dengan

rincian sbb : X =13; X =2,

  1

  2 dengan Z = 43 maksimum Maksimumkan Z = 60X1+30X2+20X3 Dengan Pembatas :

  8X1 + 6X2 + X3 ≤ 48

  4X1 + 2X2 + 1.5X3 ≤ 20

  2X1 + 1.5X2 + 0.5X3 ≤ 8 X2 ≤ 5 X1,X2,x3 ≥ 0 Maksimum z = 8 x + 9 x + 4x

  

1

  2

3 Dengan Pembatas :

  x + x + 2x ≤ 2

  1

  2

  3 ≤ 3 2x + 3x + 4x

  1

  

2

  3 7x + 6x + 2x ≤ 8

  1

  

2

  3 x ,x ,x ≥ 0

  1

  2

  

3

  • 7 x
  • 3x
  • x
  • 2x

  • 3x
  • 4x
  • 6x
  • 2x

  2 ,x

  1 ,x

  3 ≤ 8

x

  

2

  1

  3 ≤ 7 3x

  

2

  1

  3 ≤ 4 2x

  2

  1

  3 Dengan Pembatas : x

  2

  

1

  Memaksimumkan z = 8 x

  3 ≥ 0

  

Penyimpangan bentuk standar dapat terjadi

karena :

  1. Fungsi tujuan (Z) bukan Maximalisasi, tetapi Minimalisasi

  2. Fungsi batasan bertanda (=) atau (≥)

  3. Dan syarat X1 atau X2 tidak terpenuhi, misalkan X1 ≥ - 10 (negatif)

  Fungsi Tujuan : Minimalkan Z = 3X1 + 5X2 Dengan batasan :

  Mesin A

  2X1 = 8 Mesin B

  3X2 ≤ 15 Mesin C

  6X1 + 5X2 ≥ 30 , di mana X1 dan X2 ≥ 0

   Fungsi tujuan agar menjadi maksimal dikalikan dengan (-1)

   Jika kendala bertanda “=“, tambahkan ruas kiri satu variabel tambahan berupa variabel artifisial .

   Jika kendala bertanda “>”, kurangkan ruas kiri dgn variabel surplus dan tambahkan juga ruas kiri dgn variabel artifisial.

   Masukkan / tambahkan pula variabel-variabel surplus dan artifisial ke dalam fungsi tujuan, dimana koefisien untuk var. surplus = 0 dan koefisien var. artifiasial = M (M adalah konstanta yang nilainya sangat besar sekali, tapi berhingga, misalnya ribuan, puluhan ribu,dst)

   Minimalkan Z = 3X1 + 5X2 menjadi Maksimalkan (-Z) = -3X1 – 5X2

   Mesin A

  2X1 = 8, akan menjadi :

  

2X1 + X3 = 8

  Mesin B

  3X2 ≤ 15  3X2 + X4 = 15 

  Mesin C

  6X1 + 5X2 ≥ 30 ,  akan menjadi

  

6X1 + 5X2 -X5 + X6 = 30

Sehingga fungsi tujuan menjadi : Maksimal : –Z + 3X1 + 5 X2 + MX3 + MX6 = 0

  

Masalah berikutnya yang muncul adalah setiap

variabel dasar (slack atau artificial variabel),

harus bernilai nol, sehingga MX3 dan MX6 di

atas harus di-nol-kan terlebih dahulu, sebelum

dipindah ke tabel simplex. Cara yang

digunakan adalah dengan mengurangi

bilangan M tersebut dengan bilangan M itu

sendiri, yang sebelumnya dikalikan dengan

setiap nilai batasan yang menyebabkan Nilai fungsi tujuan terakhir adalah :

  3

5 M M

   Kita coba hilangkan M yang pertama terlebih dahulu.

  

X1 X2

X3 X4

  

  3

  5 M M ( 2

  1 8 ) M _____________________________________ -

  3-2M 5 M -8M

   .

  Selanjutnya kita hilangkan M yang kedua 

  3-2M

  5 M -8M ( 6

  5

  • 1 1 30 ) x M ________________________________________________- 3-8M 5-5M M -38M, Atau

  

  • 8M+3 -5M+5
  • 38M

  M Yang merupakan nilai dari fungsi tujuan yang baru

selanjutnya akan dimasukkan ke tabel simplex,

sehingga tabel simlex awalnya adalah sebagai berikut :

X1 X2

  X5 X6 NK Z -8M+3 -5M+5 M -38M

  X3

  2

  1

  8 X4

  3

  1

  15 X6

  6 5 -1

  1

  30 Tabel Awal simplex, untuk kasus penyimpangan :