Senin, 12 September 2016

Optimasi menjadi penting di dunia modern dan makin penting. Ada dua pendekatan: optimasi esak dan optimasi heuristik.
Optimasi adalah proses mencari solusi optimal (minimum atau maksimum) dengan memperhatikan batasan yang ada. Ada dua kategori utama masalah optimasi: optimasi tanpa konstrain(unconstrained optimization) dan optimasi dengan konstrain (constrained optimization).
Kebanyakan masalah optimasi adalah masuk kategori kedua: optimasi dengan konstrain.
Banyak sekali permasalahan optimasi dalam kehidupan sehari-hari yang sulit diselesaikan dengan teknik kalkulus atau eksak/analitik.
Pendekatan metaheuristik, sebagai kelanjutan dari heuristik, muncul karena permasalahan riil yang ada tidak mudah diselesaikan dengan teknik yang berdasarkan kalkulus atau pendekatan eksak.
Kesulitan bisa dari segi waktu komputasi yang lama, atau penyelesaian melalui cara analitik tidak bisa dilakukan.
Heuristik (heuristics) suatu teknik pendekatan atau coba-coba yang didesain untuk memecahkan masalah dengan sedikit mengabaikan apakah solusinya bisa dibuktikan benar, tetapi biasanya menghasilkan solusi yang bagus, dalam arti optimal mendekati optimal.
Heuristik dimaksudkan untuk mendapatkan hasil yang secara komputasi lebih cepat dengan konsekuensi mengurangi kepresisian atau akurasi. Jadi kecepatan penghitungan biasanya lebih baik (dibandingkan optimasi eksak) dengan sedikit mengorbankan akurasi.
Metaheuristik (metaheuristics), dalam definisi aslinya, adalah metoda untuk mencari solusi yang memadukan interaksi antara prosedur pencarian lokal dan strategi yang lebih tinggi untuk menciptakan proses yang mampu keluar dari titik-titik local optima dan melakukan pencarian di ruang solusi untuk menemukan solusi global.
Metaheuristik biasanya berupa prosedur umum yang bisa diterapkan untuk berbagai problem. Tentu saja diperlukan berbagai modifikasi agar suatu metoda metaheuristik sesuai dapat menyelesaikan masalah khusus yang dihadapi. Selain itu, dalam metaheuristik ada prosedur yang memanfaatkan satu atau lebih titik-titik tetangga (neighborhood structures) sebagai acuan menuju solusi lain. Di dalam metaheuristik biasanya ada heuristik di dalamnya. Sejalan dengan perkembangannya, metoda ini juga mencakup penggunaan strategi untuk mengatasi suatu pencarian baru dimana pencarian sering terjebak dalam local optima dalam suatu ruang solusi yang kompleks.
Ada dua kelas problem optimasi yaitu problem dengan variabel diskret dan problem dengan variabel kontinyu. Salah satu contoh yang sering ditemui untuk problem diskrit adalah traveling salesman problem: dimana seorang salesman harus mengunjungi sejumlah kota dan dia ingin mencari rute dengan jarak total minimum dimana dia harus mengunjungi setiap kota sekali saja sebelum kembali ke kota asal. Sedangkan contoh problem dengan variabel kontinyu adalah ketika seorang insinyur harus menentukan diameter pipa untuk sistem pemipaan sehingga ongkos pemasangan pipa ini minimum.
Ada karakteristik umum yang biasa dimiliki oleh pendekatan metaheuristik:
  1. Biasanya stokhastik: menggunakan bilangan random yang nilainya stokhastik untuk menentukan keputusan dalam salah satu langkah dalam algoritma. Ini memungkinkan untuk mengatasi permasalahan banyaknya kemungkinan solusi dalam masalah kombinatorial.
  2. Umumnya tidak mempunyai masalah dengan penghitungan gradient dari fungsi tujuan.
  3. Biasanya diinspirasi oleh analogi fisik (simulated annealing), biologi (evolutionary algorithms) atau ethology (ant colony, particle swarm).
  4. Mempunyai kelemahan umum: kesulitan mengatur nilai parameter   namun waktu komputasi  menjadi keunggulan dibanding optimasi eksak.
Kecenderungan yang ada sekarang adalah adanya kombinasi/hybrid antar metoda. Dengan kombinasi ini diharapkan dapat diambil keunggulan dari suatu metoda dan secara simultan menghilangkan kekurangan dari metoda yang lain. Sudah banyak dilakukan hibridisasi antar metoda seperti GA dengan PSO atau Harmony Search dengan PSO.
Data Mining
Data Mining adalah bidang ilmu yang memadukan pengatahuan statistik, machine learning, database, dan visualisasi dalam menambang data berukuran besar untuk mendapatkan informasi, pola atau knowledge yang tersembunyi untuk membantu mengambil keputusan.
Data mining bukan proses deduksi atau expert system.
Data Mining bisa diterapkan untuk data text, numerik, gambar, data timeseries dan data spasiotemporal.
Data mining berbeda dengan statistik dalam hal ukuran data dan cara pendekatan. Statistik biasanya peduli dengan hubungan antar variabel dalam data, asumsi normalitas, dan asumsi lain sebuah model bisa diterapkan. Data mining biasanya lebih bersifat blackbox dan tidak terlalu memperdulikan distribusi data, hubungan antar variabel. Yang lebih diutamakan adalah adalah model bisa mewakili hubungan input dan output dan bisa dibuktikan kevalidannya.

Kamis, 05 Mei 2011

Buku Metaheuristik

 
Telah terbit buku Metoda Metaheuristik, Konsep dan Implementasi. Ditulis oleh Budi Santosa (T Industri ITS) bersama dengan Paul Willy (Uni Heidelberg Jerman). Buku pertama berbahasa Indonesia yang membahasa metaheuristik secara detail disertai contoh mplementasi dan program komputer dalam Matlab. Bisa dibaca bagi para pemula sampai yang ingin mengembangkannya. Pemesanan ke shima1907@yahoo.com , harga Rp 75.000 + ongkos kirim (Jawa Rp15000, luar Jawa,Rp22.000). Untuk wilayah Surabaya bisa ambil langsung ke kampus ITS. Buku ini berisi topik-topik berikut:
2 Beberapa Konsep Dasar Optimasi 7
3 Optimasi Multi-Tujuan 31
4 Optimasi Klasik 51
4.2 Algoritma Direct Search . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2.1 Algoritma Hooke Jevees . . . . . . . . . . . . . . . . . . . . 53
4.2.2 Algoritma Nelder Mead . . . . . . . . . . . . . . . . . . . . 53
4.3 Gradient-based Search . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3.1 Steepest Descent . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3.2 Metoda Newton . . . . . . . . . . . . . . . . . . . . . . . . 60
5 Metode Klasik Optimasi Multi-Tujuan 75
5.2 Metode Pembobotan . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3 Metode _-Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.4 Metode-metode Lainnya . . . . . . . . . . . . . . . . . . . . . . . . 83
5.4.1 MetodeMetrik Berbobot . . . . . . . . . . . . . . . . . . . 83
5.4.2 Metode Benson . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.5 Lexicographic Ordering . . . . . . . . . . . . . . . . . . . . . . . . . 85
6 Genetic Algorithm 87
6.3 Algoritma GA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.4 Implementasi GA dengan Biner . . . . . . . . . . . . . . . . . . . . 93
6.5 Implementasi menggunakan nilai kontinyus . . . . . . . . . . . . . 98
6.6 GA untuk TSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.7 KodeMatlab untuk GA Kontinyus . . . . . . . . . . . . . . . . . 106
6.8 KodeMatlab untuk GA Biner . . . . . . . . . . . . . . . . . . . . 110
6.9 Kode Matlab untuk TSP dengan GA . . . . . . . . . . . . . . . . 113
6.10 Kode Matlab GA Modifikasi untuk TSP . . . . . . . . . . . . . . . 117
7 GA untuk Optimasi Multi-Tujuan 121
7.2 Evolutionary Multiobjective Optimization . . . . . . . . . . . . . . 122
7.3 GAMulti-Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.3.1 Vector Evaluated GA (VEGA) . . . . . . . . . . . . . . . . 131
7.3.2 Multi-objective GA (MOGA) . . . . . . . . . . . . . . . . . 133
7.3.3 Niched Pareto GA (NPGA) dan NPGA-2 . . . . . . . . . . 134
7.3.4 Nondominated Sorting GA (NSGA) dan NSGA-II . . . . . 136
7.3.5 Distance-based Pareto GA (DPGA) . . . . . . . . . . . . . 140
7.3.6 Thermodynamic GA (TDGA) . . . . . . . . . . . . . . . . . 142
7.3.7 Multi-Objective Messy GA (MOMGA) . . . . . . . . . . . . 144
7.3.8 Micro-GA (μGA) . . . . . . . . . . . . . . . . . . . . . . . . 146
8 Ant Colony Optimization 151
8.2 Konsep ACO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8.3 Perilaku Semut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
8.4 Penambahan dan Penguapan Pheromone . . . . . . . . . . . . . . . 156
8.5 Algoritma ACO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.6 ACO untuk Traveling Salesman Problem. . . . . . . . . . . . . . . 163
9 ACO Multi-Tujuan 171
9.2.5 Pengarsipan Pareto . . . . . . . . . . . . . . . . . . . . . . . 174
9.2.6 KlasifikasiModel . . . . . . . . . . . . . . . . . . . . . . . . 176
9.3 BeberapaModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
9.3.1 Multi-Objective Ant-Q (MOAQ) . . . . . . . . . . . . . . . 176
9.3.2 Multiple Ant Colony System for Vehicle Routing Problems
with TimeWindows . . . . . . . . . . . . . . . . . . . . . . 177
9.3.3 Multi-Objective ACO Metaheuristic (MOACOM) . . . . . . 177
9.3.4 SACO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
9.3.5 Multi-Objective Network Optimization using ACO . . . . . 178
9.3.6 Population-basedACO (PACO) . . . . . . . . . . . . . . . 179
9.3.7 COMPETants . . . . . . . . . . . . . . . . . . . . . . . . . 180
9.3.8 Pareto ACO (P-ACO) . . . . . . . . . . . . . . . . . . . . . 180
10 Particle Swarm Optimization 183
10.2 Particle swarmoptimization . . . . . . . . . . . . . . . . . . . . . . 185
10.3 Implementasi PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
10.4 Modifikasi PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
10.5 PSO untuk TSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
10.6 Lampiran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11 PSO Multi Tujuan 207
11.1 Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.1.1 Sejarah Perkembangan . . . . . . . . . . . . . . . . . . . . . 207
11.2 Garis Besar PerluasanModel . . . . . . . . . . . . . . . . . . . . . 208
11.2.1 Pemilihan dan Pembaharuan Para Pemimpin . . . . . . . . 210
11.2.2 Pembentukan Solusi Baru . . . . . . . . . . . . . . . . . . . 211
11.2.3 KlasifikasiModel . . . . . . . . . . . . . . . . . . . . . . . . 213
11.3 BeberapaModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
11.3.1 Adaptive Weighted PSO (AWPSO) . . . . . . . . . . . . . . 213
11.3.2 Multiple Objective PSO (MOPSO) . . . . . . . . . . . . . . 215
11.3.3 Covering multiObjective PSO (cvMOPSO) . . . . . . . . . 218
11.3.4 Non-dominated Sorting PSO (NSPSO) . . . . . . . . . . . . 219
11.3.5 MaximinPSO . . . . . . . . . . . . . . . . . . . . . . . . . . 220
11.3.6 Particle Swarm inspired Evolutionary Algorithm (PS-EA) . 220
11.3.7 Vector Evaluated PSO (VEPSO) . . . . . . . . . . . . . . . 221
11.3.8 Multi-Species PSO . . . . . . . . . . . . . . . . . . . . . . . 222
11.3.9 Intelligent PSO (IPSO) . . . . . . . . . . . . . . . . . . . . 222
11.3.10Clustering Multiobjective PSO (ClustMPSO) . . . . . . . . 223
12 Simulated Annealing 225
12.2 Algoritma SA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
12.3 Simulated Annealing untuk TSP . . . . . . . . . . . . . . . . . . . 233
12.4 Lampiran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
13 SA untuk Optimasi Multi-Tujuan 239
13.2 Garis Besar Perluasan Model . . . . . . . . . . . . . . . . . . . . . 240
13.2.1 Perbandingan dengan EA . . . . . . . . . . . . . . . . . . . 240
13.2.2 Peluang Penerimaan . . . . . . . . . . . . . . . . . . . . . . 240
13.2.3 Annealing Schedule . . . . . . . . . . . . . . . . . . . . . . . 242
13.3 BeberapaModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
13.3.1 Pareto SA (PSA) . . . . . . . . . . . . . . . . . . . . . . . . 246
13.3.2 UlunguMulti-Objective SA (UMOSA) . . . . . . . . . . . . 246
13.3.3 Suppapitnarm Multi-Objective SA (SMOSA) . . . . . . . . 248
13.3.4 Weight-based Multi-Objective SA (WMOSA) . . . . . . . . 251
13.3.5 Pareto Domination-based Multi-Objective SA . . . . . . . 251
14 Cross Entropy 253
14.2 Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
14.3 CE untuk Optimasi . . . . . . . . . . . . . . . . . . . . . . . . . . 256
14.4 Optimasi Kombinatorial dengan CE . . . . . . . . . . . . . . . . . 258
14.5 CE untuk optimasi dengan pembatas . . . . . . . . . . . . . . . . . 272
15 Aplikasi Cross Entropy 273
15.1 CE UntukMenyelesaikan TSP . . . . . . . . . . . . . . . . . . . . 273
15.2 Vehicle Routing Problem. . . . . . . . . . . . . . . . . . . . . . . . 281
15.3 Single Machine with Total Weighted Tardiness . . . . . . . . . . . 284
15.4 Single Machine with Common Due Date . . . . . . . . . . . . . . 288
15.5 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
15.6 Lampiran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
16 Differential Evolution 299
16.2 Ide Dasar DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
16.3 Inisialisasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
16.4 Mutasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
16.5 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
16.6 Seleksi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
16.7 Contoh Implementasi DE . . . . . . . . . . . . . . . . . . . . . . . 306
16.8 Lampiran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
17 DE untuk Multi-Tujuan 315
17.2 Perbandingan Singkat dengan EA . . . . . . . . . . . . . . . . . . . 317
17.3 BeberapaModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
17.3.1 Pareto-frontier DE (PDE) . . . . . . . . . . . . . . . . . . . 318
17.3.2 Generalized DE (GDE) dan variannya . . . . . . . . . . . . 320
17.3.3 Pareto-based DE Approach . . . . . . . . . . . . . . . . . . 322
17.3.4 Multi-Objective DE (MODE) . . . . . . . . . . . . . . . . . 322
17.3.5 Nondominated Sorting DE (NSDE) . . . . . . . . . . . . . 323
17.3.6 Vector Evaluated DE (VEDE) . . . . . . . . . . . . . . . . 324
17.3.7 _-MyDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
17.3.8 DE for Multi-Objective Optimization (DEMO) . . . . . . . 327
17.3.9 Multi Objective DE based on Decomposition . . . . . . . . 328
17.3.10Cultured DE . . . . . . . . . . . . . . . . . . . . . . . . . . 329
18 Harmony Search 331
18.2 Konsep Harmony Search . . . . . . . . . . . . . . . . . . . . . . . . 333
18.3 Implementasi Harmony Search . . . . . . . . . . . . . . . . . . . . 338