0% menganggap dokumen ini bermanfaat (0 suara)
179 tayangan15 halaman

Modul 5 - Programa Integer

Model program linier digunakan untuk memecahkan berbagai masalah optimalisasi dengan kendala sumber daya terbatas. Contoh soal mencakup pembelian mesin, penjadwalan produksi, alokasi anggaran, dan lainnya. Variabel keputusan harus bernilai bulat untuk merepresentasikan jumlah unit barang atau pekerja. Agar hasil tetap optimal, penyelesaian harus mencari kombinasi nilai bulat terbaik bukan membulatkan hasil riil. Model program

Diunggah oleh

Abdul Azhim
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
179 tayangan15 halaman

Modul 5 - Programa Integer

Model program linier digunakan untuk memecahkan berbagai masalah optimalisasi dengan kendala sumber daya terbatas. Contoh soal mencakup pembelian mesin, penjadwalan produksi, alokasi anggaran, dan lainnya. Variabel keputusan harus bernilai bulat untuk merepresentasikan jumlah unit barang atau pekerja. Agar hasil tetap optimal, penyelesaian harus mencari kombinasi nilai bulat terbaik bukan membulatkan hasil riil. Model program

Diunggah oleh

Abdul Azhim
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

PROGRAMA INTEGER

Model Programa Linier :

Maks. z = c1x1 + c2x2 + . + cnxn

d. k. a11x1 + a12x2 + .a1nxn < b1


.
.
am1x1 + am2x2 + .amnxn < bm

x1; x2; .xn > 0

Semua variabel keputusan dari model di atas akan mempunyai nilai riel yang non negatif,
seperti bilangan pecahan, bilangan desimal. Kadang-kadang variabel keputusan harus
mengambil nilai bilangan bulat. Misalnya jumlah pekerja, mesin dls. Jika kita
membulatkan nilai optimal yang diperoleh, penyelesaiannya belum tentu memberikan hasil
yang optimal.

Contoh 1 :
Sebuah perusahaan akan membeli beberapa buah mesin dari dua macam mesin yang
berbeda. Harga mesin pertama adalah $ 1.000.000 dan mesin kedua $ 4.000.000 per unit.
Keuntungan mesin pertama adalah $ 30.000 dan mesin kedua adalah $ 130.000 per unit
per bulan. Dana yang tersedia untuk membeli mesin adalah $ 11.000.000. Berapa buah
mesin yang akan dibeli setiap jenisnya. Tujuan perusahaan tersebut adalah
memaksimalkan keuntungan setiap bulan.

Model Programa Liniernya adalah :


Maks. Z = 30X1 + 130X2
d. k. X1 + 4X2 < 11
X1; X2 > 0 dan integer

Penyelesaian :
Jika kendala integer diabaikan, diperoleh hasil sebagai berikut :
X1 = 0
X2 = 2,75
z = 357,5

1
(5,1) z = 280
0
(0,2) o
z = 260

Oleh karena variabel keputusan harus merupakan bilangan bulat, kita tetapkan X1 = 0 dan
X2 = 2 (X2 = 3 adalah tidak layak), maka diperoleh Z = 260. Akan tetapi jika diteliti lebih
lanjut pada X1 = 5 dan X2 = 1 diperoleh Z = 280. Dengan demikian terlihat bahwa
pembulatan hasil variabel keputusan dapat diperoleh nilai Z yang tidak optimal. Untuk itu
perlu dicari cara penyelesaian yang memberikan hasil yang optimal.

Jenis-jenis Model Programa Integer :


1. Programa Integer Murni
2. Programa Integer 0 1
3. Programa Integer Campuran

Formulasi Persoalan Programa Integer :


Contoh 2 (Programa Integer murni) :
PT. X membangun kapal layar fiber glass dengan ukuran panjang 30 dan 20.
Keuntungan dari penjualan kapal tersebut adalah $ 6.000 dan $ 1.000 per unit. Setiap
jenis kapal memerlukan waktu pembangunan masing-masing selama 1 minggu. Sumber
yang terbatas adalah luas lantai dan tenaga kerja. Kapal ukuran 30 memerlukan luas lantai
dua unit dan 4 unit tenaga kerja, sedangkan kapal ukuran 20 memerlukan 1 unit luas
lantai dan 1 unit tenaga kerja. Luas lantai yang tersedia adalah 4 unit Dan tenaga kerja
yang tersedia adalah 6 unit setiap minggu. Berapa unit kapal yang dibangun per minggu ?
Buatlah model matematis dari persoalan di atas.

Penyelesaian :
Variabel keputusan :
X1 = jumlah kapal ukuran 30 yang dibangun
X2 = jumlah kapal ukuran 20 yang dibangun

2
Fungsi tujuan :
Maks. Z = 6X1 + X2
Kendala :
4X1 + X2 < 6 (kebutuhan tenaga kerja)
2X1 + X2 < 4 (luas lantai)
X1; X2 > 0 dan integer

Contoh 3 (Persoalan Programa Integer 0 1) :


Perusahaan X adalah sebuah perusahaan pengelola dana pensiun sedang
mempertimbangkan lima buah usulan investasi tiga tahun. Perusahaan tersebut
mengalokasikan dana sebesar $ 50 juta, $ 40 juta dan $ 30 juta untuk tahun I, II, dan III.
Proyek tersebut harus selesai dalam tiga tahun dan menghasilkan untung. Aliran dana dari
invesatasi diperlihatkan pada tabel berikut :

Proposal Kebutuhan modal ( $ juta) Net Present Value


investasi Tahun I Tahun II Tahun III (NPV - $ juta)
A 10 8 6 15
B 14 11 8 18
C 16 12 9 9
D 8 9 7 8
E 9 7 5 8

Buatlah model matematis dari persoalan di atas.


Penyelesaian :
1 jika proposal j dipilih
Variabel : Xj =
0 jika proposal j tidak dipilh

Model menjadi :
Maks. Z = 15X1 + 18X2 + 9X3 + 8X4 + 8X5
d. k. 10X1 + 14X2 + 16X3 + 8X4 + 9X5 < 50
8X1 + 11X2 + 12X3 + 9X4 + 7X5 < 40
6X1 + 8X2 + 9X3 + 7X4 + 5X5 < 30
XJ = 0 atau 1 j = 1; 2; .; 5

3
Model di atas disebut knapsack model. Nama tersebut berasal dari konsep seorang
hiker yang berharap membawa barangnya dalam ransel sebanyak mungkin. Setiap barang
mempunyai berat, volume dan nilai yang berbeda. Dia ingin memaksimalkan nilai barang
bawaannya tanpa melanggar berat dan isi ranselnya.

Contoh 4 (Persoalan Programa Integer Campuran) :


Sebuah pabrik cat menghadapi persoalan jadwal pengiriman barang dari gudang ke toko
dengan jumlah persediaan di gudang, jumlah permintaan toko seperti terlihat pada tabel 1
dan 2. Untuk mengangkut cat, perusahaan menyewa truk. Tedapat dua komponen biaya
pengiriman, yaitu biaya tetap (tabel 3) untuk pengiriman dari gudang ke toko yang tidak
tergantung dari ukuran barang yang diangkut dan biaya variabel sebesar $ 5 untuk setiap
100 l (drum) (tanpa memperhatian dari gudang ke toko mana cat tersebut diangkut).
Buatlah model Programa Integer dari persoalan di atas.
Tabel 1 Tabel 2 Tabel 3 biaya tetap ( $ )
Dari Ke toko
Gudang Tersedia Toko Permintaan Gudang 1 2 3
A 6000 l 1 9000 l A 3800 2750 3400
B 7000 l 2 9000 l B 2900 3100 2850
C 8000 l 3 12000 l C 3650 4020 3840
D 9000 l D 4075 1920 3040

Penyelesaian :
Variabel : xij = jumlah cat (jumlah drum @ 100 l) yang diangkut dari gudang i ke toko j
1 jika Xij > 0 (terdapat cat yang diangkut)
yij =
0 jika Xij = 0 (tidak ada cat yang diangkut)

Bentuk bersyarat di atas bukanlah bentuk yang linier perlu dijadikan linier
Bentuk di atas dapat diganti dengan bentuk :
xij Myij < 0 dengan M = bilangan positif yang besar sekali
1
yij =
0
Bukti :
xij Myij
Jika xij positif yij = 1 pos. pos. besar = negatif memenuhi
yij = 0 pos. nol = pos. tidak memenuhi
xij Myij < 0
Jika yij = 0 xij - nol < 0 xij < 0 xij = 0 terbukti!
Sebelumnya telah ditentukan xij > 0

4
Dengan demikian model adalah :
Fungsi tujuan :
Min. Z = (3800y11 + 5x11) + (2750y12 + 5x12) + (3400y13 + 5x13)
+ (2900y21 + 5x21) + (3100y22 + 5x22) + (2850y23 + 5x23)
+ (3650y31 + 5x31) + (4020y32 + 5x32) + (3840y33 + 5x33)
+ (4075y41 + 5x41) + (1920y42 + 5x42) + (3040y43 + 5x43)

Dengan kendala :
x11 + x12 + x13 = 60
x21 + x22 + x23 = 70
x31 + x32 + x33 = 80
x41 + x42 + x43 = 90
x11 + x21 + x31 + x41 = 90
x12 + x22 + x32 + x42 = 90
x13 + x23 + x33 + x43 = 120
xij Myij < 0 i = 1; 2; 3; 4 j = 1; 2; 3
xij > 0 i = 1; 2; 3; 4 j = 1; 2; 3
Pada persoalan ini M dapat ditentukan = 120 ( mengapa ?)

Model di atas bentuknya sama dengan persoalan transportasi dalam bentuk standar, kecuali
kendala biaya tetap yaitu xij Myij < 0.
Bentuk ini disebut dengan persoalan biaya tetap (fixed charge problem), karena biaya tetap
tersebut berkaitan dengan variabel xij. Variabel yij adalah untuk menyatakan apakah
biaya tersebut dikenakan atau tidak.

Contoh 5 :
Sebuah perusahaan memerlukan komponen X sebanyak 5000 unit untuk membuat barang
Y. komponen X tersebut adalah suatu produk yang telah distandarisasi. Semua perusahaan
yang dapat memenuhi standar yang diberikan dapat mensupali komponen tersebut. PT. A
menawarkan komponen tersebut dengan harga $ 30 per unit. PT. A saat ini mempunyai
komponen X sebanyak 2000 unit. PT. B menawarkan dengan harga $ 31 per unit untuk
jumlah pesanan sampai dengan 1500 unit, dan dengan harga $ 28 per unit untuk unit ke
1501 dst. Jumlah persediaan komponen X dari PT. B adalah 3500 unit. PT. C menawarkan
dengan harga $ 29 per unit dengan pesanan minimum 2000 unit. Persediaan PT. C adalah
sebanyak 3500 unit. Berapa jumlah komponen yang harus dipesan oleh perusahaan
tersebut dari setiap pemasok yang memberikan biaya pembelian total yang terendah.
Buatlah model matematik dari persoalan di atas.

5
Penyelesaian :
Gambar berikut memperlihat grafik biaya total dari pembelian komponen dari berbagai
perusahaan.

$ $ $

28
29

30 31

2000 1500 3500 2000


3500

PT. A PT. B PT. C

Variabel :
X1 = jumlah komponen yang dipesan dari PT. A
X2 = jumlah komponen yang dipesan dari PT. B
X3 = jumlah komponen yang dipesan dari PT. C
d1 = jumlah komponen yang dipesan dari PT. B dengan harga $ 31/unit
d2 = jumlah komponen yang dipesan dari PT. B dengan harga $ 28/unit

Fungsi Tujuan :
Min. Z = 30X1 + 31d1 + 28d2 + 29X3

Dengan kendala :
- Jumlah pembelian : X1 + d1 + d2 + X3 = 5000
- kendala suplai dari PT. A : X1 < 2000
- kendala suplai PT. B : dengan harga $ 31/unit : d1 < 1500
dengan harga $ 28/unit : d2 < 3500 1500
< 2000
jika d2 = 0 maka d1 < 1500 bentuk ini tidak linier perlu dijadikan linier
jika d2 > 0 maka d1 = 1500

6
Bentuk di atas dapat diganti dengan :
1500y1 < d1 < 1500
0 < d2 < 2000y1
y1 = 0 atau 1
Bukti :
y1 = 0 0 < d1 < 1500
0 < d2 < 0 d2 = 0
y1 = 1 1500 < d1 < 1500 d1 = 1500
0 < d2 < 2000

- Kendala suplai PT. C: dengan jumlah pembelian minimum 2000 unit


dan maksimum 3500 unit dengan harga $ 29/u.
X3 = 0 atau > 2000 tidak linier harus dijadikan linier
X3 < 3500

Bentuk di atas dapat diganti dengan :


2000y2 < X3 < 3500 y2
y2 = 0 atau 1

Bukti :
y2 = 0 0 < X3 < 0 X3 = 0
y2 = 1 X3 > 2000
X3 < 3500

Contoh : (set covering problem)


Pada sebuah kompleks perumahan (seperti pada gambar) akan ditempatkan pos satpam
untuk mengamankan kompleks tersebut. Pos akan ditempatkan pada ujung jalan, sehingga
pos tersebut dapat mengamati jalan yang berujung pada pos tersebut. Setiap jalan
dikehendaki paling sedikit diamati oleh satu pos penjagaan. Tidak setiap ujung jalan perlu
ditempati pos satpam. Buatlah model programa integer yang meminumkan jumlah pos
yang dibangun.

1 A 2 B 3 C 4

D E F G H

5 I 6

J K

7 L 8 M 9 N 10

Variabel : xj = 1 pos ditempatkan pada lokasi tersebut


0 pos tidak ditempatkan pada lokasi tersebut

7
Tujuan : Min. z = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10
Kendala : jalan A : x1 + x2 >1
jalan B : x2 + x3 >1
jalan C : x3 + x4 >1
jalan D : x1 + x7 >1
jalan E : x2 + x7 >1
jalan F : x2 + x8 >1
jalan G : x3 + x5 >1
jalan H : x4 + x6 >1
jalan I : x5 + x6 >1
jalan J : x5 + x9 >1
jalan K : x6 + x10 > 1
jalan L : x7 + x8 >1
jalan M : x8 + x9 >1
jalan N : x9 + x10 > 1

Contoh : (kendala pilihan)


Sebuah perusahaan menggunakan sebuah mesin untuk memproses tiga buah pekerjaan.
Waktu proses, waktu penyerahan, dan biaya keterlambatan per hari dari setiap pekerjaan
adalah seperti pada tabel. Waktu penyerahan diukur dari hari ke nol, yaitu waktu
dimulainya pekerjaan yang pertama kali dikerjakan. Ingin ditentukan urutan pengerjaan
yang memberikan biaya keterlambatan total yang terkecil. Buatlah model programa integer
dari persoalan di atas.

Pekerjaan Waktu proses Waktu penyerahan Biaya keterlambatan


(hari) (hari) ($/hari)
1 5 25 19
2 20 22 12
3 15 35 34

Variabel : xj = waktu mulai pekerjaan j (diukur dari hari ke nol), j = 1, 2, 3

Pada persoalan ini terdapat dua macam kendala, yaitu kendala yang menjamin dua
pekerjaan tidak dikerjakan secara bersamaan dan kendala waktu penyerahan.

8
Kendala dua pekerjaan tidak dapat dikerjakan secara bersamaan :
Dua pekerjaan i dan j dengan waktu proses pi dan pj tidak akan dikerjakan secara
bersamaan : xi > xj + pj atau xi - xj > pj
xi > xj + pj xj xi > pi

bentuk pilihan di atas bukan bentuk yang linier harus dijadikan linier.

Bentuk di ats dapat diganti dengan bentuk :


Myij + xi - xj > pj
M(1-yij) + xj - xi > pi

yij = 1
0

kendala waktu penyerahan :


xj + pj + sj sj = dj
dengan sj = kelebihan waktu penyerahan dari tanggal penyerahannya
sj= keterlambatan waktu dari tanggal penyerahannya

dengan demikian model menjadi :


Tujuan Min. Z = 19s1 + 12s2 + 34s3
Kendala : My12 + x1 x2 > 20
M(1-y12) + x2 x1 > 5
My13 + x1 x3 > 15
M(1-y13) + x3 x1 > 5
My23 + x2 x3 > 15
M(1-y23) + x3 x2 > 20
x1 + 5 + s1 s1 = 25
x2 + 20 + s2 s2 = 22
x3 + 15 + s3 s3 = 35
xj; sj; sj > 0

9
METODE BRANCH AND BOUND
Metode ini adalah teknik yang sederhana dan sangat efisien untuk menyelesaiakn
persoalan integer.
Dengan metode ini daerah penyelesaiannya harus dicari secara sisematis sampai sejumlah
kecil penyelesaian integer yang mungkin diperoleh diperiksa penyelesaian mana yang
optimal. Pertama kali diselesaikan persoalan tanpa memperhatikan kendala integernya.
Jika hasilnya telah integer berarti telah optimal, sedangkan jika belum diperoleh hasil
integer yang dikehendaki kita lakukan branch and bound membuat cabang dan
membatasinya ke arah variabel yang belum integer, yaitu dengan menambahkan kendala
baru pada model sebelumnya.
Pertama : cabang kiri model semula ditambahkan kendala baru xj < a
a adalah bilangan integer terdekat dari xj yang lebih kecil dari xj
Kedua : cabang kanan model semula ditambahkan kendala baru xj > b
b adalah bilangan integer terdekat dari xj yang lebih besar dari xj
Kedua model yang baru tersebut diselesaikan. Akan diperoleh hasil optimal dari kedua
model tersebut, di mana variabel keputusannya sebagian/semuanya merupakan bilangan
integer. Jika kriteria integer yang dikehendaki belum terpenuhi semuanya dilakukan
pencabangan ke arah variabel keputusan yang belum integer. Demikian seterusnya sampai
semua kriteria integer yang dikehendaki terpenuhi.

Contoh 6 :
Model Programa Integer :
f. t. maks. Z = x1 + x2
d. k. 3x1 + x2 < 3
x1 + 3x2 < 6
xj > 0 dan integer j =1; 2

Penyelesaian :
Setelah diselesaikan menggunakan metode simpleks dengan mengabaikan ketentuan
integer diperoleh hasil : x1* = 3/8; x2* = 15/8; z* = 18/8 (tanda * menunjukkan nilai
optimal)
Nilai x1 dan x2 belum integer
Pertama kali dibuat terlebih dahulu x1 menjadi integer dilakukan pencabangan
0 < x1=3/8 < 1. Ditambahkan kendala x1 < 0 untuk cabang kiri dan x1 > 1 untuk cabang
kanan pada model programa linier di atas.

10
P. L. 2 (Model cabang kiri) : P. L. 3 (Model cabang kanan ) :
f. t. maks. Z = x1 + x2 f. t. maks. Z = x1 + x2
d. k. 3x1 + x2 < 3 d. k. 3x1 + x2 < 3
x1 + 3x2 < 6 x1 + 3x2 < 6
x1 < 0 x1 > 1
xj > 0 j = 1, 2 xj > 0 j = 1, 2

Dari P. L. 2 terdapat kendala x1 > 0 x1 < 0. Kedua kendala tersebut akan menghasilkan
x1 = 0 (Nilai di luar tersebut adalah tidak mungkin)

Dari P. L. 3 terdapat kendala tambahan x1 > 1 jika digabungkan dengan hasil x1 optimal
pada 3/8 (pada P.L.1) akan menghasilkan x1 = 1 optimal pada P.L. 3.
Kendala x1 < 0 dan x1 > 1 memaksa nilai x1 menjadi integer (d.h.i. 0 atau 1)
Nilai optimalnya adalah :

P. L. 2 : x1* = 0; x2* = 2; z* = 2
P. L. 3 : x1* = 1; x2* = 0; z* = 1

P.L. 1 x1 = 3/8
x2 = 15/8
z = 18/8

x1 < 0 x1 > 1
P.L. 2 P.L. 3
x1 = 0 x=1
x2 = 2 x2 = 0
z=2 z=1

Oleh karena kedua cabang tersebut langsung memperoleh penyelesaian yang


integer, maka dipilh cabang yang memberikan nilai fungsi tujuan yang optimal. Dengan
demikian penyelesaiannya adalah x1 = 0; x2 = 2; z = 2

Contoh 7 :
Maks. Z = 2x1 + 5x2 + 3x3
d. k. 2x1 + 2x2 + x3 > 13
3x1 - 4x2 - 2x3 < 7
xj > 0 dan integer j = 1; 2; 3

11
Penyelesaian :
Jika diselesaikan dengan P.L. biasa diperoleh :
x1* = 33/7; x2* = 0; x3* = 25/7; z* = 141/7
oleh karena x1 dan x2 belum integer, harus dilakukan pencabangan, akan tetapi pada
cabang yang mana.
Untuk sementara waktu ditentukan melakukan pencabangan ke variabel yang subscriptnya
yang terendah.
Dengan cara ini diperoleh pohon seperti pada gambar 14.5. Pada gambar tersebut hanya
diberikan pecabangan ke arah kiri saja.

Pada gambar 14.6 diberikan pencabangan seperti pada gambar 14.5 namun di sini tidak
diberikan hasil optimasinya. Gambar 14.7 memperlihatkan semua cabang yang lengkap.
Terlihat tidak semua cabang memberikan penyelesaian yang layak (titik 8, 9 dan 10).
Dengan membandingkan semua hasil yang integer, diperoleh keadaan optimal pada titik
11 dengan nilai Z* = 19.

Hasil perhitungan titik 11 adalah :


X1* = 5; X2* = 0
X3* = 3; Z* = 19

Pada gambar 14.8 dilakukan pencabangan ke arah kiri dan kanan. Dari sana terlihat pada
cabang kiri belum semua variabelnya integer dengan nilai Z = 31/2 sedangkan pada cabang
kanan semua variabel telah integer dengan nilai Z = 19. Oleh karena nilai cabang kanan
lebih besar dibandingkan cabang kiri, tidak perlu dilakukan pencabangan lebih lanjut pada
arah bawah cabang kiri tersebut karena dipastikan akan diperoleh cabang dengan nilai Z
yang lebih rendah. Dengan demikian jika telah diperoleh pada suatu cabang kriteria
integernya telah terpenuhi sedangkan cabang lainnya mempunyai nilai Z lebih rendah
maka pencabangan dihentikan dan kondisi optimal adalah yang telah diperoleh.

Prosedur pencabangan digambarkan pada gambar 14.9.

12
x1* = 33/7, x2* = 0
x3* = 25/7, z* = 141/7

x1 < 4 x1 > 5

x1* = 4, x2* = 0
x3* = 5/2, z* = 31/2

x3 < 2 x3 > 3
x1* = 4, x2* = 1/4
x3* = 2, z* = 61/4

x2 < 0 x2 > 1

x1* = 4, x2* = 0
x3* = 2, z* = 14

Gambar 14.5

x1 < 4 x1 > 5

x3 < 2 x1 > 3

x2 < 0 x2 > 1

gambar 14.6

13
1

x1 < 4 x1 > 5

2 11 integer z*=19

x3 < 2 x3 > 3

3 10
tak layak

x2 < 0 x2 > 1

integer z*=14 4 5

x3 < 0 x3 > 1

6 9
tak layak

x2 < 1 x2 > 2

7 8
integer z*=13 tak layak

gambar 14.7

x1* = 33/7, x2* = 0


x3* = 25/7, z* = 141/7

x1 < 4 x1 > 5

x1* = 4, x2* = 0 x1* = 5, x2* = 0


x3* = 5/2, z* = 31/2 x3* = 3, z* = 19

Gambar 14.8

14
Formulasi dari persoalan
Programa Integer

Selesaikan persoalan
sebagai persoalan P. L.

Penyelesaian layak ? Stop

Pencabangan ke var. yang


belum integer dan selesaikan
Persoalan P.L. nya

Stop. Ambil
Dapatkah penyelesaian
pencabangan ditutup? terbaik
sebagai
Penyels. P. I.

gambar 14.9

15

Anda mungkin juga menyukai