Penyelesaian dengan Algoritma Ford-Fulkerson Iterasi ke 1

Gambar 4.12. Jaringan dengan = 0. nama titik , dan kamar 1 adalah titik tujuan beri nama titik . Sehingga diperoleh jaringan sebagai berikut. Gambar 4.11. Jaringan dengan titik sumber dan titik tujuan . Jaringan pada Gambar 4.11 merupakan bentuk jaringan dari sistem aliran air pada motel. Selanjutnya, akan dicari aliran maksimumnya dengan algoritma Ford-Fulkerson secara manual, dan algoritma Preflow-Push akan diselesaikan dengan software GIDEN, dengan penyelesaian sebagai berikut.

4.6.1 Penyelesaian dengan Algoritma Ford-Fulkerson Iterasi ke 1

Langkah 1: dimulai dengan = 0, sehingga diperoleh gambar berikut. 150 150 200 100 100 100 150 200 100 200 100 250 200 300 500 s a b c d e f g h t 300;0 150;0 150;0 200;0 100;0 100;0 100;0 150;0 200;0 100;0 200;0 100;0 250;0 200;0 500;0 s a b c d e f h t g Langkah 2: Routin pelabelan. 2.1 Label = , +, ~ himpunan titik terlabel � = { }, himpunan titik teramati � = { } 2.2 Pilih titik , labeli = , +, min ~, 300 − 0 = , +, 300 labeli = , +, min ~, 500 − 0 = , +, 500 himpunan titik terlabel � = { , , } himpunan titik teramati � = { }. 2.3 Pilih titik , labeli = , +, min 300, 200 − 0 = , +, 200 himpunan titik terlabel � = { , , , } himpunan titik teramati � = { , }. 2.4 Pilih titik , labeli = , +, min 500, 200 − 0 = , +, 200 labeli = , +, min 500, 100 − 0 = , +, 100 labeli = , +, min 500, 100 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , } himpunan titik teramati � = { , , }. 2.5 Pilih titik , labeli = , +, min 200, 200 − 0 = , +, 200 himpunan titik terlabel � = { , , , , , , , } himpunan titik teramati � = { , , , }. 2.6 Pilih titik , labeli = , +, min 100, 150 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , , , } himpunan titik teramati � = { , , , }. 2.7 Pilih titik , labeli = , +, min 200, 150 − 0 = , +, 150 himpunan titik terlabel � = { , , , , , , , , , } himpunan titik teramati � = { , , , , }. Diperoleh pelabelan titik seperti gambar berikut Gambar 4.13. Pelabelan titik pada jaringan . Karena titik terlabel dengan nilai = 150, maka lanjut ke langkah 3. Langkah 3: prosedur balik. Titik dilabel dari titik , titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan = , , , dengan = = 150. , +,200 , +, ~ , +,300 , +,200 , +,200 , +,500 , +,100 , +,100 , +,100 , +,150 300;0 150;0 150;0 200;0 100;0 100;0 100;0 150;0 200;0 100;0 200;0 100;0 250;0 200;0 500;0 s a b c d e f h t g 200;0 Langkah 4: terapkan Routin peningkatan. Karena label = , +,150, maka nilai aliran pada busur , ditambah 150, karena label = , +,200, maka nilai aliran pada busur , ditambah 150, karena label = , +,300, maka nilai aliran pada busur , ditambah 150, sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru dengan 1 = + = 0 + 150 = 150, seperti pada gambar berikut. Gambar 4.14. Jaringan dengan 1 = 150. Iterasi ke 2 Langkah 1: dimulai dengan 1 = 150, seperti gambar di atas. Langkah 2: Routin pelabelan. 2.1 Label = , +, ~ himpunan titik terlabel � = { }, himpunan titik teramati � = { } 2.2 Pilih titik , labeli = , +, min ~, 300 − 150 = , +, 150 labeli = , +, min ~, 500 − 0 = , +, 500 300;150 150;150 150;0 200;0 100;0 100;0 100;0 150;0 100;0 200;0 100;0 250;0 200;150 500;0 s a b c d e f h t g himpunan titik terlabel � = { , , } himpunan titik teramati � = { }. 2.3 Pilih titik , labeli = , +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel � = { , , , } himpunan titik teramati � = { , }. 2.4 Pilih titik , labeli = , +, min 500, 200 − 0 = , +, 200 labeli = , +, min 500, 100 − 0 = , +, 100 labeli = , +, min 500, 100 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , } himpunan titik teramati � = { , , }. 2.5 Pilih titik , labeli = , +, min 200, 200 − 0 = , +, 200 himpunan titik terlabel � = { , , , , , , , } himpunan titik teramati � = { , , , }. 2.6 Pilih titik , labeli = , +, min 100, 150 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , , , } himpunan titik teramati � = { , , , , }. 2.7 Pilih titik , labeli = , +, min 500, 200 − 0 = , +, 200 himpunan titik terlabel � = { , , , , , , , , , } himpunan titik teramati � = { , , , , }. Diperoleh pelabelan titik seperti gambar berikut. Gambar 4.15. Pelabelan titik pada jaringan . Karena titik t terlabel dengan nilai = 200, maka lanjut ke langkah 3. Langkah 3: prosedur balik. Titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan = , , dengan = = 200. Langkah 4: terapkan Routin peningkatan. Karena label = , +,200, maka nilai aliran pada busur , ditambah 200, karena label = , +,500, maka nilai aliran pada busur , ditambah 200, sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru dengan 2 = 1 + = 150 + 200 = 350, seperti pada gambar berikut. , +,100 , +, ~ , +,150 300;150 , +,50 , +,500 , +,100 , +,200 , +,200 , +,100 , +,200 150;150 150;0 200;0 100;0 100;0 100;0 150;0 200;0 100;0 200;0 100;0 250;0 200;150 500;0 s a b c d e f h t g Gambar 4.16. Jaringan dengan 2 = 350. Iterasi ke 3 Langkah 1: dimulai dengan 2 = 350, seperti gambar di atas. Langkah 2: Routin pelabelan. 2.1 Label = , +, ~ himpunan titik terlabel � = { }, himpunan titik teramati � = { } 2.2 Pilih titik , labeli = , +, min ~, 300 − 150 = , +, 150 labeli = , +, min ~, 500 − 200 = , +, 300 himpunan titik terlabel � = { , , } himpunan titik teramati � = { }. 2.3 Pilih titik , labeli = , +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel � = { , , , } himpunan titik teramati � = { , }. 300;150 150;150 150;0 200;200 100;0 100;0 100;0 150;0 200;0 100;0 200;0 100;0 250;0 200;150 500;200 s a b c d e f h t g 2.4 Pilih titik , labeli = , +, min 300, 200 − 0 = , +, 200 labeli = , +, min 300, 100 − 0 = , +, 100 labeli = , +, min 300, 100 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , } himpunan titik teramati � = { , , }. 2.5 Pilih titik , labeli = , +, min 200, 200 − 0 = , +, 200 himpunan titik terlabel � = { , , , , , , , } himpunan titik teramati � = { , , , }. 2.6 Pilih titik , labeli = , +, min 100, 150 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , , , } himpunan titik teramati � = { , , , , }. 2.7 Pilih titik , labeli = , +, min 200, 100 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , , , , } himpunan titik teramati � = { , , , , , }. Diperoleh pelabelan titik seperti gambar berikut. Gambar 4.17. Pelabelan titik pada jaringan . Karena titik terlabel dengan nilai = 100, maka lanjut ke langkah 3. Langkah 3: prosedur balik. Titik dilabel dari titik , titik dilabel dari titik , titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan = , , , , dengan = = 100. Langkah 4: terapkan Routin peningkatan. Karena label = , +, 100, maka nilai aliran pada busur , ditambah 100, karena label = , +,200, maka nilai aliran pada busur , ditambah 100, karena label = , +,200, maka nilai aliran pada busur , ditambah 100, karena label = , +,200, maka nilai aliran pada busur , ditambah 100, sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru dengan 3 = 2 + = 350 + 100 = 450, seperti gambar berikut. , +, ~ , +,150 , +,300 , +,50 , +,100 , +,200 , +,200 , +,100 , +,100 , +,100 300;150 150;150 150;0 200;200 100;0 100;0 100;0 150;0 200;0 100;0 200;0 100;0 250;0 200;150 500;200 s a b c d e f h t g Gambar 4.18. Jaringan dengan 3 = 450. Iterasi ke 4 Langkah 1: dimulai dengan 3 = 450, seperti gambar di atas. Langkah 2: Routin pelabelan. 2.1 Label = , +, ~ himpunan titik terlabel � = { }, himpunan titik teramati � = { } 2.2 Pilih titik , labeli = , +, min ~, 300 − 150 = , +, 150 labeli = , +, min ~, 500 − 300 = , +, 200 himpunan titik terlabel � = { , , } himpunan titik teramati � = { }. 2.3 Pilih titik , labeli = , +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel � = { , , , } himpunan titik teramati � = { , }. 300;150 150;150 150;0 200;200 100;100 100;0 100;0 150;0 200;100 100;0 200;100 100;0 250;0 200;150 500;300 s a b c d e f h t g 2.4 Pilih titik , labeli = , +, min 200, 200 − 100 = , +, 100 labeli = , +, min 200, 100 − 0 = , +, 100 labeli = , +, min 200, 100 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , } himpunan titik teramati � = { , , }. 2.5 Pilih titik , labeli = , +, min 100, 200 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , , } himpunan titik teramati � = { , , , }. 2.6 Pilih titik , labeli = , +, min 100, 150 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , , , } himpunan titik teramati � = { , , , , }. 2.7 Pilih titik , labeli = , +, min 100, 150 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , , , , } himpunan titik teramati � = { , , , , , }. Diperoleh pelabelan titik seperti gambar berikut. Gambar 4.19. Pelabelan titik pada jaringan . Karena titik terlabel dengan nilai = 100, maka lanjut ke langkah 3. Langkah 3: prosedur balik. Titik dilabel dari titik , titik dilabel dari titik , titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan = , , , , dengan = = 100. Langkah 4: terapkan Routin peningkatan. Karena label = , +, 100, maka nilai aliran pada busur , ditambah 100, karena label = , +, 100, maka nilai aliran pada busur , ditambah 100, karena label = , +, 100, maka nilai aliran pada busur , ditambah 100, karena label = , +,200, maka nilai aliran pada busur , ditambah 100, sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru dengan 4 = 3 + = 450 + 100 = 550, seperti gambar berikut. , +,100 , +, ~ , +,200 , +,150 , +,100 , +,100 , +,50 , +,100 , +,100 , +,100 300;150 150;150 150;0 200;200 100;100 100;0 100;0 150;0 200;100 100;0 200;100 100;0 250;0 200;150 500;300 s a b c d e f h t g Gambar 4.20. Jaringan dengan 4 = 550. Iterasi ke 5 Langkah 1: dimulai dengan 4 = 550, seperti gambar di atas. Langkah 2: Routin pelabelan. 2.1 Label = , +, ~ himpunan titik terlabel � = { }, himpunan titik teramati � = { } 2.2 Pilih titik , labeli = , +, min ~, 300 − 150 = , +, 150 labeli = , +, min ~, 500 − 400 = , +, 100 himpunan titik terlabel � = { , , } himpunan titik teramati � = { }. 2.3 Pilih titik , labeli = , +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel � = { , , , } himpunan titik teramati � = { , }. 300;150 150;150 150;100 200;200 100;100 100;0 100;0 150;100 200;100 100;0 200;100 100;100 250;0 200;150 500;400 s a b c d e f h t g 2.4 Pilih titik , labeli = , +, min 100, 200 − 100 = , +, 100 labeli = , +, min 100, 100 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , } himpunan titik teramati � = { , , }. 2.5 Pilih titik , labeli = , +, min 100, 100 − 0 = , +, 100 labeli = , +, min 100, 200 − 100 = , +, 100 himpunan titik terlabel � = { , , , , , , , } himpunan titik teramati � = { , , , }. 2.6 Pilih titik , labeli = , +, min 100, 100 − 0 = , +, 100 himpunan titik terlabel � = { , , , , , , , , } himpunan titik teramati � = { , , , , }. 2.7 Pilih titik , labeli = , +, min 100, 150 − 100 = , +, 50 himpunan titik terlabel � = { , , , , , , , , , } himpunan titik teramati � = { , , , , , } Diperoleh pelabelan titik seperti gambar berikut. Gambar 4.21. Pelabelan titik pada jaringan . Karena titik terlabel dengan nilai = 50, maka lanjut ke langkah 3. Langkah 3: prosedur balik. Titik dilabel dari titik , titik dilabel dari titik , titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan = , , , , dengan = = 50. Langkah 4: terapkan Routin peningkatan. Karena label = , +, 50, maka nilai aliran pada busur , ditambah 50, karena label = , +, 100, maka nilai aliran pada busur , ditambah 50, karena label = , +, 100, maka nilai aliran pada busur , ditambah 50, karena label = , +, 100, maka nilai aliran pada busur , ditambah 50, sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru dengan 5 = 4 + = 550 + 50 = 600, seperti gambar berikut. , +, ~ , +,100 , +,150 , +,100 , +,100 , +,100 , +,100 , +,50 , +,50 , +,100 300;150 150;150 150;100 200;200 100;100 100;0 100;0 150;100 200;100 100;0 200;100 100;100 250;0 200;150 500;400 s a b c d e f h t g Gambar 4.22. Jaringan dengan 5 = 600. Iterasi ke 6 Langkah 1: dimulai dengan 5 = 600, seperti gambar di atas. Langkah 2: Routin pelabelan. 2.1 Label = , +, ~ himpunan titik terlabel � = { }, himpunan titik teramati � = { } 2.2 Pilih titik , labeli = , +, min ~, 300 − 150 = , +, 150 labeli = , +, min ~, 500 − 450 = , +, 50 himpunan titik terlabel � = { , , } himpunan titik teramati � = { }. 2.3 Pilih titik , labeli = , +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel � = { , , , } himpunan titik teramati � = { , }. 300;150 150;150 150;150 200;200 100;100 100;50 100;50 150;100 200;100 100;0 200;100 100;100 250;0 200;150 500;450 s a b c d e f h t g 2.4 Pilih titik , labeli = , +, min 50, 200 − 100 = , +, 50 labeli = , +, min 50, 100 − 50 = , +, 50 himpunan titik terlabel � = { , , , , , } himpunan titik teramati � = { , , }. 2.5 Pilih titik , labeli = , +, min 50, 100 − 0 = , +, 50 labeli = , +, min 50, 200 − 100 = , +, 50 himpunan titik terlabel � = { , , , , , , , } himpunan titik teramati � = { , , , }. 2.6 Pilih titik , labeli = , +, min 50, 100 − 50 = , +, 50 himpunan titik terlabel � = { , , , , , , , , } himpunan titik teramati � = { , , , , }. 2.7 Pilih titik , , , dan untuk melabeli titik , labeli = , +, min 50, 200 − 200 = , +, 0 , tidak berlabel, labeli = , +, min 50, 150 − 150 = , +, 0 , tidak berlabel, labeli = , +, min 50, 100 − 100 = , +, 0 , tidak berlabel, labeli = , +, min 50, 150 − 150 = , +, 0 , tidak berlabel, himpunan titik terlabel � = { , , , , , , , , , } himpunan titik teramati � = { , , , , , }. Karena semua titik yang terlabel telah teramati dan titik tidak terlabel, maka BERHENTI. Dengan algoritma Ford-Fulkerson diperoleh aliran maksimum pada iterasi ke 5 dengan aliran 5 sebesar 600 liter per menit. Gambar 4.23. Jaringan dengan aliran maksimum = pemutus- , minimum. Pada jaringan diatas mempunyai 8 titik antara, yaitu titik , , , , , , , dan , dalam hal ini titik-titik tersebut meliputi kamar 3, kantor, kamar 8, kamar 2, kamar 5, kamar 7, kamar 9, dan kamar 4. Banyaknya himpunan pemutus- , yaitu 2 = 2 8 = 256 himpunan, yang diuraikan pada Lampiran 1. Sehingga diperoleh himpunan pemutus- , minimum , 1 = , , , , , , , , , = { , , , , , , , } dengan kapasitas, , 1 = , + , + , + , = 200 + 150 + 100 + 150 = 600. Terlihat bahwa nilai aliran maksimum sama dengan nilai pemutus- , minimum. Hal ini memenuhi teorema Maximal Flow-Minimal Cut dengan 5 = , 1 = 600 , maka 5 adalah aliran maksimum dari titik sumber kamar 6 ke titik tujuan kamar 1, dengan nilai aliran sebesar 600 liter per menit, dengan asumsi bahwa kantor maupun kamar selain kamar 1 sedang dalam 200;100 300;150 150;150 150;150 200;200 100;100 100;50 100;50 150;100 100;0 200;100 100;100 250;0 200;150 500;450 s a b c d e f h t g keadaan tidak menggunakan air, antar kamar letaknya datar, kekuatan gaya yang diberikan dalam pipa sama.

4.6.2 Penyelesaian dengan Algorima Preflow-Push pada Software GIDEN