MATLAB智能優(yōu)化算法:從寫代碼到算法思想
定 價:89 元
- 作者:曹旺
- 出版時間:2021/8/1
- ISBN:9787301322383
- 出 版 社:北京大學(xué)出版社
- 中圖法分類:TP301.6
- 頁碼:320
- 紙張:
- 版次:1
- 開本:16開
本書從簡單的組合優(yōu)化問題作為MATLAB智能優(yōu)化算法實戰(zhàn)應(yīng)用的切入點,逐步深入到使用MATLAB編寫更復(fù)雜的智能優(yōu)化算法求解更復(fù)雜的組合優(yōu)化問題,讓讀者逐漸理解智能優(yōu)化算法的實際求解過程。
本書分為10章,主要內(nèi)容包括:遺傳算法求解01背包問題;變鄰域搜索算法求解旅行商問題;模擬退火算法求解旅行商問題;大規(guī)模鄰域搜索算法求解旅行商問題;蟻群算法求解容量受限的車輛路徑問題;禁忌搜索算法求解帶時間窗的車輛路徑問題;遺傳算法求解帶時間窗的車輛路徑問題;迭代局部搜索求解訂單分批問題;NSGA-II算法求解多目標(biāo)01背包問題;粒子群法求解配送中心選址問題。
本書內(nèi)容通俗易懂,案例豐富,特別適合MATLAB語言的入門讀者閱讀,也適合想學(xué)習(xí)智能優(yōu)化算法但無從下手的編程愛好者閱讀。另外,本書也適合作為相關(guān)專業(yè)的教材使用。
曹旺,網(wǎng)名“隨心390”,知乎“優(yōu)化算法交流地”主筆,哈爾濱工程大學(xué)碩士,現(xiàn)就職于船舶某研究院所,在校就曾發(fā)表多篇論文,其中被EI檢索1篇,精通MATLAB算法開發(fā),擅長使用MATLAB編寫元啟發(fā)式算法解決組合優(yōu)化問題。
第1章 遺傳算法求解0-1背包問題 1
1.1 問題描述 2
1.2 算法簡介 4
1.3 求解策略 5
1.4 MATLAB程序?qū)崿F(xiàn) 12
1.5 實例驗證 22
1.5.1 輸入數(shù)據(jù) 22
2.1 問題描述 25
2.2 算法簡介 26
2.3 求解策略 28
2.4 MATLAB程序?qū)崿F(xiàn) 33
2.4.1 構(gòu)造初始路線函數(shù) 33
2.5 實例驗證 48
2.5.1 輸入數(shù)據(jù) 48
3.2 算法簡介 52
3.3 求解策略 57
3.5 實例驗證 70
3.5.1 輸入數(shù)據(jù) 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 構(gòu)建螞蟻行走路線 110
5.3.3 將完整路徑轉(zhuǎn)換為配送方案 111
5.3.4 更新信息素濃度矩陣 111
5.4 MATLAB程序?qū)崿F(xiàn) 112
5.4.1 確定下一個訪問點集合函數(shù) 112
5.4.2 確定下一個訪問點函數(shù) 113
5.4.3 將完整路徑轉(zhuǎn)換為配送方案函數(shù) 115
5.4.4 計算一條配送路線的距離函數(shù) 116
5.4.5 計算一個配送方案的行駛總距離 117
5.4.6 判斷函數(shù) 117
5.4.7 計算一條配送路線的裝載量函數(shù) 118
5.4.8 計算一個配送方案的總成本 118
5.4.9 輪盤賭函數(shù) 119
5.4.10 “信息素”矩陣更新函數(shù) 119
5.4.11 客量受限的車輛路徑問題配送路線圖函數(shù) 120
5.4.12 主函數(shù) 121
5.5 實例驗證 123
5.5.1 輸入數(shù)據(jù) 123
5.5.2 蟻群算法參數(shù)設(shè)置 124
5.5.3 實驗結(jié)果展示 124
第6章 模擬退火算法求解同時取送貨的車輛路徑問題 126
6.1 問題描述 127
6.2 算法簡介 130
6.3 求解策略 132
6.3.1 解的表示形式 132
6.3.2 目標(biāo)函數(shù) 133
6.3.3 交換操作 135
6.3.4 逆轉(zhuǎn)操作 135
6.3.5 插入操作 136
6.3.6 接受準(zhǔn)則 137
6.3.7 退火 137
6.4 MATLAB程序?qū)崿F(xiàn) 137
6.4.1 將當(dāng)前解轉(zhuǎn)換為配送方案函數(shù) 137
6.4.2 刪除配送方案中空路線函數(shù) 139
6.4.3 判斷函數(shù) 139
6.4.4 裝載量計算函數(shù) 140
6.4.5 違反裝載量約束之和計算函數(shù) 140
6.4.6 計算一條配送路線的距離函數(shù) 141
6.4.7 計算一個配送方案的行駛總距離 142
6.4.8 目標(biāo)函數(shù) 142
6.4.9 交換操作函數(shù) 143
6.4.10 逆轉(zhuǎn)操作函數(shù) 143
6.4.11 插入操作函數(shù) 144
6.4.12 鄰域操作函數(shù) 144
6.4.13 輪盤賭函數(shù) 145
6.4.14 同時送取貨的車輛路徑問題配送路線圖函數(shù) 145
6.4.15 主函數(shù) 146
6.5 實例驗證 149
6.5.1 輸入數(shù)據(jù) 149
6.5.2 模擬退火算法參數(shù)設(shè)置 150
6.5.3 實驗結(jié)果展示 150
第7章 遺傳算法求解帶時間窗的車輛路徑問題 152
7.1 問題描述 153
7.2 算法簡介 157
7.3 求解策略 157
7.3.1 編碼與解碼 157
7.3.2 適應(yīng)度函數(shù) 158
7.3.3 種群初始化 159
7.3.4 二元錦標(biāo)賽選擇操作 160
7.3.5 交叉操作 160
7.3.6 變異操作 161
7.3.7 局部搜索操作 161
7.3.8 重組操作 162
7.3.9 遺傳算法求解帶時間窗的車輛路徑問題流程 163
7.4 MATLAB程序?qū)崿F(xiàn) 163
7.4.1 構(gòu)造VRPTW初始解函數(shù) 163
7.4.2 種群初始化函數(shù) 166
7.4.3 解碼函數(shù) 168
7.4.4 適應(yīng)度函數(shù) 172
7.4.5 二元錦標(biāo)賽選擇操作函數(shù) 175
7.4.6 交叉操作函數(shù) 176
7.4.7 變異操作函數(shù) 178
7.4.8 局部搜索操作 178
7.4.9 重組操作函數(shù) 185
7.4.10 VRPTW配送路線圖函數(shù) 186
7.4.11 主函數(shù) 187
7.5 實例驗證 189
7.5.1 輸入數(shù)據(jù) 189
7.5.2 數(shù)據(jù)預(yù)處理 190
7.5.3 遺傳算法參數(shù)設(shè)置 191
7.5.4 實驗結(jié)果展示 192
第8章 螢火蟲算法求解訂單分批問題 194
8.1 問題描述 195
8.2 算法簡介 198
8.3 求解策略 200
8.3.1 編碼與解碼 201
8.3.2 揀選路徑策略 201
8.3.3 目標(biāo)函數(shù)與發(fā)光強度 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程序?qū)崿F(xiàn) 208
8.4.1 解碼函數(shù) 208
8.4.2 刪除訂單分批方案中空訂單批次函數(shù) 210
8.4.3 判斷函數(shù) 210
8.4.4 裝載量計算函數(shù) 211
8.4.5 一批次訂單的揀選行走距離計算函數(shù) 212
8.4.6 一個訂單分批方案的揀選行走總距離計算函數(shù) 213
8.4.7 成本函數(shù) 214
8.4.8 種群目標(biāo)函數(shù)值計算函數(shù) 215
8.4.9 種群初始化函數(shù) 216
8.4.10 兩只螢火蟲之間的距離計算函數(shù) 217
8.4.11 螢火蟲位置更新函數(shù) 217
8.4.12 選擇操作函數(shù) 218
8.4.13 局部搜索操作函數(shù) 219
8.4.14 合并操作函數(shù) 226
8.4.15 主函數(shù) 227
8.5 實例驗證 229
8.5.1 輸入數(shù)據(jù) 229
8.5.2 螢火蟲算法參數(shù)設(shè)置 230
8.5.3 實驗結(jié)果展示 231
第9章 頭腦風(fēng)暴優(yōu)化算法求解帶時間窗和同時取送貨的車輛路徑問題 232
9.1 問題描述 233
9.2 算法簡介 239
9.3 求解策略 240
9.4 MATLAB程序?qū)崿F(xiàn) 250
9.5 實例驗證 275
9.5.1 輸入數(shù)據(jù) 275
9.5.2 數(shù)據(jù)預(yù)處理 276
9.5.3 頭腦風(fēng)暴優(yōu)化算法參數(shù)設(shè)置 277
9.5.4 實驗結(jié)果展示 278
第10章 鯨魚優(yōu)化算法求解開放式車輛路徑問題 280
10.1 問題描述 281
10.2 算法簡介 282
10.3 求解策略 283
10.4 MATLAB程序?qū)崿F(xiàn) 290
10.5 實例驗證 302
參考文獻 280