求解非線性規劃

2021-03-04 08:12:09 字數 2274 閱讀 5381

非線性規劃的例項與定義

如果目標函式或約束條件中包含非線性函式,就稱這種規劃問題為非線性規劃問題。一般說來,解非線性規劃要比解線性規劃問題困難得多。而且,也不象線性規劃有單純形法這一通用方法,非線性規劃目前還沒有適於各種問題的一般演算法,各個方法都有自己特定的適用範圍。

1.2 線性規劃與非線性規劃的區別

如果線性規劃的最優解存在,其最優解只能在其可行域的邊界上達到(特別是可行域的頂點上達到);而非線性規劃的最優解(如果最優解存在)則可能在其可行域的任意一點達到。

1.3 非線性規劃的matlab解法

matlab中非線性規劃的數學模型寫成以下形式

其中是標量函式,是相應維數的矩陣和向量,是非線性向量函式。

matlab中的命令是

x=fmincon(fun,x0,a,b,aeq,beq,lb,ub,nonlcon,options)

它的返回值是向量,其中fun是用m檔案定義的函式;x0是的初始值;a,b,aeq,beq定義了線性約束,如果沒有等式約束,則a=,b=,aeq=,beq=;lb和ub是變數的下界和上界,如果上界和下界沒有約束,則lb=,ub=,如果無下界,則lb=-inf,如果無上界,則ub=inf;nonlcon是用m檔案定義的非線性向量函式;options定義了優化引數,可以使用matlab預設的引數設定。

例2 求下列非線性規劃問題

()編寫m檔案fun1.m

function f=fun1(x);

f=x(1)^2+x(2)^2+8;

和m檔案fun2.m

function [g,h]=fun2(x);

g=-x(1)^2+x(2);

h=-x(1)-x(2)^2+2; %等式約束

()在matlab的命令視窗依次輸入

options=optimset;

[x,y]=fmincon('fun1',rand(2,1zeros(2,1),, ...

'fun2', options)

就可以求得當時,最小值。

1.4 求解非線性規劃的基本迭代格式

記(np)的可行域為。

若,並且

則稱是(np)的整體最優解,是(np)的整體最優值。如果有

則稱是(np)的嚴格整體最優解,是(np)的嚴格整體最優值。

若,並且存在的鄰域,使

,則稱是(np)的區域性最優解,是(np)的區域性最優值。如果有

則稱是(np)的嚴格區域性最優解,是(np)的嚴格區域性最優值。

由於線性規劃的目標函式為線性函式,可行域為凸集,因而求出的最優解就是整個可行域上的全域性最優解。非線性規劃卻不然,有時求出的某個解雖是一部分可行域上的極值點,但並不一定是整個可行域上的全域性最優解。

對於非線性規劃模型(np),可以採用迭代方法求它的最優解。迭代方法的基本思想是:從乙個選定的初始點出發,按照某一特定的迭代規則產生乙個點列,使得當是有窮點列時,其最後乙個點是(np)的最優解;當是無窮點列時,它有極限點,並且其極限點是(np)的最優解。

設是某迭代方法的第輪迭代點,是第輪迭代點,記

1)這裡,顯然是由點與點確定的方向。式(1)就是求解非線性規劃模型(np)的基本迭代格式。

通常,我們把基本迭代格式(1)中的稱為第輪搜尋方向,為沿方向的步長,使用迭代方法求解(np)的關鍵在於,如何構造每一輪的搜尋方向和確定適當的步長。

設,若存在,使

,稱向量是在點處的下降方向。

設,若存在,使

,稱向量是點處關於的可行方向。

乙個向量,若既是函式在點處的下降方向,又是該點關於區域的可行方向,則稱之為函式在點處關於的可行下降方向。

現在,我們給出用基本迭代格式(1)求解(np)的一般步驟如下:

0 選取初始點,令。

1 構造搜尋方向,依照一定規則,構造在點處關於的可行下降方向作為搜尋方向。

2 尋求搜尋步長。以為起點沿搜尋方向尋求適當的步長,使目標函式值有某種意義的下降。

3 求出下乙個迭代點。按迭代格式(1)求出

。若已滿足某種終止條件,停止迭代。

4 以代替,回到1步

1.5 凸函式、凸規劃

設為定義在維歐氏空間中某個凸集上的函式,若對任何實數以及中的任意兩點和,恒有

則稱為定義在上的凸函式。

若對每乙個和恒有

則稱為定義在上的嚴格凸函式。

考慮非線性規劃

假定其中為凸函式,為凸函式,這樣的非線性規劃稱為凸規劃。

可以證明,凸規劃的可行域為凸集,其區域性最優解即為全域性最優解,而且其最優解的集合形成乙個凸集。當凸規劃的目標函式為嚴格凸函式時,其最優解必定唯一(假定最優解存在)。由此可見,凸規劃是一模擬較簡單而又具有重要理論意義的非線性規劃。

非線性規劃

習題六6.1 試計算函式f x x12 x1x2 x22 的梯度和hesse矩陣。6.2 試證明下述函式f x 2x1x2x3 4x1x3 2x2x3 x12 x22 x32 2x1 4x2 4x3具有駐點 0,3,1 0,1,1 1,2,0 2,1,1 2,3,1 再應用充分性條件找出其極點。6....

52非線性規劃問題

實驗5.2 非線性規劃問題 5.2.1實驗目的 1.學習非線性規劃的基本理論與建模方法。2.學習matlab軟體中非線性規劃問題的求解方法。5.2.2實驗背景知識介紹 1.非線性規劃問題的數學模型 在數學規劃問題中,若目標函式或約束條件中至少有乙個是非線性函式,這類問題稱之為非線性規劃問題,簡記為n...

7非線性規劃模型

2.7 非線性規劃模型 在現實問題中,大量的問題是非線性的。因此,除線性規劃外,應用更多的是非線性規劃。本節簡單介紹非線性規劃的有關概念。一.引例 例1 如圖2 68,預建一豬舍,圍牆與隔牆的總長不能超過40公尺,問長 寬各多少時,面積最大?設長 寬分別是公尺 公尺時,問題即為下述優化問題 求 易知...