Anda di halaman 1dari 39

Program linier adalah suatu model umum yang dapat digunakan untuk memecahkan masalah-masalah pengalokasian sumber-sumber yang

jumlahnya terbatas ke beberapa aktifitas dengan menggunakan sumbersumber secara optimal, yang mencakup perencanaan kegiatan untuk mencapai suatu hasil yang mencerminkan tercapainya sasaran tertentu yang baik ( menurut model matematis) dari alternatif-alternatif yang mungkin, dengan menggunakan fungsi linier.
Retraningsih dan Irhamah, 2011

Terdapat dua macam fungsi Program Linear yang merupakan model matematis dari persoalan di kehidupan nyata, yaitu: a. Fungsi tujuan (fungsi objektif) : memuat tujuan yang ingin dicapai dalam suatu permasalahan. b. Fungsi kendala (fungsi batasan) : memuat batasan-batasan atau kendala-kendalan yang ada dalam permasalahan tersebut. Serta menunjukkan besarnya sumber daya yang tersedia dan permintaan atas sumber daya tersebut.

Penggunaan Sumber per Unit Aktivitas Sumber 1 1 a11 2 a12 Aktifitas ... ... j a1j ... ... n

Banyaknya sumber yang tersedia

ja: jenis kegiatan b1 1n j=1, 2, ...,n


a2n
...

2
...

a21
...

a22
...

...

a2j
...

...

b2

i ...

bi : jumlah sumber i a ij :banyaknya yang sumber i yang diperlukan untuk disediakan 1 unit jenis bi ai1membuat ai2 aij produk ain j ... ...
... ... ... ... ...

Kontribusi per unit aktivitas (z/unit) Tingkat Aktivitas

i : jenis sumber x j : tingkat kegiatan c j : kontribusi yang i=1, 2, diperoleh/dikeluarkan ...,m atau bm am2 1 amn variabel m ...unitaproduk ... j jikaa membuat m1 mj keputusan
c1 x1 c2 x2 ... ... cj xj ... ... cn xn

Ruas kiri dari fungsi batasan menunjukkan jumlah kebutuhan sumber yang diperlukan untuk melakukan seluruh unit aktivitas Fungsi Objektif:

Maksimumkan/minimumkan Menunjukkan z=c1x1 + c2x2jumlah +...+ c ixi +... + sumber 1 cnxn

Suatu model program linier disebut model standar bila yang digunakan Menunjukkan jumlah sumber untuk membuat
seluruh produk 2 2 yang digunakan untuk Fungsi Batasan: fungsi objektifnya berbentuk memproduksi seluruh produk a11 x1 + a12x2 +...+ a1jx + a1nx1n b1 j + ... menunjukkan Ruas kanan dari fungsi batasan bertanda , dan a21x1 + Menunjukkan ajumlah x +...+ a x + ... + a x yang tersedia 22 2 sumber 2j j 2n 1n b2 jumlah seluruh ................................................................ bertanda sumber yang digunakan untuk atau minimumkan. Fungsi obyektif (z) bisa berbentuk maksimumkan produk 1 ain ai1 x1 + ai2memproduksi x + x1n dioptimalkan bi Misalnya z berbentuk maksimum pada kasus yang berupa 2 +...+ aijx j + ...

maksimumkan,
variabel 0
m

fungsi batasan keputusan


x1, x2 , ... , xm 0
m1 1 m2 2

keuntungan, dan z berbentuk minimum pada kasus yang dioptimalkan ................................................................ berupa a x + a x +...+ a x biaya +... + a x b
mj j mn mn

Sebuah perusahaan textil memiliki sebuah pabrik yang akan memproduksi 2 jenis produk, yaitu kain sutera dan kain wol. Untuk memproduksi kedua produk diperlukan bahan baku benang sutera dan bahan baku benang wol, serta tenaga kerja. Maksimum penyediaan benang sutera adalah 60 kg per hari, benang wol 30 kg per hari dan tenaga kerja 40 jam per hari. Kebutuhan setiap unit produk akan bahan baku dan jam tenaga kerja dapat dilihat dalam tabel berikut:
Jenis bahan baku dan tebaga kerja Benang sutera Benang wol Tenaga kerja Kain sutera Kain wol

2 kg 2 jam

3 kg 2kg 1 jam

Kedua jenis produk memberikan keuntungan sebesar Rp 40 juta untuk kain sutera dan Rp 30 juta untuk kain wol. Masalahnya adalah bagaimana menentukan jumlah unit setiap jenis produk yang akan diproduksi setiap hari agar keuntungan yang diperoleh bisa maksimal.

Variabel keputusan (xj) : x1=kain sutera x2=kain wol Fungsi obyektif (z) : maksimumkan z= 40x1 + 30x2 Fungsi kendala / batasan : 2x1 + 3x2 60 (benang sutera) 2x2 30 (benang wol) 2x1 + x2 40 (tenaga kerja) x1 , x2 0

Naiknya nilai z proporsional dengan naiknya xk yaitu melalui Kenaikan nilai z akibat kenaikan ckxk dan naiknya sumber suatu kegiatan dapat naiknya ditambah proporsional dengan xk tanpayaitu mempengaruhi bagian melalui aikxk . nilai z yang diperoleh dari Semua variabel dapat memiliki Nilaikegiatan dari semua parameter yang lain harga asalkan real model (aberapapun ij, bi, dan cj) merupakan konstanta-konstanta yang diketahui, bukan suatu variabel atau variabel random

Metode grafis merupakan salah satu metode yang digunakan untuk menyelesaikan model program linier Metode grafis hanya bisa digunakan jika persoalan hanya mempunyai

2 variabel keputusan

Langkah 1: Menentukan daerah fisibel

Daerah fisibel adalah daerah yang memenuhi semua fungsi batasan, berikut ini adalah cara menentukan daerah visibel:
Membuat suatu sumbu koordinat dengan sumbu x sebagai sumbu untuk variabel x1 dan sumbu y untuk variabel x2 Tanda pertidaksamaan pada semua fungsi batasan diubah menjadi tanda persamaan Menggambarkan semua fungsi batasan pada sumbu koordinat Menentukan daerah yang memenuhi semua fungsi batasan

Langkah 2: Menentukan penyelesaian optimal

Ada 2 metode yang bisa digunakan untuk mencari z optimal, yaitu:


1. Cara grafis
Z optimal terletak pada titik perpotongan daerah fisibel sebelah kiri dengan garis z untuk kasus minimumkan, sedangkan untk kasus maksimumkan terletak pada titik perpotongan daerah fisibel sebelah kanan dengan garis z

Menggambarkan garis z pada daerah fisibel

Menggeser garis z kearah kanan untuk kasus maksimasi dan kearah kiri untuk kasus maksimasi

2. Cara Analitik

Mencari titik ekstrim, yaitu titik-titik yang berada pada ujung daerah fisibel

Mencari nilai z pada pada titik-titik ekstrim tersebut.

Z optimal adalah nilai z terbesar pada titik ekstrim untuk kasus maksimumkan dan z terkecil pada kasus minimumkan

X2

40

Tanda pertidaksamaan pada semua fungsi batasan Menentukan penyelesaian optimum secara analitis Membuat sumbu koordinat Menggambarkan garis fungsi batasan dirubah menjadi tanda persamaan Kesimpulan: Titik ekstrim optimum Nilai z (juta) Menentukan penyelesaian dengan cara Perusahaan akan memperoleh keuntungan Menentukan daerah yang memenuhi semua 2x1 + x2 = 40 (0,0)grafis 02 = 60 2x +2 3x2 Rp 60 900 menjadi 2x1 + 3x z= 40x 30x 1 +1 optimal sebesar juta apabila fungsi batasan
(20,0) 800 2x215 30 menjadi 2x2 =dan 30 memproduksi unit kain sutera 10 unit (15,10) 2x1 + x900 2x1 + x2 40 menjadi 2 = 40 kain wol. (7.5,15) 750 450 (0,15) (7.5,15) (15,10) 2x1 + 3x2 = 60 2x2 = 30

20 15
(0,15)

(0,0)

20
(20,0)

30

x1

Apabila persoalan mempunyai lebih dari 2 variabel keputusan, dapat diselesaikan dengan metode simpleks. Misalnya terdapat persoalan program linier sebagaimana berikut. Maksimumkan/minimumkan z=c1x1 + c2x2 +...+ cixi +... + cnxn Sedemikian rupa hingga memiliki fungsi batasan Fungsi Batasan: a11x1 + a12x2 +...+ a1jxj + ... + a1nx1n b1 a21x1 + a22x2 +...+ a2jxj + ... + a2nx1n b2 ................................................................ ai1x1 + ai2x2 +...+ aijxj + ... + ainx1n bi ................................................................ am1x1 + am2x2 +...+ amjxj +... + amnxmn bm x1, x2 , ... , xm 0

Program linier tersebut bila dinyatakan dalam bentuk matrik dapat ditulis sebagai berikut:
Maksimumkan/minimumkan z = cx Batasan: Ax b x0

Fungsi kendala bertanda diubah menjadi persamaan dengan menambahkan variabel slack pada ruas kiri fungsi kendala
Fungsi batasan awal

Untuk mempermudah penyelesaian persoalan program linier, maka fungsi batasan dirubah dulu menjadi bentuk sama dengan

dirubah menjadi

Fungsi kendala bertanda diubah menjadi persamaan dengan mengurangkan variabel surplus pada ruas kiri fungsi kendala.
Fungsi batasan awal

dirubah menjadi

Program linier setelah ditambah variabel slack maupun dikurangi variabel surplus dalam bentuk matriks
Maksimumkan/minimumkan z = cx Batasan: Ax b x0

x = [ x1 x2 ... xj

xn xn+1 xn+2 ... xn+i ... xn+m ]T

asli bm ]TVariabel slack dan/atau variablel surplus b = [ b1 bVariabel 2 ... bj

Metode penyelasaian basis visibel merupakan salah satu dari metode simplek. [A] dipartisi menjadi [ B N ]
dimana A matrik berukuran mx(n+m), B matrik berukuran mxm, dan N matrik berukuran nxm.

c dipartisi menjadi [ cB cN ] x dipartisi menjadi [ xB xN ]T

Sehingga

z = [ c B c N]

Fungsi batasan Ax = b berubah menjadi [B N] =b

Metode penyelasaian basis visibel (2)


Fungsi batasan juga dapat dinyatakan sebagai BxB + NxN = b, sehingga BxB = b dan NxN= 0, maka xB =B-1 b dan xN = 0. xB adalah calon variabel basis dan jika xB 0 maka xB adalah variabel non basis, tetapi jika xB 0 maka xB adalah variabel basis, sedangkan xN adalah variabel non basis. Jika xB variabel basis, maka nilai xB dimasukkan pada fungsi obyektif sehingga diperoleh nilai z. Kemudian memilih z optimal sebagai penyelesaian optimal

Baris ke BV z TABEL SIMPLEK RHS xB x AWAL N -1b -1N-c 0 Z 1 0 c B c B B matrik B-1 N Untuk tabel simplek awal dipilih matrikBB = I sehingga Baris ke BV RHS -1b xx N = I, maka B adalah 1 s.d m I xB 0z Karena IxB B-1N B adalah matrik sendiri. variabel B slack dan cB = 0. xN adalah variabel asli pada fungsi batasan, N 0 Z Tabel 1 simplek c0 -1 -cN alternatif 0 adalah koefisien variabel asli pada fungsi batasan, sehingga B N = N1 = Y dan koefisien fungsi tujuan. demikian Baris kecN adalah BV z RHS xN xBI Dengan s.d m xB 0 Y b tabel simplek akan 0 Z berubah 1 cmenjadi: 0 c B-1b B-1N-c
B N B

1 s.d m

xB

B-1N

B-1b

Langkah 1 : Memeriksa apakah tabel sudah optimum. Apabila fungsi tujuan maksimumkan, tabel optimum jika semua baris ke nol lebih besar sama dengan nol (zj-cj 0). Dan apabila fungsi tujuan minimumkan, tabel optimum jika semua baris ke nol lebih lebih sama dengan nol (zj-cj 0). Bila belum optimum maka dilanjutkan ke langkah 2. Langkah 2: Memilih variabel yang masuk basis Apabila fungsi tujuan maksimumkan, maka pilih elemen baris ke nol yang merupakan bilangan negatif terbesar. Apabila fungsi tujuan minimumkan, maka pilih elemen baris ke nol yang merupakan bilangan positif terbesar.

Langkah 3: Mengecek apakah persoalan memiliki daerah fisibel Dikatakan memiliki daerah fisibel bila pada kolom terpilih pada baris 1 s.d m ada elemen yang lebih besar dari nol. Jika memenuhi syarat tersebut, maka lanjutkan ke langkah 4 Langkah 4: Memilih variabel yang akan keluar basis Untuk memilih variabel yang akan keluar basis, ruas kanan (bi) dibagi dengan yik, dimana yik > 0. Hasil bagi terkecil adalah yang dipilih. Bila hasil bagi terkecil terletak pada baris ker r maka xn+r keluar basis Elemen yang terletak pada baris terpilih pada langkah 3 dan kolom terpilih pada langkah 4 disebit sebagai pivot

Langkah 5: Membuat tabel baru dimana pada kolom BV, x n+r diganti dengan xk Langkah 6: Semua elemen pada baris pivot dibagi dengan elemen pivot Langkah 7: Semua elemen pada kolom pivot (selain baris pivot) diubah menjadi 0 dengan cara pada setiap baris dikurangi atau ditambahkan k kali baris pivot, sehingga elemen pada kolm pivot sama dengan 0. Langkah 1-7 diulangi sampai diperoleh tabel simplek optimum

diubah menjadi z - 3x1 - 5x2 = 0 Maksimumkan z = 3x1 + 5x2 Fungsi batasan: 2x1 + X3 = 8 2x1 8 dirubah menjadi 3X2+ X4= 15 3x2 15 6x1 + 5x2 + X5 = 30 6x1 + 5x2 30 x1, x2 0 Tabel belum
baris ke 0 1 2 3 BV z x3 x4 x5 z 1 0 0 0 Tabel Simplek Awal x1 x2 x3 -3 2 0 6 -5 0 3 5 0 1 0 0
optimum

x4 0 0 1 0

x5 0 0 0 1

RHS 0 8 15 30

baris ke 0 1 2

BV z x3 x4

z 1 0 0

x1 -3 2 0

x2 -5 0 3

x3 0 1 0

x4 0 0 1

x5 0 0 0

RHS Rasio 0 8 15 5 6

Keterangan

bi/yik

x5

30

baris ke BV Persoalan mempunyai 0 z daerah fisibel 1 x3


2 x2

z
1 0 0

x5

Semua elemen x2 masuk Tabel simplek iterasi 1 basisbaris pivot dibagi Pivot dengan nilai keluar basisRasio Keterangan x1 x2 x3 Jadi, x4 x4 x RHS 5 pivotnya -3 0 0 5/3 0 25 B0+5B2 2 0 1 0 0 8 B1-0B2 0 1/3 0 1 0 5 B3-5B2 6 0 0 -5/3 1 5

baris ke 0 1 2

BV z x3 x2

z 1 0 0

x1
-3 2 0

x2
0 0 1

x3
0 1 0

x4
5/3 0 1/3

x5
0 0 0

RHS Rasio
25 8 5

Keterangan

4 5/6 bi/yik

x5

-5/3

Persoalan mempunyai baris ke BV z daerah fisibel 0 z 1 1 2 x3 x2 0 0

x1 masuk basis Tabel simplek iterasi 2

x1
0 0 0 1

x2
0 0 1 0

x3

x5 RHS pivot 0Jadi, 5/6 basis 27 x5 keluar 1 5/9 -1/3 6


0 1/3 0 5 5/6 -5/18 1/6

x4

Semua elemen baris pivot dibagi Rasio Keterangan dengan nilai B0+3B3 pivotnya B1-2B3 B2-0B3

x1

baris ke 0 1 2 3

BV z x3 x2 x1

z 1 0 0 0

x1
0 0 0 1

x2
0 0 1 0

x3
0 1 0 0

x4
5/6 5/9 1/3 -5/18

x5
-1/3 0 1/6

RHS
271/2 61/3 5 5/6

Karena pada baris ke nol tidak ada lagi yang bernilai negatif. Maka tabel sudah optimum, sehingga: z maksimum = 271/2, X1 = 5/6, X2 = 5

Metode dua fase digunakan jika fungsi batasan ada yang bertanda lebih besar atau bertanda sama dengan. Fase satu: Meminimumkan variabel artifisial : Min Y0 = xa Fungsi batasan: Ax + xa = b
Apabila persoalan asli memiliki daerah fisibel, maka optimum dari persoalan ini adalah nol, dengan nilai variavel artifisial sama dengan nol.

Fase Dua: Menyelesaikan persoalan program linier dengan penyelesaian basis fisibel awal xB = B-1b dan xN = 0 Maksimumkan/minimumkan z = cBxB + cNxN dengan fungsi batasan : xB +B-1NxN= B-1b ; xB , xN 0

Minimumkan z=2x1 + 3x2 Fungsi batasan: 2x1+x216 x1+3x220 dirubah menjadi x1+x2=10 x1,x2 0

2x1+x2+x3=16 x1+3x2-x4+x5=20 x1+x2+x6=10 x1,x2, ..., x6 0

Fase satu: Minimumkan Y0 = x5 + x6 Fungsu batasan : 2x1+x2+x3=16 x1+3x2-x4+x5=20 x1+x2+x6=10 x1,x2, ..., x6 0

Tabel simplek awal fase 1

baris ke 0 1 2 3 baris ke 0 1 2

BV Y0 z x3 X5 x6 1 0 0 0

x1 0 2 1 1 x1
2

x2 0 1 3 1 x2
4

x3 0 1 0 0 x3
0

x4 0 0 -1 0 x4
-1

x5 -1 0 1 0 x5
0

x6 -1 0 0 1 x6
0

RHS 0 16 20 10 RHS
30

Rasio

Keterangan B0+B2+B3

Iterasi 1 pada fase 1

BV Y0 z x3 X5
1

Rasio

Keterangan B0+B2+B3

0 0

2 1

1 3

1 0

0 -1

0 1

0 0

16 20

16 20/3

x6

10

10

Iterasi 2 pada fase 1

baris ke 0 1 2 3

BV z x3 X2 x6

Y0 1 0 0 0

x1
2/3 5/3 1/3

x2 0 0 1 0

x3 0 1 0 0

x4

x5

x6 0 0 0 1

RHS 10/3 28/3 20/3 10/3

Rasio

Keterangan B0-4B2

1/3 -4/3 1/3 -1/3 -1/3 1/3

28/5 20 5

B1-B2 B3-B2

2/3

1/3 -1/3

Iterasi 3 pada fase 1

baris ke
0 1 2 3

BV Y0
z x3 X2 x1
1

x1
0

x2
0

x3
0 1 0 0

x4
-1/2 -1/2 -1/2

x5
-1 -1/2

x6
-1 -5/2 -1/2 3/2

RHS
0

Rasio

Keterangan
B0-2/3 B33 B1-5/3 B33 B2-1/3 B33

0 0 0

0 0 1

0 1 0

1 5 5

Fase Dua: Minimumkan z=2x1 + 3x2 Fungsi batasan: xB +B-1NxN= B-1b xB , xN 0


baris BV ke 0 1 2 3 z x3 X2 x1 z

Tabel awal fase II

x1 x2 x3

x4

RHS 0

Rasio

Ket
B0+3B2+2B3

1 -2 -3 0 -1/2 0 0 0 0 0 1 0 1 0 1 -1/2 0 -1/2 0

1 5 5

baris ke 0 1 2 3

BV z x3 x2 x1

z 1 0 0 0

x1
0

x2
0

x3 0 1 0 0

x4
-1/2 -1/2 -1/2

RHS 25

Rasio

Ket
B0+3B2+2B3

0 0 1

0 1 0

1 5 5

Karena semua elemen pada baris ke no tidak ada yang bernilai negatif, maka tabel sudah optimum. Jadi zminimum= 25 ketika x1 =5 dan x2 =5 = 25

Metode big M digunakan jika fungsi batasan ada yang bertanda > atau =. Misal terdapat suatu persoalan program linier, dimana fungsi batasan satu dan emapt bertanda <, kedua bertanda =, dan ketiga bertanda >, maka model matematisnya adalah sebagai berikut. Maksimumkan z=c1x1 + c2x2 + c3x3 + c4x4 Mx8-Mx9

Atau
Minimumkan z=c1x1 + c2x2 + c3x3 + c4x4 + Mx8+Mx9

Dengan fungsi batasan


a11x1 + a12x2 +a13x3+ a14x4 +x5 =b1 a21x1 + a22x2 + a23x2 + a24x4+x8 = b2 a31x1 + a32x2 + a33x2 + a34x4-x6 +x9 = b3 a41x1 + a42x2 + a43x2 + a44x4+x8 = b4 x1, x2 , ... , x9 0
Untuk menyelesaikan persoalan diatas, langkah-langkah yang dilakukan sama seperti menyelesaikan persoalan program linier menggunakan simplek tabel. Jika persoalan fisibel, maka nilai z optimum tidak memuat bilangan M

Pada setiap kali dilakukan iterasi, tabel simplek mempunyai makna bahwa tabel simplek yang sekarang adalah tabel simplek sebelumnya yang dikalikan dengan matriks B-1, dimana B adalah matrik dari koefisien variabel basis pada fungsi batasan, oleh karena itu matrik I pada tabel awal menjadi B-1 pada tabel-tabel berikutnya, maka elemen dibawah variabel slack pada baris 1 s.d m adalah elemen dari matriks B-1. Fungsi tujuan pada persoalan program linier adalah mengoptimumkan z = cBxB + cNxN , dimana zoptimum=cBB-1b. Apabila z diturunkan terhadap b, maka z/b =cBB-1= wi dimana wi adalah elemen baris ke nol dibawah variabel slack. z/bi mempunyai makna bahwa jika sumber i bertambah sebanyak satu satuan, maka nilai z berubah sebesar wi

Nilai variabel basis xB=B-1b, jika variabel xB diturunkan terhadap b, maka xB/b =B-1. xB/b mempunyai makna bahwa jika sember i bertambah satu satuan, maka variabel basis xB bertambah sebesar Bi-1, dimana Bi-1 adalan elemen dibawah variabel slack ke i pada baris 1 s.d m. Jika variabel basis tidak memuat variabel slack, berarti semua fungsi batasan bertanda sama dengan, oleh karena itu jumlah sumber yang dibutuhkan sama dengan jumlah sumber yang tersedia, sehingga tidak ada bahan yang tersedia, atau dengan kata lain sumber tersebut adalah sumber yang langka

Jika variabel basis memuat variabel slack, maka fungsi batasan yang memuat variabel slack bertanda lebih kecil, artinya jumlah kebutuhan akan sumber lebih kecil daripada jumlah sumber yang tersedia, sehingga sumber tersebut masih berlebih, dengan kata lain sumber tersebut dikatakan sebagai sumber melimpah

Anda mungkin juga menyukai