OPERATIONS RESEARCH SERIES
MODEL LINEAR PROGRAMMING
Tjutju Tarliah Dimyati
MENGENAL OPERATIONS RESEARCH
OPERATIONS RESEARCH - PENDAHULUAN
• Operations Research (OR) adalah cabang matematika terapan yang
menggunakan berbagai teknik seperti pemodelan matematika
(Mathematical Programming), statistika, dan berbagai algoritma
untuk memperoleh solusi optimal dari permasalahan yang
kompleks.
• Istilah Operations Research mulai dikenal sejak Perang Dunia II
ketika pimpinan pasukan Inggris meminta para saintis dan insinyur
untuk menganalisis permasalahan-permasalahan militer (seperti
masalah logistik, persediaan barang, base camp hingga
distribusinya). Sejak tahun 1962, lembaga riset operasional militer
menjadi bagian dari Kementerian Pertahanan Britania Raya.
OPERATIONS RESEARCH - PENDAHULUAN
• Seiring dengan berkembangnya teknik dan kesadaran akan
pentingnya OR, maka OR pun diaplikasikan dalam perencanaan
berbagai bidang, seperti procurement, staffing, supply chain, dan
infrastruktur.
• OR banyak diaplikasikan dalam sektor transportasi dan perjalanan,
ritel, kesehatan, jasa keuangan, serta pemerintahan, dan biasanya
diaplikasikan untuk memaksimalkan jumlah profit/hasil atau
meminimalkan jumlah biaya, kerugian, resiko, atau waktu.
• Seiring banyaknya permasalahan yang dihadapi industri maka OR
kini memegang peranan penting dalam industri.
OPERATIONS RESEARCH - TUJUAN
Tujuan OR adalah:
Menyediakan kerangka kerja untuk membangun model-model
persoalan pengambilan keputusan, menemukan solusi terbaik
berdasarkan kriteria dan ukuran tertentu, serta
mengimplementasikan solusi yang diperoleh untuk
menyelesaikan permasalahan yang dihadapi
Catatan tentang Model:
• Model adalah penggambaran sistem nyata dalam bentuk yang
lebih sederhana
• Digunakan untuk mempelajari perilaku sistem tersebut
• Penyederhanaan dilakukan dengan menggunakan asumsi-
asumsi tertentu
OPERATIONS RESEARCH - METODOLOGI
Tidak seluruh persoalan harus diselesaikan dengan OR, tetapi jika OR akan
digunakan dalam penyelesaian masalah, maka langkah-langkah yang harus
dilakukan adalah:
1. Identifikasi persoalan
Definisikan persoalan yang dihadapi dan tujuan yang ingin dicapai
2. Lakukan observasi terhadap sistem
Kumpulkan data untuk mengestimasi nilai parameter yang berpengaruh
terhadap persoalan yang akan diselesaikan
3. Formulasikan model matematis dari persoalan yang akan diselesaikan
4. Lakukan validasi terhadap model yang dibuat dan gunakan model untuk
mempredikasi keputusan yang harus diambil
5. Sajikan hasil perhitungan dan buat kesimpulan
6. Implementasikan hasil yang diperoleh dan lakukan evaluasi
MODEL PEMROGRAMAN LINIER
(LINEAR PROGRAMMING, LP )
FORMULASI MODEL
Formulasi model matematis persoalan Linear Programming
terdiri dari:
Satu Fungsi Tujuan
Satu atau lebih Fungsi Pembatas
Setiap Fungsi merupakan fungsi linier yang terdiri dari:
Sejumlah Parameter Fungsi
Sejumlah Variabel Keputusan
DEFINISI
Suatu fungsi 1, 2 … , adalah fungsi linier, jika dan hanya jika untuk sejumlah
set konstanta 1, 2 … , berlaku 1, 2 … , = 1 + 2 + … +
Contoh:
1, 2 = 2 1 + 2 adalah fungsi linier dari 1 dan 2
1, 2 = 2 12 + 2 adalah bukan fungsi linier dari 1 dan 2
Untuk setiap fungsi linier 1, 2 … , dan setiap bilangan , pertaksamaan
1, 2 … , ≤ dan 1, 2 … , ≥ adalah pertaksamaan linier
Contoh:
2 1 + 3 2 ≤ 8 dan 2 1 + 3 2 ≥ 8 adalah pertaksamaan linier
2 12 + 3 2 ≤ 8 adalah bukan pertaksamaan linier
MEMBUAT FORMULASI MODEL
1. Pahami persoalan (tentukan apa yang harus dicari, apa yang menjadi
tujuan dan apa yang menjadi kendala)
2. Tentukan parameter yaitu besaran yang akan menjadi koefisien pada
setiap fungsi
3. Tentukan variabel keputusan, yaitu besaran yang akan dicari nilainya
3. Nyatakan fungsi tujuan sebagai suatu kombinasi linier dari variabel-
variabel keputusan
4. Nyatakan fungsi-fungsi pembatas sebagai suatu kombinasi linier dari
variabel-variabel keputusan
5. Tentukan batas atas dan batas bawah dari nilai-nilai variabel keputusan
BENTUK UMUM FORMULASI MODEL LP
MAX (or MIN): c1 X1 + c2 X2 + … + cn Xn Cj ; j =1, ... n koefisien fungsi tujuan
Xj ; j =1, ... n variabel keputusan
Subject to: aij ; i =1, ... m ; j =1, ... n
a11X1 + a12 X2 + … + a1n Xn <= b1 koefisien fungsi
: pembatas
ak1X1 + ak2X2 + … + aknXn >=bk bi ; i =1, ... m konstanta ruas kanan
: fungsi pembatas
am1X1 + am2X2 + … + amnXn = bm
CONTOH FORMULASI MODEL - 1
Sebuah perusahaan tekstil membuat tiga jenis kain yang diproses
pada tiga tahapan. Keuntungan per meter kain jenis 1, 2, dan 3
masing-masing adalah $4, $5, dan $6. Setiap meter kain jenis 1, 2,
dan 3 membutuhkan waktu masing-masing 3, 4, dan 3 menit pada
tahap pertama, sedang pada tahap kedua waktunya adalah 2, 1,
dan 3 menit. Pada tahap ketiga waktunya adalah 1, 3, dan 3 menit.
Dalam satu minggu, waktu kerja mesin yang dapat digunakan adalah
60 jam untuk proses pertama, 40 jam untuk proses kedua, dan 80
jam untuk proses ketiga.
Deskripsikan persoalan, variabel, parameter, dan konstanta untuk
persoalan di atas, kemudian buatlah formulasi modelnya
CONTOH FORMULASI MODEL - 1
Karena diketahui ada keuntungan, maka pasti tujuan persoalan ini adalah untuk
memaksimumkan keuntungan. Karena data keuntungannya adalah per-meter maka
total keuntungan yang akan diperoleh akan ditentukan oleh banyaknya kain yang
diproduksi. Artinya, harus ditentukan berapa meter masing-masing jenis kain harus
diproduksi. Maka ini adalah persoalan penentuan banyaknya masing-masing jenis kain
yang harus diproduksi agar diperoleh keuntungan maksimum
Banyaknya kain yang harus diproduksi (dalam satuan meter) adalah besaran yang
belum diketahui, sehingga harus dicari atau dihitung berapa nilainya. Besaran ini
dinamakan sebagai variabel keputusan. Karena ada tiga jenis kain maka akan ada
tiga variabel keputusan.
Keuntungan per-meter untuk masing-masing jenis kain dinamakan sebagai parameter.
Untuk menyatakan hubungan antara parameter dan variabel yang terkait dengan
keuntungan yang akan diperoleh, maka harus dibuat suatu fungsi, yang dinamai fungsi
tujuan. Parameteryang ada pada fungsi tujuan dinamai sebagai koefisien fungsi tujuan
CONTOH FORMULASI MODEL - 1
Logikanya, makin banyak kain yang dibuat maka akan makin besar total keuntungan
yang bisa diperoleh. Tetapi produksi kain ini tidak bisa dibuat sebanyak-banyaknya
karena waktu kerja untuk setiap tahapan terbatas. Karena itu maka harus dinyatakan
berapa jam waktu yang dibutuhkan untuk membuat masing-masing jenis kain pada
setiap tahapan proses dan berapa jam waktu yang tersedia.
Karena total waktu yang dibutuhkan akan ditentukan oleh waktu proses per-meter dan
jumlah kain yang dibuat, maka waktu proses per-meter masing-masing jenis kain pada
masing-masing tahapan proses dinamai sebagai parameter sedangkan waktu yang
tersedia pada masing-masing tahapan proses dinamai sebagai konstanta.
Hubungan antara parameter waktu proses, jumlah kain yang dibuat, dan waktu yang
tersedia, dinamai sebagai fungsi pembatas.
CONTOH FORMULASI MODEL - 1
Untuk membuat formulasi model LP dari persoalan ini maka definisikan notasi
berikut:
1 : variabel keputusan yang menyatakan jumlah kain jenis 1 yang harus dibuat
2 : variabel keputusan yang menyatakan jumlah kain jenis 2 yang harus dibuat
3 : variabel keputusan yang menyatakan jumlah kain jenis 3 yang harus dibuat
1 : parameter yang menyatakan keuntungan per meter kain jenis 1
2 : parameter yang menyatakan keuntungan per meter kain jenis 2
3 : parameter yang menyatakan keuntungan per meter kain jenis 3
: parameter yang menyatakan waktu proses ke i untuk kain jenis j
: konstanta yang menyatakan waktu yang tersedia untuk proses ke i
CONTOH FORMULASI MODEL - 1
Maka formulasinya adalah:
Maksimumkan 4 1 + 5 2 + 6 3
Berdasarkan pembatas:
3 1 + 4 2 + 3 3 ≤ 3600
2 1 + 2 + 3 3 ≤ 2400
1 + 3 2 + 3 3 ≤ 4800
Karena jumlah kain yang diproduksi tidak mungkin negatif maka tambahkan
pembatas tanda sebagai berikut:
Catatan: 1 , 2 , 3 ≥ 0
Ketiga fungsi pembatas bertanda ≤ karena waktu yang dapat digunakan untuk
memproses kain tidak mungkin lebih besar dari waktu proses yang tersedia
CONTOH FORMULASI MODEL - 2
BULOG di suatu daerah harus menyalurkan beras ke tiga kecamatan
yang masing-masing membutuhkan 35, 45, dan 60 ton. Di daerah
tersebut, BULOG memiliki dua gudang beras yang masing-masing
menyimpan sebanyak 60 dan 80 ton. Ongkos pengiriman setiap ton
beras dari gudang 1 ke kecamatan 1, 2, dan 3 masing-masing
sebesar $15, $35, dan $25, sedangkan dari gudang 2 sebesar $10,
$50, dan $40.
Deskripsikan persoalan, variabel, parameter, dan konstanta untuk
persoalan di atas, kemudian buatlah formulasi modelnya
CONTOH FORMULASI MODEL - 2
Persoalan ini tidak terkait dengan masalah bisnis (tidak ada penjualan),
melainkan kewajiban untuk menyalurkan beras ke masyarakat. Karena itu
persoalan yang harus diselesaikan adalah menentukan berapa banyak beras
yang harus dikirimkan dari masing-masing gudang ke masing-masing
kecamatan, agar kebutuhan masyarakat di tiga kecamatan terpenuhi tetapi
dengan total ongkos kirim yang minimum.
Karena harus ditentukan berapa banyak beras yang harus dikirimkan dari dua
gudang ke tiga kecamatan, maka akan ada 6 variabel keputusan. Adapun
parameternya adalah ongkos kirim dari masing-masing gudang ke masing-
masing kecamatan
Konstanta pada persoalan ini adalah kebutuhan beras di masing-masing
kecamatan dan kapasitas kirim masing-masing gudang
CONTOH FORMULASI MODEL - 2
Untuk membuat formulasi model LP dari persoalan ini maka definisikan notasi
berikut:
: variabel keputusan yang menyatakan banyaknya beras yang harus dikirim
dari gudang i ke kecamatan j
: parameter yang menyatakan ongkos kirim per-ton beras dari gudang i ke
kecamatan j
: konstanta yang menyatakan kebutuhan beras di kecamatan i untuk i = 1, 2, 3
: konstanta yang menyatakan kapasitas kirim dari gudang i untuk i = 4, 5
CONTOH FORMULASI MODEL - 2
Maka formulasinya adalah:
Minimumkan 15 11 + 35 12 + 25 13 + 10 21 + 50 22 + 40 23
Berdasarkan pembatas:
11 + 21 ≥ 35
12 + 22 ≥ 45
13 + 23 ≥ 60
11 + 12 + 13 ≤ 60
21 + 22 + 23 ≤ 80
Karena banyaknya beras yang dikirim tidak mungkin negatif maka tambahkan
pembatas tanda sebagai berikut:
11 , 12 , 13 , 21 , 22 , 23 ≥ 0
Catatan:
Tiga fungsi pembatas yang pertama bertanda ≥ karena kebutuhan sejumlah sekian
harus terpenuhi. Dua fungsi pembatas terakhir bertanda ≤ karena beras yang dapat
dikirimkan tidak mungkin lebih besar dari kapasitas kirim yang tersedia di masing-
masing gudang.
CONTOH FORMULASI MODEL - 3
Kadang-kadang ada persoalan yang terkait dengan urusan bisnis
(sehingga fungsi tujuannya adalah memaksimumkan total keuntungan)
tetapi soalnya tidak secara eksplisit menyatakan data keuntungan
seperti pada contoh 1. Yang ada adalah data harga jual dan
ongkos-ongkos yang diperlukan, disamping tentu saja data lain yang
terkait dengan pembatas.
Untuk memformulasikan persoalan semacam ini, maka carilah lebih
dulu parameter keuntungan, dengan cara mencari selisih antara
harga jual dengan ongkos-ongkos yang diperlukan.
Langkah selanjutnya adalah sama seperti pada contoh sebelumnya.
CONTOH FORMULASI MODEL - 3
Sebuah perusahaan memproduksi empat jenis produk A, B, C, dan D yang dibuat dari
dua jenis bahan baku, yaitu bahan 1 dan bahan 2. Kebutuhan bahan, waktu proses, dan
harga jual untuk setiap unit produk adalah sebagai berikut:
Produk Kebutuhan bahan (unit) Waktu proses Harga Jual
Bahan 1 Bahan 2 (jam) (Rp/unit)
1 1 2 1 135.000
2 2 1 2 185.000
3 2 3 3 250.000
4 3 2 4 300.000
Ongkos pekerja adalah Rp. 15.000/jam. Bahan 1 dibeli dengan harga Rp. 55.000/unit
sedangkan bahan 2 Rp. 25.000/unit. Setiap minggu tersedia tidak lebih dari 30 unit
bahan 1 dan tidak lebih dari 20 unit bahan 2. Waktu kerja adalah 40 jam/minggu.
Setiap minggu diperlukan tidak kurang dari 10 unit produk B dan paling sedikit 5 unit
produk D.
Bagaimanakah formulasi model Pemrograman Linier untuk persoalan di atas?
CONTOH FORMULASI MODEL - 3
Uraian Produk
1 23 4
135.000 300.000
Harga Jual/unit 1 x 55000 185.000 250.000 3 x 55000
2 x 25000 2 x 25000
Modal/unit Bahan 1 1 x 15000 2 x 55000 2 x 55000 4 x 15000
120.000 275.000
Bahan 2 15.000 1 x 25000 3 x 25000 25.000
Proses 2 x 15000 3 x 15000
Total modal/unit 165.000 230.000
Keuntungan/unit 20.000 20.000
CONTOH FORMULASI MODEL - 3
Maka formulasinya adalah:
Maksimumkan 15000 1 + 20000 2 + 20000 3 + 25000 4
Berdasarkan pembatas:
1 + 2 2 + 2 3 + 3 4 ≤ 30
2 1 + 2 + 3 3 + 2 4 ≤ 20
1 + 2 2 + 3 3 + 4 4 ≤ 40
2 ≥ 10
4 ≥ 5
1 , 2 , 3 , 4 ≥ 0
Catatan:
Tiga fungsi pembatas yang pertama menyatakan ketersediaan bahan 1, bahan 2, dan
waktu kerja. Pembatas keempat dan kelima menyatakan kebutuhan akan produk B dan
produk D.
KONSEP DUALITAS PERSOALAN LP
TRANSPOSE SUATU MATRIKS
Transpose matriks A disimbolkan dengan AT adalah sebuah matriks yang dapat
diperoleh dengan cara menukar elemen pada baris menjadi elemen pada kolom.
Contoh:
2 3 maka AT = 2 4 6
A= 4 5 3 5 7
7
6
Seperti ditunjukkan pada bentuk umum formulasi persoalan LP maka dapat
disimpulkan bahwa formulasi persoalan LP adalah suatu matriks berukuran (m x n),
artinya ada m baris dengan n kolom. Karena itu dari setiap persoalan LP (misal
dinyatakan sebagai matriks P) akan diperoleh transpose matriksnya, yaitu matriks
D=PT .
Matriks persoalan awal P dinamai sebagai formulasi Primal sedangkan transpose
matiks D=PT dinamai sebagai formulasi Dual
KONSEP PRIMAL - DUAL
Jika fungsi tujuan Primal adalah Maksimumkan maka fungsi tujuan Dual adalah
Minimumkan dan sebaliknya
Solusi optimal persoalan Primal (jika ada) adalah sama dengan solusi optimal
persoalan Dual
Jika persoalan Primal tidak fisibel maka persoalan Dual akan memiliki daerah
fisibel yang tidak terbatas (unbounded) dan sebaliknya
Dual dari Dual adalah Primal
Jumlah baris pada Primal sama dengan jumlah kolom pada Dual dan
sebaliknya
Ruas kanan pada Primal akan menjadi koefisien fungsi tujuan pada Dual dan
sebaliknya
Jika pembatas Primal normal maka variabel Dual akan normal dan
sebaliknya
Jika pembatas Primal bertanda = maka variabel Dual akan tidak terbatas
dalam tanda dan sebaliknya
KONSEP PRIMAL - DUAL
Catatan
Suatu fungsi pembatas dikatakan normal jika:
Bertanda ≤ untuk fungsi tujuan memaksimumkan
Bertanda ≥ untuk fungsi tujuan meminimumkan
Suatu variabel dikatakan normal jika nilainya positif dan dikatakan tidak
normal jika nilainya negatif
Suatu variabel dikatakan tidak terbatas dalam tanda (unrestricted in sign,
URS) jika variabel itu bisa berharga negatif, nol, atau positif. Kasus seperti ini
bisa terjadi jika variable itu menyatakan perubahan sesuatu, misalnya
perubahan berat badan (bisa berkurang, tetap, atau bertambah)
FORMULASI PRIMAL – DUAL (1)
Contoh: Maksimumkan D = 25 1 + 40 2
Dengan pembatas:
Suatu persoalan LP diformulasikan
sebagai berikut: 1 + 5 2 ≥ 8
2 1 + 4 2 ≥ 9
Minimumkan P = 8 1+ 9 2 + 7 3 3 1 - 6 2 ≥ 7
Dengan pembatas: 1 ≥ 0 , 2 ≤ 0
Catatan:
1+ 2 2 + 3 3 ≥ 25
5 1+ 4 2 - 6 3 ≤ 40 Seluruh fungsi pembatas pada dual
1, 2, 3 ≥ 0 normal, karena seluruh variable
pada primal normal
Maka formulasi dualnya adalah:
k e2d≤ua0pkaadreanparifmunagl stiidpaekmnboartmaas l
FORMULASI PRIMAL – DUAL (2)
Suatu persoalan LP diformulasikan Maka formulasi dualnya adalah:
sebagai berikut:
Minimumkan D = 4Y1 + 12Y2 + 18Y3
Maksimumkan P = 3 X1 + 5 X2 dengan pembatas
dengan pembatas
Y1 + 3 Y3 = 3
X1 4 2Y2 + 2Y3 5
2 X2 = 12
Y1 0 , Y2 URS, Y3 0
3 X1 + 2 X2 18
X1 URS , X2 0
CATATAN
1. Suatu variabel yang tidak terbatas dalam tanda (URS) dapat dinyatakan
sebagai dua variabel non-negatif dengan menggunakan substitusi berikut:
= ′ - " dimana ′ dan " ≥ 0
Substitusi ini harus dilakukan pada fungsi tujuan dan seluruh fungsi pembatas
2. Jika ruas kiri fungsi pembatas berada dalam tanda mutlak (absolute) maka
ubahlah menjadi dua fungsi pembatas.
Contoh:
1 1 + 2 2 ≤ dengan ≥ 0 maka ubahlah menjadi
1 1 + 2 2 ≤ dan 1 1 + 2 2 ≥ −
1 1 + 2 2 ≥ dengan ≥ 0 maka ubahlah menjadi
1 1 + 2 2 ≥ dan 1 1 + 2 2 ≤ −
AKHIR PEMBAHASAN FORMULASI MODEL LP