MATLAB 智能優化算法:從寫代碼到算法思想

MATLAB 智能優化算法:從寫代碼到算法思想

作者: 曹旺
出版社: 北京大學
出版在: 2021-01-01
ISBN-13: 9787301322383
ISBN-10: 7301322380
裝訂格式: 平裝
總頁數: 320 頁





內容描述


本書從簡單的組合優化問題作為MATLAB智能優化算法實戰應用的切入點,逐步深入到使用MATLAB編寫更復雜的智能優化算法求解更復雜的組合優化問題,讓讀者逐漸理解智能優化算法的實際求解過程。 本書分為10章,主要內容包括:遺傳算法求解01背包問題;變鄰域搜索算法求解旅行商問題;模擬退火算法求解旅行商問題;大規模鄰域搜索算法求解旅行商問題;蟻群算法求解容量受限的車輛路徑問題;禁忌搜索算法求解帶時間窗的車輛路徑問題;遺傳算法求解帶時間窗的車輛路徑問題;迭代局部搜索求解訂單分批問題;NSGA-II算法求解多目標01背包問題;粒子群法求解配送中心選址問題。 本書內容通俗易懂,案例豐富,特別適合MATLAB語言的入門讀者閱讀,也適合想學習智能優化算法但無從下手的編程愛好者閱讀。另外,本書也適合作為相關專業的教材使用。


目錄大綱


第1章 遺傳算法求解0-1背包問題 1
1.1 問題描述 2
1.2 算法簡介 4
1.3 求解策略 5
1.4 MATLAB程序實現 12
1.5 實例驗證 22
1.5.1 輸入數據 22
2.1 問題描述 25
2.2 算法簡介 26
2.3 求解策略 28
2.4 MATLAB程序實現 33
2.4.1 構造初始路線函數 33
2.5 實例驗證 48
2.5.1 輸入數據 48
3.2 算法簡介 52
3.3 求解策略 57
3.5 實例驗證 70
3.5.1 輸入數據 70
4.1 問題描述 74
4.2 算法簡介 74
4.3 求解策略 76
4.5 實例驗證 96
5.1 問題描述 100
5.2 算法簡介 103
5.3 求解策略 106
5.3.1 確定下一個訪問點 107
5.3.2 構建螞蟻行走路線 110
5.3.3 將完整路徑轉換為配送方案 111
5.3.4 更新信息素濃度矩陣 111
5.4 MATLAB程序實現 112
5.4.1 確定下一個訪問點集合函數 112
5.4.2 確定下一個訪問點函數 113
5.4.3 將完整路徑轉換為配送方案函數 115
5.4.4 計算一條配送路線的距離函數 116
5.4.5 計算一個配送方案的行駛總距離 117
5.4.6 判斷函數 117
5.4.7 計算一條配送路線的裝載量函數 118
5.4.8 計算一個配送方案的總成本 118
5.4.9 輪盤賭函數 119
5.4.10 “信息素”矩陣更新函數 119
5.4.11 客量受限的車輛路徑問題配送路線圖函數 120
5.4.12 主函數 121
5.5 實例驗證 123
5.5.1 輸入數據 123
5.5.2 蟻群算法參數設置 124
5.5.3 實驗結果展示 124
第6章 模擬退火算法求解同時取送貨的車輛路徑問題 126
6.1 問題描述 127
6.2 算法簡介 130
6.3 求解策略 132
6.3.1 解的表示形式 132
6.3.2 目標函數 133
6.3.3 交換操作 135
6.3.4 逆轉操作 135
6.3.5 插入操作 136
6.3.6 接受準則 137
6.3.7 退火 137
6.4 MATLAB程序實現 137
6.4.1 將當前解轉換為配送方案函數 137
6.4.2 刪除配送方案中空路線函數 139
6.4.3 判斷函數 139
6.4.4 裝載量計算函數 140
6.4.5 違反裝載量約束之和計算函數 140
6.4.6 計算一條配送路線的距離函數 141
6.4.7 計算一個配送方案的行駛總距離 142
6.4.8 目標函數 142
6.4.9 交換操作函數 143
6.4.10 逆轉操作函數 143
6.4.11 插入操作函數 144
6.4.12 鄰域操作函數 144
6.4.13 輪盤賭函數 145
6.4.14 同時送取貨的車輛路徑問題配送路線圖函數 145
6.4.15 主函數 146
6.5 實例驗證 149
6.5.1 輸入數據 149
6.5.2 模擬退火算法參數設置 150
6.5.3 實驗結果展示 150
第7章 遺傳算法求解帶時間窗的車輛路徑問題 152
7.1 問題描述 153
7.2 算法簡介 157
7.3 求解策略 157
7.3.1 編碼與解碼 157
7.3.2 適應度函數 158
7.3.3 種群初始化 159
7.3.4 二元錦標賽選擇操作 160
7.3.5 交叉操作 160
7.3.6 變異操作 161
7.3.7 局部搜索操作 161
7.3.8 重組操作 162
7.3.9 遺傳算法求解帶時間窗的車輛路徑問題流程 163
7.4 MATLAB程序實現 163
7.4.1 構造VRPTW初始解函數 163
7.4.2 種群初始化函數 166
7.4.3 解碼函數 168
7.4.4 適應度函數 172
7.4.5 二元錦標賽選擇操作函數 175
7.4.6 交叉操作函數 176
7.4.7 變異操作函數 178
7.4.8 局部搜索操作 178
7.4.9 重組操作函數 185
7.4.10 VRPTW配送路線圖函數 186
7.4.11 主函數 187
7.5 實例驗證 189
7.5.1 輸入數據 189
7.5.2 數據預處理 190
7.5.3 遺傳算法參數設置 191
7.5.4 實驗結果展示 192
第8章 螢火蟲算法求解訂單分批問題 194
8.1 問題描述 195
8.2 算法簡介 198
8.3 求解策略 200
8.3.1 編碼與解碼 201
8.3.2 揀選路徑策略 201
8.3.3 目標函數與發光強度 203
8.3.4 種群初始化 204
8.3.5 計算兩隻螢火蟲之間的距離 204
8.3.6 螢火蟲位置更新 205
8.3.7 局部搜索操作 206
8.3.8 合併操作 207
8.3.9 螢火蟲算法求解訂單分批問題流程 208
8.4 MATLAB程序實現 208
8.4.1 解碼函數 208
8.4.2 刪除訂單分批方案中空訂單批次函數 210
8.4.3 判斷函數 210
8.4.4 裝載量計算函數 211
8.4.5 一批次訂單的揀選行走距離計算函數 212
8.4.6 一個訂單分批方案的揀選行走總距離計算函數 213
8.4.7 成本函數 214
8.4.8 種群目標函數值計算函數 215
8.4.9 種群初始化函數 216
8.4.10 兩隻螢火蟲之間的距離計算函數 217
8.4.11 螢火蟲位置更新函數 217
8.4.12 選擇操作函數 218
8.4.13 局部搜索操作函數 219
8.4.14 合併操作函數 226
8.4.15 主函數 227
8.5 實例驗證 229
8.5.1 輸入數據 229
8.5.2 螢火蟲算法參數設置 230
8.5.3 實驗結果展示 231
第9章 頭腦風暴優化算法求解帶時間窗和同時取送貨的車輛路徑問題 232
9.1 問題描述 233
9.2 算法簡介 239
9.3 求解策略 240
9.4 MATLAB程序實現 250
9.5 實例驗證 275
9.5.1 輸入數據 275
9.5.2 數據預處理 276
9.5.3 頭腦風暴優化算法參數設置 277
9.5.4 實驗結果展示 278
第10章 鯨魚優化算法求解開放式車輛路徑問題 280
10.1 問題描述 281
10.2 算法簡介 282
10.3 求解策略 283
10.4 MATLAB程序實現 290
10.5 實例驗證 302
參考文獻 280


作者介紹


曹旺,網名“隨心390”,知乎“優化算法交流地”主筆,哈爾濱工程大學碩士,現就職於船舶某研究院所,在校就曾發表多篇論文,其中被EI檢索1篇,精通MATLAB算法開發,擅長使用MATLAB編寫元啟發式算法解決組合優化問題。




相關書籍

深度學習技術圖像處理入門

作者 楊培文 胡博強

2021-01-01

Automated Trading with R: Quantitative Research and Platform Development

作者 Chris Conlan

2021-01-01

Building Rest APIs with Flask: Create Python Web Services with MySQL

作者 Relan Kunal

2021-01-01