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
Universitas Sumatera Utara
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 untuk memodelkan permasalahan yang variabel-variabelnya tidak mungkin
berupa bilangan yang tidak bulat bilangan real, seperti variabel yang merepresentasikan jumlah orang, karena jumlah orang 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 yang menuntut solusi berupa bilangan integer, misalnya keuntungan produksi 3 pesawat dibandingkan dengan keuntungan
produksi 3,5 pesawat akan menghasilkan selisih 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 pureall 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 programming.
Universitas Sumatera Utara
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
keputusan ya atau tidak diwakili oleh variabel, katakanlah, x
j
, menjadi:
Universitas Sumatera Utara
X
j
=
tidak keputusan
untuk ya
keputusan untuk
, ,
1
Model ini seringkali disebut sebagai model pemrograman bulat biner .
2.6 Knapsack