具有非線性約束條件或目標函數的數學規劃,是運籌學的一個重要分支。非線性規劃研究一個 n元實函數在一組等式或不等式的約束條件下的極值問題,且目標函數和約束條件至少有一個是未知量的非線性函數。目標函數和約束條件都是線性函數的情形則屬於線性規劃。

  簡史 非線性規劃是20世紀50年代才開始形成的一門新興學科。1951年H.W.庫恩和A.W.塔克發表的關於最優性條件(後來稱為庫恩-塔克條件件)的論文是非線性規劃正式誕生的一個重要標志。在50年代還得出瞭可分離規劃和二次規劃的n種解法,它們大都是以G.B.丹齊克提出的解線性規劃的單純形法為基礎的。50年代末到60年代末出現瞭許多解非線性規劃問題的有效的算法,70年代又得到進一步的發展。非線性規劃在工程、管理、經濟、科研、軍事等方面都有廣泛的應用,為最優設計提供瞭有力的工具。

  數學模型 對實際規劃問題作定量分析,必須建立數學模型。建立數學模型首先要選定適當的目標變量和決策變量,並建立起目標變量與決策變量之間的函數關系,稱之為目標函數。然後將各種限制條件加以抽象,得出決策變量應滿足的一些等式或不等式,稱之為約束條件。非線性規劃問題的一般數學模型可表述為求未知量x1x2,…,xn,使滿足約束條件:

gi(x1,…,xn)≥0 i=1,…,m

hj(x1,…,xn)=0 j=1,…,p

並使目標函數f(x1,…,xn)達到最小值(或最大值)。其中f,諸gi和諸hj都是定義在n維向量空間Rn的某子集D(定義域)上的實值函數,且至少有一個是非線性函數。

  上述模型可簡記為:

min f(x)

s.t. gi(x)≥0 i=1,…,m

hj(x)=0 j=1,…,p

其中x=(x1,…,xn)屬於定義域D,符號min表示“求最小值”,符號s.t.表示“受約束於”。

  定義域D 中滿足約束條件的點稱為問題的可行解。全體可行解所成的集合稱為問題的可行集。對於一個可行解x*,如果存在x*的一個鄰域,使目標函數在x*處的值f(x*)優於 (指不大於或不小於)該鄰域中任何其他可行解處的函數值,則稱x*為問題的局部最優解(簡稱局部解)。如果f(x*)優於一切可行解處的目標函數值,則稱x*為問題的整體最優解(簡稱整體解)。實用非線性規劃問題要求整體解,而現有解法大多隻是求出局部解。

  一維最優化方法 指尋求一元函數在某區間上的最優值點的方法。這類方法不僅有實用價值,而且大量多維最優化方法都依賴於一系列的一維最優化。常用的一維最優化方法有黃金分割法、切線法和插值法。

  ① 黃金分割法 又稱 0.618法。它適用於單峰函數。其基本思想是:在初始尋查區間中設計一列點,通過逐次比較其函數值,逐步縮小尋查區間,以得出近似最優值點。

  ② 切線法 又稱牛頓法。它也是針對單峰函數的。其基本思想是:在一個猜測點附近將目標函數的導函數線性化,用此線性函數的零點作為新的猜測點,逐步迭代去逼近最優點。

  ③ 插值法 又稱多項式逼近法。其基本思想是用多項式(通常用二次或三次多項式)去擬合目標函數。

  此外,還有斐波那契法、割線法、有理插值法、分批搜索法等。

  無約束最優化方法 指尋求 n元實函數f在整個n維向量空間Rn上的最優值點的方法。這類方法的意義在於:雖然實用規劃問題大多是有約束的,但許多約束最優化方法可將有約束問題轉化為若幹無約束問題來求解。

  無約束最優化方法大多是逐次一維搜索的迭代算法。這類迭代算法可分為兩類。一類需要用目標函數的導函數,稱為解析法。另一類不涉及導數,隻用到函數值,稱為直接法。這些迭代算法的基本思想是:在一個近似點處選定一個有利搜索方向,沿這個方向進行一維尋查,得出新的近似點。然後對新點施行同樣手續,如此反復迭代,直到滿足預定的精度要求為止。根據搜索方向的取法不同,可以有各種算法。屬於解析型的算法有:①梯度法:又稱最速下降法。這是早期的解析法,收斂速度較慢。②牛頓法:收斂速度快,但不穩定,計算也較困難。③共軛梯度法:收斂較快,效果較好。④變尺度法:這是一類效率較高的方法。其中達維登-弗萊徹-鮑威爾變尺度法,簡稱 DFP法,是最常用的方法。屬於直接型的算法有交替方向法(又稱坐標輪換法)、模式搜索法、旋轉方向法、鮑威爾共軛方向法和單純形加速法等。

  約束最優化方法 指前述一般非線性規劃模型的求解方法。常用的約束最優化方法有 4種。①拉格朗日乘子法:它是將原問題轉化為求拉格朗日函數的駐點。②制約函數法:又稱系列無約束最小化方法,簡稱SUMT法。它又分兩類,一類叫懲罰函數法,或稱外點法;另一類叫障礙函數法,或稱內點法。它們都是將原問題轉化為一系列無約束問題來求解。③可行方向法:這是一類通過逐次選取可行下降方向去逼近最優點的迭代算法。如佐坦迪克法、弗蘭克-沃爾夫法、投影梯度法和簡約梯度法都屬於此類算法。④近似型算法:這類算法包括序貫線性規劃法和序貫二次規劃法。前者將原問題化為一系列線性規劃問題求解,後者將原問題化為一系列二次規劃問題求解。

  凸規劃 這是一類特殊的非線性規劃。在前述非線性規劃數學模型中,若f是凸函數,諸gi都是凹函數,諸hj都是一次函數,則稱之為凸規劃。所謂f是凸函數,是指f有如下性質:它的定義域是凸集,且對於定義域中任意兩點xy及任一小於1的正數α,下式都成立:

f((1-α)x +αy)α≤(1-α)f(x)+αf(y)

  將上述不等式中的不等號反向即得凹函數的定義。所謂凸集,是指具有如下性質的集合:連結集合中任意兩點的直線段上的點全部屬於該集合。

  對於一般的非線性規劃問題,局部解不一定是整體解。但凸規劃的局部解必為整體解,而且凸規劃的可行集和最優解集都是凸集。

  二次規劃 一類特殊的非線性規劃。它的目標函數是二次函數,約束條件是線性的。求解二次規劃的方法很多。較簡便易行的是沃爾夫法。它是依據庫恩-塔克條件,在線性規劃單純形法的基礎上加以修正而成的。此外還有萊姆基法、畢爾法、凱勒法等。

  幾何規劃 一類特殊的非線性規劃。它的目標函數和約束函數都是正定多項式(或稱正項式)。幾何規劃本身一般不是凸規劃,但經適當變量替換,即可變為凸規劃。幾何規劃的局部最優解必為整體最優解。求解幾何規劃的方法有兩類。一類是通過對偶規劃去求解;另一類是直接求解原規劃,這類算法大多建立在根據幾何不等式將多項式轉化為單項式的思想上。

  應用問題 在經營管理、工程設計、科學研究、軍事指揮等方面普遍地存在著最優化問題。例如:如何在現有人力、物力、財力條件下合理安排產品生產,以取得最高的利潤;如何設計某種產品,在滿足規格、性能要求的前提下,達到最低的成本;如何確定一個自動控制系統的某些參數,使系統的工作狀態最佳;如何分配一個動力系統中各電站的負荷,在保證一定指標要求的前提下,使總耗費最小;如何安排庫存儲量,既能保證供應,又使儲存費用最低;如何組織貨源,既能滿足顧客需要,又使資金周轉最快等。對於靜態的最優化問題,當目標函數或約束條件出現未知量的非線性函數,且不便於線性化,或勉強線性化後會招致較大誤差時,就可應用非線性規劃的方法去處理。

  

參考書目

 席少霖、趙鳳治:《最優化計算方法》,上海科學技術出版社,上海,1983。

 阿佛裡耳著,李元熹等譯:《非線性規劃──分析與方法》,上海科學技術出版社,上海,1979。(M.Avriel, Nonlinear Programming analysis and methods, Prentice-Hall, 1976.)

 赫梅佈勞著,張義燊等譯:《實用非線性規劃》,科學出版社,北京,1981。(D.M. Himmelblau, Applied Nonlinear Programming, McGraw-Hill,New York,1972.)