《智能優(yōu)化算法與MATLAB編程實踐》介紹了國內外新研發(fā)的10種智能優(yōu)化算法,對每種算法的靈感來源、實現(xiàn)過程、函數(shù)編程、案例應用都進行了細致描述并給出詳細的MATLAB代碼,使讀者快速掌握智能優(yōu)化算法的學習和應用方法。 全書共分為12章,前10章分別介紹10種智能優(yōu)化算法的原理、MATLAB實現(xiàn)、具體函數(shù)尋優(yōu)求解過程和應用案例;第11章列舉了23種衡量智能優(yōu)化算法性能的常見測試函數(shù),并給出MATLAB代碼;第12章重點介紹智能優(yōu)化算法的評價指標體系,選取部分測試函數(shù)和文中算法進行測試與分析,并給出完整MATLAB代碼,供讀者參考。 本書的主要特點為算法新穎,要素齊全,案例豐富,可移植性和實戰(zhàn)性強。理論研究和工程技術人員可通過本書快速理解、掌握書中算法,節(jié)省大量時間,感興趣的讀者可以在此基礎上進行深入研究。 本書可作為本科生、研究生和教師的學習用書,也可以作為廣大科研工作者、工程技術人員的參考用書。
算法新穎:介紹國內外新近研究開發(fā)的10種智能優(yōu)化算法,包含完整的建模過程和MATLAB代碼案例,對于初學者具有較強的啟發(fā)作用。
要素齊全:對每種算法的靈感來源、實現(xiàn)過程、函數(shù)編程、案例應用進行細致描述,給出詳細的MATLAB代碼,使讀者快速掌握智能優(yōu)化算法的學習和應用方法。
案例豐富:對于理論研究和工程技術人員,可通過本書節(jié)省大量時間,快速理解、掌握書中算法,感興趣的讀者可以在此基礎上進行深入研究。
實戰(zhàn)性強:對于要應用算法工具解決具體問題的理論研究和工程技術人員來說,通過閱讀本書可以節(jié)省大量查詢資料和編寫程序的時間,通過MATLAB仿真實例更加深入地理解、快速地掌握算法。
近年來,為了在一定程度上解決大空間、非線性、全局尋優(yōu)、組合優(yōu)化等復雜問題,智能優(yōu)化算法得到了快速發(fā)展和廣泛應用。智能優(yōu)化算法又稱為元啟發(fā)式算法,包括粒子群算法、遺傳算法、模擬退火算法、禁忌搜索算法、蟻群算法等。智能優(yōu)化算法的常見靈感來源通常為生物、物理、化學、社會等系統(tǒng)或領域中相關的行為、功能、經驗、規(guī)則、作用機理等,因其獨特的優(yōu)點和機制,在國內外得到廣泛關注。智能優(yōu)化算法正在不斷演化和飛速發(fā)展,在信號圖像處理、生產任務分配、路徑規(guī)劃、自主自動控制等眾多領域得到了成功應用。
本書介紹了10種智能優(yōu)化算法,包括蜉蝣優(yōu)化算法、哈里斯鷹優(yōu)化算法、獅群優(yōu)化算法、樽海鞘群算法、禿鷹搜索算法、烏燕鷗優(yōu)化算法、平衡優(yōu)化器算法、海洋捕食者算法、算術優(yōu)化算法和蝠鲼覓食優(yōu)化算法。全書共分為12章,前10章分別對應上述一種智能優(yōu)化算法,每章分為4節(jié),第一節(jié)主要對算法來源、原理、過程和流程進行詳細介紹,第二節(jié)給出算法完整的MATLAB實現(xiàn)代碼,第三節(jié)針對某一具體的函數(shù)模型進行MATLAB編程尋優(yōu),第四節(jié)針對某一具體應用問題進行MATLAB主函數(shù)設計。第11章列出了23種用于衡量智能優(yōu)化算法性能的常見測試函數(shù),并給出了每種測試函數(shù)的MATLAB編程代碼。第12章重點介紹了智能優(yōu)化算法評價指標體系,選取了8種測試函數(shù)以及10種工程案例,對前10章介紹的部分智能優(yōu)化算法進行測試與分析,給出完整MATLAB代碼,供讀者參考。
本書主要特點為算法新穎,要素齊全,案例豐富,可移植性強。本書涉及的算法均為國內外新開發(fā)研究的算法,包含完整的建模過程和MATLAB代碼案例,對于初學者具有較強的啟發(fā)作用。本書實戰(zhàn)性強,對于要應用算法工具解決具體問題的理論研究和工程技術人員來說,通過閱讀本書可以節(jié)省大量查詢資料和編寫程序的時間,通過MATLAB仿真實例更加深入地理解、快速地掌握算法。每種算法的優(yōu)化目標可以很多,感興趣的讀者可以在此基礎上進行深入研究。
在本書編寫過程中,除了引用智能優(yōu)化算法的原始文獻,還參考了國內外相關研究的文獻及有價值的博士、碩士學位論文等,感謝被本書直接或間接引用文獻資料的同行學者們!
本書的出版得到清華大學出版社的大力支持,在此表示由衷感謝!
由于編著者水平有限,書中難免存在不足之處,誠摯希望各位專家和讀者批評指正。
編 者
陳克偉,陸軍裝甲兵學院講師,從事過電氣工程與智能控制研究,發(fā)表論文20余篇,授權發(fā)明專利10余項。
魏曙光,陸軍裝甲兵學院副教授,主要從事電氣工程與智能控制,車輛綜合電力等方面的研究工作。出版專著教材6部,發(fā)表論文50余篇,授權發(fā)明專利20余項,曾獲國家科技進步二等獎1項,軍隊科技進步一等獎3項。
范旭,芯原微電子(成都)有限公司高級工程師,曾先后任職全球領先半導體設備公司,機器視覺設備公司,芯片設計公司,從事過圖像算法工程師,機器視覺機器人的開發(fā),以及圖形算法,GPU芯片架構開發(fā)。
張嘉曦,陸軍裝甲兵學院助教,主要從事電氣工程及其自動化專業(yè)教學,研究車輛電傳動技術,控制算法等。
金東陽,陸軍裝甲兵學院講師,國家jiaoyu部某重點實驗室成員,軍委科技委重點實驗室成員。主要從事智能化作戰(zhàn)概念,智能作戰(zhàn)任務規(guī)劃,智能化無人集群控制等方面研究。
王素云,陸軍裝甲兵學院基礎部副教授,主要從事數(shù)學教學和科研工作。
譚玉彬,陸軍裝甲兵學院室主任兼高級工程師,主要從事裝備管理和維修保障工作。
張明,中央民族大學,主要研究無人機集群算法以及圖像處理中的屬性識別,目標檢測等。
目 錄
第1章 蜉蝣優(yōu)化算法 1
1.1 基本原理 1
1.1.1 雄性蜉蝣的運動 1
1.1.2 雌性蜉蝣的運動 2
1.1.3 雌雄蜉蝣的交配過程 3
1.1.4 蜉蝣優(yōu)化算法流程 3
1.2 MATLAB實現(xiàn) 4
1.2.1 種群初始化 4
1.2.2 適應度函數(shù) 7
1.2.3 邊界檢查和約束函數(shù) 8
1.2.4 蜉蝣優(yōu)化算法代碼 9
1.3 函數(shù)尋優(yōu) 13
1.3.1 問題描述 13
1.3.2 適應度函數(shù)設計 14
1.3.3 主函數(shù)設計 15
1.4 減速器設計 16
1.4.1 問題描述 16
1.4.2 適應度函數(shù)設計 18
1.4.3 主函數(shù)設計 19
參考文獻 21
第2章 哈里斯鷹優(yōu)化算法 22
2.1 基本原理 22
2.1.1 搜索階段 23
2.1.2 從搜索到開發(fā)的轉換階段 23
2.1.3 開發(fā)階段 24
2.1.4 哈里斯鷹優(yōu)化算法流程 27
2.2 MATLAB實現(xiàn) 28
2.2.1 種群初始化 29
2.2.2 適應度函數(shù) 31
2.2.3 邊界檢查和約束函數(shù) 32
2.2.4 Levy飛行函數(shù) 33
2.2.5 算法代碼 34
2.3 函數(shù)尋優(yōu) 37
2.3.1 問題描述 37
2.3.2 適應度函數(shù)設計 38
2.3.3 主函數(shù)設計 38
2.4 拉伸/壓縮彈簧設計 40
2.4.1 問題描述 40
2.4.2 適應度函數(shù)設計 40
2.4.3 主函數(shù)設計 41
參考文獻 43
第3章 獅群優(yōu)化算法 44
3.1 基本原理 44
3.1.1 獅王更新方式 45
3.1.2 母獅更新方式 45
3.1.3 幼獅更新方式 46
3.1.4 獅群優(yōu)化算法流程 47
3.2 MATLAB實現(xiàn) 48
3.2.1 種群初始化 48
3.2.2 適應度函數(shù) 51
3.2.3 邊界檢查和約束函數(shù) 51
3.2.4 獅群優(yōu)化算法代碼 52
3.3 函數(shù)尋優(yōu) 54
3.3.1 問題描述 54
3.3.2 適應度函數(shù)設計 55
3.3.3 主函數(shù)設計 56
3.4 壓力容器設計 57
3.4.1 問題描述 57
3.4.2 適應度函數(shù)設計 58
3.4.3 主函數(shù)設計 59
參考文獻 61
第4章 樽海鞘群算法 62
4.1 基本原理 62
4.1.1 樽海鞘群算法的數(shù)學模型 62
4.1.2 樽海鞘群算法流程 64
4.2 MATLAB實現(xiàn) 65
4.2.1 種群初始化 65
4.2.2 適應度函數(shù) 68
4.2.3 邊界檢查和約束函數(shù) 69
4.2.4 樽海鞘群算法代碼 70
4.3 函數(shù)尋優(yōu) 71
4.3.1 問題描述 71
4.3.2 適應度函數(shù)設計 72
4.3.3 主函數(shù)設計 73
4.4 三桿桁架設計 74
4.4.1 問題描述 74
4.4.2 適應度函數(shù)設計 75
4.4.3 主函數(shù)設計 76
參考文獻 78
第5章 禿鷹搜索算法 79
5.1 基本原理 79
5.1.1 選擇階段 79
5.1.2 搜索階段 80
5.1.3 俯沖階段 81
5.1.4 禿鷹搜索算法流程 81
5.2 MATLAB實現(xiàn) 82
5.2.1 種群初始化 82
5.2.2 適應度函數(shù) 85
5.2.3 邊界檢查和約束函數(shù) 86
5.2.4 禿鷹搜索算法代碼 87
5.3 函數(shù)尋優(yōu) 89
5.3.1 問題描述 89
5.3.2 適應度函數(shù)設計 90
5.3.3 主函數(shù)設計 90
5.4 齒輪傳動設計 92
5.4.1 問題描述 92
5.4.2 適應度函數(shù)設計 93
5.4.3 主函數(shù)設計 93
參考文獻 95
第6章 烏燕鷗優(yōu)化算法 96
6.1 基本原理 96
6.1.1 遷徙行為(勘探階段) 96
6.1.2 攻擊行為(開發(fā)階段) 97
6.1.3 烏燕鷗優(yōu)化算法流程 98
6.2 MATLAB實現(xiàn) 99
6.2.1 種群初始化 99
6.2.2 適應度函數(shù) 102
6.2.3 邊界檢查和約束函數(shù) 102
6.2.4 烏燕鷗優(yōu)化算法代碼 104
6.3 函數(shù)尋優(yōu) 105
6.3.1 問題描述 106
6.3.2 適應度函數(shù)設計 107
6.3.3 主函數(shù)設計 107
6.4 懸臂梁設計 108
6.4.1 問題描述 108
6.4.2 適應度函數(shù)設計 109
6.4.3 主函數(shù)設計 110
參考文獻 112
第7章 平衡優(yōu)化器算法 113
7.1 基本原理 113
7.1.1 算法物理背景 113
7.1.2 優(yōu)化原理 114
7.1.3 平衡優(yōu)化器算法流程 116
7.2 MATLAB實現(xiàn) 117
7.2.1 種群初始化 117
7.2.2 適應度函數(shù) 120
7.2.3 邊界檢查和約束函數(shù) 121
7.2.4 平衡優(yōu)化器算法代碼 122
7.3 函數(shù)尋優(yōu) 124
7.3.1 問題描述 124
7.3.2 適應度函數(shù)設計 125
7.3.3 主函數(shù)設計 125
7.4 管狀柱設計 127
7.4.1 問題描述 127
7.4.2 適應度函數(shù)設計 128
7.4.3 主函數(shù)設計 129
參考文獻 130
第8章 海洋捕食者算法 132
8.1 基本原理 132
8.1.1 初始化 132
8.1.2 優(yōu)化階段 133
8.1.3 渦流形成與魚群聚集裝置效應 134
8.1.4 海洋捕食者算法流程 134
8.2 MATLAB實現(xiàn) 136
8.2.1 種群初始化 136
8.2.2 適應度函數(shù) 139
8.2.3 邊界檢查和約束函數(shù) 139
8.2.4 Levy飛行 140
8.2.5 海洋捕食者算法代碼 141
8.3 函數(shù)尋優(yōu) 144
8.3.1 問題描述 144
8.3.2 適應度函數(shù)設計 145
8.3.3 主函數(shù)設計 145
8.4 活塞桿設計 147
8.4.1 問題描述 147
8.4.2 適應度函數(shù)設計 148
8.4.3 主函數(shù)設計 149
參考文獻 151
第9章 算術優(yōu)化算法 152
9.1 基本原理 152
9.1.1 算術優(yōu)化算法的原理 152
9.1.2 算術優(yōu)化算法流程 154
9.2 MATLAB實現(xiàn) 156
9.2.1 種群初始化 156
9.2.2 適應度函數(shù) 158
9.2.3 邊界檢查和約束函數(shù) 159
9.2.4 算術優(yōu)化算法代碼 160
9.3 函數(shù)尋優(yōu) 162
9.3.1 問題描述 162
9.3.2 適應度函數(shù)設計 163
9.3.3 主函數(shù)設計 163
9.4 焊接梁設計 165
9.4.1 問題描述 165
9.4.2 適應度函數(shù)設計 167
9.4.3 主函數(shù)設計 168
參考文獻 169
第10章 蝠鲼覓食優(yōu)化算法 171
10.1 基本原理 171
10.1.1 鏈式覓食 171
10.1.2 螺旋式覓食 172
10.1.3 翻滾式覓食 173
10.1.4 蝠鲼覓食優(yōu)化算法流程 174
10.2 MATLAB實現(xiàn) 175
10.2.1 種群初始化 175
10.2.2 適應度函數(shù) 177
10.2.3 邊界檢查和約束函數(shù) 178
10.2.4 蝠鲼覓食優(yōu)化算法代碼 179
10.3 函數(shù)尋優(yōu) 181
10.3.1 問題描述 181
10.3.2 適應度函數(shù)設計 183
10.3.3 主函數(shù)設計 183
10.4 鋼筋混凝土梁設計 184
10.4.1 問題描述 185
10.4.2 適應度函數(shù)設計 185
10.4.3 主函數(shù)設計 186
參考文獻 188
第11章 智能優(yōu)化算法基準函數(shù)集合 189
11.1 基準測試集簡介 189
11.2 基準測試函數(shù)搜索空間繪圖和代碼 191
11.2.1 F1函數(shù) 191
11.2.2 F2函數(shù) 192
11.2.3 F3函數(shù) 193
11.2.4 F4函數(shù) 195
11.2.5 F5函數(shù) 196
11.2.6 F6函數(shù) 197
11.2.7 F7函數(shù) 199
11.2.8 F8函數(shù) 200
11.2.9 F9函數(shù) 201
11.2.10 F10函數(shù) 202
11.2.11 F11函數(shù) 204
11.2.12 F12函數(shù) 205
11.2.13 F13函數(shù) 207
11.2.14 F14函數(shù) 208
11.2.15 F15函數(shù) 209
11.2.16 F16函數(shù) 211
11.2.17 F17函數(shù) 212
11.2.18 F18函數(shù) 213
11.2.19 F19函數(shù) 215
11.2.20 F20函數(shù) 216
11.2.21 F21函數(shù) 218
11.2.22 F22函數(shù) 219
11.2.23 F23函數(shù) 220
參考文獻 222
第12章 智能優(yōu)化算法性能測試 223
12.1 智能優(yōu)化算法評價指標 223
12.1.1 平均值 223
12.1.2 標準差 223
12.1.3 最優(yōu)值和最差值 225
12.1.4 收斂曲線 225
12.2 基準測試函數(shù)測試 226
12.2.1 測試函數(shù)信息 226
12.2.2 測試方法及參數(shù)設置 226
12.2.3 測試結果 227
12.2.4 測試代碼 233
12.3 工程案例測試 235
12.3.1 測試案例信息 235
12.3.2 測試方法及參數(shù)設置 245
12.3.3 測試結果 246
12.2.4 測試代碼 253