Anda di halaman 1dari 91

RISET OPERASI

S1 A


Dinda Dwi Chandrarini ( 1312100064 )
Zuzun Miranti ( 1312100065 )


Jurusan Statistika
Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Teknologi Sepuluh Nopember
2013
Riset operasi yang biasa disingkat RO atau OR
(Operation Research) adalah disiplin ilmu yang
menerapkan alat-alat analitis berdasarkan metode
kuantitatif untuk membantu dalam mengambil
keputusan yang lebih baik dalam manajemen
operasi.

RISET OPERASI
Konsep Penting
RO
Optimasi Maksimum
Minimum
(Untung, hasil kerja)
(Biaya, waktu)
BAB I
Konsep Penting
RO
Optimasi Maksimum
Minimum
(Untung, hasil kerja)
(Biaya, waktu)
Maksimum
Minimum
:
:
Sesuatu yang diinginkan
Output / yang harus dikeluarkan
Riset Operasi : Mengalokasikan sumber-sumber yang terbatas untuk
melaksanakan berbagai aktivitas/kegiatan.
Optimum dan Terbatas.
Sejarah RO
Pertama kali dipelajari saat perang dunia ke-II dan digunakan secara
spesifik di bidang pertahanan dan keamanan Inggris. Melihat RO yang
bermanfaat dan meningkatkan kinerja di bidang pertahanan, Amerika
juga ikut memelajari RO. Di Amerika, dari bidang pertahanan dan
keamanan, RO merambah juga di bidang industry, social pemerintahan,
dan penelitian.

RO tak hanya dipelajari di jurusan statistika, namun juga matematika,
Teknik Industri, Teknik Mesin, Teknik Elektro, Manajemen, Ekonomi,
Akuntansi, dan bidang ilmu lainnya.
Contoh Aplikasi RO
Persoalan diet dalam ilmu gizi dan kesehatan
dengan program linier.
Menentukan tingkat produksi optimum dari
setiap produk dengan metode simpleks.
Menentukan rute terpendek oleh suatu
perusahaan jasa pengiriman barang dengan
persoalan transportasi.
Rumah Sakit Anak Texas menggunakan optimasi
non-linier untuk memonitor negosiasi kontrak
perawatan kesehatan.


Penyelesaian Model RO
Dalam RO tidak terdapat teknik yang secara tunggal dapat
digunakan untuk menyelsaikan semua model matematis yang
muncul di kehidupan nyata. Jenis dan kompleksitas model
matematis akan mempengaruhi metode penyelesaian masalah.
Teknik RO yang paling popular adalah program linier. Program
linier dirancang untuk model dengan fungsi obyektif linier dan
fungsi batasan yang tepat. Teknik lain dalam RO meliputi integer
programming (dimana variable diasumsikan bernilai integer),
dynamic programming (dimana model dapat disekomposisi dalam
beberapa sub problem yang lebih kecil), network programming
(dimana permasalahan dapat dimodelkan dalam network/jaringan),
dan nonlinear programming (dimana fungsi dari model adalah
tidak linear). (Taha, 2007)

Tahapan RO
Perumusan Masalah
Penyusunan Model
Mendapatkan Solusi
Pengujian
Penerapan
Monitoring Realisasi
BAB II
PROGRAM LINIER
Untuk menyelesaikan persoalan dalam dunia
nyata dengan metode Program Linier, maka
persoalan tersebut harus model matematis,
dimana model matematis persoalan program
linier terdiri dari 2 fungsi obyektif(fungsi tujuan)
dan fungsi batasan. Fungsi obyektif memuat
tujuan apa yang ingin dicapai dalam suatu
permasalahan sedangkan fungsi batasan memuat
batasan-batasan atau kendala-kendala yang ada
pada permasalahan tersebut.

Apabila terdapat m jenis sumber yang jumlahnya
terbatas, dimana sumber tersebut akan digunakan oleh n
jenis aktivitas. Andaikan xj adalah suatu variabel
keputusan atau tingkat tingkat aktivitas, dimana j =
1,2,,n. untuk lebih jelasnya dapat dilihat pada Tabel 2.1
dimana :


Tabel 2.1 : Struktur Data untuk Model Program Linier
Model matematis dari tabel 2.1 dinyatakan di bawah ini.
Fungsi Obyektif :
Maksimumkan / Minimumkan Z =
Fungsi Batasan :
Ruas kiri dan fungsi batasan menunjukkan jumlah
kebutuhan sumber yang diperlukan untuk
melakukan seluruh unit aktivitas, sedangkan ruas
kanan menunjukkan jumlah sumber yang tersedia,
sehingga jumlah kebutuhan harus lebih kecil atau
sama dengan jumlah yang tersedia. Karena fungsi
obyektif (z) ingin mengoptimumkan tujuan dari
suatu permasalahan, maka z bisa berbentuk
maksimumkan atau mungkin berbentuk
minimumkan (z berbentuk maksimumkan jika
kasus yang ingin dioptimumkan, misalnya
keuntungan, sedangkan berbentuk minimumkan
jika kasus yang dioptimumkan
misalnya biaya.

Asumsi Model Program Linier
Model Program linier mempunyai 4 macam asumsi yang harus
dipenuhi, yaitu :
1. Proporsional
Naiknya nilai z proporsional dengan naiknya x
k

2. Aditif
Kenaikan nilai z akibat kenaikan suatu kegiatan dapat ditambah
tanpa mempengaruhi bagian nilai z yang diperoleh dari kegiatan
yang lain
3. Divisibel
Semua variabel dapat memiliki harga berapapun asalkan real
4. Certainty
Nilai dari semua parameter model (a
ij
, b
i
, dan c
j
) merupakan
konstanta-konstanta yang diketahui, bukan suatu variabel atau
variabel random.

Metode Grafis
Metode grafis digunakan untuk
menyelesaikan model matematis yang
sebelumnya dibuat.
Metode grafis hanya bisa digunakan jika
persoalan tersebut hanya mempunyai 2
variabel keputusan (jenis aktivitas).

Langkah-Langkah Metode Grafis
Langkah 1 : Menentukan daerah fisibel
Daerah fisibel adalah daerah yang memenuhi semua fungsi batasan,
caranya :
1. Buat suatu sumbu koordinat dengan sumbu X (variabel x
1
) dan
sumbu Y (variabel x
2
)
2. Tanda pertidaksamaan pada semua fungsi batasan ubah menjadi
tanda persamaan
3. Gambarkan semua fungsi batasan pada sumbu koordinat
tersebut
4. Tentukan daerah yang memenuhi semua fungsi batasan.

Langkah 2 : Menentukan penyelesaian optimal
Penyelesaian optimal yaitu mencari nilai x
1
dan x
2
yang berada pada
daerah fisibel dan akan mengoptimumkan z.
Ada 2 metode yang bisa digunakan untuk mencari z optimal, yaitu :
METODE SIMPLEK
Apabila suatu persoalan program linear mempunyai
lebih dari 2 variabel keputusan, maka metode grafis
tidak mampu untuk menyelesaikan persoalan tersebut,
tetapi Metode simplek dapat menyelesaikan persoalan
tersebut .

Max/Min z=c
1
x
1
+c
2
x
2
++c
j
x
j
++c
n
x
n
Fungsi batasan :

Program Linear dapat dinyatakan dalam bentuk matriks
sebagai berikut :
Max/Min
Dengan batasan :





cx z =
b Ax s
0 > x

(
(
(
(
(
(
(
(

(
=
mn mj m m
in ij i i
n j
n j
a a a a
a a a a
a a a a
a a a a
A
... ...
... ... ... ... ... ...
... ...
... ... ... ... ... ...
... ...
... ...
2 1
2 1
2 2 22 21
1 1 12 11

(
(
(
(
(
(
(
(

(
=
n
j
x
x
x
x
x
...
...
2
1
;


(
(
(
(
(
(
(
(

=
m
i
b
b
b
b
b
...
...
2
1
| | n c c c c ... 2 1 =
;
Penyelesaian persoalan pertidaksamaan pada fungsi
batasan diubah dulu menjadi bentuk sama dengan,
yaitu dengan menambahkan sesuatu pada ruas kiri
sehingga ruas kiri sama dengan ruas kanan.
Jika ruas kiri < ruas kanan maka ruas kiri
ditambah Varaibel Slack.
Jika ruas kiri > ruas kanan maka ruas kiri
dikurangi Variabel Surplus.
Max/Min z=c
1
x
1
+c
2
x
2
++c
j
x
j
++c
n
x
n
Dengan fungsi batasan:

PENYELESAIAN BASIS FISIBEL
Menyelesaikan program linear dengan
menggunakan metode PBF, maka
[A] dipartisi menjadi [B N]
C dipartisi menjadi (C
B
C
N
)
[x] dipartisii menjadi [x
B
x
N
]
dimana adalah: A berukuran m x (n+m)
B berukuran m x m
N berukuran n x m
Sehingga fungsi objektif menjadi


Dan fungsi batasan Ax=b berubah menjadi


Bx
B
+Nx
N
=b ; Nx
N
=0 sehingga Bx
B
=b maka
x
B
=B
-1
b dan x
N
=0. x
B
adalah calon variabel basis.


| |
(

=
N
B
N B
x
x
c c z
| | b
x
x
N B
N
B
=
(

Jika x
B
0 maka x
B
adalah variabel non basis
Jika x
B
0 maka x
B
adalah variabel basis
Jika x
B
adalah variabel basis , maka masukkan
nilai x
B
pada fungsi objektif sehingga diperoleh
nilai z. pilih z optimal sebagai penyelesaian
optimal
Untuk menyelesaikan persoalan program linear
tersebut dengan metode PBF kurang efisien,
karena akan terdapat matriks B sebanyak


Contoh soal :
max z= 2 x
1
+ x
2
Fungsi batasan :
x
1
+2x
2
80
3x
1
+2x
2
120
x
1
0, x
2
0
Penyelesaian
Fungsi batasan ditambahkan variabel slack karena bertanda
, dan tanda menjadi =.
Fungsi batasan :
x
1
+2x
2
+ x
3
= 80
3x
1
+2x
2
+ x
4
= 120
x
1
0, x
2
0


Kemudian dibuat matriks menjadi :

Matriks A
2x4
diartisi menjadi matrik B
2x2
N
2x2

Matriks B yang dapat dibuat


(

=
0 0 2 3
1 1 2 1
A
(

=
120
80
b | | 0 0 1 2 = c
6
4
2
= =
+
C C
m n
m
basis
x
x
x
B
B
B

=
(

=
(

=
(

30
20
120
80
4 / 1 4 / 3
2 / 1 2 / 1
4 / 1 4 / 3
2 / 1 2 / 1
;
2 3
2 1
2
1
1
1
1
1
basis
x
x
x
B
B
B

=
(

=
(

=
(

40
40
3
120
80
3 / 1 1
3 / 1 0
;
3 / 1 1
3 / 1 0
;
0 3
1 1
1
1
2
2
2
Nonbasis
x
x
x
B
B
B

=
(

=
(

=
(

120
80
120
80
1 3
0 1
;
1 3
0 1
;
1 3
0 1
4
1
1
3
3
3







Kemudian mencari z optimum dengan
memasukkan nilai x
B
yang basis pada
persamaan z=cx


Nonbasis
x
x
x
B
B
B

=
(

=
(

=
(

40
60
120
80
1 1
2 / 1 0
;
1 1
2 / 1 0
;
0 2
1 2
3
2
1
4
4
4
basis
x
x
x
B
B
B

=
(

=
(

=
(

40
40
120
80
1 1
0 2 / 1
;
1 1
0 2 / 1
;
1 2
0 2
4
2
1
5
5
5
basis
x
x
x
B
B
B

=
(

=
(

=
(

120
80
120
80
1 0
0 1
;
1 0
0 1
;
1 0
0 1
4
3
1
6
6
6
Yang merupakan x
B
basis antara lain :










Sehingga diketahui z optimum saat x
1
=40 dan
x
3
=40, yaitu nilai z sebesar = 80.
| | 70
0
0
30
20
0 0 1 2
30
20
2
1
=
(
(
(
(

=
(

=
(

z
x
x
| | 80
0
40
0
40
0 0 1 2
40
40
3
1
=
(
(
(
(

=
(

=
(

z
x
x
| | 40
40
0
40
0
0 0 1 2
40
40
4
2
=
(
(
(
(

=
(

=
(

z
x
x
| | 0
120
80
0
0
0 0 1 2
120
80
4
3
=
(
(
(
(

=
(

=
(

z
x
x
Apabila variabel keputusan yg dikandung tidak
terlalu banyak masalah, maka masalah-masalah
program linear dapat diselesaikan dengan
algoritma yang disebut model simplek tabel.

Persoalan program linear :


0
: .
min /
>
s
=
x
b Ax t s
cx z maks
0
: .
/
>
=
=
x
b Ax t s
cx Minz Maks
Fungsi batasan diubahmenjadi bentuk sama dengan
menambahkan variabel slack pada ruas kiri sehingga
menjadi



Jika [A] dipartisi menjadi [B N], c dipartisi
menjadi (c
B
c
N
) dan x dipartisi menjadi [x
B
x
N
]
,maka persaman program linear menjadi :



Dengan fungsi batasan :


sehingga Bx
B
+Nx
N
=b


| |
(

=
N
B
N B
x
x
c c z
N N B B
x C x C + =
Min Maks/
| | b
x
x
N B
N
B
=
(

Bx
B
+Nx
N
=b , jika batasan dikalikan B
-1
maka fungsi
batasan menjadi:



Fungsi batasan dikalikan dengan C
B
B
-1
menjadi



Sehingga fungsi obyektif z= c
B
x
B
+c
N
x
N
menjadi

b B Nx B x
b B Nx B Ix
b B Nx B Bx B
N B
N B
N B
1 1
1 1
1 1 1



= +
= +
= +


N B B B B
B N B B B
B N B B B
Nx B C b B C x C
b B C Nx B C x C
b B C Nx B C Bx B C
1 1
1 1
1 1 1



=
= +
= +
B B c x c N B C z
B N N B
1 1
) (

= +
Baris ke BV z X
B

X
N
RHS
0 z 1 -c
N
0 0
1 s.d. m X
B
0 y I B
Brs
ke
BV z x
1
x
j
x
k
x
n
x
n+1
x
n+i
x
n+r
x
n+m
RHS
0 z 1 -c
1
-c
j
-c
k
-c
n
0 0 0 0 0
1 x
n+1
0 y
11
y
1j
y
1k
y
1n
1 0 0 0 b
1
b
i
i x
n+i
0 y
i1
y
ij
... y
ik
y
in
0 1 0 0

r x
n+r

0 y
r1
y
rj
y
rk
y
rn

0 0 1 0 b
r
m x
n+m

0 y
m1
y
m1
y
mk
y
mn
0 0 0 1 b
m
1. Mengecek apakah tabel sudah optimal lihat baris ke-0
Maks z
i
-c
i
0, optimal

Min z
i
-c
i
0, optimal
2. Memilih variabel yang akan masuk basis cek baris 0
Maks pilih z
i
-c
i
< 0

Min pilih z
i
-c
i
> 0
3. Apakah persoalan punya penyelesaian?
melihat kolom ke-k. Jika ada y
k
> 0, maka punya
penyelesaian. Jika semua y
k
< 0, maka tidak punya
penyelesaian.

4. memilih variabel yang akan keluar basis
membagi ruas kanan dengan yi
k
(= bi/ yi
k
) dimana yi
k
> 0.
Pilih bi/ yi
k
yang terkecil sehingga xk keluar basis.
5. meng-update tabel simpleks sampai diperoleh optimum
Contoh soal:
Suatu pabrik roti memproduksi 3 jenis roti yaitu roti A,B, dan C .
Keuntungan per buah roti adalah $2 , $3, dan $1 . Diperlukan 2
adonan yaitu adaonan 1 dan adonan 2. Untuk membuat roti A
dibutuhkan 1/3 adonan 1 dan 1/3 adonan 2. Untuk membuat roti
B dibutuhkan 1/3 adonan 1 dan 4/3 adonan 2. Sedangkan untuk
membuat roti C dibutuhkan 1/3 adonan 1 dan 7/3 adonan 2 .
Adonan 1 yang tersedia sebanyak 1 wadah dan adonan 2 yang
tersedia sebanyak 2 wadah . Bantulah pabrik roti menyelesaikan
permasalahannya !
Penyelesaian :
= jumlah roti A yang diproduksi
= jumlah roti B yang diproduksi
= jumlah roti B yang diproduksi

3
x
2
x
1
x
Maksimumkan
Fungsi batasan :



Penyelesaian persoalan pertidaksamaan pada fungsi batasan
diubah dulu menjadi bentuk sama dengan dengan cara
menambah variabel slack , sehingga menjadi :
Maksimumkan
Fungsi batasan :




3 2 1
3 2 x x x z + + =
0 , ,
3
3
7
3
4
3
1
1
3
1
3
1
3
1
3 2 1
3 2 1
3 2 1
>
s + +
s + +
x x x
x x x
x x x
3 2 1
3 2 x x x z + + =
0 , ,
3
3
7
3
4
3
1
1
3
1
3
1
3
1
3 2 1
5 3 2 1
4 3 2 1
>
= + + +
= + + +
x x x
x x x x
x x x x
Tabel simplek awal



Tabel belum optimal , karena pada baris ke-nol masih ada yang
negatif , variabel yang masuk basis adalah dan variabel yang
keluar basis adalah
Tabel simplek iterasi I

2
x
5
x
Tabel belum optimal , karena pada baris ke-nol masih ada yang
negatif , variabel yang masuk basis adalah dan variabel yang
keluar basis adalah
Tabel simplek iterasi II




Karena pada baris ke nol , semua elemen 0 , maka tabel sudah
optimum , sehingga z=8 , =1, = 2 dan = 0
Kesimpulan :
Pabrik roti akan mendapatkan keuntungan sebesar $8 , dngan
memproduksi roti A sebanyak 1 buah , roti B sebanyak 2 buah
dan tidak memproduksi roti C .





1
x
4
x
1
x
2
x 3
x
Persoalan program linear
-Max/Min z=c
1
x
1
+c
2
x
2
++c
j
x
j
++c
n
x
n
Dengan batasan:


0 , , ,
4 3 2 1
4 4 44 3 43 2 42 1 41
3 4 34 3 313 2 32 1 31
2 4 24 3 23 2 22 1 21
1 4 14 3 13 2 12 1 11
>
s + + +
> + + +
= + + +
s + + +
x x x x
b x a x a x a x a
b x a x a x a x a
b x a x a x a x a
b x a x a x a x a
Fungsi batasan yang ditambah dengan variabel
artifisial adalah fungsi batasan yang bertanda
atau =, sehingga persoalan di atas berubah
menjadi :

0 , , , , , , , ,
9 8 7 6 5 4 3 2 1
4 7 4 44 3 43 2 42 1 41
3 9 6 4 34 3 313 2 32 1 31
2 8 4 24 3 23 2 22 1 21
1 5 4 14 3 13 2 12 1 11
>
= + + + +
= + + + +
= + + + +
= + + + +
x x x x x x x x x
b x x a x a x a x a
b x x x a x a x a x a
b x x a x a x a x a
b x x a x a x a x a
Metode Dua Phase digunakan jika fungsi batasan
ada yang bertanda atau bertanda =.
Untuk menyelesaikan dengan metode ini terdiri dari
dua phase, yaitu
a. Phase Satu
Meminimumkan variabel artifisial
Min Y
0
= x
a
Dengan Fungsi Batasan :
Ax + x
a
= b


Ket x
a
= var artifisial.
Jika pada phase 1 sudah optimum (z
j
-c
j
0)
dimana :
1. Variabel basis memuat x
a

STOP, tidak fesibel.
2. Variabel Basis tidak memuat x
a

lanjut ke phase 2.
b. Phase Dua
Pada phase dua fungsi tujuannya adalah fungsi
tujuan persoalan asli.
Max/Min z=c
B
x
B
+c
N
x
N

Dengan fungsi batasan:


Penyelesaian optimal persoalan pada phase
dua merupakan penyelesaian optimal dari
persoalan asli.

0 ;
1 1
>
= +

N B
N B
x x
b B Nx B x
Contoh soal
Minimumkan
Fungsi batasan :



Penyelesaian :
Minimumkan
Fungsi batasan :


2 1
4 x x z + =
0 ,
3 3
6 3 4
4 2
2 1
2 1
2 1
2 1
>
= +
> +
s +
x x
x x
x x
x x
6 5 0
x x Y + =
0 , , , , ,
3 3
6 3 4
4 2
6 5 4 3 2 1
6 2 1
5 4 2 1
3 2 1
>
= + +
= + +
= + +
x x x x x x
x x x
x x x x
x x x
Phase 1
Tabel simplek awa phase 1



Tabel iterasi I



Tabel iterasi II

Tabel iterasi III




Phase 2
Tabel awal phase 2




Tabel iterasi I



Tabel sudah optimum sebab baris ke nol ada
yang bernilai negatif , sehingga z maksimum
=38/5 , dimana x1=1 dan x2=6/5


Seperti pada metode Dua Phase, Metode
Big M juga digunakan jika fungsi batasan ada
yang bertanda > atau bertanda =.
Pada fungsi tujuan ditambahkan koefisien
variabel artifisial yang disimbolkan dengan
huruf M, dimana M adalah bilangan yang
sangat besar.
Jika fungsi tujuan maksimumkan :
Max z=c
1
x
1
+c
2
x
2
+c
3
x
3
+c
4
x
4
Mx
8
Mx
9

Jika fungsi tujuan minimumkan :
Min z=c
1
x
1
+c
2
x
2
+c
3
x
3
+c
4
x
4
+Mx
8
+ Mx
9


Dengan batasan :





Untuk menyelesaikan persoalan program tersebut,
langkah-langkah yang dilakukan adalah seperti
menyelesaikan persoalan program linear dengan
menggunakan simplek tabel. Jika persoalan fisibel,
maka nilai Z optimum tidak memuat bilangan M.

0 , , , , , , , ,
9 8 7 6 5 4 3 2 1
4 7 4 44 3 43 2 42 1 41
3 9 6 4 34 3 313 2 32 1 31
2 8 4 24 3 23 2 22 1 21
1 5 4 14 3 13 2 12 1 11
>
= + + + +
= + + + +
= + + + +
= + + + +
x x x x x x x x x
b x x a x a x a x a
b x x x a x a x a x a
b x x a x a x a x a
b x x a x a x a x a
CONTOH SOAL
Minimumkan
Fungsi batasan :



Penyelesaian
Minimumkan
Fungsi batasan :

2 1
4 x x z + =
0 ,
3 3
6 3 4
4 2
2 1
2 1
2 1
2 1
>
= +
> +
s +
x x
x x
x x
x x
6 5 2 1
4 Mx Mx x x z + + + =
0 , , , , ,
3 3
6 3 4
4 2
6 5 4 3 2 1
6 2 1
5 4 2 1
3 2 1
>
= + +
= + +
= + +
x x x x x x
x x x
x x x x
x x x
Tabel simplek awal




Tabel iterasi I






Tabel iterasi II




Tabel iterasi III



Tabel iterasi 4

Karena untuk kasus minimum pada baris ke nol
tidak ada elemen yang bernilai positif maka
tabel sudah optimum , sehingga z maksimum
17/5 , dimana =2/5 dan =9/5
1
x
2
x



DUALITAS DAN SENSITIFITAS

Suatu persoalan program linier :
Maksimumkan z=cx
Fungsi batasan : Ax b
x 0
Tabel simplek pada setiap iterasi




Dimana :











mj m ij i j j j B j
m m i i B o
B i
a w b w a w a w a c z
b w b w b w b w b c z
c w
+ + + + + = =
+ + + + + = = =
=

... ...
... ...
2 2 1 1
1
2 2 1 1
1
1
B
Wb B
B
Tabel tetap optimum jika:



Mencari nilai sedemikian hingga syarat
optimum 1 dan 2 tersebut harus terpenuhi .
untuk mencari nilai tersebut dengan cara :
maksimumkan
dengan batasan :










0 ,..., 0 ,... 0 , 0 0 . 2
... ... 0 . 1
2
2 2 1
> > > > >
> + + + + + > >
m i i i
j mj m ij ij j ij j j j j
w w w w w
c a w a w a w a w c z c z
m i
w w w w ,..., ,..., ,
2 1
m m i i B
b w b w b w b w c z + + + + + = = =

... ...
2 2 1 1
1
0
Wb b B
0 ,..., 0 ,... 0 , 0 0
... ... 0
2
2 2 1
> > > > >
> + + + + + > >
m i i i
j mj m ij ij j ij j j j j
w w w w w
c a w a w a w a w c z c z
Model tersebut dinyatakan dalam bentuk matriks ,
Minimumkan = Wb
Fungsi batasan : WA c
W 0
Yang disebut persoalan DUAL
0
z
HUBUNGAN PRIMAL DAN DUAL

Persoalan Primal Persoalan Dual
(atau persoalan Dual) (atau persoalan Primal)
Maksimumkan Minimumkan
Ruas kanan Koefisien fungsi obyektif
Koefisien fungsi obyektif Ruas kanan
Fungsi batasan Variabel keputusan
Tanda pada fungsi Batasan Tanda pada variabel >>.>
keputusan


= tidak ada batasan tanda
Variabel keputusan Fungsi Batasan
Tanda pada variabel keputusan Tanda fungsi batasan
0
0
tidak ada batasan tanda =

Model matematis persoalan Primal

Maksimumkan z =
Fungsi batasan :












n n j j
x c x c x c x c ... ...
2 2 1 1
+ + + +
0 ,......, ,...... ,
... ...
......... .......... .......... ..........
... ...
......... .......... .......... ..........
... ...
... ...
2 1
2 2 1 1
2 2 1 1
2 2 2 2 22 1 21
1 1 1 2 12 1 11
>
s + + + + +
s + + + + +
s + + + + +
s + + + + +
n j
m n mn i mj m m
i n in i ij i j
n n j j
n n j j
x x x x
b x a x a x a x a
b x a x a x a x a
b x a x a x a x a
b x a x a x a x a
Sedangkan Model matematis persoalan Dualnya :

Minimumkan z=
Fungsi batasan =

n n j j
w b w b w b w b ... ...
2 2 1 1
+ + + +
0 ,......, ,...... ,
... ...
......... .......... .......... ..........
... ...
......... .......... .......... ..........
... ...
... ...
2 1
2 2 1 1
2 2 1 1
2 2 2 2 22 1 12
1 1 1 2 21 1 11
>
> + + + + +
> + + + + +
> + + + + +
> + + + + +
m i
n m mn i in n n
j m mj i ij j j
m m i i
m m i i
w w w w
c w a w a w a w a
c w a w a w a w a
c w a w a w a w a
c w a w a w a w a
contoh soal:
Persoalan Primal
Maksimumkan

Fungsi batasan:





Buat model dualnya !
Penyelesaian :

Persoalan Dual
Minimumkan

Fungsi batasan:

3 2 1
2 5 x x x z + + =
0 , ,
1 3 5
2 8 3
5 7 6 2
3 2 1
3 2 1
3 2 1
3 2 1
>
> + +
> + +
> + +
w w w
w w w
w w w
w w w
3 2 1 0
40 30 20 w w w z + + =
0 , ,
40 3 7
30 5 8 6
20 3 2
3 2 1
3 2 1
3 2 1
3 2 1
>
s + +
s + +
s + +
x x x
x x x
x x x
x x x
:
Tabel hubungan variabel-variabel persoalan primal-dual









Karena hubungan antara persoalan primal dan persoalan dual adalah simetris
Maka jika fungsi batasan disatu persoalan (primal) adalah berbentuk
pertidaksamaan (variabel slack/surplus 0) maka variabel yang berkaitan
Dengan fungsi batasan tersebut dalam pesoalan yang lain (dual) harus nol.
Hal ini yang disebut dengan COMPLEMENTARY SLACKNESS , sehingga:

Variabel primal Variabel dual yang
berkaitan
keterangan
Variabel asli ( ) Variabel surplus ( ) j=1,2,,n
Variabel slack ( ) Variabel Asli ( ) i=1,2,,m
Variabel Basis Variabel Non Basis m variabel
Variabel Non Basis Variabel Basis n variabel
j
x
j j
c z
i n
x
+ i
w
a. ; akibatnya apabila =0 , maka ( ) 0,
apabila 0 maka ( ) = 0

b. = 0 , akibatnya apabila = 0, maka 0,
dan apabila 0, maka = 0.
0 ) ( =
j j j
c x x j
x
j j
c z
j
x
j j
c z
i i n
w x
+ i n
x
+ i
w
i n
x
+
i
w
Untuk menyelesaikan persoalan program linier dengan metoda
simplek dual , ada beberapa langkah yang harus dilakukan ,yaitu:
1. Memilih satu matriks basis B sedemikian hingga
= sedemikian hingga dual fisibel .
2. Membuat tabel simpleks seperti pada tabel simpleks primal
yaitu dengan mengalikan dengan .
3. Memeriksa apakah tabel sudah optimum (primal fisibel) , yaitu
dengan memeriksa ruas kanan , apakah semua elemen ruas
kanan non-negatif . Jika , maka tabel sudah optimum
, jika belum lanjutkan ke langkah 4.
4.Memilih variabel yang akan keluar basis , yaitu elemem ruas
kanan ( ) yang paling negatif . Misalkan yang terpilih
j j
c z 0
1
>

j j B
c a c B
1
B
0
1
>

b B
i
b B
1
adalah elemen pada baris ke k , maka keluar basis.
5. Memeriksa apakah persoalan mempunyai daerah fisibel , yaitu
apakah pada baris ke k ada elemen yang negatif ( < 0) .
Jika semua elemen non-negatif , maka persoalan tidak
mempunyai daerh fisibel , tetapi jika tidak lanjutkan ke
langkah 6.
6. Memilih variabel yang akan masuk basis , yaitu minimum dari
( , dimana < 0 ) . Jika adalah negatif

terkecil untuk kasus maksimumkan , dan positif terkecil untuk
kasus minimumkan , maka keluar basis dan adalah
pivot .
BK
x
j
y
j
j j
y
c z
j
y
kr
r r
y
c z
r
x
k
y
7. Melakukan iterasi pada tabel awal , yaitu dengan mengganti
dengan dan membagi semua elemen pada baris ke k
dengan dan disebut PIVOT .
8. Mengulangi terus , sampai diperoleh tabel optimum .
BK
x
r
x
k
y
k
y
Contoh soal




Penyelesaian
Tabel awal simplek



Tabel iterasi I



tabel iterasi II



Tabel sudah optimum karena ruas kanan sudah
non negatif , sehingga z minimum = 21/5
dimana x1=3/5 dan x2=6/5

Analisis sensitifitas
Suaru persoalan linier yang pada awalnya diasumsikan semua
parameter dalam model adalah tertentu , tetapi pada suatu saat
nilai parameter-parameter tersebut dapat berubah .
Adapun parameter-parameter yang dapat berubah adalah :

1. Perubahan pada keuntungan atau biaya ( )
Apabila keuntungan atau biaya yang berubah , maka pada
tabel optimum persoalan lama yang berubah hanya pada
baris ke nol saja,
Perlu dibedakan apakah adalah koefisien dari
variabel basis atau variabel non basis.
j
c
j
x
j
c
a) Variabel Non Basis
Baris ke nol dari tabel simplek . Karena
bukan variabel basis , maka tidak memuat , akibatnya
pada baris ke nol yang berubah hanya elemen (elemen
pada baris ke nol dibawah variabel ) sehingga

memeriksa optimalitas :
maksimumkan masih optimum jika
minimumkan masih optimum jika
apabila belum optimum dilakukan cara dengan mengganti
, elemen . Selanjutnya melakukan iterasi
seperti penyelesain simplek tabel .
j
x
j j B j j
c a c c z =
1
B
k
x
B
c
k
c
k k
c z
k
x
) ' ( ) ( '
k k k k k k
c c c z c z =
0 ' >
k k
c z
0 ' s
k k
c z
k k
c z
'
k k
c z
b) Variabel Basis
baris ke nol dari tabel simplek . Karena
variabel basis , maka memuat , akibatnya semua
elemen pada baris ke nol ( ) berubah menjadi ( ),
dimana atau bisa juga dengan cara :





memeriksa optimalitas :
maksimumkan masih optimum jika
minimumkan masih optimum jika

j
x
j j B j j
c a c c z =
1
B
k
x
B
c
k
c
j j
c z
0 ' >
j j
c z
0 ' s
j j
c z
j j
c z '
j j B j j
c a c c z =
1
' ) ' ( B
) ' ( ) ( ) ' (
j j j j j j
z z c z c z =
) ' ( ) (
1 1
j B j B j j
a c a c c z

= B B
j B B j j
j B j B j j
y c c c z
y c y c c z
) ' ( ) (
) ' ( ) (
=
=
apabila belum optimum dilakukan cara dengan mengganti
semua elemen pada baris ke nol dengan .
Selanjutnya melakukan iterasi seperti penyelesain
simplek tabel .

2 . Perubahan pada bahan sumber (sumber) yang tersedia ( )
apabila pada suatu saat bahan yang tersedia berubah, maka
tabel awal yang berubah hanya pada ruas kanan (RHS) ,
dimana ruas kanan (RHS) = akan berubah menjadi
memeriksa optimalitas :
maksimumkan masih optimum jika
minimumkan masih optimum jika


i
b
b B
1
'
1
b B

0 '
1
>

b B
0 '
1
s

b B
( ) j c z
j j
; '
apabila tidak optimum dilakukan cara dengan mengganti
Ruas kanan (RHS) dengan . Selanjutnya melakukan iterasi
dengan menggunakan simplek dual , sebab dual tidak optimum.

'
1
b B

3. Perubahan pada kebutuhan bahan per unit produk j ( )


Apabila terjadi suatu perubahan komposisi pada
kebutuhan bahan (sumber) untuk satu unit produk j , maka
tabel optimum persoalan awal yang berubah adalah pada
baris ke nol .
Apabila berubah , perlu dibedakan apakah adalah
koefisien dari variabel basis ataukah variabel non basis .
a) Variabel Non Basis
baris ke nol dari tabel simplek . Karena
bukan variabel basis , maka tidak memuat , akibatnya
pada baris ke nol yang berubah hanya elemen
(elemen pada baris ke nol dibawah variabel ) sehingga


j
a
j
a
j
x
j
x
j
a
j j B j j
c a c c z =
1
B
k
x
1
B k
a
k k
c z
k
x
k k B k k
c a c c z =

' ) ' (
1
B
memeriksa optimalitas :
maksimumkan masih optimum jika
minimumkan masih optimum jika
apabila tidak optimum dilakukan cara dengan menggantielemen
. pada baris ke nol dengan . Selanjutnya
melakukan iterasi seperti penyelesaian simplek tabel .

b) Variabel Basis
baris ke nol dari tabel simplek . Karena
variabel basis , maka memuat , akibatnya semua
elemen pada baris ke nol berubah menjadi ,
dimana dan adalah invers dari



) 0 ' ( >
k k
c z
) 0 ' ( s
k k
c z
j
x
j j B j j
c a c c z =
1
B
k
x
1
B
k
a
) (
j j
x z
) ' (
j j
x z
1
) ' (

B
k k
c z
k k
c z '
j j B j j
c a B c c z =
1
) ' ( '
matriks B dimana elemen diganti dengan dengan
memeriksa optimalitas :
maksimumkan masih optimum jika
minimumkan masih optimum jika
apabila belum optimum dilakukan cara dengan mengganti
elemen . Selanjutunya melakukan iterasi seperti
penyelesain simplek tabel .

4. Menambah satu kegiatan (produk) baru ( )
apakah ingin untuk menambah suatu kegiatan baru atau
menambah suatu produk baru .
= jumlah produk jenis baru yang akan diproduksi ,



j
x
k
a '
k
a
) ; 0 ' ( j c z
j j
>
1 + n
x
) ; 0 ' ( j c z
j j
s
j j
c z '
=Bahan yang diperlukan untuk membuat 1 unit produk
baru .
= kontribusi untuk 1 unit produk baru . .
Untuk memutuskan apakah produk baru perlu diper timbangkan
atau tidak , maka menghihitung
Tabel tetap optimum apabila :
maksimumkan
minimumkan
Jika tabel belum optimum , selanjutnya diooptimumkan dengan
menambah kolom ke n+1 , dimana baris ke nol
diisi dengan sedangkan baris ke satu sampai dengan baris ke m
diisi dengan . Selanjutnya lakukan iterasi seperti pada
iterasi simplek tabel .
1 + n
a
1 + n
c
1 1
1
1 1 + +

+ +
=
n n B n n
c a c c z B
) ; 0 (
1 1
j c z
n n
>
+ +
) ; 0 (
1 1
j c z
n n
s
+ +
) (
1 1 + +

n n
c z
1
1
+

n
a B
5. Menambah jenis bahan (menambah fungsi batasan)
apabila terjadi penambahan jenis bahan (sumber), jika jenis
sumber baru yang bertambah adalah sumber ke (m+1),
dimana sumber ke-(m+1) , tersedia sebanyak dan
setiap unit produk j , memerlukan sumber ke-(m+1) ,
sebanyak , tambahkan fungsi batasan baru yaitu

tabel optimum persoalan awal diupdate yaitu tambahkan
fungsi batasan baru tersebut pada baris terakhir dari tabel
simplek optimum persoalan awal dan tambahkan kolom
terakhir sebagai variabel slack untuk fungsi batasan baru.
Selanjutnya melakukan iterasi seperti pada iterasi simplek
tabel .
1 + m
b
j m
a
) 1 ( +
1 , 1 , 1 2 2 , 1 1 1 , 1
... ...
+ + + + +
s + + + + +
m n n m j j m m m
b x a x a x a x a
Contoh soal:
Suatu pabrik roti memproduksi 3 jenis roti yaitu roti A,B, dan C .
Keuntungan per biji roti adalah $2,$3, dan $1 . Diperlukan 2
adonan yaitu adaonan 1 dan adonan 2. Untuk membuat roti A
dibutuhkan 1/3 adonan 1 dan 1/3 adonan 2. Untuk membuat roti
B dibutuhkan 1/3 adonan 1 dan 4/3 adonan 2. Sedangkan untuk
membuat roti C dibutuhkan 1/3 adonan 1 dan 7/3 adonan 2 .
Adonan 1 yang tersedia sebanyak 1 wadah dan adonan 2 yang
tersedia sebanyak 2 wadah . Dimana tabel simplek optimumnya
adalah :

a) Jika keuntungan roti C berubah menjadi $2,apakah ada
pengaruhnya ?
b) Jika adonan 1 bertambah menjadi 2 wadah , apakah ada
pengaruhnya ?
c) Jika kebutuhan adonan 1 untuk roti C berubah menjadi 2/3 ,
apakah ada pengaruhnya?
d) Jika perusahaan mempertimbangkan akan menambah produk
baru yaitu roti D , dimana membutuhkan adonan 1 sebanyak
2/3 dan adonan 2 sebanyak 4/3 dengan keuntungan $4 ,
apakah ada pengaruhnya ?


Penyelesaian :
a) Keuntungan roti C $ 1 berubah menjadi $2 ,maka

dimana adalah bukan variabel basis , sehingga

= - (2-1)
= 2,75
karena maka tabel masih optimum , dan usulan
untuk merubah keuntungan roti C tidak perlu ditindaklanjuti



1
3
= c
2 '
3
= c
3
x
) ' ( ) ( '
1 1 1 1 1 1
c c c z c z =
4
15
0 '
1 1
> c z
b) Adonan 1 yang tersedia sebanyak 1 wadah berubah menjadi 2
wadah , maka b= berubah menjadi b=

ruas kanan berubah menjadi

RHS = = =

karena ruas kanan bernilai positif maka tabel masih optimum ,
sehingga penambahan adonan 1 tidak perlu ditindaklanjuti.
(

3
1
(

3
2
'
1
b

B
'
1
b

B
(


1 1
1 4
(

3
2
(

1
5
c) Kebutuhan adonan 1 untuk roti C berubah dari 1/3 menjadi 2/3
, maka = berubah menjadi =

dimana bukan variabel basis.
sehingga :


=

=
karena , maka tabel masih optimum , artinya
dengan merubah komposisi adonan 1 untuk roti C , tetap tidak
akan menghemat .
a
(
(

3
7
3
1
(
(

3
7
3
2
' a
3
x
3 3
1
3 3
' ) ' ( c a c c z
B
=

B
( ) 1
3
7
3
2
1 1
1 4
3 2
(
(


3
14
0 '
3 3
> c z
d) Roti D memerlukan adnan 1 sebanyak 2/3 dan adonan 2
sebanyak 4/3 , jika dijual akan untung $4 . Maka







karena , maka tabel masih optimum , artinya
penembahan produk baru tidak perlu dipertimbangkan untuk
dibuat .
6 6
1
6 6
' ) ( c a c c z
B
=

B
( ) 4
3
5
3
2
1 1
1 4
3 2
(
(


=
1
4 5
=
=
) ; 0 (
1 1
j c z
n n
>
+ +