MATLAB解二次规划代码

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、举例
例 1:求解:二次规划问题 min f(x1, x2)= -2x1-6x2+x12-2x1x2+2x22 s.t x1+x2≤2 -x1+2x2≤2 x1≥0, x2≥0
将其写成标准形式:
程序:
min
f
( x1 ,
x2 )
=
1 2
(x1 ,
x2
)⎢⎣⎡−22
s.t x1+x2≤2 -x1+2x2≤2 x1≥0, x2≥0
编写 M 文件 mainG.m 如下:
H=[1 -1;-1 2];
f=[-2;-6];
− 2⎤
4
⎥ ⎦
⎡ ⎢ ⎣
x1 x2
⎤ ⎥ ⎦
+
⎡− ⎢⎣−
2⎤ 6⎥⎦
T
⎡ ⎢ ⎣
x1 x2
⎤ ⎥ ⎦
1
黑龙江八一农垦大学 数学建模选修课
A=[1 1;-1 2]; b=[2;2]; Aeq=[];beq=[]; lb=[0;0];ub=[]; [X,fval,exitflag]=quadprog(H,f,A,b,Aeq,beq,lb,ub) 结果: >> Warning: Large-scale method does not currently solve this problem formulation, switching to medium-scale method. > In D:\MATLAB6p5\toolbox\optim\quadprog.m at line 213 In d:\MATLAB6p5\work\Untitled5.m at line 7 Optimization terminated successfully. X = 0.6667
switching to medium-scale method.
> In D:\MATLAB6p5\toolbox\optim\quadprog.m at line 213
In d:\MATLAB6p5\work\Untitled5.m at line 6
Optimization terminated successfully.
x = 0.6667
1.3333
fval = -16.4444
exitflag = 1
2
二、求解二次规划问题函数 quadprog
调用格式: X= quadprog(H,f,A,b) X= quadprog(H,f,A,b,Aeq,beq) 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)
b=[2;2;3];
lb=zeros(2,1);
[x,fval,exitflag]=quadprog(H,f,A,b,[],[],lb)
结果:
源自文库
>> Warning: Large-scale method does not currently solve this problem
formulation,
黑龙江八一农垦大学 数学建模选修课
第八章 MATLAB 解二次非线性规划
一、数学模型
min 1 xT Hx + f T x x2
A⋅x ≤ b Aeq ⋅ x = beq lb ≤ x ≤ ub
其中 H 为二次型矩阵,A、Aeq 分别为不等式约束与等式约束系数矩阵,f,b,beq,lb,ub,x 为向量。
[x,fval]= quadprog(…) [x,fval,exitflag]= quadprog(…) [x,fval,exitflag,output]= quadprog(…) [x,fval,exitflag,output,lambda]= quadprog(…) 说明:输入参数中,x0 为初始点;若无等式约束或无不等式约束,就将相应的矩阵和向量 设置为空;options 为指定优化参数。输出参数中,x 是返回最优解;fval 是返回解所对应的 目标函数值;exitflag 是描述搜索是否收敛;output 是返回包含优化信息的结构。Lambda 是 返回解 x 入包含拉格朗日乘子的参数。
1.3333 fval = -8.2222 exitflag = 1
例 2:求解:二次规划问题 min x12+2x22-2x1x2-4x1-12x2 s.t x1+x2≤2 -x1+2x2≤2 2x1+x2≤3 0≤x1, 0≤x2
将其写成标准形式:
min
f
( x1 ,
x2
)
=
1 2
(x1 ,
x2
)⎢⎣⎡−44
− 4⎤⎡
8
⎥⎢ ⎦⎣
x1 x2
⎤ ⎥ ⎦
+
⎡−4⎤ ⎢⎣− 12⎥⎦
T
⎡ x1
⎢ ⎣
x
2
⎤ ⎥ ⎦
程序:
s.t x1+x2≤2 -x1+2x2≤2 2x1+x2≤3 0≤x1, 0≤x2
编写 M 文件 mainG.m 如下:
H=[2 -2;-2 4];
f=[-4;-12];
A=[1 1;-1 2;2 1];
相关文档
最新文档