Latar Belakang 0-1 Programing Menentukan Shortest Path yang Memenuhi Kendala

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Masalah dalam menentukan rantaian terpendek diantara pasangan node titik tertentu dalam suatu graph telah banyak menarik perhatian. Persoalan dirumuskan sebagai kasus khusus dari persoalan aliran biaya minimal, dan algoritma efisien yang tersedia untuk menghitung lintasan terpendek dan biaya minimum. Shortest path yang diperoleh akan meminimumkan fungsi linear yang khusus fungsi dari path seperti biaya, jarak atau waktu. Perumusan persoalan ini akan menjadi salah satu kegunaan dari lintasan dengan jarak waktu diminimumkan terhadap biaya yang dianggarkan. Beberapa masalah dalam menentukan rantaian terpendek diantara pasangan node tertentu dalam suatu graph atau jaringan kerja, antara lain : masalah transportasi, jaringan komunikasi, serta masalah pengiriman barang tidak bisa lepas dari permasalahan jarak waktu dan tentunya juga masalah biaya. Permasalahan dituntut untuk meminimisasi jarak waktu ke tujuan yaitu dengan memilih lintasan tersingkat dengan biaya yang telah dianggarkan sehingga dapat dicapai hasil yang optimal. Sebagai contoh dapat kita lihat pada masalah transportasi, kita dihadapkan pada pilihan lintasan perjalanan dari Kota S sumber ke Kota T tujuan, untuk sampai ke Kota T ada beberapa lintasan berbeda yang dapat dilalui dan juga biaya perjalanan yang berbeda, permasalahan yang terjadi adalah lintasan terpendek mana yang harus dipilih yang sesuai dengan biaya yang dianggarkan untuk perjalanan tersebut agar hasil yang optimal diperoleh. Universitas Sumatera Utara Algoritma Dijkstra merupakan dasar pemikiran untuk menentukan suatu lintasan terpendek dalam suatu graph berarah dari suatu titik awal sumber ke suatu titik akhir tujuan, bilamana pada setiap node dan arc menotasikan suatu ukuran atau bobot yang tidak negatif. Algoritma ini juga untuk menentukan lintasan terpendek untuk setiap pasangan lintasan yang diinginkan. Pada umumnya algoritma Dijkstra digunakan hanya untuk menentukan lintasan terpendek pada suatu graph. Tetapi bilamana shortest path tersebut harus memenuhi kendala-kendala linear yang ditentukan, algoritma tersebut tidak dapat digunakan. Masalah khusus dari persoalan graph ini adalah mendapatkan suatu lintasan dengan jarak minimum yang memenuhi terhadap subject to kendala anggaran budgetary. Kemungkinan masalah lainnya adalah path juga merupakan minimasi biaya yang harus memenuhi kendala waktu. Andaikan diberikan sebuah graph G dengan node titik N = 1,2,…,i dan arc garis F = 1,2,…,j serta ax,y dan bx,y adalah jarak waktu dan biaya. yang dihubungkan dengan tiap garis i,j dalam graph G. Masalahnya adalah menentukan lintasan terpendek dari titik 1 sumber ke titik n tujuan dalam graph G yang memenuhi terhadap kendala biaya yang dianggarkan. Jarak waktu dan biaya dari lintasan adalah jumlah nilai-nilai yang terdapat pada tiap garis dalam lintasan. Universitas Sumatera Utara Gambar 1.1 Contoh ilustrasi masalah shortest path yang berkendala. Gambar diatas menerangkan sebuah graph G dimana a,b = 10, 12 dinyatakan sebagai jarak waktu dan biaya yang dihubungkan tiap garis Fi,j, dan node 1, 2, 3, 4 adalah node-node N yang ditentukan pada graph. Dan pada gambar juga diperlihatkan yang bergaris tebal adalah merupakan lintasan terpendek yang harus dilewati dari sumber node 1 ke tujuan node 4. Pada persoalan ini diandaikan biaya sebagai kendala, dan ditentukan pula biaya berbanding terbalik dengan jarak atau keduanya bernilai sama. Menentukan jarak terpendek yang memenuhi kendala biaya yang dianggarkan pada suatu graph adalah merupakan salah satu tipe masalah Integer Knapsack, yaitu dimana kita diminta untuk memilih bobot minimum yang akan dimasukkan kedalam knapsack karung yang mempunyai bobot maksimum tertentu. Persoalan ini disebut Integer Knapsack karena tiap objek hanya memiliki dua status yaitu terpilih atau tidak. Untuk permasalahan knapsack pada suatu graph, bobot minimum yang dipilih adalah merupakan lintasan terpendek yang harus dilewati dari titik sumber ke titik tujuan. Sedangkan biaya adalah sebagai kendala yang harus dipenuhi dalam menentukan lintasan terpendek. 2 4 3 1 10,12 9,4 8,5 3,2 8,1 4,1 f 1 f 2 f 3 f 4 f 5 f 6 Universitas Sumatera Utara Masalah knapsack ini dapat dirumuskan dengan memberi nilai 1 sampai n dan memperkenalkan suatu vektor variabel biner x j j = 1,…,n dengan arti sebagai berikut :      = 1 j x Jika p j merupakan ukuran kelayakan yang diberikan oleh objek j, w j adalah besarannya dan K adalah bobot maksimum dari knapsack, masalahnya akan terpilih, diantara semua semua vektor biner x 0–1 yang akan memenuhi kendala ∑ = ≤ n j j j K x w 1 Dimana salah satu fungsi objektif di maksimumkan ∑ = n j j j x p 1 0–1 Programming adalah salah satu metode yang dipergunakan untuk menyelesaikan masalah Knapsack, dimana keadaan tertentu terjadi dan masing- masing keadaan mempunyai sebuah nilai yang dihubungkan dengan besarannya. Secara nyata bahwa solusi optimal dari masalah Knapsack akan menunjukkan kemungkinan yang terbaik. Oleh sebab itu penulis berkeinginan untuk membahas bagaimana metode 0-1 Programming dalam menyelesaikan masalah lintasan terpendek yang memenuhi kendala-kendala yang telah ditentukan, serta menerapkannya dengan menggunakan program LINDO . Jika objek j dipilih Lainnya Universitas Sumatera Utara

1.2 Perumusan Masalah