二次规划
二次规划
从一个准互补基本可行解到另一个准互补基本可 行解的转换,直至得到互补基本可行解。 初始解:人工变量为进基变量,选离基变量使之 成为准互补基本可行解。
z0 max{ qi | i 1,...., m n} qs z 0, w q ez0 q eqs 0
主元选择规则:
若wi(zi)离基,则zi(wi)进基。 离基变量按最小比值原则选取。
用Lemke方法求解:
2 min f ( x) x12 x1 x2 2 x2 x1 10 x2
3 x1 2 x2 x 0 s.t. 1 x2 0
w1 9 w2 0 w 3 16 z1 0 z 2 0 z3 0 z 10 0
x L ( x, ) 0 L ( x, ) 0
Q R H A : R S A 0
T T 1
H AT x c 0 b A
x Qc R T b
可行下降方向
若x点的某一方向 , d 则称d为x的可行下降方向。
既是该点的可行方向, 又是该点的下降方向
§5.5.1 Zoutendijk(约坦狄克)可行 方向法
I. 线性约束情形 II. 不等式约束情形 III.一般约束情形
待解决的问题
搜索方向的确定
搜索步长的确定 初始点的确定
线性约束情形
6
0 0 26 / 5 0 9/5 0 14 / 5
0 0 0 13 / 14 33 / 14 0 3/ 2
二次规划
L( x, λ) = f (x) + ∑ λ j g j (x)
j =1
m
(1) (2) (3) (4) (5)
f (x) + ∑ λ j g j (x) = 0 (梯度条件) 梯度条件)
j =1
m
g j ( x) ≤ 0
(约束条件) 约束条件) (松弛互补条件) 松弛互补条件) (非负条件) 非负条件) (正则条件或约束规格) 正则条件或约束规格)
f (x) = ci
g1 (x) = 0
x
*
f (x(0) ) x (k ) g 2 (x) = 0 x(0)
f (x(k ) )
x1
T 搜索方向满足; 搜索方向满足; f ( x)
P < 0 ,即; f ( x ) T P > 0 π f (x)T 与 P 夹角; α < 夹角;
2
am,m +1 am,m + 2
B = (p1p 2 , , p r , , p m )
f = f 0 + (c k z k ) x k
1 0 0 1 0 0 0 x1 0 x2 + 1 xm
k
B
C
XB x1 a1n b1 a1n xm b2 = xm +1 amn bm XC xn
二次规划: 二次规划:不等式约束问题的有效集法
二次规划: 二次规划:其它算法简介
�
′ a1k ′ ark x ≥ 0 k ′ amk
x B = ( x1 x2 , , xr , , xm ) B = (p1p 2 , , p r , , p m )
x B = ( x1 x2 , , xk , , xm ) B = (p1p 2 , , p k , , p m )
二次规划
起作用的约束经过最优点 , g j (x) 0 , j 0
(3) j g j (x) 0
最优点满足所有的约束条件,
(2) g j (x) 0
这就是K-K-T条件,
g2 (x) 0
P
2
g2 (x)
f (x)
x* g1(x)
g1(x) 0
二次规划
一.二次规划的数学模型 二.二次规划的最优性条件 三.等式约束二次规划的解法 四.不等式约束二次规划的有效集解法 五.其它算法简介
定义:
m
L(x, λ) f (x) j g j (x) j 1
(1)
m
f (x) jg j (x) 0
(梯度条件)
j 1
(2) (3)
g j (x) 0
j g j (x) 0
(约束条件) (松弛互补条件)
(4) j 0
(非负条件)
二次规划:不等式约束问题的有效集法
二次规划:不等式约束问题的有效集法
a x(k1) b a (x(k ) d ) b a x(k ) b
i
i
i
k
i
i
i
a x(k1) b
i
i
二次规划:不等式约束问题的有效集法
二次规划:不等式约束问题的有效集法
二次规划:其它算法简介
xm xm1
b1
b2
bm
B
B (p1p2 ,, pr ,, pm )
C
xn
XC
f f (c z )x
二次规划问题
9.2.4 二次规划问题9.2.4.1 基本数学原理如果某非线性规划的目标函数为自变量的二次函数,约束条件全是线性函数,就称这种规划为二次规划。
其数学模型为:其中,H, A,和Aeq为矩阵,f, b, beq, lb, ub,和x为向量。
9.2.4.2 相关函数介绍quadprog函数功能:求解二次规划问题。
语法:x = quadprog(H,f,A,b)x = quadprog(H,f,A,b,Aeq,beq,lb,ub)x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)[x,fval] = quadprog(...)[x,fval,exitflag] = quadprog(...)[x,fval,exitflag,output] = quadprog(...)[x,fval,exitflag,output,lambda] = quadprog(...)描述:x = quadprog(H,f,A,b) 返回向量x,最小化函数1/2*x'*H*x + f'*x ,其约束条件为A*x <= b。
x = quadprog(H,f,A,b,Aeq,beq)仍然求解上面的问题,但添加了等式约束条件Aeq*x = beq。
x = quadprog(H,f,A,b,lb,ub)定义设计变量的下界lb和上界ub,使得lb <= x <= ub。
x = quadprog(H,f,A,b,lb,ub,x0)同上,并设置初值x0。
x = quadprog(H,f,A,b,lb,ub,x0,options)根据options参数指定的优化参数进行最小化。
[x,fval] = quadprog(...)返回解x处的目标函数值fval = 0.5*x'*H*x + f'*x。
第16讲 二次规划
投资一年的收益 w ' 也是一个随机变量,期望收益为
E ( w ') E (1 ) w 1 E (2 ) w 2 ,, E (n ) w n
马库维茨建议用随机变量 w ' (组合投资收益)的方差作为投资
风险的度量,即
2 D (w ' ) E ( (w ' E (w ' ) )2 )
量分解 xB x1 x2 , xN x3.
代入二次函数可得
min
x3R
4 x32
( x3
1)2
x32,
由此可解
x3
1 2
.
然后代入
xB
的表达式,得
x
1,
3 2
,
1 2
.
由 A g Gx,可知
2 1
3 1
11
0 1
1
1 2
,
从上式可求得 Lagrange 乘子1 2,2 1.
求得
x
1.9500 1.0500
,
Min
f (x) 11.0250
二.等式约束二次规划问题
1.标准形式
min q(x) 1 xTGx gT x, 2
(2)
s.t. AT x b,
其中 x Rn,b Rm, A Rnm, g Rn,G Rnn且G是对称的,
设rank( A) m.
方法 1 直接变量消去法
4.应用实例-组合投资的马库维茨模型 1952 年 Markowitz 发表了《资产选择:投资的有效分散化》
一文,奠定了资产组合的理论基础,从而推动了基金业的发展. Markowitz 最早采用风险资产的期望收益率和用方差代表
的风险来研究资产的选择和组合问题. Markowitz 的证券组合投资模型是现代证券投资理论的基
二次规划基本介绍
BXB CXC b
XB B-1C bB-1
(2) 确定被替换基本变量 x r
bi br 0) min( aik 1i m aik ark
x1 b1 x b r r xm bm
4.3二次规划
Find x min f ( x ) s. t . g ( x ) ≤ 0 ( j 1, 2,, n ) j
非线性约束优化问题
(目标函数—非线性) (约 束—非线性)
非线性优化问题
(目标函数—非线性)
线性约束优化问题
(目标函数—非线性) (约 束—线 性)
有约束优化问题
ai x( k1) bi ai ( x( k ) k d ) bi ai x( k ) bi
ai x ( k 1) bi
二次规划:不等式约束问题的有效集法
二次规划:不等式约束问题的有效集法
二次规划:其它算法简介
这就是K-K-T条件,
P
f (x)
2
x
*
g1 (x)
g1 (x) 0
二次规划
一.二次规划的数学模型 二.二次规划的最优性条件 三.等式约束二次规划的解法 四.不等式约束二次规划的有效集解法 五.其它算法简介
二次规划:最优性条件
二次规划:等式约束问题
二次规划:等式约束问题
二次规划:等式约束问题
单纯形法的小结
(一)线性规划的标准形式: (二)基本概念
m i nz c T x Ax b s.t. x 0 j
T
(1)可行解:满足全部约束条件的决策向量称为可行解。 x ( x1 , x2 ,, xn , ) (2)可行域:全部可行解所构成的空间称为可行域。 (3)最优解:使目标函数达到最小的可行解称为最优解。 (4)无界解:若目标函数无下界称为无界解。
二次规划实验举例
最优化算法实验指导书2.二次规划求解例1 求解下面二次规划问题21212221x 6x 2x x x x 21)x (f min---+= sub.to 2x x 21≤+2x 2x 21≤+-3x x 221≤+21x 0,x 0≤≤ 解:x f x H x 21)x (f '+'= 则⎥⎦⎤⎢⎣⎡--=2111H ,⎥⎦⎤⎢⎣⎡--=62f ,⎥⎦⎤⎢⎣⎡=21x x x 在MA TLAB 中实现如下:>> H = [1 -1; -1 2] ;>> f = [-2,-6];>> A = [1 1; -1 2; 2 1];>> b = [2; 2; 3];>> lb = zeros(2,1);>> [x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,[ ],[ ],lb)Warning: Large-scale method does not currently solve this problem formulation, switching to medium-scale method.> In C:\MATLAB6p5\toolbox\optim\quadprog.m at line 213Optimization terminated successfully.x =0.66671.3333fval =-8.2222exitflag =1output =iterations: 3algorithm: 'medium-scale: active-set'firstorderopt: []cgiterations: []lambda =lower: [2x1 double]upper: [2x1 double]eqlin: [0x1 double]ineqlin: [3x1 double]例 1123 2212123min 246y x x x x x =+---..s t 123213123234,,0x x x x x x x x x +≤+≤+≤≥(1)标准形式:由 2212123246y x x x x x =+---22121231(22)2462x x x x x =+--- 知 200020000H ⎛⎫ ⎪= ⎪ ⎪⎝⎭为半正定矩阵,约束不必改动。
二次规划基本介绍
二次规划基本介绍二次规划(Quadratic Programming,简称QP)是数学规划的一种特殊形式,它的目标函数是二次函数,约束条件是线性函数。
在实际应用中,二次规划被广泛应用于经济学、运筹学、工程学等领域,具有重要的理论和实际意义。
二次规划的一般形式可以表示为:$$\begin{aligned}\min_{x} \quad & \frac{1}{2} x^T Q x + c^T x \\\text{s.t.} \quad & Ax \ge b \\&Cx=d\end{aligned}$$其中,$x$是优化变量,$Q$是一个对称正定的矩阵,$c$、$b$、$d$都是列向量,$A$、$C$是约束矩阵。
在约束条件中,$Ax \ge b$表示一组不等式约束,$Cx = d$表示一组等式约束。
二次规划的优化目标是寻找满足约束条件的$x$,使得目标函数最小。
目标函数由两部分组成,一部分是二次项,一部分是线性项,其中$Q$是二次项的系数矩阵,$c$是线性项的系数向量。
由于$Q$是一个对称正定矩阵,所以二次项是凸的,使得问题具有良好的性质。
二次规划的解法有多种方法,以下介绍其中两种常用的方法:内点法和激活集方法。
内点法是一种迭代求解二次规划问题的方法。
它通过将二次规划问题转化为一系列等价的线性规划问题来求解。
在每一次迭代中,内点法通过将问题的方向限制在可行域的内部,逐渐逼近最优解。
使用内点法求解二次规划问题的一个优点是,可以在多项式时间内找到最优解,尤其适用于大规模的问题。
激活集方法是一种基于约束的求解方法。
它通过不断修改约束条件,从而求解二次规划问题。
在每一次迭代中,激活集方法选取一个子集,称为“激活集”,包含满足等式约束、不等式约束等的约束条件。
然后通过解析方法或数值方法求解这个子问题,得到对应的最优解。
该方法的优点是,可以很好地处理不等式约束和等式约束,并且收敛性良好。
除了内点法和激活集方法,还有其他的求解方法,如:序列二次规划、信赖域算法、光滑方法等。
二次规划.ppt
等式约束的二次规划问题
直接消去法 求解问题(1)最简单又最直接的方法就是利用约束来消去部分变量,从而把问题
转化成无约束问题,这一方法称为直接消去法。
将 A 分解成为如下形式:
A B,N
其中 B 为基矩阵,相应的将 x,c, H 作如下分块:
x
xB xN
,
c
cB cN
,
H
H11 H21
H12
H 22
其中 H11 为 m m 维矩阵。这样,问题(1)的约束条件变为: BxB NxN b
即:
xB B1b B1NxN (2)
等式约束的二次规划问题
将(2)代入 f x中就得到与问题(1)等价的无约束问题:
min
如果 Hˆ 2正定,则问题(3)的最优解为: x*N Hˆ 21cˆN
此时,问题(1)的解为:
x*
xx**NB
B1b
0
B1N
I
Hˆ 21cˆN
记点 x* 处的拉格朗日乘子为 λ* ,则有: AT λ* f x* Hx* c ,故知:
x1 2x2 x3 4 x1 x2 x3 2
通过高斯消元法可得:
x1 x1
2x2 4 x2 2
x3 x3
x1
1 3
x3
x2
2
2 3
x3
代入 f x 中可得到等价的无约束问题:
min
二次规划资料
向。
内点法的改进
• 修正内点法:引入正则化项,提高内点法的稳定性和收敛性。
• 梯度投影法:利用梯度的投影性质,简化内点法的计算。
• 并行内点法:利用多核处理器并行计算,提高计算速度。
修正牛顿法
修正牛顿法原理
• 基本思想:引入正则化项,使得海森矩阵具有更好的条件数。
• 更新公式:^(k+1) = ^k - ^(-1)^k - ^(-1),其中为步长因子。
• 敏感性分析图:绘制模型结构与最优解的关系图,直观
的可行域,从而影响最优解的值和位置。
展示模型结构变化对最优解的影响。
06
二次规划问题的拓展与推广
多目标二次规划问题
多目标二次规划问题
• 定义:多目标二次规划问题是一类求解多个目标函数的二次规划问题,目标函数
之间可能存在冲突或权衡。
• 决策变量:多目标二次规划问题需要求解一组决策变量的最优值。
非线性二次规划问题
• 定义:非线性二次规划问题是一类目标函数或约束条件为非线性函数的二次规划
问题。
• 决策变量:非线性二次规划问题需要求解一组决策变量的最优值。
• 目标函数:非线性二次规划问题的目标函数是一个非线性二次多项式函数,通常
表示为最小化形式。
非线性二次规划问题的求解方法
• 转化为线性问题:通过变量替换或线性化方法,将非线性二次规划问题转化为线性
参数变化对最优解的影响
敏感性分析的方法
• 目标函数系数变化:目标函数系数的变化会影响最优解
• 参数扫描:遍历参数取值范围,观察最优解的变化情况。
的值和位置。
• 敏感性分析图:绘制参数与最优解的关系图,直观展示
• 约束条件变化:约束条件的变化会影响最优解的可行域,
二次规划与非线性规划
x2
6
解
编写如下程序: h=[4,-4;-4,8]; g=[-6;-3]; A=[1,1;4,1]; b=[3;9]; [x,value]=quadprog(h,g,A,b,[],[],zeros(2, 1)) 求得
1.9500 x , Min f ( x ) 11.0250 1.0500
2.再建立M文件mycon.m定义非线性约束:
function [g,ceq]=mycon(x) g=[x(1)+x(2); 1.5+x(1)*x(2)-x(1)-x(2); -x(1)*x(2)-10]; ceq=[];
19
3.主程序youh3.m为:
x0=[-1;1]; A=[];b=[]; Aeq=[1 1];beq=[0]; vlb=[];vub=[]; [x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,vlb, vub,'mycon') MATLAB(youh3)
1.写成标准形式:
2 x1 3x2 6 0 s.t. x1 4 x2 5 0 0 x1 0 x2
1 2 1 2 min f x1 2 x2 x1 x2 2 2
17
2.先建立M-文件 fun3.m: function f=fun3(x); f=-x(1)-2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2
(6) [x,fval]= fmincon(…) (7) [x,fval,exitflag]= fmincon(…) (8)[x,fval,exitflag,output]= fmincon(…) fmincon函数可能会给出局部最优解,这与初值X0的选取有关.
二次规划问题
二次规划问题二次规划(Quadratic Programming,QP)是指在一定约束条件下,优化一个二次目标函数的数学问题。
它是数学规划(Mathematical Programming)中的一种重要分支,广泛应用于工程、经济、金融等领域。
二次规划问题的一般形式如下:minimize f(x) = (1/2)*x^T*Q*x + c^T*xsubject to: Ax ≤ bAx = blx ≤ x ≤ ux其中,x 是一个 n 维向量,Q 是一个 n×n 矩阵,c 是一个 n 维向量,A 是一个 m×n 矩阵,b 是一个 m 维向量,lx 和 ux 分别是 x 的下界和上界。
二次规划问题具有以下特点:1. 目标函数是一个二次函数,有一个二次项、一个一次项和一个常数项。
2. 约束条件是线性的,可以是等式约束或者不等式约束。
3. 决策变量是一个向量,需要满足一定的边界条件。
解决二次规划问题有多种方法,常用的有凸优化、KKT 条件和梯度法等。
在工程领域,二次规划问题经常出现在优化设计、控制系统和信号处理等方面。
例如,在机械设计中,可以使用二次规划问题来优化零件的尺寸和形状,以实现最小体积和质量。
在控制系统中,可以使用二次规划问题来设计最优控制器的参数,以实现系统的最佳响应和稳定性。
在信号处理中,可以使用二次规划问题来估计信号的频率、幅度和相位,以实现最佳的信号采样和重构。
总之,二次规划问题是一种重要的数学工具,能够解决许多实际问题。
通过优化目标函数,可以得到满足约束条件的最优解,提高系统的性能和效益。
随着计算机技术的发展和数学优化算法的改进,二次规划问题的求解越来越高效和可靠,为工程、经济和金融领域的决策提供了有力支持。
最优化:二次规划
从而二阶充分条件等价于 y T Z T QZy d T Qd 0, 0 y R n-m 即矩阵Z T QZ 正定.
我们称Z T QZ为等式二次规划问题(11.4)的投影Hessian 矩阵或既约Hessian 矩阵
关于问题(11.4)的KKT系统解的存在性, 有下面的结论 :
定理11.1.1 设矩阵A行满秩, 若二阶充分条件成立, 则 线性方程组(.)的系数矩阵 Q AT A 非奇异,因此线性方程组(.)有惟一解.
求得KKT点及乘子为 : * x ,
*
d d 令d , 得基础解系 Z
Z T QZ 13 0
T
所以x * 是最优解
由上面的分析知, 解等式二次规划问题(11.4)等价于解 KKT半正定, ai R , q, bi R
n
设x 是问题(11.1)的最优解 存在Lagrange 乘子*满足 : f ( x )
* T i T i * * iE I
*
λ a
* i
* i i
0 (11.2)
a x bi 0, i E a x bi 0, λ 0, λ (a x bi ) 0, i I
f ( x* ) AT * AE x bE
* T * AI x* bI , I , * ( A x bI ) 0 I I
(.)
当只有等式约束时, (11.3)是一线性方程组.
第一节 等式约束二次规划
考虑凸二次规划
min s.t. 1 T f ( x ) x Qx q T x 2 Ax b (11.4)
二次规划
二次规划是特殊的非线性规划,它形式简单,既可以 使用求解非线性规划的一般方法求解,又有特定的解法; 此外,二次规划在实际中有着广泛的应用,例如著名的支 持向量机,在本质上就是一个二次规划问题.本节着重介 绍凸二次规划问题的一些性质和求解方法.
9.6.1 二次规划的基本概念与基本性质
* T i i *
m l
很 明 显 A ( x x ) =0 , 而
i 1 * i T i *
m
i m 1
A
* i
m l
T i
( x x* ) 可 以 写 成 两 部 分 之 和 ,分 别 是
根 据 x* 处 起 作 用 约 束 和 不 起 作 用 不 等 式 约 束 下 标 分 别 求 和 , 由 ( 9-56 ) 和 x H 可以推出
T 1 T ( AB ) AN F , I
(9-71)
并 且 秩 ( F)= n -m , 因 此
T 1 T G G ( A BB BN T 1 B ) AN (9-72) G N F GF ( AN AB , I ) G I NB G NN 由于 F 是列满秩的,并且 G 正定,因此 G N 也是正定的,对称性显然. 定 理 9-5 表 明 对 于 等 式 约 束 的 严 格 凸 二 次 规 划 问 题 ,可 以 用 直 接 消
9.6.2 等式约束二次规划问题
本小节讨论等式约束二次规划问题
min
f ( x)
1 T x Gx r T x, 2
(9-58)
s.t. AT x b,
其 中 ,G 为 n n 阶 对 称 矩 阵 , r 为 n 维 列 向 量 , A 为 n m 阶 矩 阵 , n m 且 秩 ( A )= m , 即 矩 阵 A 是 列 满 秩 的 .
序列二次规划
序列二次规划法
This is then used to generate a QP sub-problem whose solution is used to form a search direction for a line search procedure. The general method, however, is stated here.
序列二次规划法 Here you simplify Eq. (1) by assuming that bound constraints have been expressed as inequality constraints. You obtain the QP sub-problem by linearizing the nonlinear constraints.
Remark
序列二次规划法
Remark
序列二次规划法
Example
序列二次规划法
序列二次规划法
序列二次规划法
序列二次规划法
序列二次规划法 用信赖域方法求解二次规划子问题:
序列二次规划法
序列二次规划法
序列二次规划法
(**)
序列二次规划法
序列二次规划法
序列二次规划法
序列二次规划法
序列二次规划法
Because only active constraints are included in this canceling operation, constraints that are not active must not be included in this operation and so are given Lagrange multipliers equal to zero. This is stated implicitly in the last two equations of Eq. (2).
二次规划ppt课件
• 满足约束条件的点称可行点,可行点集合构成可行域
2
线性规划与非线性规划
• 非线性规划(Nonlinear Programming)
• 非线性规划的数学模型可以表示为
min f x
xRn
s.t. gi x 0 i hj x 0 j
• 在目标函数或者约束函数中至少有一个函数是非线性的 • 当非线性规划问题的可行域为整个实数域时,称为无约束优化问题,
0
优化问题无界或者不可行
• output.a lgorithm
output.iterations
优化算法类型 算法的迭代次数
• lambda.ineqlin
不等式约束的乘子
lambda.eqlin
等式约束的乘子
14
lambda.lower / upper 变量下界和上界
案例分析
• 假设有四种投资1,2,3,4,第i种投资的收益率 ri 的预期收益均值为 i E ri ,
• 在满足收益率条件下最小化风险模型:
min f x 1 xTQx 2
2 s.t. uT x M
4
xi 1, x 0
1
16
案例分析
Q 社保债券 技术交易中心 管理咨询中心 游乐中心 预期收益
社保债券 2 0.4 0.1 0 7
技术交易中心 管理咨询中心
0.4
0.1
4
3
3
6
-1
1
8
10
游乐中心 0 -1 1 10 14
方差
2 iBiblioteka Erii2
表示投资的风险大小,即收益率关于均值的偏离程度
• 令 xi 为第i个项目的投资额占总投资的比例,向量 x x1, x2, x3, x4 T表示一个
二次规划
的唯一整体最优解.
证明:任意的可行解x
令p x * x.
A x* A x b
T T
A xb
T
nm
A p0
T
p Zu, u R
1 T T q ( x) ( x * p ) G ( x * p) g ( x * p) 2 q( x*) u ( Z GZ )u 2
Av 0
列满秩
与假设
v0
矛盾
( p, v) 0
K是非奇异的.
r 定理: 假设 A 为列满秩矩阵, A m , 若投影 Hesse阵 Z T GZ 正定,则满足方程组
KKT对x* , * 中x*是
min s.t
G T A
A x * g 0 * b
性条 件
例
2 2 2 min q x x1 x2 x3
s.t
x1 x2 x3 1 x2 x3 1
1 2 3
x2 x3 1 x1 2 x3
4 5
q ( x) x1 x2 x3
2 2
2
4 x32 ( x3 1) 2 x32
A* g Gx* * , 只需考虑该方程组的前 m 行就可以给出 * 1 * * AB g B GBB xB GBN xN
^
相应的最优Lagrange乘子 * 可由下式确定,
G正半定
^
G不定、负定、负半定
^
G正半定
( I GG ) g 0 问题有界
^ ^ ^
* T ˆ xB AB T b AB T AN G 1 g ˆ * * 1 ˆ ˆ G正定 xN G g x * x ˆ ˆ G 1 g N
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.3.4 二次规划问题
二次规划问题(quadratic programming )的标准形式为:
x f x H x 2
1min '+' sub.to b x A ≤⋅
b e q x A e q =⋅
b u x b l ≤≤
其中,H 、A 、Aeq 为矩阵,f 、b 、beq 、lb 、ub 、x 为向量
其它形式的二次规划问题都可转化为标准形式。
MA TLAB5.x 版中的qp 函数已被6.0版中的函数quadprog 取代。
函数 quadprog
格式 x = quadprog(H,f,A,b) %其中H,f,A,b 为标准形中的参数,x 为目标函数的最小
值。
x = quadprog(H,f,A,b,Aeq,beq) %Aeq,beq 满足等约束条件beq x Aeq =⋅。
x = quadprog(H,f,A,b,Aeq,beq,lb,ub) % lb,ub 分别为解x 的下界与上界。
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0) %x0为设置的初值
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) % options 为指定的优化参数
[x,fval] = quadprog(…) %fval 为目标函数最优值
[x,fval,exitflag] = quadprog(…) % exitflag 与线性规划中参数意义相同
[x,fval,exitflag,output] = quadprog(…) % output 与线性规划中参数意义相同
[x,fval,exitflag,output,lambda] = quadprog(…) % lambda 与线性规划中参数意义
相同
例5-8 求解下面二次规划问题
21212221x 6x 2x x x x 2
1)x (f min ---+= sub.to
2x x 21≤+
2x 2x 21≤+-
3x x 221≤+
21x 0,
x 0≤≤ 解:x f x H x 21)x (f '+'=
则⎥⎦⎤⎢⎣⎡--=21
11H ,⎥⎦⎤⎢⎣⎡--=62f ,⎥⎦⎤⎢⎣⎡=21x x x 在MA TLAB 中实现如下:
>>H = [1 -1; -1 2] ;
>>f = [-2; -6];
>>A = [1 1; -1 2; 2 1];
>>b = [2; 2; 3];
>>lb = zeros(2,1);
>>[x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,[ ],[ ],lb)
结果为:
x = %最优解
0.6667
1.3333
fval = %最优值
-8.2222
exitflag = %收敛
1
output =
iterations: 3
algorithm: 'medium-scale: active-set'
firstorderopt: [ ]
cgiterations: [ ]
lambda =
lower: [2x1 double]
upper: [2x1 double]
eqlin: [0x1 double]
ineqlin: [3x1 double]
>> lambda.ineqlin
ans =
3.1111
0.4444
>> lambda.lower
ans =
说明第1、2个约束条件有效,其余无效。