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