智能優化算法在解決大空間、非線性、全局尋優、組合優化等復雜問題方面具有獨特的優勢,因而得到了國內外學者的廣泛關注,并在信號處理、圖像處理、生產調度、任務分配、模式識別、自動控制和機械設計等眾多領域得到了成功應用。本書介紹了8種經典智能優化算法遺傳算法、差分進化算法、免疫算法、蟻群算法、粒子群算法、模擬退火算法、禁忌搜索算法和神經網絡算法的來源、原理、算法流程和關鍵參數說明,并給出了具體的MATLAB仿真實例。對于要用這些算法工具來解決具體問題的理論研究和工程技術人員,通過本書可以節省大量查詢資料和編寫程序的時間,通過仿真實例可以更深入地理解、快速地掌握這些算法。
前 言
近年來,隨著計算機技術的快速發展,為了在一定程度上解決大空間、非線性、全局尋優、組合優化等復雜問題,不少智能優化方法不斷涌現,例如:進化類算法、群智能算法、模擬退火算法、禁忌搜索算法和神經網絡算法等。因其獨特的優點和機制,這些算法得到了國內外學者的廣泛關注,掀起了研究熱潮,在信號處理、圖像處理、生產調度、任務分配、模式識別、自動控制和機械設計等眾多領域得到了成功應用。
本書介紹了8種經典智能優化算法的來源、原理、算法流程和關鍵參數說明,并給出了具體MATLAB仿真實例,包括:遺傳算法、差分進化算法、免疫算法、蟻群算法、粒子群算法、模擬退火算法、禁忌搜索算法和神經網絡算法。全書分為9章:第1章為概述,綜合介紹智能優化算法的功能和應用以及主要算法的來源、原理和特點;第2~9章對上述8種智能優化算法分別進行介紹,包括其算法簡介、算法理論、算法主要種類、算法流程和關鍵參數說明,并給出MATLAB仿真實例,其中有的章節還介紹算法的改進方向和實現方法。
智能優化算法可應用于電子、通信、計算機、自動化、機器人、經濟學和管理學等眾多學科;對于要用這些算法工具來解決具體問題的理論研究和工程技術人員來說,通過本書可以節省大量查詢資料和編寫程序的時間,通過MATLAB仿真實例可以更深入地理解、快速地掌握這些算法。由于每種算法的優化目標可以很多,對應的修正算法也很多,感興趣的讀者可以在此基礎上進行深入研究。
本書的第1~4章和第7~9章由包子陽編寫和修訂;第5章和第6章由余繼周編寫和修訂;楊杉參與第2章和第6章的修訂以及對全書的審查和校正。書中的所有源程序均可在電子工業出版社網站(www.phei.com.cn)下載。在本書改版過程中,得到了北京無線電測量研究所人力資源處劉紀斌老師、檔信中心董智文主任、《航天雷達》郭珊珊編輯、黨辦陳佳佳老師、所辦郭少霞老師以及總體部的支持和幫助,電子工業出版社相關編輯為本書的出版付出了辛勤勞動,特此表示感謝。
由于編著者水平有限,書中難免有各種不足之處,誠摯希望各位專家和讀者批評指正。聯系方式:bao_ziyang@163.com。
編著者
2017年11月
包子陽:2009年6月畢業于電子科技大學信號與信息處理專業,獲碩士學位。2009年8月至今工作于北京無線電測量研究所,高級工程師。從事雷達電氣總體、信號處理和算法研究等工作,申請專利五項(已授權兩項),在國際雷達會議、《系統工程與電子技術》、《現代雷達》、《電子技術應用》、全國天線年會等發表學術論文十余篇。
目 錄
第1章 概述1
1.1 進化類算法2
1.2 群智能算法3
1.3 模擬退火算法5
1.4 禁忌搜索算法5
1.5 神經網絡算法6
參考文獻6
第2章 遺傳算法9
2.1 引言9
2.2 遺傳算法理論10
2.2.1 遺傳算法的生物學基礎10
2.2.2 遺傳算法理論基礎11
2.2.3 遺傳算法的基本概念13
2.2.4 標準遺傳算法16
2.2.5 遺傳算法的特點16
2.2.6 遺傳算法的改進方向17
2.3 遺傳算法流程17
2.4 關鍵參數說明19
2.5 MATLAB仿真實例20
參考文獻35
第3章 差分進化算法37
3.1 引言37
3.2 差分進化算法理論38
3.2.1 差分進化算法原理38
3.2.2 差分進化算法的特點38
3.3 差分進化算法種類39
3.3.1 基本差分進化算法39
3.3.2 差分進化算法的其他形式41
3.3.3 改進的差分進化算法42
3.4 差分進化算法流程43
3.5 關鍵參數的說明44
3.6 MATLAB仿真實例45
參考文獻57
第4章 免疫算法59
4.1 引言59
4.2 免疫算法理論60
4.2.1 生物免疫系統60
4.2.2 免疫算法概念62
4.2.3 免疫算法的特點63
4.2.4 免疫算法算子63
4.3 免疫算法種類67
4.3.1 克隆選擇算法67
4.3.2 免疫遺傳算法67
4.3.3 反向選擇算法67
4.3.4 疫苗免疫算法68
4.4 免疫算法流程68
4.5 關鍵參數說明70
4.6 MATLAB仿真實例71
參考文獻84
第5章 蟻群算法87
5.1 引言87
5.2 蟻群算法理論88
5.2.1 真實蟻群的覓食過程88
5.2.2 人工蟻群的優化過程90
5.2.3 真實螞蟻與人工螞蟻的異同90
5.2.4 蟻群算法的特點91
5.3 基本蟻群算法及其流程92
5.4 改進的蟻群算法95
5.4.1 精英螞蟻系統95
5.4.2 最大最小螞蟻系統95
5.4.3 基于排序的蟻群算法96
5.4.4 自適應蟻群算法96
5.5 關鍵參數說明97
5.6 MATLAB仿真實例99
參考文獻108
第6章 粒子群算法111
6.1 引言111
6.2 粒子群算法理論112
6.2.1 粒子群算法描述112
6.2.2 粒子群算法建模113
6.2.3 粒子群算法的特點113
6.3 粒子群算法種類114
6.3.1 基本粒子群算法114
6.3.2 標準粒子群算法114
6.3.3 壓縮因子粒子群算法115
6.3.4 離散粒子群算法116
6.4 粒子群算法流程116
6.5 關鍵參數說明117
6.6 MATLAB仿真實例120
參考文獻135
第7章 模擬退火算法137
7.1 引言137
7.2 模擬退火算法理論138
7.2.1 物理退火過程138
7.2.2 模擬退火原理139
7.2.3 模擬退火算法思想140
7.2.4 模擬退火算法的特點141
7.2.5 模擬退火算法的改進方向141
7.3 模擬退火算法流程142
7.4 關鍵參數說明143
7.5 MATLAB仿真實例145
參考文獻156
第8章 禁忌搜索算法157
8.1 引言157
8.2 禁忌搜索算法理論158
8.2.1 局部鄰域搜索158
8.2.2 禁忌搜索159
8.2.3 禁忌搜索算法的特點159
8.2.4 禁忌搜索算法的改進方向160
8.3 禁忌搜索算法流程160
8.4 關鍵參數說明162
8.5 MATLAB仿真實例165
參考文獻176
第9章 神經網絡算法179
9.1 引言179
9.2 神經網絡算法理論180
9.2.1 人工神經元模型180
9.2.2 常用激活函數181
9.2.3 神經網絡模型182
9.2.4 神經網絡工作方式182
9.2.5 神經網絡算法的特點183
9.3 BP神經網絡算法184
9.4 神經網絡算法的實現187
9.4.1 數據預處理187
9.4.2 神經網絡實現函數188
9.5 MATLAB仿真實例191
參考文獻199
附錄A MATLAB常用命令和函數201