• Tidak ada hasil yang ditemukan

LANDASAN TEORI

2.4 Shortest Path

Setiap path dalam digraph (directed graph) mempunyai nilai yang dihubungkan dengan nilai path tersebut, yang nilainya adalah jumlah dari nilai edge path tersebut. Dari ukuran dasar ini dapat dirumuskan masalah seperti “ mencari lintasan terpendek antara dua vertek dan meminimumkan biaya”.

Banyak bidang penerapan mensyaratkan untuk menentukan lintasan terpendek berarah dari asal ke tujuan di dalam suatu distribusi aliran berarah. Algoritma yang diberikan dapat dimodifikasi dengan mudah untuk menghadapi lintasan berarah pada setiap iterasinya.

Suatu versi yang lebih umum dari masalah lintasan terpendek adalah menentukan lintasan terpendek dari sembarang verteks menuju ke setiap verteks lainnya. Pilihan lain adalah membuang kendala tak negatif bagi “jarak”. Suatu kendala lain dapat juga diberlakukan dalam suatu masalah lintasan terpendek.

Definisi 2.6

Lintasan terpendek antara dua verteks dari s ke t dalam jaringan adalah lintasan graph berarah sederhana dari s ke t dengan sifat dimana tidak ada lintasan lain yang memiliki nilai terendah.

Gambar 2.8 Shortest path (garis tebal)

Pada Gambar 9 dapat dilihat bahwa setiap edge terletak pada path-path dari titik 1 ke titik 4. Edge merepresentasikan saluran dengan kapasitas tertentu (contohnya, air) dapat dialirkan melalui saluran. Sedangkan verteks merepresentasikan persimpangan saluran. Air mengalir melalui verteks pada verteks yang dilalui

Lintasan terpendek dari verteks pada graph di atas adalah P = {1 – 2, 2 – 4} dengan kapasitas 4.

Contoh 2.3

Taman Seervada diciptakan sebagai tempat untuk berdarmawisata dan pendakian bukit dengan jumlah yang terbatas. Mobil tidak diizinkan untuk masuk ke dalam taman, tetapi disana terdapat suatu sistem jalan sempit berliku untuk trem dan jeep petugas taman. Sistem jalan tersebut ditunjukkan (tanpa lengkungan) dalam gambar 2.9 dimana O adalah pintu masuk taman sedangkan abjad lain diperuntukkan bagi pos penjagaan (dengan beberapa fasilitas yang terbatas). Angka-angka pada gambar menunjukkan jarak tempuh antara pos-pos tersebut dalam satuan mil.

1 2 3 4 3X1 5X3 2X2 1X4 4X3

Taman tersebut memiliki pemandangan yang sangat indah di pos T. Sejumlah kecil trem digunakan sebagai sarana transportasi para pelancong dari pintu masuk taman menuju pos T dan sebaliknya. Pengelola taman ini menghadapi suatu permasalahan yaitu menentukan lintasan dengan jarak tempuh terpendek dari pintu masuk menuju pos T dalam upaya mengoperasikan trem.

Gambar 2.9 Sistem Jalan di Taman Seervada

Perhatikan suatu jaringan kerja tak berarah yang terhubungkan dengan dua buah verteks istimewa yang disebut sebagai verteks asal dan tujuan. Berpadanan dengan setiap link (garis tak berarah) terdapat jarak tak negatif. Tujuannya adalah menentukan lintasan terpendek (lintasan dengan total jarak terpendek) dari asal menuju tujuan.

2.5 0-1 Programming (Binary Integer)

A O B D T C E 2 2 5 4 1 4 7 4 3 1 5 7

Model 0-1 Programming biasanya dipilih untuk permasalahan yang variabel variabelnya tidak dimungkinkan bertipe bilangan tidak bulat, misalnya : variabel jumlah orang.

0-1 Programming adalah program linear (Linear Programming) dengan tambahan persyaratan bahwa semua atau beberapa variabel bernilai bulat nonnegatif, tetapi tidak perlu bahwa parameter model juga bernilai bulat. 0-1 Programming

digunakan untukmemodelkan permasalahan yang variabel-variabelnya tidak mungkin berupa bilangan yang tidak bulat (bilangan real), seperti variabel yang merepresentasikan jumlah orang, karena jumlahorang pasti bulat dan tidak mungkin berupa pecahan. 0-1 Programming juga biasanya lebih dipilih untuk memodelkan suatu permasalahan karena program linear dengan variabel berupa bilangan real

kurang baik dalam memodelkan permasalahan yangmenuntut solusi berupa bilangan integer, misalnya keuntungan produksi 3 pesawat dibandingkan dengan keuntungan produksi 3,5 pesawat akan menghasilkanselisih keuntungan yang signifikan.

Ada banyak kasus dalam masalah 0-1 Programming yang membatasi variabel model bernilai nol atau satu. Dalam kasus demikian, persoalan lintasan hanya memiliki dua pilihan yaitu masuk atau keluar dari jaringan. Jika variabel Xj bernilai satu, persoalan masuk, dan jika variabel Xj bernilai nol, persoalan keluar.

Dalam masalah 0-1 Programming, jika persoalan mengharapkan semua variabel basis bernilai bulat positif atau nol, dinamakan pure(all) integer programming. Jika persoalan hanya mengharapkan variabel-variabel tertentu bernilai

integer, dinamakan mixed integer programming. Dan jika persoalan hanya mengharapkan nilai nol atau satu untuk variabelnya, dinamakan zero one integer

Pemrograman bulat dibutuhkan ketika keputusan harus dilakukan dalam bentuk bilangan bulat (bukan pecahan yang sering terjadi bila kita gunakan metode simpleks). Model matematis dari pemrograman bulat sebenarnya sama dengan model linear programming, dengan tambahan batasan bahwa variabelnya harus bilangan bulat.

Terdapat 3 macam permasalahan dalam pemrograman bulat, yaitu:

1. Pemrograman bulat murni, yaitu kasus dimana semua variabel keputusan harus berupa bilangan bulat.

2. Pemrograman bulat campuran, yaitu kasus dimana beberapa, tapi tidak semua, variabel keputusan harus berupa bilangan bulat

3. Pemrograman bulat biner, kasus dengan permasalahan khusus dimana semua variabel keputusan harus bernilai 0 dan 1

Walaupun persoalan umum 0–1 linear programming dapat diselesaikan dengan algoritma cutting plane atau branch-and-bound, Blintasan Force mengembangkan suatu algoritma enumerative yang efisien dan menarik untuk menyelesaikan persoalan ini. Sangat singkat sebagai dasar integer nonlinear programming. Fungsi digunakan untuk menyamaratakan kesalahan metode untuk menyelesaikan persoalan all integer dan mixed-integer nonlinear programming.

Model pemrograman bulat dapat juga digunakan untuk memecahkan masalah dengan jawaban ya atau tidak (yes or no decision) dibatasi menjadi dua, misal 1 dan 0, jadi

Xj =    tidak keputusan untuk ya keputusan untuk , 0 , 1

Model ini seringkali disebut sebagai model pemrograman bulat biner .

2.6 Knapsack

Algoritma 0 – 1 Programming merupakan salah satu tipe masalah Knapsack dimana keadaan tertentu terjadi, masing-masing keadaan mempunyai sebuah nilai yang dihubungkan dengan besarannya. Secara nyata bahwa solusi optimal dari masalah knapsack akan menunjukkan kemungkinan yang terbaik.

Pada masalah ini akan terdorong untuk menyelesaikan suatu persoalan dalam menentukan lintasan terpendek pada suatu distribusi aliran. Pendekatan yang sederhana dapat dimasukkan ke dalam program komputer untuk memeriksa semua harga 0-1 yang mungkin, dipilih yang terbaik yang memenuhi kendala.

Contoh 2.4 Persoalan Knapsack

Seorang pendaki gunung ingin membawa semua peralatan yang ia perlukan dalam satu kantong (sack) saja. Misalkan ada sejumlah n peralatan yang diperlukan, tetapi ia tidak ingin berat seluruhnya melebihi b kg. Bila berat peralatan ke – j adalah aj kg dan harganya adalah Cj maka persoalan yang dihadapi ialah memaksimumkan harga semua peralatan tanpa melebihi batas berat, yakni b kg. Misalkan jenis peralatan ialah Xj dan,

Xj =

0 bila alat ke – j tidak ikut

Berdasarkan keterangan diatas, persoalan dapat dirumuskan sebagai berikut :

Max. f = c1 X1 + c2 X2 + ….. + cn Xn Dengan kendala :

a1 X1 + a2 X2 + ….. + an Xn ≤ b

X1 , X2 , ………. Xn = 0 atau 1

Persoalan ini merupakan persoalan Knapsack sebagai persoalan nol satu (0-1).

0 - 1 atau biner, Persoalan Knapsack yaitu masukan dari n item dan suatu

knapsack, dengan

pj = keuntungan dari item j, wj = bobot dari item j,

c = kapasitas dari knapsack

pilih subset dari item sebagai

maksimumkan j j jx p z

= = 1 dengan kendala , 1 c x w j n j j

= xj 0 atau 1, j ε N {1,…..,n} dimana

     = 0 1 j x

Dokumen terkait