Anda di halaman 1dari 47

RISET OPERASIONAL 2

“Pemrograman Linier Bilangan


2 SKS
Manajemen / S1
Bulat”
LINIER PROGRAMMING: REVIEW
Model Pemrograman Linear:
❑ Linear programming adalah suatu teknis/model matematika
yang dirancang untuk merencanakan dan membuat
keputusan dalam pengalokasian sumber daya yang
terbatas untuk mencapai tujuan perusahaan → solusi
optimal
❑ Tujuan perusahaan: maksimal profit, minimum cost
LINIER PROGRAMMING: REVIEW
Model Pemrograman Linear Maksimum
1. Tentukan variabel keputusan: x1, x2, ..., xn
2. Fungsi tujuan maksimum:
Maks Z = c1x1 + c2x2 + ... + cnxn
3. Fungsi Kendala:
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≤ 𝑏2
... ... ... ... ... ... ... ... ... ... ... ... ... ...
𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 ≤ 𝑏𝑚
Dimana 𝒙𝟏 , 𝒙𝟐 , … , 𝒙𝒏 ≥ 𝟎
LINIER PROGRAMMING: REVIEW
Model Pemrograman Linear Minimum
1. Tentukan variabel keputusan: x1, x2, ..., xn
2. Fungsi tujuan minimum:
Min Z = c1x1 + c2x2 + ... + cnxn
3. Fungsi Kendala:
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≥ 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≥ 𝑏2
... ... ... ... ... ... ... ... ... ... ... ... ... ...
𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 ≥ 𝑏𝑚
Dimana 𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0
 Soal :
Perusahaan Krisna Furniture yang akan membuat meja dan kursi.
Keuntungan yang diperoleh dari satu unit meja adalah $7,- sedang
keuntungan yang diperoleh dari satu unit kursi adalah $5,-.
Namun untuk meraih keuntungan tersebut Krisna Furniture menghadapi
kendala keterbatasan jam kerja. Untuk:
▪ Pembuatan 1 unit meja dia memerlukan 4 jam kerja.
▪ Pembuatan 1 unit kursi dia membutuhkan 3 jam kerja.
▪ Pengecatan 1 unit meja dibutuhkan 2 jam kerja, dan
▪ Pengecatan 1 unit kursi dibutuhkan 1 jam kerja.
Jumlah jam kerja yang tersedia untuk pembuatan meja dan kursi adalah
240 jam per minggu sedang jumlah jam kerja untuk pengecatan adalah 100
jam per minggu.
Berapa jumlah meja dan kursi yang sebaiknya diproduksi agar keuntungan
perusahaan maksimum?
Jam kerja untuk membuat 1 Total waktu
unit produk tersedia per
minggu
Meja Kursi

Pembuatan 4 3 240

Pengecatan 2 1 100

Profit per Unit 7 5


 Formulasi masalah secara lengkap :
Fungsi Tujuan : Maks. Z = 7 X1 + 5 X2
Fungsi Kendala : 4 X1 + 3 X2 ≤ 240
2 X1 + X2 ≤ 100
X1 , X2 ≥ 0 (kendala non-negatif)
 Kendala I: 4 X1 + 3 X2 = 240
Memotong sumbu X1 pada saat X2 = 0
4 X1 + 0 = 240
X1 = 240 / 4
X1 = 60.
Memotong sumbu X2 pada saat X1 = 0
0 + 3 X2 = 240
X2 = 240/3
X2 = 80
Kendala I memotong sumbu X1 pada titik (60, 0)
dan memotong sumbu X2 pada titik (0, 80).
 Kendala II: 2 X1 + 1 X2 = 100
Memotong sumbu X1 pada saat X2 = 0
2 X1 + 0 = 100
X1 = 100/2
X1 = 50
Memotong sumbu X2 pada saat X1 =0
0 + X2 = 100
X2 = 100
Titik potong 2 kendala:
2 X1 + 1 X2 = 100 -> X2 = 100 - 2 X1
4 X1 + 3 X2 = 240 X2 = 100 - 2X1
4 X1 + 3 (100 - 2 X1) = 240 X2 = 100 - 2 * 30
4 X1 + 300 - 6 X1 = 240 X2 = 100 - 60
- 2 X1 = 240 - 300 X2 = 40
- 2 X1 = - 60
X1 = -60/-2 = 30.
Jadi, kedua kendala akan saling berpotongan pada
titik (30, 40).
A. Metode Isoline dengan Garis Profit
▪ Penyelesaian dengan menggunakan garis profit
adalah penyelesaian dengan menggambarkan
fungsi tujuan. Kemudian fungsi tujuan tersebut
digeser ke kanan sampai menyinggung titik
terjauh dari dari titik nol, tetapi masih berada pada
area layak (feasible region).
▪ Untuk menggambarkan garis profit, kita
mengganti nilai Z dengan sembarang nilai yang
mudah dibagi oleh koefisien pada fungsi profit.
▪ Pada kasus ini angka yang mudah dibagi angka 7
(koefisien X1) dan 5 (koefisien X2) adalah 35.
Sehingga fungsi tujuan menjadi 35 = 7 X1 + 5 X2.
▪ Garis ini akan memotong sumbu X1 pada titik (5, 0)
dan memotong sumbu X2 pada titik (0, 7).
A. Metode Isoline dengan Garis Profit
▪ Iso profit line menyinggung titik B yang
merupakan titik terjauh dari titik nol. Titik B ini
merupakan titik optimal.
▪ Untuk mengetahui berapa nilai X1 dan X2, serta
nilai Z pada titik B tersebut, kita mencari titik
potong antara kendala I dan kendala II (karena
titik B merupakan perpotongan antara kendala I
dan kendala II).
▪ Dengan menggunakan eliminiasi atau subustitusi
diperoleh nilai X1 = 30, X2 = 40. dan Z = 410.
▪ Dari hasil perhitungan tersebut maka dapat
disimpulkan bahwa keputusan perusahaan yang
akan memberikan profit maksimal adalah
memproduksi X1 sebanyak 30 unit, X2 sebanyak
40 unit dan perusahaan akan memperoleh profit
sebesar 410.
B. Metode Titik Ekstrim dengan Titik Sudut (Corner Point)
 Penyelesaian dengan menggunakan titik sudut (corner point)
artinya kita harus mencari nilai tertinggi dari titik-titik yang berada
pada area layak (feasible region).
 Dari peraga 1, dapat dilihat bahwa ada 4 titik yang membatasi
area layak, yaitu titik 0 (0, 0), A (0, 80), B (30, 40), dan C (50, 0).
✓ Keuntungan pada titik O (0, 0) adalah (7 x 0) + (5 x 0) = 0.
✓ Keuntungan pada titik A (0; 80) adalah (7 x 0) + (5 x 80) = 400.
✓ Keuntungan pada titik B (30; 40) adalah (7 x 30) + (5 x 40) = 410.
✓ Keuntungan pada titik C (50; 0) adalah (7 x 50) + (5 x 0) = 350.

Karena keuntungan tertinggi jatuh pada titik B, maka sebaiknya


perusahaan memproduksi meja sebanyak 30 unit dan kursi
sebanyak 40 unit, dan perusahaan memperoleh keuntungan
optimal sebesar 410.
SOLUSI MODEL LINIER PROGRAMMING

Permasalahan Linier Programming 2 variabel

Metode Grafik Permasalahan LP > 2 variabel

Metode Simpleks Solusi optimal tetapi tidak integer/


bilangan bulat
Metode Linier Programming
Bilangan Bulat (Integer
Linear Programming = ILP)
INTEGER LINEAR PROGRAMMING (ILP)
▪ Permasalahan program linear bilangan bulat (ILP) muncul ketika
harus memutuskan jumlah barang yang kita perlukan berbentuk
bilangan bulat, seperti menentukan banyaknya mesin untuk suatu
pabrik, banyaknya fotocopy untuk layanan di suatu kantor,
banyaknya komputer di suatu ruangan untuk mengerjakan
sejumlah pekerjaan, banyaknya orang yang mengerjakan suatu
proyek, dan sebagainya.
▪ Tidaklah mungkin banyaknya mesin giling padi di suatu pabrik 2,38
buah untuk menggiling padi di suatu wilayah tertentu, keputusan
akan menjadi 3 buah, atau 2 buah dengan kerja lembur, dan
sebagainya.
▪ Program linear bilangan bulat dikatakan pure integer
programming (program linear bilangan bulat murni) apabila semua
variabel bernilai integer (bulat positif atau nol).
INTEGER LINEAR PROGRAMMING (ILP)
▪ Ada kalanya sebagian variabel bukan bilangan bulat (bil. negatif, 0
(nol), dan bil. Postitif), bisa jadi sebagian variabel bilangan riil (bil.
rasional & bil. irrasional) → 0, 1, 2, ½, 4/7, 55/7, √2, √3, √5, .... dan
seterusnya
▪ Bilamana variabelnya bilangan bulat dan bilangan biner (nol, satu),
maka masalah program linear ini disebut mix integer
programming (program linear bilangan bulat campuran)
▪ Program linear bilangan bulat nol satu (zero one integer
programming). Masalah zero one integer programming biasanya
digunakan untuk pengambilan keputusan. Bernilai 1 bila harus
melakukan suatu pekerjaan (menerima keputusan) dan bernilai 0
berarti harus menolak suatu pekerjaan (keputusan)
SOLUSI ILP: METODE PEMBULATAN
▪ Pendekatan ini mudah dan praktis dalam hal usaha, waktu
dan biaya. Pendekatan pembulatan dapat merupakan cara
yang sangat efektif untuk masalah integer programming
yang besar dimana biaya-biaya hitungan sangat tinggi atau
untuk masalah nilai-nilai solusi variabel keputusan sangat
besar.
Contohnya, pembulatan nilai solusi jumlah pensil yang
harus diproduksi dari 14.250,2 menjadi 14.250,0 semestinya
dapat diterima.
▪ Sebab utama kegagalan pendekatan ini adalah bahwa solusi
yang diperoleh mungkin bukan solusi integer optimum yang
sesungguhnya. Solusi pembulatan dapat lebih jelek
dibanding solusi integer optimum yang sesungguhnya atau
mungkin merupakan solusi tak layak.
SOLUSI ILP
Berikut ilustrasi 3 permasalahan linier programming:
SOLUSI ILP
▪ Solusi masalah dengan pendekatan yang berbeda

Solusi Dengan Metode Dengan Pembulatan Bulat Optimum


Masalah
Grafik/Simpleks Terdekat Sesungguhnya
1 X1 = 5,38 X1 = 5 X1 = 7
X2 = 2,31 X2 = 2 X2 = 0
Z = 746,15 Z = 680 Z = 700
2 X1 = 1,82 X1 = 2 X1 = 3, X2 = 3
X2 = 3,27 X2 = 3 X1 = 5, X2 = 2
Z = 1.672,73 Z = tak layak Z = 1800
3 X1 = 1,667 X1 = 2 X1 = 2
X2 = 2,667 X2 = 3 X2 = 2
Z = 400 Z = tak layak Z = 360

▪ Pembulatan yang dilakukan begitu saja, akan mengakibatkan solusi tidak optimal, bahkan dapat
menghasilkan jawaban yang tak layak (tidak masuk dalam jawaban yang mungkin). Oleh karena itu
pembulatan pada program linear bilangan bulat tidak sesederhana membulatkan menjadi bilangan bulat.
METODE SOLUSI ILP
Ada beberapa cara untuk menentukan (menghitung) solusi program linear
bilangan bulat, antara lain:
1. Metode Grafik,
2. Metode Branch and Bound
3. Metode Cutting Plane Algorithm
4. Metode berbantuan Komputer
METODE GRAFIK
▪ Pendekatan ini identik dengan metode grafik LP dalam semua aspek,
kecuali bahwa solusi optimum harus memenuhi persyaratan bilangan bulat.
▪ Contoh:
Maksimumkan Z = 100 X1 + 90 X2
dengan syarat :
10 X1 + 7 X2 ≤ 70
5 X1 + 10 X2 ≤ 50
X1 ; X2 Non negatif integer
▪ Model ini serupa dengan model LP biasa. Perbedaanya hanya pada
kendala terakhir yang mengharapkan bahwa variabel terjadi pada nilai
non negatif integer.
METODE GRAFIK
▪ Solusi grafik masalah ini ditunjukkan
pada gambar disamping ini.
▪ Ruang solusi layak adalah OABC.
Solusi optimum masalah LP
ditunjukkan pada titik B, dengan X1
= 5,38 dan X2 = 2,31 serta Z =
746,15.
METODE GRAFIK
▪ Untuk menggambarkan garis profit,
kita mengganti nilai Z dengan
sembarang nilai yang mudah
dibagi oleh koefisien pada fungsi
profit.
Z = 100 X1 + 90 X2
▪ Pada kasus ini angka yang mudah
dibagi angka 100 (koefisien X1)
dan 90 (koefisien X2) adalah 900.
Sehingga fungsi tujuan menjadi
900 = 100 X1 + 90 X2.
▪ Garis ini akan memotong sumbu X1
pada titik (9, 0) dan memotong
sumbu X2 pada titik (0, 10).
METODE GRAFIK
▪ Untuk mencari solusi integer
optimum masalah ini, garis Z (slope
= -9/10) digeser secara sejajar
dari titik B menuju titik asal.
▪ Solusi integer optimum adalah titik
integer pertama yang
bersinggungan dengan garis Z. Titik
itu adalah A, dengan X1 = 7 dan
X2 = 0 serta Z = 700.
METODE GRAFIK
TUGAS 1
1. Jelaskan apa ILP? Apa perbedaan antara ILP dengan LP biasa?
2. Silakan coba kerjakan permasalahan berikut dengan menggunakan
Metode grafik & Simpleks
METODE SOLUSI ILP
Ada beberapa cara untuk menentukan (menghitung) solusi program linear
bilangan bulat, antara lain:
1. Metode Grafik,
2. Metode Branch and Bound
3. Metode Cutting Plane Algorithm
4. Metode berbantuan Komputer
METODE BRANCH & BOUND
▪ Metode Branch and Bound (cabang dan batas) adalah salah satu metode yang
sering digunakan untuk menghasilkan penyelesaian optimal program linier yang
menghasilkan variable-variable keputusan bilangan bulat.
▪ Sesuai dengan namanya, metode ini membatasi penyelesaian optimum yang akan
menghasilkan bilangan pecahan dengan cara membuat cabang atas dan bawah
bagi masing-masing variable keputusan yang bernilai pecahan agar bernilai bulat
sehingga setiap pembatasan akan menghasilkan cabang baru.
▪ Keuntungan dari cara pencabangan dan pembatasan adalah cara yang
efisien untuk mendapatkan seluruh jawaban layak (fisibel), sedangkan
kerugian cara ini adalah akan mencari seluruh jawaban program linier
pada setiap titik. Pada persoalan yang besar akan memerlukan waktu yang
cukup lama
METODE BRANCH & BOUND
▪ Langkah-langkah penyelesaian metode Branch & Bound:
a. Menyelesaikan masalah program linier dengan cara simpleks biasa
b. Meneliti solusi optimumnya. Jika variabel basis yang diharapkan bulat adalah
bulat, maka artinya solusi optimum bulat sudah didapatkan/dicapai.
c. Nilai solusi pecah yang layak dicabangkan ke dalam sub-sub masalah, tujuannya
adalah untuk menghilangkan solusi kontinu yang tidak memenuhi solusi bulat
pada masalah itu.
d. Untuk setiap sub masalah, nilai solusi optimum kontinyu fungsi tujuan ditetapkan
sebagai batas atas. Solusi bulat terbaik menjadi batas bawah (pada awalnya,
ini adalah solusi kontinyu yang dibulatkan ke bawah). Sub-sub masalah yang
memiliki batas atas kurang dari batas bawah yang ada, tidak diikut sertakan
pada analisa selanjutnya. Suatu solusi bulat layak adalah sama baik atau lebih
baik dari batas atas untuk setiap sub masalah yang dicari. Jika solusi yang
demikian terjadi, suatu sub masalah dengan batas atas terbaik dipilih untuk
dicabangkan. Kembali ke langkah c
CONTOH KASUS
Soal :

Solusi yang didapatkan adalah dengan metode simpleks adalah:


x1 = 9/4 = 2.25,
x2 =15/4= 3.75,
Z = 165/4 = 41.25

Solusi integer dengan metode Branch and Bound didapatkan dengan


mencabangkan masalah tersebut menjadi 2 bagian dengan menambahkan
pembatas untuk variabel yang memiliki nilai bagian pecah yang terbesar
kemudian setiap percabangan masalah diselesaikan dengan metode simpleks
untuk dicari nilai optimumnya. Variabel terpilih untuk dilakukan
percabangan adalah x2 sehingga didapatkan pembatas baru yaitu x2 ≤ 3 dan
x2 ≥ 4.
CONTOH KASUS
Bagian A: Bagian B:
Maksimumkan Z = 5x1 + 8x2 Maksimumkan Z = 5x1 + 8x2
Dengan kendala x1 + x2 ≤ 6 Dengan kendala x1 + x2 ≤ 6
5x1 + 9x2 ≤ 45 5 x1 + 9x2 ≤ 45
x2 ≤ 3 x2 ≥ 4
x1, x2 ≥ 0 x1, x2 ≥ 0

Solusi untuk masalah bagian A adalah Z = 39, x1 = 3, x2 = 3


Solusi untuk masalah bagian B adalah Z = 41, x1 = 1.8, x2 = 4

Pada masalah bagian A sudah didapatkan solusi yang semuanya bulat, akan tetapi
masalah bagian B solusinya masih ada yang pecahan, sehinga masih memungkinkan
untuk dicari solusi bulat lainnya yang nilainya mungkin lebih besar dari solusi masalah
A.

Dengan demikian masalah B dapat dicabangkan lagi menjadi 2 bagian yaitu B1 dan
B2 dengan menambahkan kendala x1 ≤ 1 dan x2 ≥ 2
CONTOH KASUS
Bagian B1: Bagian B2:
Maksimumkan Z = 5x1 + 8x2 Maksimumkan Z = 5x1 + 8x2
Dengan kendala x1 +x2 ≤ 6 Dengan kendala x1 + x2 ≤ 6
5x1 + 9x2 ≤ 45 5 x1 + 9x2 ≤ 45
x2 ≥ 4 x2 ≥ 4
x1 ≤ 1 X2 ≥ 2
x1, X2 ≥ 0 x1, x2 ≥ 0

Solusi dari masalah bagian B1 adalah Z = 40.55, x1 = 1, x2 = 4.44, sedangkan


untuk bagian B2 tidak ada solusi yang fisibel.

Berdasarkan solusi tersebut maka masalah B1 dapat dicabangkan lagi menjadi 2


masalah yaitu B1a dan B1b dengan menambahkan kendala x2 ≤ 4 dan x2 ≥ 5 .
Dengan penambahan kendala x2 ≤ 4 pada bagian B1a tersebut didapatkan Z =
37, x1 = 1 dan x2 = 4.
Penambahan kendala x2 ≥ 5 pada bagian B1b mengakibatkan nilai Z = 40, x1 = 0
dan x2 = 5. Pencarian solusi integer sudah selesai dengan didapatkannya solusi pada
bagian B1a dan B1b kedua-duanya integer. Dari semua pencarian solusi integer,
yang menghasilkan solusi integer maksimum adalah pada bagian B1b dengan hasil Z
= 40, xl = 0 dan x2 = 5 .
CONTOH KASUS
Dari semua pencarian solusi integer, yang menghasilkan solusi integer maksimum
adalah pada bagian B1b dengan hasil Z = 40, xl = 0 dan x2 = 5

B1
B2

B1b
METODE SOLUSI ILP
Ada beberapa cara untuk menentukan (menghitung) solusi program linear
bilangan bulat, antara lain:
1. Metode Grafik
2. Metode Branch and Bound
3. Metode Cutting Plane Algorithm
4. Metode berbantuan Komputer
METODE CUTTING PLANE ALGORITHM
▪ Metode Cutting Planes (Bidang Potong) merupakan salah satu metode yang digunakan
untuk menyelesaikan masalah program linier untuk variabelnya harus bulat, baik bulat
murni maupun campuran dengan penambahan Batasan/kendala baru yang disebut
dengan Gomory.
▪ Kendala Gomory diberikan jika variabel keputusan belum bulat (bernilai pecahan).
Batasan-batasan tersebut secara efektif akan menyingkirkan beberapa ruang
penyelesaian yang tidak berisi titik bilangan bulat yang layak, tetapi tidak pernah
menyingkirkan satupun titik bilangan bulat yang layak.
▪ Langkah-langkah penyelesaian metode Cutting Planes:
a. Selesaikan masalah integer programming dengan menggunakan metode simpleks.
b. Periksa solusi optimum yang diperoleh dari langkah 1, jika variabel keputusan solusi
optimum sudah bernilai bulat (integer) maka proses selesai. Jika variabel keputusan
pada solusi optimum masih bernilai pecahan maka proses berlanjut ke tahap
berikutnya.
c. Buat batasan/kendala Gomory dan selesaikan dengan metode simpleks.
d. Kembali ke langkah b.

.
METODE CUTTING PLANE ALGORITHM
CONTOH KASUS
Soal :
CONTOH KASUS
CONTOH KASUS

Nilai x1 dan x2 bukanlah solusi yang integer. Karena yang diinginkan adalah solusi x1
dan x2 merupakan bilangan integer maka dibuatlah kendala gomory.
Tambahan kendala Gomory dalam bentuk:

→ dengan sg adalah variabel slack Gomory ke g

Nilai fi terbesar pada nilai x2 sehingga dari persamaan kedua didapatkan:

Tambahka kendala Gomory pada Tabel iterasi berikutnya (iterasi ke-3)


KENDALA GOMORY

Tambahan kendala Gomory dalam bentuk:


s g —  f ij .S j =-f i dengan sg adalah variabel slack Gomory ke g.

xi = b -  aij.Sj, dengan b non integer (baris sumber). Kemudian pisahkan b


dan a menjadi bagian yang bulat dan pecahan non negatif seperti berikut:
bi = bi’+ fi sehingga fi = bi – bi’, dimana 0 ≤ fi ≤ 1
aij = aij’+ fi sehingga fij = aij – aij‘, dimana 0 ≤ fi ≤ 1

bi b i’ fi
3/2 1 1/2
7/8 0 7/8
7/3 2 1/3
-7/3 -3 2/3
-1 -1 0
-2/5 -1 3/5
CONTOH KASUS
Tabel baru setelah kendala Gomory

Berdasarkan tabel pada iterasi ke-4


didapatkan :
x1 = 0, x2 = 5 dan Z = 40. Karena
solusi x1 dan x2 yang didapatkan
sudah merupakan solusi yang integer
maka iterasi selesai.
METODE SOLUSI ILP
Ada beberapa cara untuk menentukan (menghitung) solusi program linear
bilangan bulat, antara lain:
1. Metode Grafik,
2. Metode Cutting Plane Algorithm
3. Metode Branch and Bound
4. Metode berbantuan Komputer
METODE SOLUSI ILP
Ada banyak tools (software) untuk penyelesaian LP dan Riset Operasional
secara umum, seperti:
1. Microsoft Excel (Add-in Solver)
2. LINDO/LINGO
3. POM-QM
METODE SOLUSI ILP

Metode Simpleks Menggunakan Solver pada MS Excel

Variabel
x1 x2 Solusi Nilai Kanan
C1 4 3 <= 240 240
Contraint
C2 2 1 <= 100 100

Coef F. Tujuan 7 5

Solusi Variabel 30 40
Max 410
METODE SOLUSI ILP
PENYELESAIAN DENGAN PROGRAM
KOMPUTER
▪ LINDO, sebagai salah satu tools (software) untuk masalah Linier
Programming

Anda mungkin juga menyukai