• Tidak ada hasil yang ditemukan

PENERAPAN ALGORITMA RELAKSASI PADA PERMASALAHAN MINIMUM COST FLOW

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENERAPAN ALGORITMA RELAKSASI PADA PERMASALAHAN MINIMUM COST FLOW"

Copied!
6
0
0

Teks penuh

(1)

PENERAPAN ALGORITMA RELAKSASI PADA PERMASALAHAN MINIMUM COST FLOW

Supiatun, Sapti Wahyuningsih, Darmawan Satyananda Universitas Negeri Malang

E-mail: nuta_ipuzzz@yahoo.com

Abstrak : Minimum cost flow merupakan permasalahan yang mencari biaya minimum untuk mengirimkan suatu barang/objek dari suatu titik ke titik . Algoritma relaksasi merupakan salah satu algoritma yang dapat digunakan untuk menyelesaikan permasalahan minimum cost flow. Pada algoritma relaksasi, pemilihan sisi ditentukan oleh reduced cost ( ) yang sama dengan nol. Penerapan algoritma relaksasi pada permasalahan minimum cost flow dapat memperoleh solusi yang optimum. Hal ini terjadi karena pemilihan sisinya ditentukan dengan memilih sisi yang mempunyai reduced cost yang sama dengan nol dan nilai reduced cost dipengaruhi oleh nilai cost.

Kata Kunci: Algoritma relaksasi, Minimum Cost Flow, reduced cost

Abstract : Minimum cost flow is a problem which often occur in life, one of minimum cost flow problems is distribution problem of product from producer or distributors to outlets. Relaxation algorithm is one of algorithm which can be used to solve minimum cost flow problem. On relaxation algorithm, arc selection is determined by zero reduced cost. Implementation of relaxation algorithms on minimum cost flow problem can obtain the optimum solution. This occurs because the selection of arc is determined by choosing the arc that has a zero reduced cost and the value of reduced cost is affected by the value of cost. Keywords: Relaxation algorithm, Minimum Cost Flow, reduced cost

Kehidupan manusia sangat berkaitan dengan permasalahan minimum cost flow, diantaranya adalah jaringan pendistribusian barang, jaringan perjalanan dari suatu daerah ke daerah yang lain dan masih banyak lagi yang lainnya. Dalam menghadapi permasalahan jaringan tersebut, manusia akan mencari biaya yang minimum sehingga mereka lebih hemat.

Permasalahan minimum cost flow merupakan permasalahan yang mencari biaya minimum untuk mengirimkan suatu barang/objek dari suatu titik ke titik . Titik disebut dengan titik supply (sumber), sedangkan titik disebut titik

demand (tujuan). Pengertian ini diadaptasi dari Rosen (2000:673-674).

Untuk menyelesaikan permasalahan minimum cost flow dapat digunakan berbagai algoritma, diantaranya adalah algoritma penghapusan sikel, algoritma lintasan terpendek berulang, algoritma jaringan simpleks, algoritma out of kilter

(Ahuja, 1993:295-296). Untuk menentukan solusi pada permasalahan minimum cost flow juga dapat menggunakan algoritma relaksasi (Ahuja, 1993:296). Algoritma relaksasi merupakan algoritma yang dapat memperluas atau mempersempit domain dari batasan-batasan yang ada (Hillier, 2001: 606), sehingga terdapat beberapa alternatif dalam menentukan solusi. Algoritma relaksasi pada minimum cost flow dilakukan dengan mengirimkan

(2)

Untuk mambahas permasalahan ini, diperlukan definisi-definisi yang sering digunakan. Definisi-definisi tersebut antara lain: (1) Misal , adalah jaringan terhubung dengan himpunan titik dan himpunan sisi berarah . Masing-masing sisi , ∈ mempunyai biaya dan kapasitas muatan ≥0. Misal | | dan | |. menunjukan banyak titik pada jaringan, sedangkan

menyatakan banyaknya sisi pada jaringan. Masing-masing titik

mempunyai nilai yang disimbolkan . Jika 0, maka titik adalah titik

supply, jika 0, maka titik adalah titik demand (Rosen, 2000:673). Cost

/biaya adalah bilangan non negatif yang menyatakan besarnya biaya untuk memindahkan muatan dari satu titik ke titik yang lain. Capacity /kapasitas dari suatu sisi adalah jumlah maksimum muatan yang dapat dikirim pada sisi-sisi (Rosen, 2000:630), (2) Suatu aliran fisibel adalah suatu fungsi

didefinisikan pada sisi berarah , yang memenuhi batas kesetimbangan

umum yaitu () } ) , ( { } ) , ( { i b x x A i j j ji A j i j ij

=

∈ ∈

untuk semua ∈ dan batas kapasitas yaitu

ij ij u

x

0 untuk semua , ∈ , dimana

= N i

i

b() 0. Biaya dari flow adalah

A j i ij ijx c ) , (

(Rosen, 2000:673-674). Simbol merupakan biaya total yang diperoleh dari minimum cost flow. Biaya total yang dihasilkan adalah biaya yang minimum untuk mengirimkan supply dari suatu titik supply ke titik demand. Biaya total ini diperoleh dari jumlah perkalian cost dengan kapasitas sisa yang berlawanan arah dengan sisi yang bersesuaian. Nilai-nilai pada aliran fisibel harus memenuhi kesetimbangan massa yaitu /bobot titik harus sama dengan aliran fisibel yang keluar dari titik dikurangi dengan aliran fisibel yang masuk ke titik dan nilai aliran fisibel lebih besar atau sama dengan nol dan kurang dari atau sama dengan

capacity. (3) Jaringan sisa dalam suatu aliran didefinisikan dengan

mengganti masing-masing sisi berarah , oleh dua sisi berarah , dan

, . Sisi berarah , mempunyai biaya dan kapasitas sisa , dan sisi berarah , mempunyai biaya dan kapasitas sisa (Rosen, 2000 : 673-674). Pada jaringan sisa, jika kapasitas sisa suatu sisi bernilai nol, maka sisi tersebut dapat dihapus dari jaringan. (4) potensial titik adalah besarnya

) (i

π yang bersesuaian dengan batas kesetimbangan umum pada titik . Untuk himpunan potensial titik yang diberikan, reduced cost dari suatu sisi , pada jaringan sisaan adalah cij cij

π

(i)

π

(j)

π = +

. Hasil yang Diharapkan

Hasil yang diharapkan pada artikel ini adalah dengan algoritma relaksasi pada minimum cost flow dapat memperluas domain yang terdapat pada minimum cost flow sehingga alternatif solusi yang dihasilkan lebih bervariasi. Algoritma relaksasi juga dapat menghasilkan solusi minimum cost flow yang optimum karena hanya mengirimkan supply pada sisi yang mempunyai nilai reduced cost

sama dengan nol. Algoritma relaksasi dapat lebih efektif dan efisien dari pada algoritma lintasan terpendek berulang dan algoritma simplek karena pada algoritma relaksasi pemilihan sisi hanya dilakukan pada sisi yang nilai reduced cost-nya sama dengan nol. .

(3)

Pembahasan

Berdasar pada buku ‘Network Flows Theory, Algorithms, and applications’

oleh Ahuja (1993:336-337), berikut deskripsi dari algoritma relaksasi pada minimum cost flow.

Pada algoritma relaksasi proses dimulai dengan menghimpun semua titik yang mempunyai bobot positif dan menjumlahkan semua bobot titik pada himpunan tersebut. Kemudian, dicari jumlah kapasitas sisa sisi yang titik awalnya pada himpunan dan titik keduanya tidak pada himpunan yang mempunyai nilai

reduced cost sama dengan nol. Setelah diperoleh jumlah bobot titik dan jumlah

kapasitas sisa, nilai keduanya dibandingkan. Pembandingan ini dilakukan untuk mengidentifikasi apakah jumlah supply dapat dikirim melalui kapasitas sisa pada sisi-sisi yang dijumlahkan pada tahap sebelumnya. Jika jumlah supply lebih besar dari pada jumlah kapasitas sisa maka supply tidak dapat dikirim karena kapasitas sisa sisi dengan reduced cost bernilai nol belum cukup untuk mengirimkan semua

procedure adjust-flow begin

trace the predecessor indices to identify the directed path from node to node ;

min $% , % , min $ & , '';

Augment units of flow along , update imbalances and residual capacities;

end;

procedure adjust-potensial begin

for every arc , (, () with 0do send units of flow on arc , ;

compute * min $ & , (, () and 0'; for every node (do+ + , *;

end; begin

0 and + 0;

while the network contains a node with % 0do begin

( $ ';

If% ( +, ( then adjust-potensial; repeat

select an arc , (, () in residual network with 0; if% - 0then set . %/ and add node to (; until% 0or% ( +, ( ;

if% ( +, ( then adjust-potensial else adjust-flow;

end; end;

(4)

supply. Agar jumlah kapasitas sisa sisi yang mempunyai reduced cost bernilai nol bertambah, maka dilakukan pembaruan node potential. Perubahan node potential

mengakibatkan sisi yang mempunyai reduced cost bernilai nol menjadi bertambah, sehingga jumlah kapasitas sisa juga bertambah besar. Setelah dilakukan pembaruan node potential, dicari sisi-sisi yang mempunyai reduced

cost sama dengan nol yang titik awalnya pada himpunan titik yang berbobot

positif (() dan titik keduanya tidak pada himpunan tersebut (()). Jika titik kedua pada sisi yang diperoleh mempunyai bobot lebih besar dari nol, maka titik tersebut ditambahkan pada himpunan (. Hal ini yang merupakan ciri dari algoritma relaksasi yaitu memperbesar batasan domain. Kemudian dihitung kembali jumlah bobot titik pada ( dan jumlah kapasitas sisa sisi yang titik awalnya pada ( dan titik keduanya pada (), serta mempunyai reduced cost sama dengan nol. Jika jumlah bobot titik lebih besar dari jumlah kapasitas sisa, maka pemilihan sisi dihentikan dan memperbarui node potential kembali agar supply

dapat dikirim pada sisi dengan reduced cost sama dengan nol. Jika jumlah kapasitas sisa lebih besar dari jumlah bobot titik, maka pemilihan sisi dilanjutkan. Jika pada pemilihan sisi mengakibatkan himpunan ( bertambah, maka jumlah bobot titik dan jumlah kapasitas sisa juga diperbarui, kemudian dibandingkan kembali dan jika jumlah kapasitas sisa lebih besar dari jumlah bobot titik, maka pemilihan sisi dilanjutkan kembali. Pemilihan sisi ini, dilakukan sampai jumlah kapasitas sisa lebih kecil dari pada jumlah bobot atau bobot titik kedua pada sisi yang dipilih kurang dari nol. Jika titik kedua pada sisi yang dipilih kurang dari nol, maka supply dapat dikirim pada sisi-sisi yang telah terpilih sebelum sisi yang titik keduanya kurang dari nol terpilih. Banyak supply yang dapat dikirimkan diperoleh dengan cara mencari minimum dari bobot titik supply, negatif bobot titik kedua yang terpilih terakhir, dan minimum kapasitas sisa sisi-sisi terpilih. Hal ini dilakukan agar supply yang dikirimkan dari titik supply ke titik demand dapat maksimal tanpa melebihi kapasitas sisa pada sisi yang akan dilewati.

Untuk memudahkan pencarian minimum cost flow dengan algoritma relaksasi dibutuhkan alat bantu, yaitu program Delphi. Pada program Delphi

dibuat prosedur pencarian minimum cost flow yang disesuaikan dengan algoritma relaksasi, sehingga nilai minimum cost flow dan pemilihan lintasan pada tiap iterasi yang diperoleh sama dengan hasil perhitungan manual.

Pada program ini dibuat 3 halaman utama yaitu input titik, input bobot, serta proses. Halaman input titik digunakan untuk untuk menggambar titik. Caranya dengan mengklik di tempat yang diinginkan. Halaman ini dihubungkan dengan halaman input bobot dan akan secara otomatis menggambar sisi berarah serta menampilkan bobot titik pada titik, bobot cost dan bobot capacity pada sisi secara berurutan sesuai dengan perubahan di halaman input bobot. Halaman input

bobot digunakan untuk memasukan nilai supply pada kotak

penerimaan/permintaan/supply, memasukkan nilai cost pada kotak biaya/cost, dan memasukkan nilai kapasitas pada kotak kapasitas/capacity. Pengisian bobot tiap kotak mempengaruhi tampilan digraph di halaman input titik, yaitu jika pada kotak supply tidak kosong, maka pada halaman input titik akan muncul bobot tiap titiknya. Jika pada salah satu kotak cost atau kotak capacity pada kolom 2 baris 1 tidak kosong, maka pada halaman input titik akan muncul sisi berarah yang akan menghubungkan titik 1 ke titik 2 dilengkapi dengan bobot cost dan bobot capacity

(5)

digunakan untuk menyelesaikan permasalahan minimum cost flow yang telah diinputkan pada halaman input titik dan input bobot. pada halaman proses terdapat tampilan jaringan optimum dan informasi dalam pencarian solusi minimum cost flow. Informasi tersebut berupa proses adjust-flow, adjust-potential, pemilihan sisi, sampai biaya total.

Algoritma relaksasi diterapkan pada tujuh contoh. Contoh I merupakan contoh dengan empat titik yaitu satu titik supply dan tiga titik demand, contoh II merupakan contoh dengan lima titik yaitu satu titik supply, satu titik demand, dan tiga titik sebagai titik perantara, contoh III merupakan contoh yang mendistribusikan Brem yang berbentuk kotak dari perusahaan Candi Mas ke 12 outlet. Dengan kata lain satu titik supply yaitu perusahaan Candi Mas dan 12 titik

demand yaitu berupa outlet-outlet yang dituju, contoh IV merupakan contoh

dengan enam titik yaitu dua titik supply, dua titik demand, dan dua titik perantara, contoh V merupakan contoh dengan empat titik dengan satu titik supply dan satu titik demand, contoh VI merupakan contoh dengan tiga titik yaitu satu titik supply

dan tiga titik demand, sedangkan contoh VII merupakan contoh dengan delapan titik yaitu satu titik supply dan tujuh titik demand. Hasil dari penerapan dari algoritma relaksasi yang dibandingkan dengan algoritma lintasan terpendek berulang dan algoritma jaringan simplek dengan bantuan program GidenV4a. Penerapan dari ketiga algoritma tersebut menghasilkan hasil yang sama dari segi biaya total yang diperlukan dan rute yang diperoleh, sehingga algoritma relaksasi dapat menjadi alternatif untuk menyelesaikan permasalahan minimum cost flow.

Algoritma relaksasi lebih baik dari pada algoritma jaringan simpleks pada beberapa kasus. Algoritma relaksasi telah terbukti lebih efisien dalam praktek untuk beberapa jaringan (Ahuja, 1993:332). Pada algoritma jaringan simpleks, pemilihan sisinya tidak didasarkan pada nilai reduced cost yang terkecil tetapi pemilihan sisi pada tree dilakukan dengan syarat tidak melanggar complementary

slackness optimality conditions. Nilai + pada algortima jaringan simpleks

dipengaruhi oleh nilai lintasan terpendek pada tree yang diperoleh dari titik supply

ke titik yang lain yaitu titik . Nilai + diperoleh dengan mengurangkan +

yang lama dengan nilai lintasan terpendek yang diperoleh dari titik supply ke titik . Sedangkan pada algoritma lintasan terpendek berulang, pemilihan sisinya berupa lintasan terpendek dari titik supply ke titik demand yang berdasar pada nilai reduced cost. Nilai + pada algoritma lintasan terpendek berulang juga dipengaruhi oleh nilai lintasan terpendek yang berdasar pada nilai reduced cost.

Nilai + juga diperoleh dari mengurangkan + yang lama dengan bobot lintasan terpendek yang diperoleh. Perbedaannya adalah jika pada algoritma lintasan terpendek berulang, lintasan terpendek yang diperoleh memperhatikan semua sisi yang ada pada jaringan sisa, sedangkan pada algoritma jaringan simpleks, lintasannya hanya memperhatikan sisi-sisi yang terdapat pada spanning tree. Pada algoritma relaksasi pemilihan sisinya didasarkan pada nilai reduced

cost yang sama dengan nol, sehingga solusi yang diperoleh lebih optimum. Nilai

+ pada algoritma relaksasi diperoleh dengan menambahkan + yang lama dengan *. Nilai * diperoleh dari minimum nilai reduced cost sisi yang kapasitas sisinya lebih besar dari nol. Pada algoritma relaksasi, perubahan node potential

tidak terjadi pada semua titik yang ada pada jaringan tetapi perubahannya terjadi hanya pada titik-titik tertentu yang di (, sedangkan perubahan node potential pada algoritma lintasan terpendek berulang dan algoritma jaringan simpleks terjadi

(6)

pada semua titik pada jaringan. Hal ini dapat mengakibatkan hasil yang diperoleh dari ketiga algoritma ini berbeda.

Penutup

Dalam menentukan solusi, algoritma relaksasi pada minimum cost flow memperluas domain yaitu memperluas (. Awalnya ( adalah himpunan titik yang mempunyai supply lebih besar dari nol. Setelah pada pemilihan sisi, ( tidak hanya himpunan titik yang mempunyai supply lebih besar dari nol tetapi juga himpunan titik yang nilai supply-nya sama dengan nol. Hal ini menyebabkan titik yang mengirimkan supply tidak harus mempunyai supply yang lebih besar dari nol. Algoritma relaksasi mempunyai kelebihan dapat menghasilkan solusi yang minimum karena pengiriman supply hanya pada sisi yang mempunyai reduced

cost sama dengan nol dan nilai reduced cost dipengaruhi oleh nilai cost.

Algoritma relaksasi lebih efektif dan efisien dari pada algoritma lintasan terpendek berulang dan algoritma jaringan simpleks. Hal ini disebabkan pemilihan sisi dari ketiga algoritma ini berbeda dan pada algoritma relaksasi, pemilihan sisi yang akan dilalui untuk mengirim supply hanya dilakukan pada sisi yang mempunyai nilai reduced cost sama dengan nol, sedangkan pada algoritma lintasan terpendek berulang pemilihan sisi dilakukan dengan memilih lintasan terpendek dan bobot lintasannya tidak selalu sama dengan nol. Pada algoritma jaringan simpleks, pemilihan sisi dilakukan dengan cara menentukan tree dan tidak didasarkan pada nilai cost.

Pada algoritma relaksasi, jaringan sisa yang dihasilkan pada tiap iterasi dimungkinkan akan sama sehingga tidak diperoleh solusi dan proses perlu dihentikan. Oleh karena itu, pembaca dapat meneliti lebih lanjut untuk kasus tersebut. Program dengan algoritma relaksasi ini hanya dapat berjalan pada permasalahan minimum cost flow yang titiknya kurang dari 32 titik. Oleh karena itu, jika pembaca ingin menggunakan program ini, maka permasalahan yang akan diterapkan harus kurang dari 32 titik atau pembaca dapat mengembangkan program dengan algoritma relaksasi untuk permasalahan dengan 32 titik atau lebih.

Daftar Rujukan

Ahuja, Ravindra, dkk. 1993. Network Flows Theory, Algoritmhs, and

Applications. New Jersey : Prentice-Hall, Inc.

Hillier, Frederick, dkk. 2001. Introduction to Operations Research. Singapure : Mc Graw-Hill Book Co.

Rosen, H., Kenneth. 2000. Handbook of Discrete and Combinatorial

Referensi

Dokumen terkait

Algoritma Prim digunakan untuk mencari pohon pembangkit minimum dari graf terhubung berbobot dengan cara mengambil sisi/ ruas garis yang memiliki bobot terkecil dari graf,

Buatlah algoritma / fowchart untuk menginputkan 3 buah bilangan bulat dan tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan nilainya berbeda)..

Buatlah algoritma / fowchart untuk menginputkan 10 buah bilangan bulat dan tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan nilainya berbeda)..

Berikut ini adalah hasil dari eksperimen yang dilakukan untuk menyelesaikan permasalahan CLSC pada data uji ketiga dengan menggunakan algoritma Simulated Annealing

pada metode Newton khusunya algoritma Rank One dan algoritma DFP ( Davidson, Fletcher and Powell ) tidak praktis dan dilakukan pada setiap langkah untuk menghindari

Algoritma CODEQ mampu menghasilkan solusi yang kompetitif untuk problem dengan skala 6 pekerjaan x 6 mesin , sedangkan untuk kasus dengan skala 10. pekerjaan x 10 mesin dan

3.6 KelancaranASI Setelah dilakukan penerapan pijat rolling massage menggunakan minyak lavender dengan relaksasi murottal Al Quran pagi hari dan sore hari kepada ketiga bayi dari

Adapun tujuan dari artikel ini adalah untuk menentukan penerapan dari algoritma greedy dalam menentukan minimum spanning trees pada optimisasi jaringan listrik jala yaitu dengan