13《运筹学》(第四版)非线性规划罚函数法介绍
一、非线性规划问题的几种求解方法1.罚函数法(外点法)

一般要用到目标函数的导数。
第十九页,共五十九页。
(2)直接(zhíjiē)法
直接(zhíjiē)法是一种数值方法 这种方法的基本思想是迭代,通过迭代产生 一个点序列{ X(k) },使之逐步接近最优点。 只用到目标函数。 如黄金分割法、Fibonacci、随机搜索法。
第二十页,共五十九页。
第三十一页,共五十九页。
三、Matlab求解(qiú jiě)有约束非线性规划
第三十二页,共五十九页。
1. 用fmincon函数求解(qiú jiě)形如下面的有约束
非线性规划模型 一般(yībān)形式:
第三十三页,共五十九页。
用Matlab求解(qiújiě)有约束非线性最小化问题 求 解 非 线 性 规 划 问 题 的 Matlab 函 数 为 : fmincon
编写为一个Matlab函数,
nonlcon就是定义这些函数的程序文件名;
不等式约束 c(x)<=0 等式约束 ceq(x)=0. 如果nonlcon=‘mycon’ ; 则myfun.m定义如下(rúxià)
function [c,ceq] = mycon(x)
c = ... % 计算非线性不等式约束在点x处的函数值 ceq = ... %计算机非线性等式约束在点x处的函数值
(3)迭代法一般(yībān)步骤
(1) 选定初始点 X (0),k=0 (2) 寻找一个合适的方向 P (k),k=0,1,2,…
P (k)为第 k+1 步的搜索方向。
(3) 求出沿 P (k)方向前进的步长 (k )
(4) 得到新的点 X (k+1), X (k1) X (k ) (k ) P(k )
x0=fminsearch('fun2min',x0);
运筹学非线性规划

二 、模型的解及相关概念
1.可行解与最优解
★可行解:约束集D中的X。
★最优解:如果有 X * D,对于任意的 X D , 都有 f ( X *) f ( X ) ,则称 X *为(NLP)的最优
解,也称为全局最小值点。
★局部最优解:如果对于 X 0 D ,使得在 X 0的邻 域 B(X 0, ) {X |P X X 0 P } 中的任意 X D 都有f (X 0 ) f (X ) ,则称 X 0 为(NLP)的局部最
: 风险系数;ij : 第i种与第j种股票收益的协方差
n
nn
max f (x) j xj
xi x j
j 1i1 j1源自s.t.n j 1Pj x j
B
x
j
0
2.模型
min f ( X )
(
NLP
)s.t.
hi
g
( X ) 0,i j ( X ) 0,
1,L , j 1,L
f
(X
)=f
(X0
)
f
(X0
)(T X-X0)
1 2
(X
X0
)T
H
( X0 )(
X
X0)
o(P X-X 0 P2)
其中:o(P X
X0
P2 )是当X
X
时
0
PX
X0
P2
的高阶无穷小。
例2:写出 f ( X ) 3x12 sin x2 在X 0 [0, 0]T 点的二阶泰勒展开式
解: f ( X ) [6x1 cos x2 ]T , f ( X 0 ) [0 1]T
0
解得:=-f (Xk )T Pk
PkT H ( X k )Pk
最优化方法 第三章(罚函数法)

这种惩罚策略,对于在无约束的求解过程中企图违反约
束的迭代点给予很大的目标函数值,迫使无约束问题的 极小点或者无限地向可行域D靠近,或者一直保持在可 行域D内移动,直到收敛到原来约束最优化问题的极小 点。
不改变可行域局部极小值,可以将 约束域之外的局部极小值变大。
p ( x) 0, x D p ( x) 0, x D
k k
k 1
k 1
xk 1是F x, M k 1 的最优解.
k 1 k k 1 k 0 M k 1 M k p ( x ) p ( x ) p ( x ) p ( x )
M k 1 M k
(3) f ( x k 1 ) M k p( x k 1 ) F ( x k 1 , M k ) F ( x k , M k ) f ( x k ) M k p( x k )
gi ( x) gi ( x) max gi ( x), 0 = 罚函数p(x)的构造 2 m l p( x) (max gi ( x), 0) 2 h 2 j ( x)
i 1 j 1
(1) p(x)连续 (2) p( x) 0, x D (3) p( x) 0, x D
二、外点法 外点罚函数法算法步骤 1:给定初始点 x 0 ,初始罚因子M1 0 (可取M1 1 ), 精度 0, k : 1. 2:以 x k 1初始点,求解无约束优化问题
min F ( x, M k ) f ( x) M k p( x)
得到极小点 x* ( M k ),记为 x k , 其中
p( x) (max gi ( x), 0) h 2 j ( x)
2 i 1 j 1 m l
第5讲 非线性规划

例1
min
f
x1
2x2
1 2
x12
1 2
x22
2x1 3x2 6
s.t.
x1
4x2
5
x1, x2 0
1.写成标准形式: min
f
x1
2 x2
1 2
x12
1 2
x22
2x1 3x2 6 0 x1 4x2 5 0
s.t. 0 x1 0 x2
例1
min
f
x1
2)当用新建原料场时,决策变量为:xij,xj,yj
1.使用临时原料场
模型求解
使用两个临时原料场A(5,1),B(2,7). 求从料场j 向使用单位i 的运送量
xij,在各建筑工地使用量必须满足和各料场运送量不超过日储量的条件下,
使总的吨千米数最小,此时由于ai,bi 、xj,yj都是已知的,故这是一个线性
输出极值点 M文件 迭代的初值
(6) [x,fval]= fmincon(...) (7) [x,fval,exitflag]= fmincon(...) (8) [x,fval,exitflag,output]= fmincon(...)
变量上下限
参数说明
注意:
[1] fmincon函数提供了大型优化算法和中型优化算法。默认 时,若在fun函数中提供了梯度(options参数的GradObj设置 为’on’),并且只有上下界存在或只有等式约束,fmincon函 数将选择大型算法。当既有等式约束又有梯度约束时,使用 中型算法。 [2] fmincon函数的中型算法使用的是序列二次规划法。在每 一步迭代中求解二次规划子问题,并用BFGS法更新拉格朗日 Hessian矩阵。 [3] fmincon函数可能会给出局部最优解,这与初值X0的选取 有关。
非线性规划——精选推荐

⾮线性规划author: lunardate: Tue 01 Sep 2020 04:31:18 PM CST⾮线性规划如果⽬标函数中包含⾮线性函数, 就称这种规划问题为⾮线性规划问题.⽬前解决⾮线性规划还没有⼀种通⽤⽅法.线性规划和⾮线性规划的区别如果线性规划的最优解存在, 其最优解只能在其可⾏域的边界上达到(特别是可⾏域的顶点上达到); ⽽⾮线性规划的最优解可能在可⾏域的任意⼀点达到.⾮线性规划的MATLAB解法⾸先可以将⾮线性规划表⽰为如下形式:minC(x), Ceq(x)是⾮线性向量函数.MATLAB计算⾮线性规划的函数为x = fmincon(fun, x0, A, B, Aeq, Beq, LB, UB, NONLCON, OPTIONS)fun是⽤.m⽂件定义的⽬标函数; x0表⽰决策变量的初始值; NONLCON是⽤.m⽂件定义的⾮线性向量函数; OPTIONS定义了优化参数; 其余参数与线性规划⼀致.⽰例求解下列⾮线性规划问题\min f(x) = x_1^2 + x_2^2 + x_3^2 + 8\\ \begin{aligned} s.t.\quad &x_1^2 - x_2 + x_3^2 \ge 0\\&x_1 + x_2^2 + x_3^2 \le 20\\ &-x_1 - x_2^2 + 2 = 0\\ &x_2 + 2x_3^2 = 3\\ &x_1, x_2, x_3 \ge 0\end{aligned}⽤MATLAB代码求解为编写⽬标函数的.m⽂件target.mfunction f = target(x);f = sum(x.^2) + 8;编写⾮线性约束条件的.m⽂件nonlinear.mfunction [g,h] = nonlinear(x);g = [-x(1)^2 + x(2) - x(3)^2x(1) + x(2)^2 + x(3)^3 - 20]; %⾮线性不等式约束f = [-x(1) - x(2)^2 + 2x(2) + 2x(3)^2 - 3]; %⾮线性等式约束主程序⽂件main.moptions = optimset('largescale', 'off');[x, y] = fmincon('target', rand(3,1), [], [], [], [], zeros(3,1),[], 'nonlinear', options)求解⾮线性规划的基本迭代格式(难点)由于线性规划的⽬标函数为线性函数, 可⾏域为凸集, 所以求出的最优解就是整个可⾏域上的最优解. ⾮线性规划则不然, 有时求出的解虽然是⼀部分可⾏域上的极值点, 但不⼀定是整个可⾏域上的全局最优解.对于⾮线性规划模型(NP), 可以采⽤迭代⽅法求最优解. 基本思想为: 从⼀个选定的初始点出发, 按照⼀个特定的迭代规则产⽣⼀个点列{x k}; 使得当{x k}是有穷点列时, 其最后⼀个点是(NP)的最优解; 为⽆穷点列时, 它有极限点, 并且极限点是(NP)的最优解;设x^k\in R^n是某迭代⽅法的第k轮迭代点, x^{k+1}\in R^n是第n+1轮迭代点, 记x^{k+1} = x^k + t_kp^k\\ t_k\in R^1, p^k\in R^n, \lvert p^k\rvert = 1通常将基本迭代格式中的p^k称为第k轮搜索⽅向, t_k为沿p^k⽅向的步长. 有机器学习那味⼉了.对于向量p, 如果存在t\in (0, +\infty)使得f(\overline x + tp) < f(\overline x)\\ \overline x + tp \in KK即为可⾏域, 则称p为\overline x关于K的可⾏⽅向.凸函数, 凸规划凸函数的定义为: 若对区间(0,1)内的任何实数\alpha, 恒有f(\alpha x_1 + (1-\alpha)x_2) \le \alpha f(x_1) + (1-\alpha)f(x_2)的函数为定义在R上的严格凸函数.⽬标函数为凸函数, 约束函数也为凸函数的⾮线性规划为凸规划.可以证明, 凸规划的可⾏域为凸集, 其局部最优解即为全局最优解, ⽽且其最优解的集合形成⼀个凸集. 当凸规划的⽬标函数f(x)为严格凸函数时, 其最优解必定唯⼀.⽆约束问题⽆约束问题即没有约束条件的问题, 即求解函数极⼩值的问题⼀维搜索⽅法当⽤迭代法求函数的极⼩点时, 常常⽤到⼀维搜索, 即沿⼀已知⽅向求⽬标函数的极⼩点.⼀种⽐较⼀个区间上两端函数值的⽅法, 原理⾮常简单, 不讲了.但是这种⽅法⼀般只能⽤于单极值区间, 对于⼀个多极值的函数. 可以尝试先画出函数图, 然后找出所有只有单个极值的区间分别求解.斐波那契法上⾯那种⽅法本是随机选取区间的两个点, 斐波那契法能够保证区间按照按照斐波那契数进⾏缩⼩.即t_1 = a + \frac{F_{n-1}}{F_n}(b-a),t_2 = a + \frac{F_{n-2}}{F_n}(b-a)根据需要求解的精度\delta, 确定迭代次数的⽅式\frac{b-a}{F_n} \le \delta也可以⽤黄⾦⽐例数代替斐波那契数列.⼆次插值法对极⼩化问题, 当f(t)在[a,b]上连续时, 可以考虑⽤多项式插值来进⾏⼀维搜索. 基本思想为: 在搜索区间内,不断⽤低次(不超过三次)多项式来近似⽬标函数, 并逐步⽤插值多项式的极⼩点来逼近极⼩化问题的最优解.⽆约束问题的解法梯度下降法总是朝着梯度下降最快的⽅向前进⽜顿法⾸先需要了解⼀下什么是考虑⽬标函数f在x^k处的⼆次逼近式f(x)\approx Q(x) = f(x^k) + \nabla f(x^k)^T(x-x^k) + \frac12(x-x^k)^T\nabla^2f(x^k)(x-x^k)假设⿊塞矩阵\nabla^2 f(x^k) = \begin{bmatrix} \frac{\partial^2 f(x^k)}{\partial x_1^2} & \cdots & \frac{\partial^2f(x^k)}{\partial x_1\partial x_n}\\ \vdots & \cdots & \vdots \\ \frac{\partial f(x^k)}{\partial x_n\partial x_1} & \cdots & \frac{\partial^2 f(x^k)}{\partial x_n^2} \end{bmatrix}正定由于\nabla^2 f(x^k)正定, 函数Q的驻点x^{k+1}是Q(x)的极⼩点. 令\nabla Q(x^{k+1}) = \nabla f(x^k) + \nabla^2 f(x^k)(x^{k+1} - x^k) = 0解得x^{k+1} = x^k - [\nabla^2 f(x^k)]^{-1}\nabla f(x^k)所以从x^k出发的搜索⽅向为p^k = -[\nabla^2 f(x^k)]^{-1}\nabla f(x^k)⽜顿法的优点是收敛速度快; 缺点是有时不好⽤⽽需采取改进措施, 当维度很⾼时, 计算矩阵的逆矩阵计算量将会很⼤.变尺度法变尺度法由于能够避免计算⼆阶导数矩阵及其逆矩阵, 对于⾼纬度问题具有显著的优越性.为了不计算⼆阶导数矩阵[\nabla^2 f(x^k)]及其逆矩阵, 我们设法构造另⼀个矩阵, 来逼近⼆阶导数矩阵, 这⼀类也称为拟⽜顿法(Quasi-Newton Method).当f(x)是⼆次函数时, 任两点x^k和x^{k+1}的梯度之差为\nabla f(x^{k+1}) - \nabla f(x^k) = A(x^{k+1} - x^k)因此, 我们构造⿊塞矩阵的第k+1次近似\overline H^{k+1}满⾜关系式x^{k+1} - x^k = \overline H^{(k+1)}[\nabla f(x^{(k+1)}) - \nabla f(x^k)]这就是拟⽜顿条件.令\begin{cases} \Delta G^{(k)} = \nabla f(x^{k+1}) - \nabla f(x^k)\\ \Delta x^k = x^{k+1} - x^k\end{cases}记\Delta \overline H^{(k)} = \overline H^{(k+1)} - \overline H^{(k)}称为校正矩阵.省略中间过程, 可求得校正矩阵\Delta \overline H^{(k)} = \frac{\Delta x^k(\Delta x^k)^T}{(\Delta G^{(k)})^T\Delta x^k} -\frac{\overline H^{(k)}\Delta G^{(k)}(G^{(k)})^T\Delta H^{(k)}}{(\Delta G^{(k)})^T\overlineH^{(k)}\Delta G^{(k)}} \tag{17}从⽽有\overline H^{(k+1)} = \overline H^{(k)} + \frac{\Delta x^k(\Delta x^k)^T}{(\Delta G^{(k)})^T\Delta x^k} - \frac{\overline H^{(k)}\Delta G^{(k)}(G^{(k)})^T\Delta H^{(k)}}{(\Delta G^{(k)})^T\overlineH^{(k)}\Delta G^{(k)}} \tag{18}以上矩阵称为尺度矩阵, 取第⼀个尺度矩阵\overline H^{(0)}为单位矩阵.由此可得DFP变尺度法的计算步骤为:给定初始点x_0以及梯度允许误差\varepsilon > 0若\lvert\nabla f(x^{(0)})\rvert \le\varepsilon, 则x_0为近似点, 停⽌迭代.否则转下⼀步.令\overline H^{(0)} = I (单位矩阵)\\ p^0 = -\overline H^{(0)}\nabla f(x^0)在p^0⽅向进⾏⼀维搜索, 确定最佳步长\lambda_0\min_\lambda f(x^0+\lambda p^0) = f(x^0 + \lambda_0p^0)于是可以得到下⼀个近似点x^1 = x^0 + \lambda_0p^0对于近似点x^k, 计算其梯度, 若有\lvert\nabla f(x^k)\rvert\le \varepsilon则停⽌迭代, 最终解为x^k; 否则根据式(18)计算\overline H^{(k)}, 令p^k = -\overline H^{(k)}\nablaf(x^k). 在p^k⽅向进⾏⼀维搜索, 得到\lambda_k, 从⽽得到下⼀个近似点x^{k+1} = x^k + \lambda_kp^k不断重复第4步直到满⾜允许误差.约束极值问题带有约束条件的极值问题称为约束极值问题, 也叫规划问题.⼆次规划问题⽬标函数为⾃变量的⼆次函数的问题称为⼆次规划问题.⼆次规划的模型可以表述为\min \frac12x^THx + f^Tx,\\ s.t.\quad \begin{cases} Ax\le b\\Aeq\dot x = beq\\ \end{cases} MATLAB中求解⼆次规划的函数为[x, f] = quadprog(H, f, A, b, Aeq, beq, LB, UB, X0, OPTIONS)罚函数法利⽤罚函数法, 可将⾮线性规划问题转化为⼀系列⽆约束机制问题. 因此也称这种⽅法为序列⽆约束最⼩化技术, SUMT(Sequential Unconstrained Minization Technique).罚函数法的基本思想是利⽤问题中的约束函数作出适当的罚函数, 由此构造出带参数的增⼴⽬标函数, 把问题转化为⽆约束线性规划问题.罚函数法分为外罚函数法和内罚函数法. 现在介绍外罚函数法.对于问题:\min f(x)\\ s.t.\quad \begin{cases} g_i(x)\le 0, i = 1,\dots,r,\\ h_j(x)\ge 0, j = 1,\dots,s,\\ k_m(x) = 0, m = 1,\dots,t \end{cases}取⼀个充分⼤的正数M, 构造函数P(x, M) = f(x) + M\sum_{i=1}^r\max(g_i(x), 0) - M\sum_{i=1}^s\min(h_i(x), 0) +M\sum_{i=1}^t|k_i(x)|MATLAB 求约束极值问题fminbnd 函数求单变量⾮线性函数在区间[x_1, x_2]上的最⼩值语法格式[x, f] = fminbnd(fun, x1, x2, options)fminimax 函数可以⽤来求解带有⾮线性约束条件的问题x = fminimax(fun, x0, A, B, Aeq, Beq, LB, UB, NONLCON) Loading [MathJax]/jax/element/mml/optable/BasicLatin.js。
第4讲非线性规划-精品文档

x 2 ( x ) a a x a x 过三点作抛物线: g 0 1 2 2 g ( x ) a a x a x f ( x ) 1 0 1 1 2 1 1 有 2 g ( x ) a a x a x f ( x ) 2 0 1 2 2 2 2 2 g ( x ) a a x a x f ( x ) 3 0 1 3 2 3 3
则
x x
注:迭代时,若出现退化情形 x x2 x 1 x 2 , 继续迭代。 可取 x 2
#
2. 最速下降法 设f(X) 可微,给定初始点X1,>0, 每次沿使f 下降得最快的负梯度 方向 D=-f (X)搜索,直到满足 终止条件为止。 第k次迭代
f (X)
X
D= -f (X)
x3
x i x j,
1 1 1
x1 x2 x3
x 12 x 22 0 x 32
故方程组有唯一解,且 a2 0
即抛物线的开口向上。
g ( x ) a 2 a x 0 1 2 a1 x 得极小值点 2a 2
令
,x ,x ,x中选出满足前面不等式的三点 , 再从 x 1 2 3 重复前面的过程,直到满足终止条件: | f ( x ) g ( x ) | ,| x x | 1 3 1 2
高维问题可通过一系列的一维搜索,求出其近似最优解。
沿某些方向作一维搜索
n min{ f ( X ) |X R }
化为无约束问题 min f ( X ) s . tg ( X ) 0 , i 1 , 2 , , m i h ( X ) 0 , j 1 , 2 , , p j
第四节 非线性规划模型的解
第五章 非线性规划

• 由于 g x1, x2 0,故有
dg1 g1 g1 dy 0 dx1 x1 x2 dx1
g1 x1 dy g1 dx1 x2
17
等式约束的极值问题
dZ 0 dx1
g1 dZ f f x1 0 g1 dx1 x1 x2 x2 g1 x1 , x2 0
0
• 仿照一元函数,凡能使一阶偏导数同时为零的点, 均称为函数的驻点.
驻点
极值点
• 需要对该函数的海瑟矩阵进行判断
27
柯恩-塔克(K-T)最优性条件
• 思考题:
– 约束最优化问题的极小值是否满足必要性条件?原因? – 如何建立约束最优化问题局部极小值的必要性条件? (借鉴可行性方向法)
• 约束最优化问题局部最优点的判别条件: Kuhn-Tucker最优性条件
i 1, 2,, n
1
L g j S2 0 j j
j 1, 2,, m
2
L 2 j S j 0 S j
3
式中共有n+2m个方程式和n+2m个未知量 式(2)保证了gj≤0 式(3)表明λj和Sj至少有一个应为零
24
不等式约束的极值问题
•
由等式约束可以得出
x2 y x1
2
• 将其带入原问题,得 min Z f x1, y x1 • 原问题转化为无约束极值问题
16
等式约束的极值问题
• 目标函数
Z f x1, y x1
存在极值的必要条件
dZ f f dy 0 dx1 x1 x2 dx1
(k )
(k ) T T (k ) (k ) (k ) j
非线性规划

·16·第2章 非线性规划在许多实际问题中,所建立的优化模型的目标函数或约束条件(或二者)是非线性的,所以非线性规划也是运筹学中最常用的方法之一,在生产管理和过程控制中有广泛的应用。
2.1 非线性规划问题举例【例2-1】钢铁厂自备发电厂负荷的最优分配问题。
设自备发电厂有3台蒸汽透平发电机,输入燃料,内部有高炉煤气和焦炉煤气,外购的有液化石油气。
设内部煤气不足,需用外购的液化石油气。
由于机组对输入各种燃料的输出特性不同,应如何分配燃料,使自备电厂效益最好?为了确定各种燃料的分配,设y i ,i =1,2,3为各机组的有效电力(MW ),x 1i ,i =1,2,3为各机组输入高炉煤气;x 2i ,i =1,2,3为各机组输入焦炉煤气;x 3i ,i =1,2,3为各机组输入液化石油气。
设电力单价为e c ,液化石油气单价为l c ,则可写出如下模型NP :目标函数 max f(x )=e c (1y +2y +3y )-l c (31x +32x +33x ) 约束条件1)高炉煤气使用量上限B F11x +12x +13x ≤B F2)焦炉煤气使用量上限C F21x +22x +32x ≤C F3)各机组电力上、下限max ,i y 和min ,i ymax ,i y ≤i y ≤min ,i y i =1,2,3其中各机组电力与输入燃料关系如下:i y =a 0i +a 1i 2i p +a 2i i p +a 3i F s i i =1,2,3式中 a ——系数;si F ——抽气流量(t/h);i p ——中间变量。
且 i p =i b 1b q i x 1+i b 2c q i x 2+i b 3l q i x 3式中b 为系数,q 为各燃料热值(103Kcal/Nm 3)。
这一数学模型的约束是线性的,而目标函数是非线性的,构成一个非线性规划问题。
第2章 非线性规划·17·2.2 基础知识非线性规划问题的一般形式是(NP ) min f (x 1,x 2,…,x n )(2-1a ) s.t. i g (1x ,2x ,…n x ) ≤0,i =1,2,…,m (2-1b )j h (1x ,2x ,…n x )≤0,i =1,2,…,s(2-1c ) 写成向量形式,为 (NP ) min ()f x(2-2a ) s.t. i g (x )≤0,i =1,2,…,m(2-2b )j h (x )≤0,i =1,2,…,s(2-2c )定义2-1(全局最优解) 一个定义在X ∈x 上的函数()f x ,如果对X ∈x 的每一点 都有f (x ) ≥f (xˆ) 则称ˆx为全局极小解,ˆ()f x 为全局极小值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(8-10)
条件(8-10)式常简称为K-T条件。满足这个条件的点(它当然也满足非线 性规划的所有约束条件)称为库恩-塔克点(或K-T点)。
水电与数字化工程学院 莫 莉
前节回顾
4、二次规划:
若非线性规划的目标函数为自变量X的二次函数,约束条件全是线性 的,称这种规划为二次规划。二次规划的数学模型为:
水电与数字化工程学院 莫 莉
前节回顾
温
一般模型
故
求解
知
罚函数法
新
可行方向法
基本概念
最优性条件
水电与数字化工程学院
莫 莉
第二章 非线性规划
基本概念 最优性条件 凸函数和凸规划 一维搜索方法
2
3 4
5
6
水电与数字化工程学院
无约束最优化方法
约束最优化方法★
莫 莉
6.4 可行方向法
min f ( X ) hi ( X ) 0, i 1, 2, , m g j ( X ) 0, j 1, 2, , l
规划的一般形式为
或
min f ( X ) g j ( X ) 0,
j 1, 2,
,l
,l
上述问题也常写成
min f ( X ), X R En R X g j ( X ) 0,
水电与数字化工程学院
莫 莉
前节回顾
3、库恩-塔克条件:
设X*是非线性规划(7-3)式的极小点,而且在X*点的各起作用
* T , , l* ),使下述条件成立: 约束的梯度线性无关,则存在向量 * ( 1* , 2
l * * * f ( X ) g ( X )0 j j j 1 * * j g j ( X ) 0, j 1, 2, ,l * j 1, 2, ,l j 0,
水电与数字化工程学院 莫 莉
前节回顾
5、二次规划的转化:
对二次规划问题进行修正,从而得到如下线性规划问题:
min
(Z ) z j
j 1
n
a
i 1 n
m
ij
yn i y j c j k xk sgn(c j ) z j c j , j 1, 2,
j 1, 2,
水电与数字化工程学院
莫 莉
前节回顾
2、可行下降方向
如果方向D既是X(0)点的可行方向,又是这个点的下降方向,就称它 是该点的可行下降方向。 (1)假如X(0)点不是极小点,继续寻优时的搜索方向就应从该点的可 行下降方向中去找。若某点存在可行下降方向,它就不会是极小点。 (2)若某点为极小点,则在该点不存在可行下降方向。
(7-12)
(7-13)
(7-14)
(8-12)式右端的第二项为二次型。如果该二次型正定(或半正定),则目 标函数为严格凸函数 (或凸函数 );此外,二次规划的可行域为凸集, 因而,上述规划属于凸规划。第7章已指出:凸规划的局部极值即为全 局极值。对于这种问题,库恩-塔克条件不但是极值点存在的必要条件 ,而且也是充分条件。
可行方向法
现考虑非线性规划(8-3)式,设X(k)是它的一个可行解
,但不是要求的极小点。为了求它的极小点或近似
极小点,根据以前所说,应在X(k)点的可行下降方向 中选取某一方向D(k) ,并确定步长λk,使
( k 1) (k ) (k ) X X λ D R k ( k 1) (k ) f ( X ) f ( X )
n 1 n n min f ( X ) c j x j 2 c j k x j xk j 1 j 1 k 1 c j k ck j , k 1, 2, ,n n ai j x j bi 0, i 1, 2, ,m j 1 x j 0, j 1, 2, ,n
min
f ( X ( k ) ) T D , g j ( X
k 1
n
,n
a
j 1
(8-20)
,m
ij
x j xn i bi 0, i 1, 2, j 1, 2, j 1, 2, j 1, 2, ,n m ,n m ,n
x j 0, y j 0, z j 0,
该线性规划尚应满足(8-17)式。这相当于说,不能使xj和yj(对每一个j ) 同时为基变量。
(8-21)
水电与数字化工程学院
莫 莉
6.4 可行方向法
若满足精度要求,迭代停止,X(k+1)就是所要的点。否 则,从X(k+1)出发继续进行迭代,直到满足要求为止。
上述方法称为可行方向法,其特点是:
迭代过程中采用的搜索方向为可行方向,所产生的迭
代点列{X(k)}始终在可行域内,目标函数值单调下降
。
水电与数字化工程学院
莫 莉
6.4 可行方向法
设X(k)点的起作用约束集非空,为求X(k)点的可行下降方向,可由下述不等 式组确定向量D: (k ) T f ( X ) D 0 (8-22) (k ) T
g j ( X ) D 0, jJ
这等价于由下面的不等式组求向量D和实数η: f ( X ( k ) )T D (k ) T (8-23) g j ( X ) D , j J 0 (k ) T (k ) T 若使 f ( X ) D 和 gj ( X ) D (对所有 j J )的最大值极小化, 即可将上述选取搜索方向的工作,转换为求解下述线性规划问题:
第二章 非线性规划(Nonlinear Programming)
主讲人:莫 莉
moli@
2015 年 6 月
水电与数字化工程学院 莫 莉
前节回顾
温
一般模型
故
求解
知
罚函数法
新
可行方向法
基本概念
最优性条件
水电与数字化工程学院
莫 莉
前节回顾
1、一般模型
大多数极值问题其变量的取值都会受到一定限制,这种限制由约束 条件来体现。带有约束条件的极值问题称为约束极值问题。非线性