非线性规划的概念和原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 非线性规划的概念和原理
非线性规划的理论是在线性规划的基础上发展起来的。
1951年,库恩(H.W.Kuhn )和塔克(A.W.Tucker )等人提出了非线性规划的最优性条件,为它的发展奠定了基础。
以后随着电子计算机的普遍使用,非线性规划的理论和方法有了很大的发展,其应用的领域也越来越广泛,特别是在军事,经济,管理,生产过程自动化,工程设计和产品优化设计等方面都有着重要的应用。
一般来说,解非线性规划问题要比求解线性规划问题困难得多,而且也不像线性规划那样有统一的数学模型及如单纯形法这一通用解法。
非线性规划的各种算法大都有自己特定的适用范围。
都有一定的局限性,到目前为止还没有适合于各种非线性规划问题的一般算法。
这正是需要人们进一步研究的课题。
5.1 非线性规划的实例及数学模型
[例题6.1] 投资问题:
假定国家的下一个五年计划内用于发展某种工业的总投资为b 亿元,可供选择兴建的项目共有几个。
已知第j 个项目的投资为j a 亿元,可得收益为j c 亿元,问应如何进行投资,才能使盈利率(即单位投资可得到的收益)为最高?
解:令决策变量为j x ,则j x 应满足条件()
10j j x x -= 同时j x 应满足约束条件
1
n
j j
j a x
b =≤∑
目标函数是要求盈利率()1121
,,,n
j
j
j n n
j j
j c x
f x x x a x
===
∑∑最大。
[例题6.2] 厂址选择问题:
设有n 个市场,第j 个市场位置为()
,j j p q ,它对某种货物的需要量为j b ()1,2,,j n =。
现计划建立m 个仓库,第i 个仓库的存储容量为i a ()1,2,,i m =。
试确定仓库的位置,使
各仓库对各市场的运输量与路程乘积之和为最小。
解:设第i 个仓库的位置为(),i i x y ()1,2,,i m =,第i 个仓库到第j 个市场的货物供
应量为i j z ()1,2,
,,1,2,
,i m j n ==,则第i 个仓库到第j 个市场的距离为
i j d =
目标函数为
11
11
m
n
m
n
i j
i j i j
i j i j z
d z =====∑∑∑∑
约束条件为:
(1) 每个仓库向各市场提供的货物量之和不能超过它的存储容量; (2) 每个市场从各仓库得到的货物量之和应等于它的需要量; (3) 运输量不能为负数。
因此,问题的数学模型为:
11
min m n
i i j z ==∑∑s.t.
1
n
ij
i j z
a =≤∑,()1,2,,i m =
1
m
i j
j i z
b =≤∑,()1,2,
,j n =
0ij z ≥,()1,2,
,,1,2,
,i m j n ==
一般非线性规划的数学模型可表示为:
()min f x ;
s.t. ()0i g X ≥ ()1,2,,i m =, ()0j h X =,()1,2,
,j l =
式中()12,,
,T
n n X x x x R =∈是n 维向量,,i f g ()1,2,
,i m =,j h ()1,2,
,j l =都是
1n R R →的映射(即自变量是n 维向量,因变量是实数的函数关系),且其中至少存在一个
非线性映射。
与线性规划类似,把满足约束条件的解称为可行解。
若记
()(){}
0,1,2,,,0,1,2,,i j X g X i m h X j l χ=≥===
则称χ为可行域。
因此上述模型可简记为
()min f X
s.t. X χ∈
当一个非线性规划问题的自变量X 没有任何约束,或说可行域即是整个n 维向量空间,
即n
R χ=,则称这样的非线性规划问题为无约束问题:
()min f X 或()min n
X R
f X ∈ 有约束问题与无约束问题是非线性规划的两大类问题,它们在处理方法上有明显的不
同。
5.2 无约束非线性规划问题
5.2.1无约束极值条件
对于二阶可微的一元函数()f x ,如果x *
是局部极小点,则()
0f x *'=,并且
()0f x *''>;反之,如果()0f x *'=,()0f x *''<,则x *是局部极大点。
关于多元函数,
也有与此类似的结果,这就是下述的各定理。
考虑无约束极值问题:
()min f x ,n x E ∈
定理6.1 (必要条件)设()f x 是n 元可微实函数,如果x *
是以上问题的局部极小解,
则()
0f x *∇=。
定理6.2 (充分条件)设()f x 是n 元二次可微实函数,如果x *
是上述问题的局部最小
解,则()
0f x *∇=,()
2f x *∇半正定;反之,如果在x *
点有()
0f x *∇=,()
2f x *∇正定,则x *
为严格局部最小解。
定理6.3 设()f x 是n 元可微凸函数,如果()
0f x *∇=,则x *
是上述问题的最小解。
[例题6.3] 试求二次函数()2
2
121122,282420f x x x x x x =-+-+的极小点。
解:由极值存在的必要条件求出稳定点:
1148f x x ∂=-∂, 22
44f x x ∂=-∂,则由()0f x ∇=得12x =,21x = 再用充分条件进行检验:
2214f x ∂=∂,2224f x ∂=∂,2212210f f x x x x ∂∂==∂∂∂∂,则由2
4004f ⎛⎫∇= ⎪⎝⎭
为正定矩阵得
极小点为()2,1T
x *
=。
5.2.3无约束极值问题的解法
5.2.3.1梯度法 (i ) 给定初始点()
0X ,0ε>;
(ii )
计算()
()k f X
和()
()k f X ∇,若()
()2
k f X ε∇≤,迭代停止,得近似极小点
()k
X 和近似极小值()()k
f X ;否则,进行下一步;
(iii ) 做一维搜索或取()
()(
)
()()()()()()()
2
T
k k k T
k
k
k
f X
f X f X f X f X λ∇∇=
∇∇∇作为近似最佳步长,
并计算()
()()()
1k k k k X X f X λ+=-∇,令1k k =+,转向第二步。
[例题6.4] 求解无约束极值问题 ()()()22
12min 21f X x x =-+- 解:取()
()00,0T
X
=,()()()()1222,21T
f X x x ∇=--,则
()()()04,2T
f X ∇=--,()()
022002f X ⎛⎫∇= ⎪⎝⎭
()
()()()()()()()()()00
00
2
1
2
T
T
f X
f X f X f X f X λ∇∇==∇∇∇, ()()()()
()10002,1T
X X f X λ=-∇=,
()()
()10,0T
f X ∇=,
故()
1X 为极值点,极小值为()()1
0f X
=。
5.2.3.2牛顿法
对正定二次函数,()12
T
T f X X AX B X c =
++,其中A 为n 阶方阵,B 为n 维列向量,c 为常数,设X *
为其极小点,则()0f X
AX
B *
*
∇=+=,
所以AX B *=-;任给n
)0(E X ∈,()()
()00f X AX B ∇=+,消去B ,得
()()
()00f X AX AX *∇=-
所以 ()
()()
001X X
A f X *
-=-∇,
这说明,从任意近似点出发,沿()
(
)01
A f X --∇方向搜索,步长为1,一步即可达极小
点。
[例题6.5] 求解无约束极值问题()2212min 5f X x x =+
解:任取()
()02,1T
X
=,()
()
()0
4,10T f X ∇=,20010A ⎛⎫= ⎪⎝⎭,1
1021010A -⎛⎫ ⎪=
⎪ ⎪ ⎪⎝
⎭
, ()()()
()0010,0T
X X A f X *-=-∇=
由()()
0,0T
f X
*
∇=可知,x *
确实为极小点。
牛顿法与梯度法的搜索方向不同,优点是收敛速度快,但有时不好用而需采取改进措施,当维数较高时,1
A -的计算量很大。
5.3 约束非线性规划问题
前面我们介绍了无约束问题的最优化方法,但实际问题中,大多数都是有约束条件的问题。
求解带有约束条件的问题比起无约束问题要困难得多,也复杂得多。
在每次迭代时,不仅要使目标函数值有所下降,而且要使迭代点都落在可行域内(个别算法除外)。
求解带有约束的极值问题常用方法是:将约束问题化为一个或一系列的无约束极值问题;将非线性规划化为近似的线性规划;将复杂问题变为较简单问题等等。
5.3.1凸规划问题
约束问题的情况较为复杂,先讨论其中的一种较为特殊的情况,即凸规划问题。
一般来说,非线性规划的局部最优解和全局最优解是不同的,但是,对凸规划问题,局部最优解就是全局最优解。
定义 6.1设()f X 为定义在非空凸集n
S E ⊆上的实值函数,如果对于任意的两点
()1X S ∈,()2X S ∈和任意实数()0,1λ∈,恒有
()()()()()()()()()
121211f X X f X f X λλλλ+-≤+-
则称()f X 为S 上的凸函数。
定理6.4 设S 是n 维欧氏空间n E 上的一个开凸集,()f X 是定义在S 上的具有二阶连续导数的函数,那么,()f X 在S 上为凸函数的充要条件是:对所有X S ∈,海赛矩阵
()2f X ∇都是半正定的;如果对所有的X S ∈,()2f X ∇都是正定的,则()f X 在S 上
为严格凸函数。
定义6.2 非线性规划问题:
()min f X ,n X E ∈
s.t. ()0,1,2,
,i g X i m ≤=
()0,1,2,
,j h X j p
== 中,如果()f X 和()i g X (1,2,
,i m =)为x 的凸函数,()j h X (1,2,
,j p =)为X
的线性函数,则称此问题为一凸规划问题。
凸规划具有两个重要性质:
1. 凸规划的可行集是凸集
证:设凸规划的可行集为S ,即
()(){
}
0,1,2,
,;0,1,2,
,;i j n S X g X i m h X j p X E =≤===∈
其中()i g X (1,2,
,i m =)为X 的凸函数,()j h X (1,2,
,j p =)为X 的线性函数。
对于任意的()
1X S ∈,()2X S ∈和任意实数()0,1λ∈,利用()i g X (1,2,
,i m =)
的凸性,对()
()()12
1X X
X λλ=+-,有
()()()()()()()()()()
121211i i i g X g X X g X g X λλλλ=+-≤+-
但()()1
0i g X
≤,()()2
0i
g X ≤
所以()0i g X ≤ 同理()0j h X = 因此,()
()()12
1X X X S λλ=+-∈,故S 为凸集。
2. 凸规划的局部最小解就是它的全局最小解
证:用反证法。
设X *是凸规划的一个局部最小解,X 是它的全局最小解,但X X *≠。
因为 X S *
∈,X S ∈,所以()0,1λ∀∈,()1X X X S λλ*=+-∈
由()f X 为凸函数得,()()()()()()11f X f X X f X f X λλλλ*
*
=+-≤+-
因为X 是一个全局最小解,所以
()()()()()()()()11f X f X f X f X f X f X λλλλ****≤+-<+-=
此式对一切()0,1λ∈都成立。
当1λ→时,则X X *
→,即在X *的邻域内还有比
()f X *小的值,与X *为局部极小解的假设矛盾。
因此,凸规划的局部最小解就是它的全局最小解。
[例题6.6] 验证下述非线性规划为凸规划,并求出最优解。
()22121min 44f X x x x =+-+
s.t. ()11220g X x x =-+≥ ()2
21210g X x x =-+-≥
()310g X x =≥ ()420g X x =≥
解:第1,3,4三个约束条件为线性函数,因此也是凸函数; 第2个约束条件应写成()2
21210g X x x =-+≤
()2112g X x x ∂=∂,()
22
1g X x ∂=-∂
()22212g X x ∂=∂,()222
20g X x ∂=∂,()2212
0g X x x ∂=∂∂ 因此海赛矩阵为()2
22000g X ⎛⎫
∇= ⎪⎝⎭
,半正定,()2g X 为凸函数
同理,()22002f X ⎛⎫
∇=
⎪⎝⎭
,正定,()f X 也为凸函数。
所以,该非线性规划为凸规划。
用图解法得
()0.58,1.34T
X *=为其唯一极小点,() 3.8f X *=
5.3.2其它类型的约束非线性规划问题
考虑只含不等式约束条件下求极小值问题的数学模型:
()min f X ,n X E ∈
s.t. ()0,1,2,,i g X i m ≥=
或写成
()min X f X χ
∈
其中可行域},,2,1,0)(,|X {m i X g E X i n
=≥∈=χ。
定义 6.3对于上述问题,设X χ∈,若有()
0i g X =()1i m ≤≤,则称不等式约束
()0i g X ≥为点X 处的起作用约束;若有()0i g X >()1i m ≤≤,则称不等式约束()0i g X ≥为点X 处的不起作用约束。
定义6.4对于上述非线性规划问题,如果可行点X 处,各起作用约束的梯度向量线性无关,则称X 是约束条件的一个正则点。
库恩-塔克条件是非线性规划领域中的重要理论成果之一,是确定某点为局部最优解的
一阶必要条件,只要是最优点就必满足这个条件。
但一般来说它不是充分条件,即满足这个条件的点不一定是最优点。
但对于凸规划,库恩塔克条件既是必要条件,也是充分条件。
对于只含有不等式约束的非线性规划问题,有定理如下:
定理6.5 设X *是非线性规划问题
()min X f X χ
∈
},,2,1,0)(,|X {m i X g E X i n =≥∈=χ
的极小点,若X *起作用约束的梯度()
i g X *∇线性无关(即X *是一个正则点),则
()12,,
,T
m γγγ****
∃Γ=,使下式成立
⎪⎪⎪⎩
⎪⎪⎪⎨⎧=≥==∇⋅=∇⋅-∇*
=∑m i m i X g X g X f i i i m
i i i ,,2,1,0,,2,1,0)(0
)()(*
*1
*
** γγγ 对同时含有等式与不等式约束的问题
()min f x ;
s.t. ()0i g X ≥ ()1,2,,i m =, ()0j h X =,()1,2,
,j l =
为了利用以上定理,将()0j h X =,用
()()
0j j h X h X ≥⎧⎪⎨
-≥⎪⎩ 来代替。
这样即可得到同时含有等式与不等式约束条件的库恩塔克条件如下:
设X *为上述问题的极小点,若X *
起作用约束的梯度()i g X *
∇和()j
h X *∇线性无关,
则(
)
12
,,
,T m γγγ
*
*
**∃Γ=和(
)
12
,,
,T m λλλ
*
***Γ=,使下式成立
⎪⎪⎪⎩
⎪⎪⎪⎨⎧=≥==∇⋅=∇⋅-∇⋅-∇*
==∑∑m i m
i X g X h X g X f i i i m i m
j j j i i ,,2,1,0,,2,1,0)(0
)()()(*
*11
*
**** γγλγ
[例题6.7] 求下列非线性规划问题的K-T 点:
()22
112212min 221010f X x x x x x x =++-- s.t. 22
1212536
x x x x ⎧+≤⎨+≤⎩
解:将上述问题的约束条件改写为()0i g X ≥的形式:
()()22
11221250
360
g X x x g X x x ⎧=--+≥⎪⎨
=--+≥⎪⎩ 设K-T 点为()12,T
X x x *
=,有
()1
21242102210x x f X x x *+-⎡⎤
∇=⎢⎥
+-⎣⎦
, ()11222x g X x *-⎡⎤
∇=⎢⎥-⎣⎦
()231g X *
-⎡⎤
∇=⎢⎥-⎣⎦
由定理得 ()()121121
212222112212124210230221020
50
63000
x x x x x x x x x x γγγγγγγγ+-++=⎧⎪+-++=⎪⎪--=⎪⎨--=⎪⎪≥⎪≥⎪⎩
求解上述方程组,即可求出1γ,2γ,1x ,2x ,则可得到满足K-T 条件的点。
上述方程组是非线性方程组,求解时一般都要利用松紧条件(即上述方程组中的第3,4个方程),其实质
是分析X *
点处,哪些是不起作用约束,以便得到0i γ=,这样分情况讨论求解较为容易:
(1)
假设两个约束均是X *
点处的不起作用约束,即有
10γ=,20γ=
则有 1212
42100
22100x x x x +-=⎧⎨+-=⎩
解得 120
5
x x =⎧⎨
=⎩
但将该点代入约束条件,不满足()0i g X ≥,因此该点不是可行点。
(2) 若()10g X ≥是起作用约束,()20g X ≥是不起作用约束,则有20γ=,则
()12111212221
121
421020*********x x x x x x x x γγγγ+-+=⎧⎪+-+=⎪⎨--=⎪⎪≥⎩ 解得 121
21210
x x γγ=⎧⎪=⎪⎨=⎪⎪=⎩ 代入原问题约束条件中检验,可知该点()1,2T
X *=是可行点,且满足K-T 定理的条件,又是一个正则点,故它是一个K-T 点。
因为()10g X ≥是起作用约束,此时10γ≥,可以是10γ>,也可以是10γ=,若10γ=也成立,则结果同(1),已知求出的解不是可行点。
(3) 若()10g X ≥是不起作用约束,()20g X ≥是起作用约束,即有10γ=,代入方程组,有
()1221222
122421030221006300
x x x x x x γγγγ+-+=⎧⎪+-+=⎪⎨--=⎪⎪≥⎩ 解上述方程组,可得20γ=或225γ=-,而225
γ=-不满足20γ≥条件,而20γ=及10γ=同情形(1)的结果。
(4) 假设两个约束均起作用,这时10γ>,20γ>。
故有
1211212122221212421023022102050630
x x x x x x x x x x γγγγ+-++=⎧⎪+-++=⎪⎨--=⎪⎪--=⎩ 求解上述方程组,得到的解不满足10γ≥与20γ≥,故舍去。
因此本题的K-T 点为:()1,2T
X *=。
同时本题()f X 为凸函数,而()10g X ≥为凸函数,()20g X ≥为线性函数,也为凸函数,所以本题是凸规划。
对凸规划K-T 也是充分条件。
因此()1,2T
X *=也是本题的全局最小点。