優化算法入門學習筆記(一)優化算法基本概念

一、優化的過程

一個典型的工程設計優化過程如下圖所示,可以簡述爲:

問題說明 -> 初始設計 -> 評估性能 -> 改進設計 -> 最終模型

The role of the designer is to provide a problem specification that details the parameters, constants, objetives, and constraints that are to be achieved.

對設計者來說,首先需要提供一個問題規範,詳細說明要實現的參數,常量,目標和約束

而優化算法就是 用於逐步改進設計,直到無法再對其進行改進或達到預算時間或成本爲止。

使用優化進行設計面臨着許多挑戰:一般包括我們的計算資源 和 時間有限,因此我們的算法在探索設計方式上必須具有選擇性。

二、基本的優化問題

數學優化問題 或者說 優化問題可以寫成如下形式:

其中x表示爲對應於不同設計變量的值的向量,第i個設計變量表示爲xi。可寫成x = [x1, x2, ..., xn]。

優化問題就是在約束條件下,調整此向量中的元素以最小化目標函數f。

對於一個最大化問題,同樣可以轉化爲最小化函數的問題,只需在原目標函數f前加上負號來作爲新的目標函數即可。所求最大值的相反數爲新目標函數的最小值。

單變量問題可使用簡單一階導數、二階倒數知識來尋找局部最小值。

多變量問題則使用更爲複雜的判別方法和其他有效方式。

三、特殊的優化問題

關於優化問題的求解,不同算法的有效性(即我們用之求解優化問題的能力)是大不相同的,它取決於多方面因素,如目標函數和約束函數的形式。目前,即使目標函數和約束函數是光滑的(如多項式),一般形式的優化問題仍然很難求解。因此,求解一般形式的問題是需要付出一些代價的,如需要較長的計算時間或者可能找不到解。

然而,並不是所有的優化問題都難以求解。對於一些特殊的優化問題,存在一些有效的算法,這些算法對含有成百上千變量和約束的大型問題甚至都有效。兩類重要且廣爲人知的例子是最小二乘問題和線性規劃問題。此外,凸優化問題一樣可以進行有效的求解。

 

 

 

參考書目:

Algorithms for Optimization (MIT Press). Authors: Mykel J. Kochenderfer and Tim A. Wheeler.

Convex Optimization. Authors: Stephen Boyd and Lieven Vandenberghe

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章