9
PEMBAHASAN A. PENGERTIAN INTEGER PROGRAMMING Integer Programming adalah bentuk lain dari program linier dengan variabel-variabel keputusanya bertipe integer .Jika variabel keputusan yang dihadapi berkaitan dengan jumlah orang,mesin- mesin , kendaraan dan lain-lain, akan terasa janggal jika menyelesaikan pekerjaan itu diperlukan 3,5 mesin dan 7,5 orang, sebaliknya jika pekerjaan memerlukan 4 atau 5 mesin dan 8 orang , maka keputusan akan terasa realistik dan lebih mudah. B. METODE INTEGER PROGRAMMING a. Metode Branch and Bound Algoritma Branch and Bound adalah metode algoritma umum untuk mencari solusi optimal dari dari berbagai permasalahan optimasi, terutama untuk optimasi diskrit dan kombinatorial. Sebagaimana pada algoritma runut-balik, algoritma Branch and Bound juga merupakan metode pencarian di dalam ruang solusi secara sistematis. Ruang solusi

Integer

Embed Size (px)

Citation preview

Page 1: Integer

PEMBAHASAN

A. PENGERTIAN INTEGER PROGRAMMING

Integer Programming adalah bentuk lain dari program linier dengan

variabel-variabel keputusanya bertipe integer .Jika variabel keputusan

yang dihadapi berkaitan dengan jumlah orang,mesin- mesin , kendaraan

dan lain-lain, akan terasa janggal jika menyelesaikan pekerjaan itu

diperlukan 3,5 mesin dan 7,5 orang, sebaliknya jika pekerjaan

memerlukan 4 atau 5 mesin dan 8 orang , maka keputusan akan terasa

realistik dan lebih mudah.

B. METODE INTEGER PROGRAMMING

a. Metode Branch and Bound

Algoritma Branch and Bound adalah metode algoritma umum untuk

mencari solusi optimal dari dari berbagai permasalahan optimasi,

terutama untuk optimasi diskrit dan kombinatorial. Sebagaimana pada

algoritma runut-balik, algoritma Branch and Bound juga merupakan

metode pencarian di dalam ruang solusi secara sistematis. Ruang

solusi diorganisasikan ke dalam pohon ruang status. Yang

membedakan keduanya adalah bila pada algoritma runut-balik, ruang

solusi dibangun secara dinamis berdasarkan skema DFS (Depth First

Search), maka pada algoritma Branch and Bound ruang solusi

dibangun dengan skema BFS (Breadth First Search). Algoritma

standar untuk integer programming yang digunakan dalam coding

program untuk software OR. Metode ini lebih efisien dibanding

pendekatan Gomory. Pertama kali diperkenalkan oleh Land dan Doig.

Pada algoritma ini, permasalahan dibagi

bagi

Page 2: Integer

menjadi subregion

subregion yang mungkin mengarah ke solusi. Inilah yang disebut

dengan branching, mengingat prosedur ini akan dilakukan berulang

ulang secara rekursif untuk setiap subregion dan setiap subregion yang

dihasilkan akan membentuk sebuah struktur pohon yang disebut

sebagai pohon pencarian atau pohon branch-and- bound di mana

simpul simpulnya membangun subregion subregion. Selain

branching, algoritma ini juga melakukan apa yang disebut dengan

bounding yang merupakan cara cepat untuk mencari batas atas dan

bawah untuk solusi optimal pada subregion yang mengarah ke solusi.

Algoritma Branch and Bound banyak digunakan untuk memecahkan

berbagai macam permasalahan antara lain : persoalan Knapsack 0/1,

Travelling Salesman Problem (TSP), The N-Queens Problem

(Persoalan N-Ratu), Graph Colouring (Pewarnaan Graf), Sirkuit

Hamilton, Integer Programming, Nonlinear Programming, Quadratic

Assignment Problem (QAP), Maximum Satisfiability Problem (MAX-

SAT), dan lain sebagainya.

- Langkah-Langkah Maksimisasi :

1. Selesaikan masalah LP dengan metode simpleks biasa tanpa

pembatasan bilangan bulat.

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-nilai solusi pecahan yang layak dicabangkan ke dalam

sub-sub masalah. Tujuannya adalah untuk menghilangkan solusi

kontinu yang tidak memenuhi persyaratan bulat dan masalah

itu. Pencabangan itu dilakukan melalui kendala-kendala

mutually exclusive yang perlu untuk memenuhi persyaratan

Page 3: Integer

bulat dengan jaminan tak ada solusi bulat layak yang tak

diikutsertakan.

4. Untuk setiap submasalah, nilai-nilai solusi optimum kontinu

fungsi tujuan ditetapkan sebagai batas atas. Solusi bulat terbaik

menjadi batas bawah (pada awalnya, ini adalah solusi kontinu

yang dibulatkan ke bawah). Sub-sub masalah yang memiliki

batas atas kurang dari batas bawah yang ada tak diikutsertakan

pada analisis selanjutnya. Suatu solusi bulat layak adalah sama

baik atau lebih baik dari batas atas untuk setiap submasalah

yang dicari. Jika solusi demikian ada, suatu submasalah dengan

batas atas terbaik dipilih untuk dicabangkan. Kembali ke

langkah 3.

b. Metode Cutting Plane Algorithm (Metode Gomory)

Temukan solusi optimal untuk Linier Problem (menggunakan

prosedur standar). Tambahkan fungsi pembatas khusus (disebut cuts)

untuk menghasilkan titik ekstrim optimal integer. Cuts tidak

menghilangkan titik feasible integer asal.

- Langka-langkah :

1. Selesaikan masalah integer programming dengan menggunakan

metode simpleks LP.

2. Periksa solusi optimum. Jika semua variabel basis memiliki

nilai-nilai integer, solusi optimum integer telah diperoleh dan

proses solusi berakhir. Jika satu atau lebih variabel basis

memiliki nilai- nilai pecahan, teruskan ke langkah 3.

3. Buatlah suatu kendala Gomory (suatu bidang pemotong atau

cutting- plane) dan cari solusi optimum melalui prosedur dual

simplex. Kembali ke langkah 2.

c. Metode Pembulatan

Page 4: Integer

Suatu pendekatan yang sederhana dan kadang-kadang praktis, dengan

membulatkan (ke bilangan bulat terdekat) nilai-nilai variabel

keputusan yang diperoleh melalui LP. Efektif untuk nilai solusi yang

besar, misal produksi pensil 13.345,3 menjadi 13.345 Kelemahan:

solusinya belum tentu solusi optimal (lebih buruk atau solusinya non

fisibel).

Contoh :

Masalah 1: Max Z = 100 X1 + 90 X2

s.t. 10 X1 + 7 X2 ≤ 70

5 X1 + 10 X2 ≤ 50

X1 , X2 ≥ 0

Masalah 2: Min Z = 200 X1 + 400 X2

s.t. 10X1 + 25 X2 ≥ 100

3X1+ 2X2 ≥12

X1, X2 ≥ 0

Masalah 3: Max Z = 80 X1 + 100 X2

s.t. 4 X1 + 2 X2 ≤ 12

X1+ 5X2 ≤15

X1, X2 ≥ 0

MASALAH Solusi dengan metode simpleks

Solusi pembulatan ke bilangan bulat

terdekat

Solusi bulat optimum yang sesungguhnya

1 X1 =5,38 X2=2,31 Z=746,15

X1=5 X2=2 Z=680

X1=7X2 =0Z=700

2 X1=1,82X2=3,27

Z= 1672,73

X1 =2X2= 4

tak layak

X1=3,X2=3 atau

X1=5, X2=2Z=1800

3 X1=1,66 X2=2,66 Z=400

X1=2 X2=3

tak layak

X1 =2 X2=2 Z=360

Page 5: Integer

d. Metode Grafik

Identik dengan metode grafik LP, ditambah persyaratan solusi

optimum bilangan bulat. Khusus kasus dengan 2 variabel keputusan.

Contoh :

Max Z = 100 X1 + 90 X2

s.t. 10 X1 + 7 X2 ≤ 70

5 X1 + 10 X2 ≤ 50

X1 , X2 nonnegatif integer

Buat titik-titik solusi integer pada daerah fisibel OABC. Geser garis

Z optimal (LP) di titik B, ke arah daerah fisibel. Titik pertama yang

yang ketemu adalah solusi optimal integer yaitu titik A.

C. KLASIFIKASI INTEGER PROGRAMMING

1. Pure Integer Programming

Semua variable keputusan harus bernilai bilangan bulat

2. Mixed Integer Programming (MIP)

tidak semua variable keputusan berupa bilangan bulat

3. Binary Integer Programming (BIP)

semua variable keputusan memilikinilai berupa bilangan biner

(0 atau 1).

4. Mixed Binary Integer Programming (MBIP)

Jika beberapa variable keputusan memiliki nilai biner, beberapa

variable keputusan memiliki nilai integer dan sisanya memilikinilai

real (boleh pecahan).

D. PROBLEM INTEGER PROGREMMING

Permasalahan yang mengharuskan variabel keputusan bernilai integer

diantaranya adalah :

Page 6: Integer

Investasi

Multiperiode Budgeting

Routing

Knapsack

Vehicle Loading

Set Covering

Scheduling

Mixed Product

Location

Distribution

Assignment

Transportasi

E. CONTOH PROBLEM INTEGER PROGREMMING

PENJADWALAN PEKERJA (SCHEDULING)

CAPITAL BUDGETING

KNAPSACK PROBLEM

PEMILIHAN LOKASI PABRIK

DIET PROBLEM

BLENDING

SET COVERING PROBLEM