本書介紹了一種實現(xiàn)簡單、易于使用、可靠快速的全局優(yōu)化算法——差分進化算法。主要內(nèi)容有:差分進化算法的研究動機、主要內(nèi)容、標準測試、問題域、架構和計算環(huán)境、編程以及各種應用。
本書可作為相關專業(yè)的教材使用,同時也適合對優(yōu)化問題感興趣的所有讀者。
Kenneth VPrice:獻給我的父親。
Rainer MStorn :獻給曾給我支持的父母、我深愛的妻子Marion、我可愛的孩子Maja和Robin.Jouni ALampinen:獻給曾與我在鄉(xiāng)村和城鎮(zhèn)一起愉快生活的、也是我非常要好的朋友——小狗Tonique.前言優(yōu)化問題廣泛存在于科學研究和工程領域中。什么形狀的機翼能夠提供最大的升力?何種多項式最能擬合給定數(shù)據(jù)?哪種配置的聚焦透鏡組合能夠生成最銳利的圖像?這些問題是研究人員在工作中經(jīng)常會碰到的基本問題,毫無疑問,他們需要一種魯棒性的優(yōu)化算法去解決這些問題。
一般來說,解決一個難度大的“優(yōu)化問題”,其問題本身不應很難,如,一個擁有豐富機械理論知識的結構工程師可能不需要具備同樣程度的優(yōu)化知識去修改他的設計。除了易于使用之外,一個全局優(yōu)化算法應能足夠有效地收斂到真實最優(yōu)解。此外,搜尋解的計算時間不應過長。因此,一個真正有效的全局優(yōu)化算法應該實現(xiàn)簡單、易于使用、可靠快速。
差分進化算法(Differential Evolution,以下簡稱DE)正是這種方法。自1995年發(fā)表以來,DE被譽為一種非常高效的全局優(yōu)化器。但DE并非萬能,它良好的可靠性及魯棒性需要每個科學家及工程師的智慧。
DE源于遺傳退火算法(Genetic Annealing Algorithm),由Kenneth Price提出并發(fā)表在Dr.Dobb′s Journal (DDJ) 1994年10月刊上,這是一本很流行的程序員雜志。遺傳退火算法是一種基于種群的組合優(yōu)化算法,實現(xiàn)了經(jīng)由閾值的退火準則。遺傳退火算法在DDJ上出現(xiàn)后,Ken與Rainer Storn博士(來自西門子當時在加州伯克利大學的國際計算機科學研究所,現(xiàn)就職于德國慕尼黑的R&S公司(Rohde & Schwarz GmbH)一起應用遺傳退火算法解決了切比雪夫多項式擬合問題(Chebyshev polynomial fitting problem)。而很多人認為用一種通用的優(yōu)化算法確定切比雪夫多項式的系數(shù)是一項非常困難的任務。
Ken最終用遺傳退火算法解決了五維切比雪夫問題,但收斂過程很慢且有效的控制參數(shù)很難確定。在此之后,Ken改進了遺傳退火算法,使用浮點數(shù)替換位串編碼并用算術運算替換邏輯運算,然后他發(fā)現(xiàn)了DE的基礎差分變異操作。綜合起來,這些有效的改進形成了一種數(shù)值優(yōu)化的組合算法,即首次迭代DE。為了更好地適應并行計算機體系,Rainer提出創(chuàng)建單獨的父代種群和子代種群。不同于遺傳退火算法,DE在處理33維切比雪夫多項式多項式系數(shù)問題時并不困難。
DE的有效性并不只在切比雪夫多項式中得到了證明,在許多其他函數(shù)測試中也有不俗的表現(xiàn)。1995年,Rainer和Ken在ICSI的技術報告TR95012中發(fā)表了早期的研究結果:“差分進化:一種用于求解連續(xù)空間中全局優(yōu)化的簡單、有效的自適應模式”(Differential Evolution—A Simple and Efficient Adaptive Scheme for Global Optimization over Continuous Spaces);诓罘诌M化算法的成功表現(xiàn),Rainer和Ken參加了1996年5月在日本名古屋市同時舉辦的首屆國際進化算法大賽(ICEO)和IEEE國際進化計算會議。DE算法取得了第三名的佳績,雖然前兩名的算法在競賽函數(shù)測試中得分很高,但這兩種算法不夠靈活,不能定義為通用的優(yōu)化算法。排名第一位的算法只適用于可分量的競賽函數(shù),而排名第二的算法因要計算拉丁方而無法處理大量參數(shù)。受此鼓舞,Rainer與Ken于1997年4月在DDJ上又發(fā)表了一篇名為Different Evolution—A Simple Evolution Strategy for Fast Optimization的文章,文章深受好評,并將DE介紹給全世界的讀者。
前言前言許多研究者閱讀了Rainer與Ken在1997年12月發(fā)表在The Journal of Global Optimization雜志上的文章Differential Evolution—A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces, 文章給出了大量DE在各種測試函數(shù)中魯棒性的實驗性證據(jù)。大約在同一時期,Rainer建立了一個DE的網(wǎng)站(http://www.icsi.berkeley.edu/~storn/code/html),該網(wǎng)站有DE的詳細代碼、DE的應用及改進。
Ken參加了于1997年4月在美國印第安納州的印第安納波利斯舉辦的第二屆國際進化算法大賽(ICEO),由于種種原因?qū)е赂傎惤Y果未公開,但DE表現(xiàn)優(yōu)秀。在本次會議中,Ken遇見了David博士,隨后邀請他撰寫了DE的概要介紹,名為New Ideas in Optimization(1999)。從此以后,Ken專注于精煉DE算法,并進行理論研究來解釋算法性能。Rainer致力于在有限資源設備上實現(xiàn)DE,并開發(fā)了多種編程語言的軟件應用程序。此外Rainer還將DE作為高效工具應用在濾波器設計、中心設計和組合優(yōu)化問題中。
芬蘭的Jouni Lampinen教授(拉彭蘭塔理工大學,芬蘭,拉彭蘭塔)于1998年開始研究DE。除了對DE的理論有所貢獻外,他還證明了DE在機械工程應用中的成效,Jouni也針對特別需求的約束多目標優(yōu)化問題設計了簡單高效的DE自適應算法。Jouni還建立了DE的文獻目錄網(wǎng)站(http://www.lut.fi/~jlampine/debiblio.html)。
就像DE算法一樣,本書的目的是使讀者對DE便于理解和應用。本書主要講解了DE的工作原理,及適合于在哪些場合使用。第1章“差分進化的研究動機”,以一個常見的優(yōu)化問題開始,通過對傳統(tǒng)方法優(yōu)劣的討論
目錄
前言
第1章差分進化的研究動機1
11參數(shù)優(yōu)化引論1
111引言1
112單點求導型優(yōu)化4
113單點非求導型的優(yōu)化及步長問題8
12局部優(yōu)化與全局優(yōu)化對比11
121模擬退火12
122多點求導型方法13
123多點非求導型方法14
124差分進化的第一印象21
參考文獻25
第2章差分進化算法28
21引言28
211種群結構28
212初始化28
213變異29
214交叉29
215選擇30
216初識差分進化算法31
217可視化DE32
218注釋36
22參數(shù)表示36
221二進制比特串36
222浮點數(shù)37
223浮點約束39
23初始化39
231初始化邊界40
232初始化分布42
24基向量選擇46
241選擇基向量索引(r0)46
242一對一基向量選擇47
243幾種隨機基索引選擇方法的比較48
244退化向量組合49
245索引值互異51
246測試退化組合的影響:球面函數(shù)52
247偏基向量選擇方案54
25差分變異54
251變異縮放因子55
252隨機化縮放因子58
26重組66
261交叉66
目錄目錄262Cr在優(yōu)化中的作用70
263算術重組75
264相圖79
265異或算法83
27選擇84
271生存準則85
272錦標賽選擇86
273一對一生存(者)準則87
274局部選擇和全局選擇的比較88
275置換選擇的不變性89
276依賴交叉的選擇壓力89
277并行性能90
278延伸90
28終止條件91
281達到目標91
282限制代數(shù)91
283統(tǒng)計種群92
284限制時間92
285人工監(jiān)測92
286特定應用92
參考文獻92
第3章差分進化的標準測試97
31關于測試97
32性能評估98
33幾種DE的比較100
331算法100
332測試集102
333相圖103
334小結110
34DE與其他優(yōu)化算法的比較113
341可比的性能:針對30維函數(shù)113
342比較研究:非約束優(yōu)化120
343其他問題域上的性能比較123
344基于應用的性能比較126
35總結131
參考文獻131
第4章問題領域138
41引言138
42函數(shù)及參數(shù)量化138
421均勻量化138
422非均勻量化139
423目標函數(shù)量化140
424參數(shù)量化142
425混合變量145
43約束優(yōu)化145
431邊界約束146
432不等式約束148
433等式約束156
44組合問題162
441旅行商問題164
442置換矩陣方法164
443相對位置索引165
444Onwubolu方法166
445鄰接矩陣方法167
446總結169
45設計中心問題171
451發(fā)散、自導向性和池化171
452設計中心的計算173
46多目標優(yōu)化174
461目標函數(shù)加權和175
462Pareto優(yōu)化175
463Pareto前沿的兩個例子176
464優(yōu)化多目標的適應性DE178
47動態(tài)目標函數(shù)182
471穩(wěn)定優(yōu)化183
472不穩(wěn)定優(yōu)化185
參考文獻186
第5章架構和計算環(huán)境191
51基于多處理器的差分進化算法191
511背景191
512相關工作191
513標準模型的缺點194
514改進的標準模型194
515主處理器195
52基于資源有限設備的差分進化算法198
521隨機數(shù)198
522排列數(shù)生成器200
523高效的排序202
524內(nèi)存節(jié)省型的差分進化算法202
參考文獻204
第6章計算機編碼206
61差分進化的MATLAB實現(xiàn)——DeMat206
611DeMat的總體結構206
612命名和代碼約定207
613數(shù)據(jù)流程圖207
614怎樣使用圖形210
62DeWin——Windows下使用C語言的DE212
621DeWin總體的結構212
622命名和代碼規(guī)范215
623數(shù)據(jù)流程圖216
624怎樣使用圖形217
625graphicsh的功能219
63隨書光盤上的軟件220
參考文獻221
第7章應用222
71遺傳算法和相關技術優(yōu)化SiH簇:差分進化的優(yōu)點分析223
711引言223
712系統(tǒng)模型224
713計算細節(jié)225
714結果和討論226
715總結231
參考文獻231
72差分進化在非成像光學設計中的應用232
721引言233
722目標函數(shù)233
723逆向工程方法檢驗235
724更難的問題:擴展源237
725總結238
參考文獻239
73工業(yè)壓縮機供應系統(tǒng)的優(yōu)化239
731引言239
732測試問題的背景信息240
733系統(tǒng)優(yōu)化240
734需求概況241
735改進的差分進化及擴展DE的通性241
736數(shù)據(jù)庫中的組件選擇242
737交叉方法242
738測試步驟245
739獲取100%的確定結果246
7310結果246
7311總結247
參考文獻247
74基于差分進化算法的多傳感器融合的極小化表示248
741引言248
742多傳感器融合的極小化表示250
743用差分進化解決多傳感器融合253
744實驗結果255
745對比二進制遺傳算法260
746總結262
參考文獻263
75測定地震震源:差分進化算法的一個挑戰(zhàn)265
751引言265
752方向性問題解決方案的簡要說明267
753人造定位測試268
754收斂屬性269
755總結271
參考文獻272
76并行差分進化在3D醫(yī)學