matlab 带约束的 求目标函数的最大值怎么做???
2个回答
展开全部
点函数,点MAX
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
线性规划
标准模型:
min z=f*X
AX<=b
s.t (方程组){ AeqX=beq
lb<=X<=ub
[X,fval]=linprog(f,A,b,Aeq,beq,lb,ub,X0,poti)
X0为初始点(可省略),poti为控制参数,用于控制精度,输出形式,算法选择,迭代次数等(可省略)。
例如:min z=-5x1-4x2-6x3
x1-x2+x3<=20
3x1+2x2+4x3<=42
s.t.{ 3x1+2x2<=30
xi>=0,i=1,2,3
f=[-5,-4,-6];
A=[1 -1 1;3,2 4;3 2 0];
b=[20;42;30];
lb=zeros(3,1);
[x,fval]=linprog(f,A,b,[],[],lb)得答案
大规模二次规划:
min z=1/2X'Hx+f*X
AX<=b
s.t.{AeqX<=beq
lb<=X<=ub
[X,fval]=quadprog(H,f,A,b,Aeq,beq,lb,ub,X0,opti)
想求最大值加个负号就行。
另外也可把最值点求出来一个个试。
标准模型:
min z=f*X
AX<=b
s.t (方程组){ AeqX=beq
lb<=X<=ub
[X,fval]=linprog(f,A,b,Aeq,beq,lb,ub,X0,poti)
X0为初始点(可省略),poti为控制参数,用于控制精度,输出形式,算法选择,迭代次数等(可省略)。
例如:min z=-5x1-4x2-6x3
x1-x2+x3<=20
3x1+2x2+4x3<=42
s.t.{ 3x1+2x2<=30
xi>=0,i=1,2,3
f=[-5,-4,-6];
A=[1 -1 1;3,2 4;3 2 0];
b=[20;42;30];
lb=zeros(3,1);
[x,fval]=linprog(f,A,b,[],[],lb)得答案
大规模二次规划:
min z=1/2X'Hx+f*X
AX<=b
s.t.{AeqX<=beq
lb<=X<=ub
[X,fval]=quadprog(H,f,A,b,Aeq,beq,lb,ub,X0,opti)
想求最大值加个负号就行。
另外也可把最值点求出来一个个试。
更多追问追答
追问
在哪个式子上加负号,怎么加,说的详细一些。谢了。
追答
求z的最大值,那就是求-z的最小值。
有些地方打错了,控制参数应该是opti
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询