㈠ 混沌優化演算法可以求解全局最優解嗎
非線性最優化問題的一種混合解法
摘 要:把BFGS方法與混沌優化方法相結合,基於混沌變數提出一種求解具有變數邊界約束非線性最優化問題的混合優化方法。混合演算法兼顧了混沌優化全局搜索能力強和BFGS方法收斂速度快的優點,成為一種求解非凸優化問題全局最優的有效方法。算例表明,當混沌搜索的次數達到一定數量時,混合優化方法可以保證演算法收斂到全局最優解,且計算效率比混沌優化方法有很大提高。
關鍵詞:混合法;BFGS方法;混沌優化方法;全局最優
1 引言
在系統工程、控制工程、統計學、反問題優化求解等領域中,很多問題是具有非凸性的。對此普通的優化技術只能求出局部最優解,因為這些確定性演算法總是解得最近的一個極值點[1],只有能夠給出很好的初始點才有可能得出所需要的全局最優解。為此,實際應用中通過在多個初始點上使用傳統數值優化方法來求取全局解的方法仍然被人們所採用,但是這種處理方法求得全局解的概率不高,可靠性低,建立盡可能大概率的求解全局解演算法仍然是一個重要問題。近年來基於梯度法的全局最優化方法已經有所研究[2],基於隨機搜索技術的遺傳演算法和模擬退火演算法等在全局優化問題中的應用也得到越來越大的重視[3-4]。本文則基於混沌優化和BFGS方法,提出一種求解具有簡單界約束最優化問題(1)的混合演算法。
混沌是存在於非線性系統中的一種較為普遍的現象。混沌運動宏觀上無序無律,具有內隨機性、非周期性和局部不穩定性,微觀上有序有律,並不是完全的隨機運動,具有無窮嵌套的自相似幾何結構、存在普適性規律,並不是雜亂無章的。利用混沌變數的隨機性、遍歷性和規律性特點可以進行優化搜索[5],且混沌優化方法容易跳出局部最優點。但是某些狀態需要很長時間才能達到,如果最優值在這些狀態時,計算時間勢必很長[5]。可以說混沌優化具有全局搜索能力,其局部搜索能力稍顯不足,文[5]採用二次載波技術,文[6]考慮逐漸縮小尋優變數的搜索空間都是為了彌補這一弱點。而本文則採用混沌搜索與BFGS方法進行優化求解,一方面採用混沌搜索幫助BFGS方法跳出局部最優,另一方面利用BFGS增強解附近的超線性收斂速度和搜索能力,以提高搜索最優的效率。
2 混沌-BFGS混合優化方法
2.1 BFGS方法
作為求解無約束最優化問題的擬牛頓方法類最有代表性的演算法之一,BFGS方法處理凸非線性規劃問題,以其完善的數學理論基礎、採用不精確線性搜索時的超線性收斂性和處理實際問題有效性,受到人們的重視[7-9]。擬牛頓方法使用了二階導數信息,但是並不直接計算函數的Hesse矩陣,而是採用一階梯度信息來構造一系列的正定矩陣來逼近Hesse矩陣。BFGS方法求解無約束優化問題min()的主要步驟如下:
(1) 給變數賦初值x0,變數維數n和BFGS方法收斂精度ε,令B0=I(單位陣),k=0,計算在點x0的梯度g0。
(2) 取sk=-Bk-1gk,沿sk作一維搜索,確定最優步長αk,,得新點xk+1=xk+αksk,計算xk+1點的梯度gk+1。
(3) 若||gk+1||≤ε,則令,,BFGS搜索結束,轉步驟3;否則執行(4)。
(4) 計算Bk+1:
(2)
(3)
(5) k=k+1,轉(2)。
2.2 混沌優化方法
利用混沌搜索求解問題(1)時,先建立待求變數與混沌變數的一一對應關系,本文採用。然後,由Logistic映射式(4)產生個軌跡不同的混沌變數()進行優化搜索,式(4)中=4。已經證明,=4是「單片」混沌,在[0,1]之間歷遍。
(4)
(1)給定最大混沌變數運動次數M;給賦初值,計算和;置,。
(2) 。
(3) 。
(4) 若k<M,
若,令,;
若,和保持不變;
然後令k=k+1,,轉(2)。
若k>M,則,,混沌搜索結束。
2.3 混合優化方法
混沌方法和BFGS方法混合求解連續對象的全局極小值優化問題(1)的步驟如下:
step1 設置混沌搜索的最大次數M,迭代步數iter=0,變數賦初值x0,。
step2 以為始點BFGS搜索,得當前BFGS方法最優解及=。
step3 若,取=;若,取;若,取,是相對於,較小的數。
step 4 以為始點進行混沌搜索M次,得混沌搜索後的最優解及=。
step5 若<,iter=iter+1,,轉step2;否則執行step6。
step6 改變混沌搜索軌跡,再次進行混沌搜索,即給加微小擾動,執行step 4,得搜索結果和。若<,iter=iter+1,,轉step2;否則計算結束,輸出、。
對全局極大值問題,max ,可以轉化為求解全局極小問題min 。
混合演算法中混沌搜索的作用是大范圍宏觀搜索,使得演算法具有全局尋優性能。而BFGS搜索的作用是局部地、細致地進行優化搜索,處理的是小范圍搜索問題和搜索加速問題。
3 算例
圖 1 函數-特性示意圖 圖 2 函數特性示意圖
採用如下兩個非常復雜的、常用於測試遺傳演算法性能的函數測試本文演算法:
函數稱為Camel 函數,該函數有6個局部極小點(1.607105, 0.568651)、(-1.607105, -0.568651)、(1.703607, -0.796084)、(-1.703607, 0.796084)、(-0.0898,0.7126)和(0.0898,-0.7126),其中(-0.0898,0.7126)和(0.0898,-0.7126)為兩個全局最小點,最小值為-1.031628。函數稱為 Schaffer's函數,該函數有無數個極大值,其中只有(0,0)為全局最大點,最大值為1。此函數的最大峰值周圍有一圈脊,它們的取值均為0.990283,因此很容易停留在此局部極大點。文獻[10]採用該函數對該文提出的基於移動和人工選擇的改進遺傳演算法(GAMAS)其性能進行了考察,運行50次,40%的情況下該函數的唯一全局最優點能夠找到。而採用本文混合演算法,由計算機內部隨機函數自動隨機生產100個不同的初始點,由這些初始點出發,一般混合演算法迭代2-4次即能夠收斂。M取不同數值時對函數、的計算結果分別如表1和表2所示,表中計算時間是指在奔騰133微機上計算時間。
由表2可見,當M=1500時,本文方法搜索到最優解的概率即達到40%,而此時計算量比文獻[10]小。同樣由混合演算法的100個起始點,採用文獻[5]的演算法對函數優化計算100次,以作為收斂標准,混沌搜索50000次,計算結果為67次搜索到最優解,概率為67%,平均計算時間為1.2369s。而即使保證混合演算法100次全收斂到最優解所花費的平均計算時間也只為0.2142s(表1),可見混合演算法優於文獻[5]的方法。
表1 M取不同數值時函數的計算結果
_____________________________________________________________________
M 搜索到全局最優點的次數 搜索到最優的概率 平均計算時間
(-0.0898,0.7126) (0.0898,-0.7126)
_____________________________________________________________________________________________
1000 44 39 83% 0.1214s
3000 53 45 98% 0.1955s
5000 53 47 100% 0.2142s
________________________________________________________________________________________________
表2 M取不同數值時函數的計算結果
___________________________________________________________
M 搜索到全局最優點的次數 搜索到最優的概率 平均計算時間
____________________________________________________________________________________
1500 40 40% 0.1406s
5000 73 73% 0.2505s
10000 88 88% 0.4197s
50000 100 100% 1.6856s
____________________________________________________________________________________
4 計算結果分析
由表1和表2可見,混合演算法全局尋優能力隨M的增加而增大,當M達到某一足夠大的數值Mu後,搜索到全局最優的概率可以達到100%。
從理論上說,Mu趨向無窮大時,才能使混沌變數遍歷所有狀態,才能真正以概率1搜索到最優點。但是,本文混沌運動M次的作用是幫助BFGS方法跳出局部最優點,達到比當前局部最優函數值更小的另一局部最優附近的某一點處,並不是要混沌變數遍歷所有狀態。由混沌運動遍歷特性可知,對於某一具體問題,Mu達到某一具體有限數值時,混沌變數的遍歷性可以得到較好模擬,這一點是可以滿足的,實際算例也證實了這一點。
由於函數性態、復雜性不同,對於不同函數,如這里的測試函數、,數值Mu的大小是有差別的。對於同一函數,搜索區間增大,在相同混沌運動次數下,即使始點相同,總體而言會降低其搜索到全局最優的概率,要保證演算法仍然以概率1收斂到全局最優,必然引起Mu 增大。跟蹤計算中間結果證實,當M足夠大時,混合演算法的確具有跳出局部最優點,繼續向全局最優進行搜索的能力;並且混合演算法的計算時間主要花費在為使混合演算法具有全局搜索能力而進行混沌搜索上。
5 結語
利用混沌變數的運動特點進行優化,具有非常強的跳出局部最優解的能力,該方法與BFGS方法結合使用,在可以接受的計算量下能夠計算得到問題的最優解。實際上,混沌優化可以和一般的下降類演算法結合使用,並非局限於本文採用的BFGS方法。採用的Logistic映射產生混沌變數序列,只是產生混沌變數的有效方式之一。
混沌運動與隨機運動是不同的。混沌是確定性系統中由於內稟隨機性而產生的一種復雜的、貌似無規的運動。混沌並不是無序和紊亂,更像是沒有周期的秩序。與隨機運動相比較,混沌運動可以在各態歷經的假設下,應用統計的數字特徵來描述。並且,混沌運動不重復地經過同一狀態,採用混沌變數進行優化比採用隨機變數進行優化具有優勢。
混沌優化與下降類方法結合使用是有潛力的一種全局優化途徑,是求解具有變數界約束優化問題的可靠方法。如何進一步提高搜索效率,以及如何把混沌優化有效應用於復雜約束優化問題是值得進一步研究的課題。
本文演算法全局收斂性的嚴格數學證明正在進行之中。
參考文獻
[1]胡山鷹,陳丙珍,何小榮,沈靜珠.非線性規劃問題全局優化的模擬退火法[J].清華大學學報,37(6),1997,5-9.
[2]C A Floudas, A Aggarwal, A R Ciric. Global optimum search for nonconvex NLP and MINLP problems[J]. Comput Chem Engng. 1989, 13(10), 1117~1132.
[3]康立山,謝雲,尤矢勇等.非數值並行演算法(第一冊)――模擬退火演算法[M].北京:科學出版社,1998.
[4]劉勇,康立山,陳琉屏.非數值並行演算法(第二冊)――遺傳演算法[M].北京:科學出版社,1998.
[5]李兵,蔣慰孫.混沌優化方法及其應用[J].控制理論與應用,14(4),1997,613-615.
[6]張彤,王宏偉,王子才.變尺度混沌優化方法及其應用[J].控制與決策,14(3),1999,285-287.
[7]席少霖.非線性最優化方法[M].北京:高等教育出版社,1992.
[8]席少霖,趙鳳志.最優化計算方法[M].上海:上海科學技術出版社,1983.
[9]Press W H, Tenkolsky S A, Vetterling W T, Flannery B P.Numerical Recipes in C, The Art of Scientific Computing[M]. Second edition, Cambridge University Press, 1992.
[10]J C Ports.The development and evaluation of an improved genetic algorithm based on migration and artificial selection[J].IEEE Trans. Syst. Man and Cybern..1994, 24(1),73-85.
A Hybrid Approach for Nonlinear Optimization
Abstract:Combined BFGS method with chaos optimization method, a hybrid approach was proposed to solve nonlinear optimization problems with boundary restraints of variables. The hybrid method is an effective approach to solve nonconvex optimization problems, as it given both attentions to the inherent virtue to locate global optimum of chaos optimization method and the advantage of high convergence speed of BFGS method. Numerical examples illustrate that the present method possesses both good capability to search global optima and far higher convergence speed than that of chaos optimization method.
㈡ 最優化理論與演算法的內容簡介
本書是陳寶林教授在多年實踐基礎上編著的.書中包括線性規劃單純形方法、對偶理論、靈敏度分析、運輸問題、內點演算法、非線性規劃K?T條件、無約束最優化方法、約束最優化方法、整數規劃和動態規劃等內容.本書含有大量經典的和新近的演算法,有比較系統的理論分析,實用性比較強;定理的證明和演算法的推導主要以數學分析和線性代數為基礎,比較簡單易學.本書可以作為運籌學類課程的教學參考書,也可供應用數學工作者和工程技術人員參考。
㈢ 最優化演算法有什麼經典好書學長學長能給介紹一下嗎
matlab最優化程序包括
無約束一維極值問題 進退法 黃金分割法 斐波那契法 牛頓法基本牛頓法 全局牛頓法 割線法 拋物線法 三次插值法 可接受搜索法 Goidstein法 Wolfe.Powell法
單純形搜索法 Powell法 最速下降法 共軛梯度法 牛頓法 修正牛頓法 擬牛頓法 信賴域法 顯式最速下降法, Rosen梯度投影法 罰函數法 外點罰函數法
內點罰函數法 混合罰函數法 乘子法 G-N法 修正G-N法 L-M法 線性規劃 單純形法 修正單純形法 大M法 變數有界單純形法 整數規劃 割平面法 分支定界法 0-1規劃 二次規劃
拉格朗曰法 起作用集演算法 路徑跟蹤法 粒子群優化演算法 基本粒子群演算法 帶壓縮因子的粒子群演算法 權重改進的粒子群演算法 線性遞減權重法 自適應權重法 隨機權重法
變學習因子的粒子群演算法 同步變化的學習因子 非同步變化的學習因子 二階粒子群演算法 二階振盪粒子群演算法
㈣ matlab優化演算法案例分析與應用怎麼寫參考文獻
你可以隨便找一個國內權威的期刊,參考期刊中的論文文獻格式寫入即可。
當年我也參加了全國的數學建模競賽以及美國MCM數據建模競賽,都是這樣寫參考文獻的。
望採納
㈤ 最優化理論與方法的目錄
第1篇線性規劃與整數規劃
1最優化基本要素
1.1優化變數
1.2目標函數
1.3約束條件
1.4最優化問題的數學模型及分類
1.5最優化方法概述
習題
參考文獻
2線性規劃
2.1線性規劃數學模型
2.2線性規劃求解基本原理
2.3單純形方法
2.4初始基本可行解的獲取
習題
參考文獻
3整數規劃
3.1整數規劃數學模型及窮舉法
3.2割平面法
3.3分枝定界法
習題
參考文獻
第2篇非線性規劃
4非線性規劃數學基礎
4.1多元函數的泰勒展開式
4.2函數的方向導數與最速下降方向
4.3函數的二次型與正定矩陣
4.4無約束優化的極值條件
4.5凸函數與凸規劃
4.6約束優化的極值條件
習題
參考文獻
5一維最優化方法
5.1搜索區間的確定
5.2黃金分割法
5.3二次插值法
5.4切線法
5.5格點法
習題
參考文獻
6無約束多維非線性規劃方法
6.1坐標輪換法
6.2最速下降法
6.3牛頓法
6.4變尺度法
6.5共軛方向法
6.6單純形法
6.7最小二乘法
習題
參考文獻
7約束問題的非線性規劃方法
7.1約束最優化問題的間接解法
7.2約束最優化問題的直接解法
習題
參考文獻
8非線性規劃中的一些其他方法
8.1多目標優化
8.2數學模型的尺度變換
8.3靈敏度分析及可變容差法
習題
參考文獻
第3篇智能優化方法
9啟發式搜索方法
9.1圖搜索演算法
9.2啟發式評價函數
9.3A*搜索演算法
習題
參考文獻
10Hopfield神經網路優化方法
10.1人工神經網路模型
10.2Hopfield神經網路
10.3Hopfield網路與最優化問題
習題
參考文獻
11模擬退火法與均場退火法
11.1模擬退火法基礎
11.2模擬退火演算法
11.3隨機型神經網路
11.4均場退火
習題
參考文獻
12遺傳演算法
12.1遺傳演算法實現
12.2遺傳演算法示例
12.3實數編碼的遺傳演算法
習題
參考文獻
第4篇變分法與動態規劃
13變分法
13.1泛函
13.2泛函極值條件——歐拉方程
13.3可動邊界泛函的極值
13.4條件極值問題
13.5利用變分法求解最優控制問題
習題
參考文獻
14最大(小)值原理
14.1連續系統的最大(小)值原理
14.2應用最大(小)值原理求解最優控制問題
14.3離散系統的最大(小)值原理
習題
參考文獻
15動態規劃
15.1動態規劃數學模型與演算法
15.2確定性多階段決策
15.3動態系統最優控制問題
習題
參考文獻
附錄A中英文索引
Part 1Linear Programming and Integer Programming
1Fundamentals of Optimization
1.1Optimal Variables
1.2Objective Function
1.3Constraints
1.4Mathematical Model and Classification of Optimization
1.5Introction of Optimal Methods
Problems
References
2Linear Programming
2.1Mathematical Models of Linear Programming
2.2Basic Principles of Linear Programming
2.3Simplex Method
2.4Acquirement of Initial Basic Feasible Solution
Problems
References
3Integer Programming
3.1Mathematical Models of Integer Programming and Enumeration
Method
3.2Cutting Plane Method
3.3Branch and Bound Method
Problems
References
Part 2Non?Linear Programming
4Mathematical Basis of Non?Linear Programming
4.1Taylor Expansion of Multi?Variable Function
4.2Directional Derivative of Function and Steepest Descent Direction
4.3Quadratic Form and Positive Matrix
4.4Extreme Conditions of Unconstrained Optimum
4.5Convex Function and Convex Programming
4.6Extreme Conditions of Constrained Optimum
Problems
References
5One?Dimensional Optimal Methods
5.1Determination of Search Interval
5.2Golden Section Method
5.3Quadratic Interpolation Method
5.4Tangent Method
5.5Grid Method
Problems
References
6Non?Constraint Non?Linear Programming
6.1Coordinate Alternation Method
6.2Steepest Descent Method
6.3Newton?s Method
6.4Variable Metric Method
6.5Conjugate Gradient Algorithm
6.6Simplex Method
6.7Least Squares Method
Problems
References
7Constraint Optimal Methods
7.1Constraint Optimal Indirect Methods
7.2Constraint Optimal Direct Methods
Problems
References
8Other Methods in Non Linear Programming
8.1Multi Objectives Optimazation
8.2Metric Variation of a Mathematic Model
8.3Sensitivity Analysis and Flexible Tolerance Method
Problems
References
Part 3Intelligent Optimization Method
9Heuristic Search Method
9.1Graph Search Method
9.2Heuristic Evaluation Function
9.3A*Search Method
Problems
References
10Optimization Method Based on Hopfield Neural Networks
10.1Artificial Neural Networks Model
10.2Hopfield Neural Networks
10.3Hopfield Neural Networks and Optimization Problems
Problems
References
11Simulated Annealing Algorithm and Mean Field Annealing Algorithm
11.1Basis of Simulated Annealing Algorithm
11.2Simulated Annealing Algorithm
11.3Stochastic Neural Networks
11.4Mean Field Annealing Algorithm
Problems
References
12Genetic Algorithm
12.1Implementation Procere of Genetic Algorithm
12.2Genetic Algorithm Examples
12.3Real?Number Encoding Genetic Algorithm
Problems
References
Part 4Variation Method and Dynamic Programming
13Variation Method
13.1Functional
13.2Functional Extreme Value Condition—Euler?s Equation
13.3Functional Extreme Value for Moving Boundary
13.4Conditonal Extreme Value
13.5Solving Optimal Control with Variation Method
Problems
References
14Maximum (Minimum) Principle
14.1Maximum (Minimum) Principle for Continuum System
14.2Applications of Maximum (Minimum) Principle
14.3Maximum (Minimum) Principle for Discrete System
Problems
References
15Dynamic Programming
15.1Mathematic Model and Algorithm of Dynamic Programming
15.2Deterministic Multi?Stage Process Decision
15.3Optimal Control of Dynamic System
Problems
References
Appendix AChinese and English Index
㈥ 《數值最優化演算法與理論(李董輝 董小嬌 萬中)》求電子書
已上傳至我的網路雲
㈦ 優化演算法是什麼
智能優化演算法是一種啟發式優化演算法,包括遺傳演算法、蟻群演算法、禁忌搜索演算法、模擬退火演算法、粒子群演算法等。·智能優化演算法一般是針對具體問題設計相關的演算法,理論要求弱,技術性強。一般,我們會把智能演算法與最優化演算法進行比較,相比之下,智能演算法速度快,應用性強。
群體智能優化演算法是一類基於概率的隨機搜索進化演算法,各個演算法之間存在結構、研究內容、計算方法等具有較大的相似性。
各個群體智能演算法之間最大不同在於演算法更新規則上,有基於模擬群居生物運動長更新的(如PSO,AFSA與SFLA),也有根據某種演算法機理設置更新規則(如ACO)。
(7)最優化演算法參考文獻擴展閱讀:
優化演算法有很多,關鍵是針對不同的優化問題,例如可行解變數的取值(連續還是離散)、目標函數和約束條件的復雜程度(線性還是非線性)等,應用不同的演算法。 對於連續和線性等較簡單的問題,可以選擇一些經典演算法,例如梯度、Hessian 矩陣、拉格朗日乘數、單純形法、梯度下降法等;而對於更復雜的問題,則可考慮用一些智能優化演算法。
㈧ 想知道優化演算法是什麼
優化演算法是通過改善計算方式來最小化或最大化損失函數E(x)。模型內部有些參數是用來計算測試集中目標值Y的真實值和預測值的偏差程度的,基於這些參數就形成了損失函數E(x),比如說,權重(W)和偏差(b)就是這樣的內部參數,一般用於計算輸出值,在訓練神經網路模型時起到主要作用。
優化演算法分的分類
一階優化演算法是使用各參數的梯度值來最小化或最大化損失函數E(x),最常用的一階優化演算法是梯度下降。函數梯度導數dy/dx的多變數表達式,用來表示y相對於x的瞬時變化率。
二階優化演算法是使用了二階導數也叫做Hessian方法來最小化或最大化損失函數,由於二階導數的計算成本很高,所以這種方法並沒有廣泛使用。