Anda di halaman 1dari 40

Integer Programming

(Pemrograman
Bilangan Bulat)

Nama Mahasiswa : Rizkiyan Hadi (8216172008)


PPL Program Pasca Sarjana UNIMED tahun 2022
Content:
Definisi Integer Programming (IP)

Tiga Jenis Permasalahan Integer Programming

Metode Pembulatan (Round Off)

Metode Branch and Bound

Metode Algoritma Pemotongan


Pendahuluan
 Pada kebanyakan permasalahan programa linier adalah
diperbolehkannya kondisi non-integer.
 Sedangkan beberapa permasalahan akan memberikan
arti kalau nilainya adalah integer.
 Sebagai contoh adalah dalam menentukan jumlah tenaga
kerja, mesin dan kendaraan diperlukan nilai yang integer.
 Jika memerlukan nilai integer, cara yang akan digunakan
adalah ‘Integer Linier Programming”
Kapan Model Integer Diperlukan ?

● Produk atau bahan baku tidak dapat dibagi.


● Biaya tetap.
● Merupakan bentuk kombinasi (sequencing, allocation)
● Dalam keputusan membeli, investasi, sewa atau lainnya.

Aplikasi Lain dari Optimasi Integer


 Lokasi Fasilitas (Rumkit baru, shopping centers, dll.)
 Penjadwalan (Mesin, personnel, projects, sekolah)
 Logistics (material- dan warehouse control)
 Distribution (transportation of goods, buses for disabled persons)
 Production planning
 Telecommunication (network design, frequency allocation)
 VLSI design
Integer Programming
Pada masalah Program Linear penyelesaian optimalnya dapat berupa bilangan real yang berarti
penyelesaian bisa berupa bilangan pecahan. Untuk penyelesaian yang berbentuk pecahan jika
mengalami pembulatan ke integer terdekat maka hasil yang diperoleh bisa menyimpang jauh dari
yang diharapkan. Akan tetapi banyak permasalahan di kehidupan nyata yang memerlukan
penyelesaian variabel keputusannya berupa integer sehingga harus dicari model penyelesaian
masalah sehingga diperoleh penyelesaian integer yang optimum.
Definisi :
 Suatu model matematis dari Integer Programming adalah Programa linier
dengan penambahan batasan bahwa beberapa atau semua variabel harus
bernilai integer.
 Pemrograman Integer (IP) adalah pemrograman linear (LP) dengan beberapa
atau semua variabelnya berupa bilangan bulat nonnegatif.
Bentuk umum model Program Integer adalah:
Pure Integer Programming
Mixed Integer Programming
Metode Pembulatan (Round Off)
Metode pembulatan merupakan suatu cara yang termudah,
praktis dan efisien dalam menyelesaikan masalah integer
programming. Cara yang digunakan yaitu dengan
membulatkan nilai variabel keputusan yang didapatkan melalui
metode simpleks biasa. Metode ini praktis dalam hal waktu,
biaya dan tenaga untuk memperoleh suatu solusi. Contoh
banyaknya pakaian yang harus diproduksi adalah sebanyak
5734,34 maka dengan menggunakan metode pendekatan
menjadi 5734 potong pakaian.
Metode Pembulatan (Round Off)
Contoh :
Ingat !! LP Relaxation :
Dari gambar terlihat bahwa daerah fisibel Maka solusi IP didapatkan untuk x1 = 0,
dari masalah ini terdiri atas himpunan x2 = 3 dan z = 33
titik-titik:
S = {(0,0),(0,1),(0,2),(0,3),(1,0),(1,1)}
Metode Branch and Bound
Langkah-langkah metode Branch and Bound untuk masalah maksimasi dapat dilakukan seperti berikut:
1. Selesaikan masalah LP dengan menghilangkan pembatasan bilangan bulat (Atau mencari LP relaxation dengan
menghilangkan pembatasan integernya).
2. Teliti solusi optimumnya. Jika variabel basis yang diharapkan bulat adalah bulat, solusi optimum bulat telah
tercapai. Jika satu atau lebih variabel basis yang diharapkan bulat ternyata tidak bulat, lanjutkan ke langkah 3.
3. Nilai solusi pecah yang layak dicabangkan ke dalam sub-sub masalah. Tujuannya adalah untuk menghilangkan
solusi kontinyu yang tidak memenuhi persyaratan bulat dalam masalah itu. Pencabangan itu dilakukan melalui
kendala-kendala mutually exclusive yang perlu untuk memenuhi persyaratan bulat dengan jaminan tidak ada solusi bulat
layak yang tidak diikut sertakan.
4. Untuk setiap sub-masalah, nilai solusi optimum kontinu 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 dalah
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.
Contoh :

Penyelesaian :
Maximum Z = 8X1 + 5X2
s/t ≤6
9X1 + 5X2 ≤ 45
X1, X2 ≥ 0 dan integer
LP Relaxation
X2
9

A
(15/4 , 9/4)

0 5 6 X1
X1 + X2 = 6
9X1 + 5X2 = 45
SUB PERSOALAN 1
X2
9

SP-5

2 X2 = 2

1 X2 = 1

SP-4

0 3 4 5 6 X1
X1 + X2 = 6
9X1 + 5X2 = 45
X2
9

X1 = 4 X 1 = 5

1 SP-6 SP-7

0 3 4 5 6 X1

9X1 + 5X2 = 45
Cutting Plane Algorithm
Suatu prosedur sistematik untuk memperoleh solusi integer optimum terhadap pure integer
progamming pertama kali dikemukakan oleh R.E. Gomory. Ia kemudian memperluas prosedur ini
untuk menangani kasus yang lebih sulit yaitu mixed integer progamming.

Langkah-langkah Cutting Plane Algorithm diringkas seperti berikut:


1. Carilah tablo optimal dari Linear Programming (LP) Relaxation dari Integer Programming yang
bersesuaian jika semua variabel dari tablo optimal sudah bernilai integer, maka solusi sudah
didapatkan, Namun jika tidak maka lanjut ke langkah -2.
2. Pilih sebuah constraint dari tablo optimal LP relaxation yang ruas sisi kananya masih berupa
pecahan. Constraint ini akan digunakan untuk membuat sebuah cut.
2a. Untuk constraint yang terpilih dari langkah 2, tulis ruas sisi kanannya dan juga semua koeifisien
dari variabel dalam bentuk [x] + f, dimana .
[x] adalah bilangan bulat terbesar yang kurang dari x.
2b. Tulis ulang constraint yang digunakan untuk membuat cut sebagai Semua suku
dengan koeifisien integer = semua suku dengan koeifisien pecahan.
Cut adalah semua suku dengan koeifisien 0
3. Gunakan metode simpleks dual untuk mencari solusi dari LP relaxation. Tambahkan cut
sebagai constraint tambahan.
JIka semua variabel sudah bernilai integer di tablo optimal, maka kita tela menemukan
solusi optimal dari model IP tersebut. Tetapi jika tidak, maka kita kembali ke langkah-2.
Maksimumkan Z = 8X1 + 5X2
s/t X1 + X2 ≤ 6
9X1 + 5X2 ≤ 45
X1, X2 ≥ 0 dan integer

Penyelesaian :

Tablo Optimal dari LP relaxation (langkah 1)


langkah 2 : Pilih sebuah constraint dari tablo optimal LP relaxation yang ruas sisi kananya masih
berupa pecahan

𝑥1 −1 , 25 𝑠 1+ 0 , 25 𝑠 2=3 ,75 (1)

Langkah 2a.

𝑥1 −2 𝑠 1+ 0 , 75 𝑠 1+ 0 𝑠 2+ 0 , 25 𝑠 2=3+0 , 75(2)

Langkah 2b.

(3)

Cut adalah semua suku dengan koeifisien 0

𝐶𝑢𝑡 :0, 75 −0 ,75 𝑠1 −0 ,25 𝑠 2 ≤ 0


Langkah 3. Gunakan metode simpleks dual untuk mencari solusi dari LP relaxation. Tambahkan cut
sebagai constraint tambahan.

Tablo Optimal Cutting Plane setelah dimasukkan Cut


Menyelesaikan menggunakan Metode Simpleks Dual

Baris Kunci

Kolom Kunci

Maka nilai perpotongannya adalah = -3/4 (Unsur Kunci)


Membuat tablo optimal yang baru menggunakan Operasi Baris Dasar

Solusi optimalnya adalah : =5 = 0 Z = 40


Carilah solusi optimal menggunakan metode Branch and Bound dan metode The Cutting
Plane Algorithm :
Maximum Z=
s.t

Anda mungkin juga menyukai