Anda di halaman 1dari 12

PENELITIAN OPERASIONAL 1

TUGAS 5

Disusun oleh :
KELOMPOK 4
2213903 ANANG AFRIANTO
2213002 DEFARIA HEIPON
2213009 THEODORA CHYNTIA ALSSYA MILANO C
2213010 KEVIN MARDICO ARIWIJAYA
2213031 AGNES YESICA NATALIA

PROGRAM STUDI TEKNIK INDUSTRI S-1


FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT TEKNOLOGI NASIONAL MALANG
2023
A. Programa Bilangan Bulat
Pemrograman bilangan bulat (Integer Programming) mensyaratkan bahwa
beberapa variable keputusan harus mempunyai nilai yang bulat (bukan pecahan).
Pembahasan hanya ditujukan untuk masalah pemrograman linier bilangan bulat
(Integer Linear Programming Problem).
Jenis pemrograman bilangan bulat:
a. Pemrograman linier bilangan bulat murni (pure integer linear programming,
PILP).
b. Pemrograman linier bilangan bulat campuran (mixed integer linear
programming, MILP).
c. Pemrograman linier bilangan bulat biner (binary integer linear
programming, BILP).
Fungsi variable biner:
a. Penangangan pembatas either-or.
b. Penanganan nilai lebih dari satu yang mungkindari suatu pembatas.
c. Representasi bentuk lain dari variabel bilangan bulat.
Metode pemecahan model pemrograman bilangan bulat:
a. Cutting method
- Cutting Plane
b. Search method
- Branch and Bound
B. Branch and Bround
Branch dan bround atau cabang dan batas adalah salah satu algoritma yang
digunakan dalam program linear. Branch and bound (cabang dan batas) merupakan
algoritma yang membagi masalah menjadi sub masalah, setiap cabang mewakili
solusi persial yang akan dievaluasi.pemelilihan solusi terbaik dilakukan dengan
membandingkan serta penekanan cabang yang tidak menghasilkan solusi lebih baik.
Branch and bound (cabang dan batas) digunakan untuk menyelesaikan program
bilangan bulat murni atau menyelesaikan PL relaksasi. Program linear relaksasi
adalah program linear yang diperoleh dengan menghilangkan kendala semua variabel
bilangan bulat atau 0-1 pada program bilangan bulat.
Langkah-langkah menentukan masalah menggunakan branch and bound (cabang dan
batas) :
a. Menyelesaikan model Program Linier menggunakan metode simpleks.
b. Memeriksa solusi optimal, jika variabel basis yang diharapkan bernilai integer,
maka solusi optimal telah tercapai. Tetapi jika tidak bernilai integer maka
lanjutkan Langkah c.
c. Memilih variabel yang mempunyai selisih pecahan terbesar dengan bilangan
bulat dari masingmasing variabel untuk dijadikan percabangan kedalam sub-
masalah.
d. Membuat batasan baru 𝑋𝑗 ∗ ≤ 𝑋𝑗 ≤ 𝑋𝑗 ∗ +1, tetapi karena range tersebut tidak
memberikan pemrograman integer, maka konsekuensinya nilai integer 𝑋𝑗
memenuhi salah satu syarat yaitu: 𝑋𝑗 ∗ ≤ 𝑋𝑗 dan 𝑋𝑗 ≥ 𝑋𝑗 ∗ + 1.
e. Menyelesaikan model program linear dengan batasan baru yang ditambahkan
pada setiap submasalah. Jika solusi yang diharapkan benilai integer, maka
kembali ke Langkah 4. Tetapi jika tidak bernilai integer maka kembali ke
Langkah 3.
f. Jika solusi dari salah satu sub-masalah tersebut telah bernilai integer dan solusi
lainnya tidak memiliki penyelesaian (tidak fisibel), maka percabangan tidak
dilanjutkan atau berhenti.
g. Memilih solusi optimal. Jika ada beberapa sub-masalah yang memiliki solusi
bernilai integer, maka dipilih solusi yang memiliki nilai 𝑧 terbesar jika fungsi
tujuan adalah maksimum dan dipilih solusi yang memiliki 𝑧 terkecil jika fungsi
tujuan adalah minimum untuk dijadikan solusi optimal.
C. Contoh Soal Branch dan Bround
D. Cutting Plane
Plane Metode cutting plane merupakan metode yang digunakan untuk
menyelesaikan program linier bilangan bulat, baik bilangan bulat murni maupun
campuran dengan penambahan batasan baru yang disebut gomory. Batasan gomory
diberikan jika nilai dari 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.
Metode cutting plane digunakan untuk permasalahan yang variabel
keputusannya harus bulat. Program linier tidak efektif untuk menyelesaikan
permasalahan tersebut sehingga dikembangkan metode cutting plane yang lebih
efektif dan memberikan hasil yang lebih baik
Langkah-langkah prosedur gomory diringkas seperti berikut:
1. Selesaikan masalah program integer dengan menggunakan metode Simpleks.
Jika masalah sederhana, gomory dapat diselesaikan dengan pendekatan
grafik, sehingga pendekatan gomory kurang efisien.
2. Periksa solusi optimum. Jika semua variabel basis memiliki nilai integer,
solusi optimum integer telah diperoleh dan proses solusi telah berakhir. Jika
satu atau lebih variabel basis masih memiliki nilai pecah, teruskan ke tahap 3.
3. Buatlah suatu batasan gomory dan cari solusi optimum melalui prosedur dual
simpleks. Kembali ke tahap 2.
𝑛
𝑗
𝑥𝑖 = 𝛽𝑖 − ∑ ∝ 𝜔𝑗, 𝛽𝑖
𝑖
𝑗=1

𝑆𝑖 − ∑ 𝑓𝑖 𝑗 𝑤𝑗 = −𝑓𝑖
𝑗=1

Di mana Si adalah variabel slack non negatif yang berdasarkan definisinya haruslah
integer. Persamaan batasan ini mendefinisikan pemotong fraksional. Dari tabel 2, wj
= 0 dan Si = −fi tidak layak. Ini berarti bahwa batasan baru tersebut tidak dipenuhi
oleh solusi yang diberikan. Metode dual simpleks dapat dipergunakan untuk
mengatasi ketidaklayakan ini yang setara dengan memotong bidang solusi ke arah
solusi integer optimal. Jika solusi baru (setelah menerapkan metode dual simpleks)
adalah integer, proses berakhir. Jika tidak, sebuah gomory baru ditambahkan dari
tabel yang dihasilkan dan metode dual simpleks digunakan sekali lagi untuk
mengatasi ketidaklayakan. Prosedur ini dilakukan sampai solusi integer dicapai.
Tetapi, jika di salah satu iterasi metode dual simpleks menunjukkan bahwa tidak ada
solusi layak, berarti masalah itu tidak memiliki solusi integer yang layak
E. Contoh Soal Cutting Plane

Consider the following it


Maks, 14x1 + 18𝑥2
s.t −𝑋1 + 3𝑋2 ≤ 6
7𝑋1 + 𝑋2 ≤ 35
𝑋1 , 𝑋2 ≥ 0, 𝑋1 , 𝑋2 integer
The optimal tableau for this IP’s LP relaxation is given in table B2. Use the cutting
plane algorithm to solve this IP
Z 𝑋1 𝑋2 𝑆1 𝑆2 RHS
56 30
1 0 0 126
11 11
7 1 7
0 0 1
22 22 2
1 3 9
0 1 0 −
22 22 2

CUT 1:
7 1 7
𝑋2 + 𝑆 + 𝑆 =
22 1 22 2 2
7 1 1
1𝑋2 + 0𝑆1 + 𝑆 + 0𝑆1 + 𝑆 = 3+2
22 1 22 2
7 1 1
𝑋2 − 3 = − 22 𝑆1 − 𝑆 +
22 2 2
7 1 1
− 22 𝑆1 − 𝑆 + ≤0
22 2 2
7 1 1
− 22 𝑆1 − 𝑆 ≤ −2
22 2
7 1 1
− 22 𝑆1 − 𝑆 + 𝑆3 = − 2
22 2

Tablo 1A
Z 𝑋1 𝑋2 𝑆1 𝑆2 𝑆3 RHS
56 30 0
1 0 0 126
11 11
7 1 0 7
0 0 1
22 22 2
1 3 0 9
0 1 0 −
22 22 2
7 1 1
0 0 0 − − 1 −
22 22 2
Metode dual simpleks
56
56 22
| 11
7 | = |11 𝑥 | = 16
− 7
22

30
30
| 11
1 | = |11 𝑥 22| = 60

22

Z 𝑋1 𝑋2 𝑆1 𝑆2 𝑆3 RHS
56 30 0
𝑏0 1 0 0 126
11 11
7 1 0 7
𝑏1 0 0 1
22 22 2
1 3 0 9
𝑏2 0 1 0 −
22 22 2
7 1 1
𝑏3 0 0 0 − − 1 −
22 22 2

22
• b′3 = − b3
7
1 22 11
= 0, 0, 0, 1, 7 , − ,
7 7
• b1′ = b1 + b3
= 0, 0, 1, 0, 0, 1, 3
56
• b′0 = b0 − 11 b′3
1
• b′2 = b2 + 22 b′3
1 3
= 0, 1, 0, - 22 , 22 , 0

Z 𝑋1 𝑋2 𝑆1 𝑆2 𝑆3 RHS
1 0 0 0 2 16 118
0 0 1 0 0 1 3
1 1 32
0 1 0 0 −
7 7 7
1 22 11
0 0 0 1 −
7 7 7

CUT :
1 1 32
𝑋1 + 𝑆 − 𝑆 =
7 2 7 3 7
1 6 4
1𝑋1 + 0𝑆2 + 𝑆 − 1𝑆3 + 𝑆 =4+7
7 2 7 3
1 6 4
𝑋1 − 4 = − 7 𝑆2 − 𝑆 +
7 3 7
1 6 4
Bentuk Kanonik : − 7 𝑆2 − 𝑆 + 𝑆4 = − 7
7 3

Tablo 2A
Z 𝑋1 𝑋2 𝑆1 𝑆2 𝑆3 𝑆4 RHS
1 0 0 0 2 16 0 118
0 0 1 0 0 1 0 3
1 1 32
0 1 0 0 − 0
7 7 7
1 22 11
0 0 0 1 − 0
7 7 7
1 6 4
0 0 0 0 − − 1 −
7 7 7

2 16 3
| 1| = 14. | 6| = 18
− − 3
7 7

Z 𝑋1 𝑋2 𝑆1 𝑆2 𝑆3 𝑆4 RHS
𝑏0 ′ 1 0 0 0 2 16 0 118
𝑏1 ′ 0 0 1 0 0 1 0 3
1 1 32
𝑏2 ′ 0 1 0 0 − 0
7 7 7
1 22 11
𝑏3 ′ 0 0 0 1 − 0
7 7 7
1 6 4
𝑏4 ′ 0 0 0 0 − − 1 −
7 7 7

• 𝑏4 " = -7𝑏4 ′
= 0, 0, 0, 0, 1, -6, -7, 4
• 𝑏2 " = 𝑏2 ′ + 𝑏4 ′
= 0, 1, 0, 0, 0, -1, 1, 4
• 𝑏3 " = 𝑏3 ′ + 𝑏4 ′
= 0, 0, 0, 1, 0, -4, 1, 1
• 𝑏1 " = 𝑏4 ′
= 0, 0, 1, 0, 0, 1, 0, 3
• 𝑏0 " = 𝑏0 ′ - 2(𝑏4 ")
= 1, 0, 0, 0, 0, 28, 14, 110
Tablo 3
Z 𝑋1 𝑋2 𝑆1 𝑆2 𝑆3 𝑆4 RHS
1 0 0 0 0 28 14 110
0 0 1 0 0 1 0 3
0 1 0 0 0 -1 1 4
0 0 0 1 0 -4 1 1
0 0 0 0 1 -6 -7 4

𝑋1 = 4 𝑋2 = 3 Z = 110
DAFTAR PUSTAKA

Pemrograman Bilangan Bulat | PDF (scribd.com)


https://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2006-
2007/Algoritma%20Branch%20and%20Bound.pdf
https://journal.walisongo.ac.id/index.php/attaqaddum/article/download/1203/946
https://media.neliti.com/media/publications/221472-none.pdf

Anda mungkin juga menyukai