下载此文档

二次 动态规划-图论.doc


文档分类:高等教育 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
二次_动态规划-图论§1 二次规划模型
数学模型:

其中H为二次型矩阵,A、Aeq分别为不等式约束与等式约束系数矩阵,f,b,beq,lb,ub,x为向量。
求解二次规划问题函数为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)
[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:求解:二次规划问题
min f(x)= x1-3x2+3x12+4x22-2x1x2
2x1+x2≤2
-x1+4x2≤3
程序: f=[1;-3];
H=[6 -2;-2 8];
A=[2 1;-1 4];
b=[2;3];
[X,fval,exitflag]=quadprog(H,f,A,b)
结果: X =
-

fval =
-
exitflag =
1
例2:求解:二次规划问题
min x12+2x22-2x1x2-4x1-12x2
x1+x2≤2
-x1+2x2≤2
2x1+x2≤3
0≤x1, 0≤x2
程序: H=[2 -2;-2 4];
f=[-4;-12];
A=[1 1;-1 2;2 1];
b=[2;2;3];
lb=zeros(2,1);
[x,fval,exitflag]=quadprog(H,f,A,b,[],[],lb)
结果: x =


fval =
-
exitflag =
1
练习1 求解下面二次规划问题

解:
则,,
在MATLAB中实现如下:
>>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 = %最优解


fval = %最优值
-
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]
>>
ans =


0
>>
ans =
0
0
说明第1、2个约束条件有效,其余无效。
练习2 求二次规划的最优解
max f (x1, x2)=x1x2+3
x1+x2-2=0
解:化成标准形式:
x1+x2=2
在Matlab中实现如下:
>>H=[0,-1;-1,0];
>>f=[0;0];
>>Aeq=[1 1];
>>beq=2;
>>[x,fval,exitflag,output,lambda] = quadprog(H,f,[ ],[ ],Aeq,beq)
结果为:
x =


fval =
-
exitflag =
1
output

二次 动态规划-图论 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人联系
  • 文件大小203 KB
  • 时间2017-08-10
最近更新