• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA 2.1 Program Integer - Metode Balas Dalam Penyelesaian Model Knapsack

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 TINJAUAN PUSTAKA 2.1 Program Integer - Metode Balas Dalam Penyelesaian Model Knapsack"

Copied!
12
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1 Program Integer

2.1.1 Definisi Program Integer

Program Integer adalah program linier (Linear Programming) di mana variabel-variabelnya bertipe integer(bulat). Program Integerdigunakan untuk memodelkanpermasalahan yang variabel-variabelnya tidak mungkin berupa

bilangan yang tidak bulat (bilangan riil), seperti variabel yang merepresentasikan

jumlah orang atau benda,karena jumlah orang atau benda pasti bulat dan tidak

mungkin berupa pecahan. Program Integer juga biasanya lebih dipilih untuk

memodelkan suatu permasalahan karena program linier dengan variabel berupa

bilangan riil kurang baik dalammemodelkan permasalahan yang menuntut solusi

berupa bilangan integer, misalnya variabel-variabel keputusannya jumlah cabang

Bank di daerah berbeda di suatu Negara. Solusi pecahan tentu tidak dapat diterima dalam keputusan Bank.

Program Integermerupakan bentuk khusus atau variasi dari program linier,

di mana salah satu atau lebih dalam vektor penyelesaiannya memiliki nilai

integer.Program Integer yang membatasi variabel keputusan pada sebagian saja yang dibatasi pada nilai integer disebut Program IntegerCampuran (Susi, Astuti H. 1999). Pokok pikiran utama dalam Program Integer adalah merumuskan

masalah dengan jelas dengan menggunakan sejumlah informasi yang tersedia.

Sesudah masalah terumuskan dengan baik, maka langkah berikut ialah

menerjemahkan masalah ke dalam bentuk model matematika. .

Pada masalah Program Integer untuk pola memaksimumkan, nilai tujuan

dari Program Integer tidak akan pernah melebihi nilai tujuan dari program linier

(2)

2.1.2 Jenis-Jenis Program Integer

Terdapat tiga jenis Program Integer, yaitu sebagai berikut:

1. Program Integer Murni (Pure Integer Programming), yaitu program linier yang menghendaki semua variabel keputusan harus merupakan bilangan bulat

non-negatif.

2. Program Integer Campuran (Mixed Integer Programming), yaitu program linier yang menghendaki beberapa, tetapi tidak semua variabel keputusan

harus merupakan bilangan bulat non-negatif.

3. Program Integer Biner (Zero One Integer Programming), yaitu program linier yang menghendaki semua variabel keputusan harus bernilai 0 dan 1.

Bentuk umum dari masalah Program Integer Murni adalah sebagai

berikut(Susanta, B. 1994):

Menentukan

xj

, j= 1, 2, ... , n

Maksimumkan atau Minimumkan:Z =

𝑛𝑗=1

𝑐

j

x

j Kendala:

∑ 𝑎

j

x

j =

b

𝑥

j≥ 0dan

x

j𝜖bilangan bulat 2.1 untuk

j

=1,2, … ,n

di mana:

Z = fungsi sasaran atau fungsi tujuan

x

j = variabel keputusan

c

j= koefisien fungsi tujuan

𝑎

j = koefisien kendala

b

= nilai ruas kanan

Bentuk 2.1 di atas merupakan bentuk umum dari Program Integer Murni. Jika

(3)

Programming).Program Integer Campuran merupakan Program Integer tapi variabel keputusannya tidak semua merupakan bilangan bulat ada variabel

keputusan yang bernilai pecahan (Yamit, Zulian. 1991).

Bentuk umum dari masalah Program Integer Biner adalah sebagai berikut:

Maksimum atau Mininimum: Z =

𝑛𝑗=1

𝑐

𝑗

𝑥

𝑗

Kendala:

𝑛𝑗=1

𝑎

𝑗

x

j

=

b

j= 1, 2, … , n

x

j≥ 0dan

x

j𝜖{0, 1} 2.2

2.1.3 Sifat Umum Program Integer

Semua persoalan Program Integer mempunyai empat sifat umum yaitu, sebagai

berikut (Susanta, B. 1994):

1. Fungsi Tujuan (objective function)

Persoalan Program Integer bertujuan untuk memaksimumkan atau

meminimumkan pada umumnya berupa laba atau biaya sebagai hasil yang

optimal.

2. Adanya kendala atau batasan (constrains) yang membatasi tingkat sampai di mana sasaran dapat dicapai. Oleh karena itu, untuk memaksimumkan atau

meminimumkan suatu kuantitas fungsi tujuan bergantung kepada sumber daya

yang jumlahnya terbatas.

3. Harus ada beberapa alternatif solusi layak yang dapat dipilih.

4. Tujuan dan batasan dalam permasalahan Program Integer harus dinyatakan

dalam hubungan dengan pertidaksamaan atau persamaan linier.

(4)

Algoritma atau Metode yang cukup baik untuk memberikan solusi dalam Program

Integeryaitu:

1. Pencabangan dan Pembatasan (Branch and Bound)

Cara ini mula-mula dipakai untuk menyelesaikan program bilangan bulat.

Ternyata cara ini tidak saja hanya dapat digunakan untuk program bilangan

cacah, tetapi juga dapat digunakan untuk program matematika yang lain.

Menurut (Taha, H.A.2007),untuk melaksanakan teknikpencabangan dan pembatasan (Branch and Bound) ada dua operasi dasar, yaitu:

a. Pencabangan (Branching)

Pencabangan merupakan langkah yang dilakukan pada persoalan yang

tidak integer menjadi subpersoalan yang integer. b. Pembatasan (Bounding)

Pembatasan merupakan pembatasan setiap subpersoalan yang dibuat

dengan pencabangan.Batas ini penting untuk tingkatan jawaboptimal dari

subpersoalan dan penemuan jawab optimal bilangan bulat.

Teknik pencabangan dan pembatasan (Branch and Bound) mencari solusi optimal dari suatu persoalanProgram Integerdenganmenumerasi titik-titik

dalam daerah fisibel dari suatu subpersoalan.

Keuntungan dari cara pencabangan dan pembatasanadalah 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, terutama bila yang dibutuhkan hanya keterangan mengenai nilai

objektif yang optimum.

Langkah-langkah Metode Branch and Bound: 1. Pembatasan(Bound)

Pada algoritma branch and bound terdapat dua batas yaitu batas atas (upper bound) dan batas bawah (lower bound).

2. Pencabangan(Branching)

Pencabangan dilakukan jika masih terdapat variabel keputusan yang harus

bernilai bulat namun memiliki solusi yang tidak bulat. Pencabangan

(5)

Penambahan pembatas ini ditujukan untuk membuat variabel keputusan

ang belum bernilai integersupaya bernilai integer. 3. Penghentian pencabangan(Fathoming)

Pencabangan atau pencarian solusi pada suatu submasalah dihentikan jika:

a. Infeasible atau tidak mempunyai daerah layak.

b. Semua variabel keputusan yang harus bernilai bulat sudah bernilai

bulat.

c. Pada masalah maksimisasi, penghentian pencabangan pada suatu

submasalah dilakukan jika batas atas dari submasalah tersebut tidak

lebih besar atau sama dengan batas bawah.

d. Pada masalah minimisasi penghentian pencabangan pada suatu

submasalah dilakukan jika batas bawah tidak lebih lebih kecil atau

sama dengan batas atas.

2. Pemotongan Bidang Datar (Cutting Plane)

Pendekatan yang dilakukan dalam teknik pemotonganbidang datar (Cutting Plane) adalah denganmembuat pembatas tambahan yang memotong ruang layak dari program linier sehingga dapat mengeliminasi solusi yang tidak

integer. Proses pemotongan akan terus berlangsung sehingga diperoleh jawaban dengan seluruh variabel (yang dikehendaki) berharga bilangan bulat

(integer). Keberhasilan teknikini sangat terbatas, bergantung pada struktur persoalan yang dihadapi. Artinya hanya persoalan tertentu yang dapat

diselesaikan dengan teknik ini. Karena itu, sekarang teknik ini hampir tidak

pernah digunakan lagi.

Kelemahan dari algoritma pemotongan bidang datar adalah kesalahan-

kesalahan pada pembulatanyang dilakukan dalam perhitungan dapat

menghasilkanjawaban bilangan bulat yang salah. Selanjutnya jawaban dari

persoalan masih belum fisibel berarti tidak ada jawaban bilangan bulat yang

diperoleh sampaijawaban bilangan bulat yang optimal dicapai tadi,dan ini

berarti bahwa tidak ada jawaban integer yang baik jika perhitungan dihentikan lebih awal sebelum mencapai hasil jawaban yang optimal.

(6)

1. Selesaikan masalah Program Integerdengan Metode Simpleks.

2. Periksa solusi optimum. Jika semua variabel basis memiliki nilai bulat,

solusi optimum integer telah diperoleh dan proses solusi telah berakhir. Jika satu atau lebih variabel basis masih memiliki nilai pecahan, lanjut

langkah 3.

3. Buatlah suatu skala gomory dan cari solusi optimum dengan dual

Simpleks.

3. Metode Balas

Egon Balas mengembangkan satu cara atau algoritma untuk menyelesaikan

problema program bilangan cacah nol-satu (0-1). Pendekatan yang digunakan

ialah pendekatan enumerasi, baik yang total maupun implisit, terhadap setiap

kombinasi variabel yang diatur sama dengan 0 dan 1. Kombinasi 0 dan 1 yang

memenuhi semua kendala dan meminimumkan fungsi tujuan dinyatakan

sebagai jawaban optimal (Benjamin, Lev dan Weiss, Howard J. 1982).

Kalau terdapat sejumlah n variabel, maka ada 2n kombinasi yang mungkin. Tetapi, sangatlah sulit untuk memeriksa semua 2n kombinasi variabel yang

memenuhi semua kendala. Oleh karena itu, diperlukan suatu prosedur yang

secara sistematis mampu memeriksa hanya sebagian dari semua kombinasi

yang ada, sebelum mencapai satu jawaban optimal. Inilah yang disebut

sebagai enumerasi implisit (Taha H.A.2007).

Prosedur pokok dari cara enumerasi implisit ini dapat dinyatakan sebagai

berikut:

1. Dimulai dengan mengatur semua variabel sama dengan 0.

2. Tetapkan secara sistematis variabel tertentu untuk dijadikan berharga 1

hingga ditemukan jawaban layak.

3. Periksa dengan cermat kombinasi mana yang bisa dikembangkan hingga

dapat dijadikan sebagai jawaban optimal.

Bentuk umum Metode Balas (Martello Silvano, Psinger, David dan Toth,

(7)

MinimumkanZ =

𝑛𝑗=1

𝑐

j

x

j

Kendala:

∑ 𝑎

j

x

j

b

2.3

di mana:

Z = fungsi tujuan atau fungsi objektif.

c

j

x

j =variabel dan koefisien keputusan.

untuk

j

=1,2, … ,n

x

j≥ 0 dan

x

j𝜖{0, 1}

Kondisi yang tidak mengikuti bentuk umum dari Metode Balas akan

dilakukan beberapa perubahan, antara lain:

1. Fungsi objektif yang setiap variabel xjmempunyai nilai koefisien negatif,

untuk variabel xjdiganti menjadi (1 - xj).

2. Kendala dengan bentuk pertidaksamaan ≤, kendala ini akan diubah ke

dalam bentuk pertidaksamaan ≥ dengan cara mengalikan ruas kiri dan

kanan dengan (-1).

Adapun sistematika cara Balas adalah sebagai berikut:

1. Tetapkan: 𝑆= {1, 2, ... , n}

Sc= Ø

Zmin = 1010

2. Hitung 𝑍=∑ 𝑐𝑖𝜖𝑠̅ 𝑖𝑥𝑖

Beberapa dari xiditetapkan berharga 0.

3. Hitung tiap kendala Qi (i = 1, 2, ... , n) dengan menggunakan variabel dalam Sc

dengan harga-harga yang telah ditetapkan ditambah dengan variabel dalam S

yang masing-masing himpunan sama dengan 0. Jika tiap kendala layak, maka

harga variabel yang digunakan untuk menghitung kendala membentuk suatu

jawab layak. Misalkan K merupakan himpunan kendala yang tidak layak. 4. Bila Khimpunan kosong, maka teruskan ke langkah 12, kalau tidak teruskan

ke langkah 5.

(8)

6. Pilih variabel dalam S yang mempunyai kesempatan yang membuat semua kendala menjadi layak, yaitu misalkan T himpunan variabel dalam S yang mempunyai:

a. Koefisien positif dalam beberapa kendala dalam K. b. Koefisien fungsi tujuan <B.

Kendala yang tidak terpenuhi hanya dapat dibuat lebih tidak layak dengan

menetapkan harga 1 terhadap variabel dengan koefisien negatif dalam

kendala, jadi hanya variabel dengan koefisien positif dalam kendala yang

diketahui yang mempunyai kesempatan membuat kendala jadi layak (≥ 0).

Begitu juga , suatu variabel xk dalam S sedemikian hingga:

𝑍=� 𝐶𝑖𝑥𝑖

𝑖𝜖𝑆

+ 𝐶𝑘 ≥ 𝑍𝑚𝑖𝑛

tidak termasuk dalam S karena jawab layak yang bersesuaian dengan Zmin

sekurang-kurangnya sudah cukup bagus.

7. Bila T himpunan kosong, teruskan ke langkah 14 kalau tidak teruskan ke langkah 8.

8. Untuk setiap kendala dalam 𝐾, tetapkan harga 1 bagi variabel bebas dalam 𝑇

yang mempunyai koefisien positif dalam kendala yang diketahui. Tetapkan

variabel dalam Sc sama dengan harga yang sudah ditentukan.

9. Bila masih ada dari kendala tetap tidak dipenuhi, maka terus ke langkah 11

kalau tidak terus ke langkah 10.

10.Pindahkan dari Scdan tambahkan ke S variabel dalam T yang meminimumkan jarak total dari kelayakan untuk seluruh kendala. Proses ini digarap dalam

langkah a sampai c.

a. Hitung tiap kendala Qi (𝑖= 1, ... , n) untuk tiap variabel, misalkan xkdalam

𝑇 dengan menggunakan variabel Sc dengan harga yang telah ditetapkan, xk

= 1 dan tiap variabel S yang tersisa samakan dengan 0.

b. Harga absolut dari hasil negatif adalah solusi yang dikembangkan menjadi

layak.

(9)

11.Kalau Sc kosong, teruskan kelangkah 21. Kalau tidak, tidak ada jawab parsial layak yang disajikan oleh S mempunyai harga yang lebih kecil dari

Zmin,teruskan ke langkah 16.

12.Variabel dalam Sc dengan harga yang sudah ditetapan, bersama-sama dengan variabel dalam S yang ditetapkan sama dengan 0, membentuk jawab yang lengkap. Terus ke langkah 13.

13.Bila Z < Zmin. Maka terus ke langkah 14, kalau bukan maka terus kelangkah 15.

14.Buat Zmin = Z. Simpan dulu jawab lengkap ini dan terus ke langkah 15.

15.Jajakan ulang

Bila Sc kosong maka jawaban layak xi = 0 (i = 1, 2, ... , n) adalah optimal, lalu

terus ke langkah 20. Bila tidak, terus kelangkah 16.

16.Bila anggota terakhir dalam Sc negatif, terus kelangkah 18, kalau tidak terus kelangkah 17. Anggota terkanan dalam 𝑆̅ adalah anggota terakhir dalam Sc.

17.Jadikan anggota terakhir (paling kanan) dalam Sc negatif dan kembali kelangkah 2. Variabel yang bersesuaian dengan anggota terakhir telah

ditetapkan berharga 1 (indeks yang sesuai dalam Sc sudah positif). Sekarang kita menetapkan variabel jadi 0 (ubah tanda anggota terakhir dalam Sc menjadi negatif).

18.Bila semua anggota dalamSc bertanda negatif, maka jawab optimal telah ditemukan sehingga terus kelangkah 20,kalau belum terus kelangkah 19.

19.Jadikan anggota positif terkanan dalam Sc menjadi negatif dan pindahkan anggota yang sisa kesebelah kanan dalam Sc. Tambahkan anggota yang sudah keluar, masuk kedalam S. kembali kelangkah 2.

20.Jawab lengkap sesuai dengan Zmin adalah optimal. Bila Zmin = 10 10

maka

jawaban optimal tidak ada.

21.Tidak ada jawab optimal untuk problemnya.

2.2Knapsack

(10)

Knapsack adalah tas atau karung yang digunakan untuk memasukan sesuatu, tetapi tidak semua barang dapat ditampung dalam karung tersebut. Karung

tersebut hanya dapat menampung beberapa objek dengan total ukuran atau

beratnya lebih kecil atau sama dengan kapasitas karung.

2.2.2 Permasalahan Knapsack

Permasalahan knapsack adalah permasalahan program linier yang hanya memiliki satu kendala. Program Integer merupakan salah satu bentuk program linier dengan

penambahan syarat bahwa semua variabel keputusan bernilai bulat (integer). Permasalahan knapsack bilangan bulat adalah permasalahan program bilangan bulat yang hanya memiliki satu kendala. Salah satu dari banyak benda akan

dimasukan ke dalam suatu benda yang berkapasitas. Masing-masing benda

memiliki harga dan berat yang mana akan dimasukan untuk mendapatkan hasil

maksimum (Martello Silvano, Psinger, David dan Toth, Paolo. 2000). Sebagai

contoh, misalnya perusahaan properti dalam menggunakan modalnya dalam 1

tahun untuk pembelian barang. Tujuan dari perusahaan yaitu mencari keuntungan

optimal selama setahun dan banyaknya barang. Harga dasar digunakan sebagai

kendala, sedangkan keuntungan barang sebagai fungsi tujuan. Pada masalah ini

diasumsikan persediaan barang sebelumnya habis terjual. Jika variabel keputusan

mewakili banyaknya pembelian dari kelompok barang, maka jawaban berupa

pecahan tidak tepat dalam menyelesaikan masalah. Jadi diperlukan penambahan

syarat yaitu syarat yang menyatakan variabel-variabel yang harus bernilai bulat.

2.2.3 Jenis-Jenis PermasalahanKnapsack

Terdapat tiga jenis permasalahan pada Knapsack berdasarkan kasus yang ingin dibahas, yaitu:

1. Permasalahan Knapsack untuk bidang transportasi

Permasalahan Knapsack untuk bidang transportasi merupakan suatu permasalahan yang sering dihadapi oleh perusahaan dalam pengiriman dan

pengelolaan barang. Permasalahan ini sering juga terjadi pada media

transportasi ketika akan mengangkut banyak barang, di mana berat barang

(11)

media transportasi tersebut, dan diharapkan dari pengangkutan barang tersebut

didapatkan profit atau keuntungan yang semaksimal mungkin.

2. Permasalahan Knapsackatau permasalahan ransel

Permasalahan Knapsack itu sendiri merupakan persoalan yang menarik di mana dihadapkan dengan persoalan optimasi pemilihan pemasukan benda ke

dalam wadah yang memiliki keterbatasan ruang dan daya tampung di mana

benda yang dimasukan harus dalam keadaan utuh. Masing-masing benda yang

ada di dalam memiliki sebuah nilai yang memiliki berat, harga dan lain-lain

sebagai penentu dalam proses pemilihan. Pada akhir proses diinginkan

memiliki solusi optimum dengan benda yang ada di dalamnya.

3. Permasalahan Knapsack untuk bidang investasi

Permasalahan Knapsack untuk bidang investasi yaitu di mana seorang investor akan menginvestasikan uangnya kepada berbagai perusahaan untuk

mendapatkan keuntungan maksimum, dari hasil keuntungan tersebut di mana

investor akan menentukan perusahaan mana yang lebih memberikan untung

yang besar kepadanya (dipilih) dibandingkan dengan perusahaan lain (tidak

dipilih).

2.2.4 Jenis-Jenis Knapsack

Permasalan Knapsack memiliki tiga jenis persoalan, yaitu: 1. Knapsack0-1

Sesuatu yang dimasukkan ke dalam karung dimensinya harus dimasukkan

semua atau tidak sama sekali.

2. KnapsackBounded

Sesuatu yang dimasukkan ke dalam karung dimensinya bisa dimasukkan

sebagaian atau seluruhnya.

3. KnapsackUnbounded

Setiap barang tersedia lebih dari satu unit, jumlahnya tidak terbatas.

4. Fractional Knapsack Problem

Barang boleh dibawa sebagian saja (unit dalam pecahan).

(12)

Bagian terpenting dari penelitian adalah bagaimana menerjemahkanpermasalahan

sehari-hari ke dalam model matematis. Faktor-faktor yangmempengaruhi

pemodelan harus disederhanakan dan apabila ada data yangkurang, kekurangan

tersebut dapat diasumsikan atau diisi dengan pendekatan yangbersifat rasional.

Permasalahan knapsack bilangan bulat merupakan permasalahan programbilangan bulat yang memiliki satu kendala tunggal, sehingga pada

modelnyaditambahkan batasan untuk variabel keputusan yang dihasilkan harus

bernilai bulat (integer).Karena permasalahan knapsack bilangan bulat merupakan permasalahanprogram linier bilangan bulat, maka dalam model matematika dapat

ditulissebagai berikut:

Maksimum atau Minimum Z =

𝑛𝑗=1

𝑐

j

x

j

Kendala:

𝑛𝑗=1

𝑎

𝑗

x

j

=

b

x

j≥ 0 dan

x

j𝜖bilangan bulat 2.4

di mana:

Z = nilai optimal dari fungsi tujuan

c

j= keuntungan barang-j, dengan j= 1, 2,…,n

b

= besar sumber daya yang tersedia

x

j= banyaknya barang jenis ke-j

Referensi

Dokumen terkait

This tree grows in equatorial regions, especially in place such as South America, Africa, and Indonesia2. The cacao tree produces a fruit about the size of a

Jika pada tanggal / waktu tersebut diatas Saudara atau yang mewakili Saudara (yang ditunjukkan dengan Surat Kuasa dari Perusahaan ) tidak dapat hadir dan/atau

Based on both agency and behavioral theory and earlier empirical studies for both cash specifically and slack generally, we hypothesize a quadratic relationship with a negative

Hal ini terbukti dengan penelitian sebelumnya yaitu Siti Rohmawati yang menyatakan bahwa adanya bentuk kesinoniman, keantoniman, kehiponiman, kemeroniman,

5) Effect (Hasil).. 12 Efek adalah hasil yang melekat pada khalayak sebagai akibat dari perubahan psikologis. Pengaruh atau efek adalah perbedaan antara apa yang dipikirkan,

persentase PERBANDINGAN antara LUAS SELURUH LANTAI DASAR BANGUNAN GEDUNG dan LUAS LAHAN PERPETAKAN ATAU LAHAN PERENCANAAN yang dikuasai sesuai Rencana Tata

 Artikel memuat masa kekuasaan belanda kedua di Indonesia dikaji secara mendalam skor 4  Artikel memuat masa kekuasaan belanda kedua di Indonesia dikaji cukup mendalam skor 3

Berdasarkan analisis data dan pengujian hipotesis yang telah dilakukan maka dapat ditarik kesimpulan sebagai berikut. Koefisien determinasi atau R square adalah