William J. Stevenson
8th edition
LINEAR PROGRAMMING
3. Divisibility
keluaran (output) yang dihasilkan oleh setiap
kegiatan dapat berupa bilangan pecahan. Demikian
pula dengan nilai Z yang dihasilkan
4. Deterministic (Certainty)
Asumsi ini menyatakan bahwa semua parameter
yang terdapat dalam model LP (aij, bi Cj) dapat
diperkirakan dengan pasti, meskipun jarang dengan
tepat
Asumsi-asumsi Dasar
Linear Programming
1. Proportionality
naik turunnya nilai Z dan penggunaan sumber atau
fasilitas yang tersedia akan berubah secara
sebanding (proportional) dengan perubahan tingkat
kegiatan
2. Additivity
nilai tujuan tiap kegiatan tidak saling mempengaruhi,
atau dalam LP dianggap bahwa kenaikan dari nilai
tujuan (Z) yang diakibatkan oleh kenaikan suatu
kegiatan dapat ditambahkan tanpa mempengaruhi
bagian nilai Z yang diperoleh dari kegiatan lain
MODEL LP
Kegiatan Pemakaian sumber per unit Kapasitas
Sumber Kegiatan (keluaran) Sumber
1 2 3 …. n
1 a11 a12 a13 …. a1n b1
2 a21 a22 a23 …. a2n b2
3 a31 a32 a33 …. a3n b3
… … … … … …
m am1 am2 am3 …. amn bm
ΔZ
pertambahan C1 C2 C3 Cn
tiap unit
Tingkat X1 X2 X3 Xn
kegiatan
LINEAR PROGRAMMING
USING GRAPHICAL METHOD
Contoh
Perusahaan sepatu membuat 2 macam sepatu. Yang pertama
merek I1, dgn sol karet, dan merek I2 dgn sol kulit. Diperlukan 3
macam mesin. Mesin 1 membuat sol karet, mesin 2 membuat sol
kulit, dan mesin 3 membuat bagian atas sepatu dan melakukan
assembling bagian atas dengan sol. Setiap lusin sepatu merek I1
mula-mula dikerjakan di mesin 1 selama 2 jam, kemudian tanpa
melalui mesin 2 terus dikerjakan di mesin 3 selama 6 jam. Sedang
untuk sepatu merek I2 tidak diproses di mesin 1, tetapi pertama kali
dikerjakan di mesin 2 selama 3 jam kemudian di mesin 3 selama 5
jam. Jam kerja maksimum setiap hari mesin 1 adalah 8 jam, mesin
2 adalah 15 jam, dan mesin 3 adalah 30 jam. Sumbangan terhadap
laba setiap lusin sepatu merek I1 = Rp 30.000,00 sedang merek I2
= Rp 50.000,00. Masalahnya adalah menentukan berapa lusin
sebaiknya sepatu merek I1 dan merek I2 yang dibuat agar bisa
memaksimumkan laba.
Bentuk Tabel
Merek I1 I2 Kapasitas
Mesin (X1) (X2) Maksimum
1 2 0 8
2 0 3 15
3 6 5 30
Sumbangan
3 5
laba
Bentuk Matematis
2X1 = 8
2X1 8 dan
X1 0, X2 0
0 4
X1
Gambar di atas merupakan bagian yang
memenuhi batasan-batasan:
X1 0, X2 0 dan 2X1 8
Fungsi batasan (2 X1 8); 3X2 15;
6X1 + 5X2 30; X1 0 dan X2 0
X2
6X1 + 5X2 = 30 2X1 = 8
5D C 3X2 = 15
Daerah
feasible
0 A
4 5 X1
MENCARI KOMBINASI YANG OPTIMUM
Dengan membandingkan nilai Z pada tiap-tiap alternatif
Z = 3X1 + 5X2
X2
6X1 + 5X2 = 30 2X1 = 8
Titik C: OPTIMUM
X2 = 5. Substitusikan batasan (3),
Titik D: maka 6X1 + 5(5) = 30.
Pada titik ini nilai 6 Jadi nilai X1 = (30 –25)/6 = 5/6.
Nilai Z = 3(5/6) + 5(5) = 27,5
X2 = 5; X1 = 0
Nilai Z = 3(0) + 5(5) = 25 5D C 3X2 = 15
Titik A:
Titik B: Daerah Pada titik ini nilai
X1 = 4. Substitusikan batasan feasible
X1 = 4; X2 = 0
(3), maka 6(4) + 5X2 = 30. Nilai Z = 3(4) + 0 = 12
Jadi nilai X2 = (30 –24)/5 = 6/5. B
Nilai Z = 3(4) + 5(6/5) =18
0 A
4 5 X1
Kasus Khusus LP
Linear Programming
Using Simplex Method
Penentuan solusi optimal menggunakan
metode simpleks didasarkan pada teknik
eleminasi Gauss Jordan.
Penentuan solusi optimal dilakukan
dengan memeriksa titik ekstrim satu per
satu dengan cara perhitungan iteratif.
Sehingga penentuan solusi optimal
dengan simpleks dilakukan tahap demi
tahap yang disebut dengan iterasi. Iterasi
ke-i hanya tergantung dari iterasi
sebelumnya (i-1).
Istilah Dalam Metode Simpleks
Iterasi adalah tahapan perhitungan dimana nilai dalam
perhitungan itu tergantung dari nilai tabel sebelumnya.
Variabel non basis adalah variabel yang nilainya diatur
menjadi nol pada sembarang iterasi. Dalam terminologi
umum, jumlah variabel non basis selalu sama dengan
derajat bebas dalam sistem persamaan.
Variabel basis merupakan variabel yang nilainya bukan
nol pada sembarang iterasi. Pada solusi awal, variabel
basis merupakan variabel slack (jika fungsi kendala
merupakan pertidaksamaan ≤ ) atau variabel buatan
(jika fungsi kendala menggunakan pertidaksamaan ≥
atau =). Secara umum, jumlah variabel basis selalu
sama dengan jumlah fungsi pembatas (tanpa fungsi
non negatif).
Solusi atau nilai kanan merupakan nilai sumber daya
pembatas yang masih tersedia. Pada solusi awal, nilai
kanan atau solusi sama dengan jumlah sumber daya
pembatas awal yang ada, karena aktivitas belum
dilaksanakan.
Variabel slack adalah variabel yang ditambahkan ke
model matematik kendala untuk mengkonversikan
pertidaksamaan ≤ menjadi persamaan (=).
Penambahan variabel ini terjadi pada tahap inisialisasi.
Pada solusi awal, variabel slack akan berfungsi
sebagai variabel basis.
Variabel surplus adalah variabel yang dikurangkan
dari model matematik kendala untuk mengkonversikan
pertidaksamaan ≥ menjadi persamaan (=).
Penambahan ini terjadi pada tahap inisialisasi. Pada
solusi awal, variabel surplus tidak dapat berfungsi
sebagai variabel basis.
Variabel buatan adalah variabel yang ditambahkan ke
model matematik kendala dengan bentuk ≥ atau = untuk
difungsikan sebagai variabel basis awal. Penambahan
variabel ini terjadi pada tahap inisialisasi. Variabel ini
harus bernilai 0 pada solusi optimal, karena
kenyataannya variabel ini tidak ada. Variabel hanya ada
di atas kertas.
Kolom pivot (kolom kerja) adalah kolom yang memuat
variabel masuk. Koefisien pada kolom ini akn menjadi
pembagi nilai kanan untuk menentukan baris pivot (baris
kerja).
Baris pivot (baris kerja) adalah salah satu baris dari
antara variabel basis yang memuat variabel keluar.
Elemen pivot (elemen kerja) adalah elemen yang
terletak pada perpotongan kolom dan baris pivot.
Elemen pivot akan menjadi dasar perhitungan untuk
tabel simpleks berikutnya.
Variabel masuk adalah variabel yang terpilih untuk
menjadi variabel basis pada iterasi berikutnya. Variabel
masuk dipilih satu dari antara variabel non basis pada
setiap iterasi. Variabel ini pada iterasi berikutnya akan
bernilai positif.
Variabel keluar adalah variabel yang keluar dari
variabel basis pada iterasi berikutnya dan digantikan
oleh variabel masuk. Variabel keluar dipilih satu dari
antara variabel basis pada setiap iiterasi. Variabel ini
pada iterasi berikutnya akan bernilai nol.
BENTUK BAKU
Z -2 -3 0 0 0 0
S1 10 5 1 0 0 600
S2 6 20 0 1 0 600
S3 8 15 0 0 1 600
Langkah-Langkah Penyelesaian
DenganTabel Simpleks
Periksa apakah tabel layak atau tidak. Kelayakan tabel
simpleks dilihat dari solusi (nilai kanan). Jika solusi ada yang
bernilai negatif, maka tabel tidak layak. Tabel yang tidak layak
tidak dapat diteruskan untuk dioptimalkan.
Tentukan kolom pivot. Penentuan kolom pivot dilihat dari
koefisien fungsi tujuan (nilai di sebelah kanan baris z) dan
tergantung dari bentuk tujuan. Jika tujuan maksimasi, maka
kolom pivot adalah kolom dengan koefisien paling negatif.
Jika tujuan minimasi , maka kolom pivot adalah kolom dengan
koefisien positif terbesar. Jika kolom pivot ditandai dan ditarik
ke atas, maka kita akan mendapatkan variabel keluar. Jika
nilai paling negatif (untuk tujuan maksimasi) atau positif
terbesar (untuk tujuan minimasi) lebih dari satu, pilih salah
satu secara sembarang.
Tentukan baris pivot. Baris pivot ditentukan setelah
membagi nilai solusi dengan nilai kolom pivot yang
bersesuaian (nilai yang terletak dalam satu baris). Dalam
hal ini, nilai negatif dan 0 pada kolom pivot tidak
diperhatikan, artinya tidak ikut menjadi pembagi. Baris
pivot adalah baris dengan rasio pembagian terkecil. Jika
baris pivot ditandai dan ditarik ke kiri, maka kita akan
mendapatkan variabel keluar. Jika rasio pembagian
terkecil lebih dari satu, pilih salah sau secara
sembarang.
Tentukan elemen pivot. Elemen pivot merupakan nilai
yang terletak pada perpotongan kolom dan baris pivot.
Bentuk tabel simpleks baru. Tabel simpleks baru
dibentuk dengan pertama sekali menghitung nilai baris
pivot baru. Baris pivot baru adalah baris pivot lama
dibagi dengan elemen pivot. Baris baru lainnya
merupakan pengurangan nilai kolom pivot baris yang
bersangkutan dikali baris pivot baru dalam satu kolom
terhadap baris lamanya yang terletak pada kolom
tersebut.
Periksa apakah tabel sudah optimal. Keoptimalan tabel
dilihat dari koefisien fungsi tujuan (nilai pada baris z) dan
tergantung dari bentuk tujuan. Untuk tujuan maksimisasi,
tabel sudah optimal jika semua nilai pada baris z sudah
positif atau 0. Pada tujuan minimisasi, tabel sudah
optimal jika semua nilai pada baris z sudah negatif atau
0. Jika belum, kembali ke langkah no. 2 , jika sudah
optimal baca solusi optimalnya.
Contoh Kasus: Maksimasi
Maksimum z = 8 x1 + 9 x2 + 4x3
Kendala :
x1 + x2 + 2x3 ≤ 2
2x1 + 3x2 + 4x3 ≤ 3
7x1 + 6x2 + 2x3 ≤ 8
x1,x2,x3 ≥ 0
Bentuk Baku
VB X1 X2 X3 S1 S2 S3 Solusi
Z -8 -9 -4 0 0 0 0
S1 1 1 2 1 0 0 2
S2 2 3 4 0 1 0 3
S3 7 6 2 0 0 1 8
- Karena nilai negatif terbesar ada pada kolom X2, maka kolom X2
adalah kolom pivot dan X2 adalah variabel masuk.
- Rasio pembagian nilai kanan dengan kolom pivot terkecil adalah 1
bersesuaian dengan baris s2, maka baris s2 adalah baris pivot dan s2
adalah varisbel keluar. Elemen pivot adalah 3.
VB X1 X2 X3 S1 S2 S3 Solusi Rasio
Z -8 -9 -4 0 0 0 0
S1 1 1 2 1 0 0 2 2
S2 2 3 4 0 1 0 3 1
S3 7 6 2 0 0 1 8 8/6
Iterasi 1
Nilai pertama yang kita miliki adalah nilai baris pivot baru (baris x2).
Semua nilai pada baris s2 pada tabel solusi awal dibagi dengan 3
(elemen pivot).
VB X1 X2 X3 S1 S2 S3 Solusi Rasio
S1
S3
Perhitungan Nilai Barisnya :
Baris z :
-8 -9 -4 0 0 0 0
-9 ( 2/3 1 4/3 0 1/3 0 1) -
-2 0 8 0 3 0 9
Baris s1 :
1 1 2 1 0 0 2
1 (2/3 1 4/3 0 1/3 0 1)-
1/3 0 2/3 1 -1/3 0 1
Baris s3 :
7 6 2 0 0 1 8
6 ( 2/3 1 4/3 0 1/3 0 1)-
3 0 -6 0 -2 1 2
VB X1 X2 X3 S1 S2 S3 Solusi Rasio
Z -2 0 8 0 3 0 9 -
S3 3 0 -6 0 -2 1 2 2/3
Iterasi 2
Variabel masuk dengan demikian adalah X1 dan
variabel keluar adalah S3 .
VB X1 X2 X3 S1 S2 S3 Solusi
Minimum z = 2 x1 - 3 x2
Kendala :
x1 + x2 < 4
x1 - x2 < 6
x1,x2 ≥ 0
Bentuk Baku
VB Z X1 X2 S1 S2 Solusi Rasio
Z 1 -2 3 0 0 0
S1 0 1 1 1 0 4
S2 0 1 -1 0 1 6
Iterasi 1
VB Z X1 X2 S1 S2 Solusi
Z 1 -5 0 -3 0 -12
X2 0 1 1 1 0 4
S2 0 2 0 1 1 10