全域性最佳化的目標是找到(可能非線性)模型的全域性最佳解,在(可能或已知)存在多個區域性最優解的情況下。形式上,全域性最佳化尋求約束最佳化模型的全域性解。非線性模型在許多應用中無處不在,例如,在高階工程設計、生物技術、資料分析、環境管理、金融規劃、過程控制、風險管理、科學建模等領域。它們的求解通常需要全域性搜尋方法。
一些應用示例包括聲學裝置設計、癌症治療計劃、化學過程建模、資料分析、分類和視覺化、經濟和金融預測、環境風險評估和管理、工業產品設計、雷射裝置設計、模型擬合到資料(校準)、數值數學中的最佳化、“封閉”(保密)工程或其他系統的最佳化執行、包裝和其他物體排列問題、投資組合管理、計算物理和化學中的勢能模型、過程控制、機器人設計和操作、非線性方程和不等式系統以及廢水處理系統管理。
為了 формулировать 全域性最佳化問題,假設目標函式 和約束
是連續函式,分量式邊界
和
與決策變數向量
相關是有限的,且可行集
非空。這些假設保證了全域性最佳化模型是適定的,因為根據極值定理,全域性最佳化模型的解集是非空的。
例如,考慮與求解方程對相關的 -範數誤差函式
|
(1)
| |||
|
(2)
|
由於我們希望找到全域性最小誤差,而不僅僅是“區域性最小”誤差,我們需要在二維盒區域中進行全域性搜尋(參見圖片的底面積)。存在許多具有類似多模態結構的非線性最佳化問題。
如果我們使用傳統的區域性範圍搜尋方法來解決這個問題,那麼根據搜尋的起點,我們通常會找到質量不同的區域性最優解(參見圖中可能容易捕獲區域性搜尋方法的“谷”)。為了找到全域性最優解,需要進行全域性範圍的搜尋努力。
以下列出了一些最重要的全域性最佳化策略,以及簡短的補充說明和參考文獻。大多數全域性最佳化軟體實現都基於這些方法之一,可能結合了來自多種策略的思想。
精確方法包括
1. 樸素方法:這些包括最著名的被動(同步)或直接(非完全自適應)序列全域性最佳化策略,例如均勻網格、空間覆蓋和純隨機搜尋。請注意,這些方法在溫和的假設下是收斂的,但通常在更高維度的問題中是不實用的(Horst 和 Pardalos 1995, Pintér 1996a, Zhigljavsky 1991)。
2. 完全(列舉)搜尋策略:這些策略基於對所有可能解的詳盡(且通常經過精簡的)列舉。這些策略適用於組合問題,以及某些“結構良好”的連續全域性最佳化問題,例如凹規劃(Horst 和 Tuy 1996)。
3. 同倫(引數延拓)、軌跡方法和相關方法:這些方法具有“雄心勃勃”的目標,即訪問目標函式的所有駐點:這反過來又導致所有(全域性以及區域性)最優點的列表。這種通用方法包括基於微分方程模型的路徑跟蹤搜尋策略,以及不動點方法和樞軸演算法(Diener 1995, Forster 1995)。
4. 逐次逼近(鬆弛)方法:在這種方法中,初始最佳化問題被一系列更易於求解的鬆弛子問題所取代。透過割平面和更一般的割線、各種下界函式構造、巢狀最佳化和分解策略等,逐步改進子問題以逼近原始問題。這些方法適用於各種結構化的全域性最佳化問題,例如凹最小化和微分凸問題(Horst 和 Tuy 1996)。
5. 分支定界演算法:已經提出了各種自適應分割槽策略來解決全域性最佳化模型。這些策略基於分割槽、抽樣和隨後的下界和上界過程:這些操作迭代地應用於可行集 內的活動(“候選”)子集的集合。它們的詳盡搜尋特徵以類似於類似的整數線性規劃方法論的精神得到保證。分支定界包含了許多具體方法,並允許各種實現。分支定界方法通常依賴於關於問題的一些先驗結構知識。此資訊可能與例如每個函式可以變化的速度有關(例如,每個函式
和
的合適的“整體”利普希茨常數的知識);或所有函式的解析公式和有保證的光滑度的可用性(例如,在基於區間算術的方法中)。通用分支定界方法適用於廣泛的全域性最佳化問題,例如,組合最佳化、凹最小化、反向凸規劃、DC 規劃和利普希茨最佳化(Neumaier 1990, Hansen 1992, Ratschek 和 Rokne 1995, Kearfott 1996, Horst 和 Tuy 1996, Pintér 1996a)。
6. 貝葉斯搜尋(分割槽)演算法:這些方法基於假設的統計資訊,以實現建模函式類別的先驗隨機描述。在最佳化過程中,自適應地估計和更新問題例項的特徵。請注意,通常只有相應的一維模型開發是精確的;此外,在大多數實際情況下,“短視”的近似決策支配著搜尋過程。這種通用方法也適用於(僅僅)連續全域性最佳化問題。理論上,只有透過生成無處不在的密集搜尋點集才能保證收斂到最優解集。使用統計方法的明顯挑戰之一是為它們應用的問題類別選擇和驗證“適當的”統計模型。此外,對於更高維度的最佳化問題,似乎難以實現這些演算法的嚴格、計算效率高的版本。但是請注意,如果“跳過”底層的貝葉斯正規化,那麼這些方法也可以務實地視為自適應分割槽演算法,因此,它們可以直接擴充套件到更高的維度(Pintér 1996a)。有關貝葉斯方法的詳細闡述,請參見 Mockus (1989)、Törn 和 Zilinskas (1989) 以及 Mockus et al. (1996)。
7. 自適應隨機搜尋演算法:這是另一類廣泛的方法,基於可行集中“詳盡”的隨機抽樣。在其基本形式中,它包括各種隨機搜尋策略,這些策略以機率 1 收斂。搜尋策略調整、聚類和確定性解精化選項、統計停止規則等也可以作為增強功能新增。該方法適用於非常溫和條件下的離散和連續全域性最佳化問題(Boender 和 Romeijn 1995, Pintér 1996a, Zhigljavsky 1991)。
啟發式策略包括
1. 區域性搜尋方法的“全域性化”擴充套件:這些是部分啟發式演算法,但在實踐中通常是成功的。基本思想是應用初步的網格搜尋或基於隨機搜尋的全域性階段,然後應用區域性(凸規劃)方法。例如,隨機多起點從從搜尋域 中隨機選擇的幾個點執行區域性搜尋。請注意,即使當
具有複雜形狀時,例如由(利普希茨)連續非線性函式定義時,這種抽樣也不是微不足道的。通常,會向此基本策略新增複雜的演算法增強功能。例如,樣本點的聚類嘗試僅從 f 的每個取樣的“盆地”中選擇一個點,然後從該點啟動區域性搜尋方法。(Törn 和 Zilinskas 1989)。
2. 進化策略:這些方法啟發式地“模仿”生物進化:即自然選擇的過程和“適者生存”原則。使用基於候選解點“種群”的自適應搜尋過程。迭代涉及競爭性選擇,從而刪除較差的解。然後,透過與其他解交換元件,將剩餘的具有較高“適應度值”的候選解池“重組”;也可以透過對候選解進行一些較小規模的更改來“變異”它們。重組和變異移動是順序應用的;其目的是生成新的解,這些解偏向於 的子集,其中已經找到了好的但不一定是全域性最佳化的解。可以構建基於不同進化“遊戲規則”的這種通用策略的許多變體。不同型別的進化搜尋方法包括旨在解決連續全域性最佳化問題的方法,以及旨在解決組合問題的方法。後一組通常稱為遺傳演算法(Goldberg 1989, Michalewicz 1996, Osman 和 Kelly 1996, Voss et al. 1999)。
3. 模擬退火:這些技術基於冷卻晶體結構的物理類比,這些結構自發地嘗試達到某種穩定(全域性或區域性最小勢能)平衡。這種通用原理適用於輕微結構要求下的離散和連續全域性最佳化問題(van Laarhoven 和 Aarts 1987, Osman 和 Kelly 1996, Aarts 和 Lenstra 1997)。
4. 禁忌搜尋:在這種元啟發式的通用類別中,基本思想是“禁止”搜尋移動到在(通常是離散的)搜尋空間中已訪問過的點,至少在接下來的幾個步驟中。也就是說,可以暫時接受新的劣質解,以避免已經調查過的路徑。這種方法可以引導探索 D 的新區域,目標是透過“全域性化”搜尋找到解。禁忌搜尋傳統上已應用於組合最佳化問題(例如,排程、路由、旅行商)問題。原則上,透過問題的離散近似(編碼),該技術可以直接應用於連續全域性最佳化問題,但其他擴充套件也是可能的(Glover 和 Laguna 1996, Osman 和 Kelly 1996, Voss et al. 1999)。
5. 近似凸全域性低估:這種啟發式上具有吸引力的策略嘗試基於 中的定向抽樣來估計目標函式
的(假設的)大規模“整體”凸性特徵。適用於平滑問題(Dill et al. 1997)。
6. 延拓方法:這些方法首先將勢函式轉換為更平滑(“更簡單”)的函式,該函式具有更少的區域性最小值,然後使用區域性最小化過程將最小值追溯到原始函式。同樣,這種方法適用於平滑問題。有關理論背景,請參見 Forster (1995)。
7. 區域性最優的順序改進:這些方法通常在自適應構建的輔助函式上執行,以協助搜尋逐漸更好的最優解。通用啟發式原則包括隧道法、緊縮法和填充函式法(Levy 和 Gomez 1985)。
Pintér (1996b) 給出了關於連續全域性最佳化軟體的調查。目前,有超過一百件全域性最佳化軟體。全域性最佳化在 Wolfram 語言 中實現為NMinimize和NMaximize,並且還透過 MathOptimizer Professional 附加應用程式包實現。
有關更多專題資訊,請參閱 Bliek et al. (2001)、Pintér (2002)、Fourer (2003)、Mittelmann 和 Spelucci (2004) 以及 Neumaier (2004)。