二次规划问题.docxVIP

  • 52
  • 0
  • 约3.27千字
  • 约 8页
  • 2021-06-23 发布于山东
  • 举报
精品文档 精品文档 PAGE PAGE5 精品文档 PAGE 二次划 二次划( quadraticprogramming)的准形式: sub.to 其中,H、A、Aeq矩,f、b、beq、lb、ub、x向量其余形式的二次划都可化准形式。 MATLAB5.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足等束条件。 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求解下面二次划 sub.to 解: ,, 在MATLAB中如下: H=[1-1;-12]; f=[-2;-6]; A=[11;-12;21]; 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:[2x1double] upper:[2x1double] eqlin:[0x1double] ineqlin:[3x1double] lambda.ineqlinans= 3.1111 0.4444 0 lambda.lowerans= 0 0 说明 第1、2个拘束条件有效,其余无效。 例5-9求二次规划的最优解 max f(x1,x2)=x1x2+3 sub.to x1+x2-2=0 解:化成标准形式: sub.to x1+x2=2 在Matlab中实现如下: H=[0,-1;-1,0]; f=[0;0]; Aeq=[11]; b=2; [x,fval,exitflag,output,lambda]=quadprog(H,f,[],[],Aeq,b) 结果为: x= 1.0000 1.0000 fval= -1.0000 exitflag= 1 output= firstorderopt:0 iterations:1 cgiterations:1 algorithm:[1x58char] lambda= eqlin:1.0000 ineqlin:[] lower:[] upper:[] 5.4“半无限”有束的多元函数最解 “半无限”有束多元函数最解的准形式 sub.to ? 其中:x、b、beq、lb、ub都是向量;A、Aeq是矩;C(x)、Ceq(x)、是返回向量的函数, f(x)目函数;  f(x)、C(x)、Ceq(x)是非性函数;  半无限束,  往常是度  2的向 量。 在MTALAB5.x中,使用函数seminf解决。函数fseminf 格式x=fseminf(fun,x0,ntheta,seminfcon) x=fseminf(fun,x0,ntheta,seminfcon,A,b) x=fseminf(fun,x0,ntheta,seminfcon,A,b,Aeq,beq) x=fseminf(fun,x0,ntheta,seminfcon,A,b,Aeq,beq,lb,ub) x=fseminf(fun,x0,ntheta,seminfcon,A,b,Aeq,beq,lb,ub,options) [x,fval]=fseminf( ?) [x,fval,exitflag]=fseminf( ?) [x,fval,exitflag,output]=fseminf( ?) [x,fval,exitflag,output,lambda]=fseminf( ?) 参数明

文档评论(0)

1亿VIP精品文档

相关文档