Dosen Pembimbing : Ir. Budi Santosa, M.S., Ph.D Oleh :
Sas Wahid Hamzah 2507100054
Artificial Immune System untuk Penyelesaian Vehicle Routing Problem
Fungsi Objektif
• Minimasi Jumlah Kendaraan • Minimasi Jarak
Konstrain
• Semua rute berawal dan berakhir pada depot pusat. • Setiap titik customer hanya dikunjungi sekali
• Demand yang akan dipenuhi oleh kendaraan tidak boleh melebihi kapasitas.
• Waktu perjalanan tidak melebihi yang ditentukan. • Konstrain time windows.
• Semua customer dilayani
Batasan
• Data Sets Solomon
• Komputasi dengan MATLAB
Asumsi
• Kendaraan semuanya memiliki kapasitas yang sama • Hanya terdapat satu depot
• Hard time windows
• Jarak Euclidean dan simetris
• Satu unit jarak sama dengan satu unit waktu
Pendahuluan
Artificial Immune System“Sistem komputasi yang terinspirasi dari imunologi teoretik yang mengamati fungsi, prinsip, dan mekanisme kekebalan tubuh
vertebrata yang diaplikasikan untuk
Pendahuluan
Alasan Pemilihan AIS
• Relatif baru (untuk kasus optimasi mulai populer pada 2002)
• Telah sukses diaplikasikan pada beberapa problem seperti : flow shop scheduling problem, job shop
scheduling problem, travelling salesman problem, resource constraint project scheduling problem, dan economic dispatch
Pendahuluan
Pendahuluan
Tinjauan Pustaka
ALGORITMA EKSAK • Branch & Bound
• Branch & Price • Branch & Cut
• Column Generation • Lagrangian Relaxation METAHEURISTIK • Tabu Search • Genetic Algorithm • Simulated Annealing • Ant Colony System
Tinjauan Pustaka
Posisi Penelitian
AIS untuk TSP (de Castro dan Von Zuben, 2002)
AIS untuk VRP
(Xu Jiangang, 2009)
Algoritma Usulan
Route Construction
Route Minimization
Prosedur Ejection Pool
(Lim and Zhang, 2007)
Solomon Insertion Heuristics I1
(Solomon, 1987)
Distance Improvement
Metode Encoding
• Yaitu integer encoding, suatu angka merepresentasikan nomer customer, dengan angka 1 adalah depot.
Contoh
:
Solomon Insertion
Diusulkan oleh Marius M. Solomon (1987) 1.Diawali dengan membuat seed route,
Contoh Seed route = [ 1 – 6 – 1 ]
• Seed customer dapat dipilih, baik customer yang :
Memiliki jarak terjauh dari depot, atau
Customer dengan earliest due date
*1 = depot
Seed Customer
Solomon Insertion
2.Identifikasilah letak insersi untuk seluruh customer yang belum masuk ke rute, dengan syarat bahwa letak insersi tersebut adalah feasible
Taruhlah
sebagai rute sekarang, dengan : υ0 = depot,
Solomon Insertion
3. Hitung posisi insersi terbaik, yakni
dengan syarat bahwa insersi u diantara 2 node
yakni υq dan υq+1 adalah feasible, u adalah
Solomon Insertion
• Kriteria c1 dihitung dengan cara
= waktu mulai pelayanan di node j setelah dilakukan insersi
= waktu mulai pelayanan di node j sebelum dilakukan insersi
= jarak node i ke unrouted customer = jarak unrouted customer ke node j = jarak node i ke node j
Solomon Insertion
4. Apabila nilai c1* sudah dihitung untuk setiap
customer, maka hitung nilai c2 untuk setiap
customer yang memiliki nilai c1* . (Customer
yang tidak bisa di-insersi di ruang manapun,
maka tidak memiliki nilai c1 dan demikian tidak
memiliki nilai c1* dan c2 )
Solomon Insertion
5. Pilihlah customer yang memiliki nilai c2 paling
maksimum untuk di-insert-kan. Insert customer tersebut ke dalam rute yang sedang dibentuk,
sesuai dengan posisi terbaiknya yang
Solomon Insertion
6. Apabila rute yang sedang dibangun sudah tak lagi bisa dilakukan insersi, maka buatlah rute baru (seed route), dan ulangi algoritma
7. Apabila semua customer telah berada dalam rute (tidak ada yang tidak terlayani), maka hentikan proses, dan lanjutkan ke phase selanjutnya.
Prosedur Ejection Pool
Diusulkan oleh Lim dan Zhang (2007)
• Hapuslah beberapa rute dengan jumlah customer sedikit
• Masukkan customer – customer tersebut ke dalam ejection pool (EP) • Selama EP masih berisi customer dan iterasi kurang dari iterasi
maksimum, lakukan langkah berikut : • Pilih salah satu customer u dari EP
• Tentukan posisi insersi u pada rute eksisting
• Hapus u dari EP dan masukkan u pada rute target • Apabila rute target tidak feasible, maka
• Ambil salah satu customer dari rute tersebut dan masukkan ke dalam EP
• Lakukan exchange, relocate, 2-Opt, Or-Opt, Cross Exchange. • Akhir iterasi
Algoritma Usulan
START
Solusi inisial, data koordinat kota, demand, waktu pelayanan, due date, waktu paling awal pelayanan, kapasitas kendaraan,
jumlah kendaraan maksimal
Urutkan solusi – solusi berdasarkan nilai objektif yakni total jarak
Berikan rangking, yakni rangking pertama merupakan solusi dengan total jarak terpendek, dan seterusnya
Ambil beberapa solusi terbaik berdasrkan peringkat
Lakukan cloning berdasarkan peringkat solusi yang bersangkutan
Perbandingan
Hasil yang dari algoritma yang diusulkan dibandingkan dengan hasil yang diperoleh pada paper :
Vehicle Routing Problem with Time Windows and a Limited Number of Vehicles dalam European Journal of
Perbandingan
No Hal Tabu Search dengan Nested 2 Phase Artificial Immune System1 Jumlah Fase 2 fase terkurung 2 fase terpisah 2
Metode
Pembentukan Rute
Tabu Search
Solomon Insertion & Prosedur Ejection
Pool
3 Metode Improvement Tabu Search Artificial Immune System 4 Local Search Relocate dan Exchange
Relocate, Exchange, 2-Opt, Or-Opt, 2-Swap, Re-insertion 5 Subyek Local Search
Rute yang sedang dibangun dan
Holding List
Sebuah rute, atau 2 rute yang berbeda
Hasil
• Untuk 25 Customer dengan Gap Terkecil
Kendaraan Jarak Kendaraan Jarak
C101 3 191.3 3 191.8 0.27 C102 3 190.3 3 190.7 0.23 C103 3 190.3 3 190.7 0.23 C104 3 186.9 3 187.4 0.29 C105 3 191.3 3 191.8 0.27 C106 3 191.3 3 191.8 0.27 C107 3 191.3 3 191.8 0.27 C108 3 191.3 3 191.8 0.27 C109 3 191.3 3 191.8 0.27 Gap (%) Type Problem
Solusi Optimal (Eksak) Immune System
Hasil
• Untuk 25 Customer dengan Gap Terbesar
Kendaraan Jarak Kendaraan Jarak
R201 4 463.3 3 479.9 3.59 R202 4 410.5 4 412.2 0.41 R203 3 391.4 2 411.0 5.00 R204 2 355.0 2 386.1 8.76 R205 3 393.0 3 408.8 4.02 R206 3 374.4 2 387.5 3.49 R207 3 361.6 2 378.7 4.74 R208 1 328.2 1 331.8 1.10 R209 2 370.7 2 376.8 1.64 R210 3 404.6 2 425.6 5.18 R211 2 350.9 2 365.0 4.01 Gap (%) Type Problem
Solusi Optimal (Eksak) Immune System
Hasil
• Untuk 100 Customer dengan Gap Terkecil
Kendaraan Jarak Kendaraan JarakC201 3 591.56 3 591.56 0.00 C202 3 619.36 3 630.08 1.73 C203 3 604.01 3 608.35 0.72 C204 3 644.23 3 591.56 -8.18 C205 3 601.43 3 588.88 -2.09 C206 3 588.88 3 612.54 4.02 C207 3 608.94 3 608.16 -0.13 C208 3 591.83 3 613.75 3.70 Gap (%) Type Problem
Solusi Acuan Immune System
Hasil
• Untuk 100 Customer dengan Gap Terbesar
Kendaraan Jarak Kendaraan JarakRC201 4 1468.46 4 1648.7 12.27 RC202 4 1222.69 4 1649.0 34.87 RC203 3 1171.88 3 1280.7 9.29 RC204 3 839.32 3 1031.6 22.91 RC205 4 1338.70 4 1642.8 22.72 RC206 3 1201.27 3 1436.1 19.55 RC207 3 1139.48 3 1453.6 27.57 RC208 3 985.60 3 1113.8 13.01 Gap (%) Type Problem
Solusi Acuan Immune System
Analisis
Faktor Penyebab Buruknya Performansi
1. Pengurangan Kendaraan seringkali menyebabkan jarak menjadi lebih buruk
2. Solusi yang masuk ke AIS seringkali hanya berjumlah satu
3. Jumlah kendaraan yang tidak boleh bertambah membatasi gerak solusi
AIS kompetitif untuk problem dengan skala kecil (customer sebanyak 25)
1
2
3
AIS efektif menyelesaikan problem untuk tipe customer yang terletak secara tercluster.
Performa AIS banyak dipengaruhi oleh
inisialisasi dan mutasi (local Search)
Modifikasi algoritma untuk bisa menghasilkan solusi dengan diversitas yang bagus (lolos dari local optima)
1
2
3 Menggunakan data set yang lebih besar
Saran
Modifikasi algoritma dengan melibatkan bagian lain dari sistem imunitas, seperti network theory, negative selection