Matlab中线性规划x的上界和下界及初始值怎么确

2022-08-04 教育 148阅读
在MATLAB中,用于LP的求解函数为linprog.其调用格式为:
[x,fval,lambda]=linprog
(f,A,b,Aeq,beq,vlb,vub,x0,options)
其中f,A,b,是不可缺省的输入变量,x是不可缺省的输出变量,它是问题的解.vlb,vub均是向量,分别表示x的下界和上界,x0为x的起始点,options为optimset函数中定义的参数的值,fval是目标函
数在解x处的值,lambda为在解x处的lagrange乘子.lambda.lower对应于vlb,lambda.upper对应于ulb,lambda.ineqlin是对应于线性不等式约束的,lambda.eqlin是对应于线性等式约束的.
下面举一个小例子看看函数的作用:
minZ=-4a+b+7c
s.t.
a+b-c=5 3a-b+c<=4
a+b-4c<=-7 a,b>=0
问a,b,c分别取何值时,Z有最小值
编写M文件
c=[-4 1 7];
A=[3 -1 1;1 1 -4];
b=[4; -7];
Aeq=[1 1 -1];
beq=[5];vlb=[0, 0];
vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
结果:x = 2.2500 6.7500 4.0000fval = 25.7500
即a,b,c分别取2.2500 6.7500 4.0000时,Z有最小值25.7500
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com