高分悬赏:最优化问题,用matlab求最小值
目标函数f=(2x(1)+3x(2)+9x(3))/(3x(1)+5x(2)+8x(3))约束条件:x(1)>=0;X(2)>=0;x(3)>=0;x(1)+x(2)+x...
目标函数f=(2x(1)+3x(2)+9x(3))/(3x(1)+5x(2)+8x(3))
约束条件:x(1)>=0;
X(2)>=0;
x(3)>=0;
x(1)+x(2)+x(3)>0;
约束条件意思即是三变量均是大于等于0的整数,但是三者不能同时为0;
先需用matlab求目标函数最小值以及对于三变量的值,请给出代码,谢谢!!!好使追加分! 展开
约束条件:x(1)>=0;
X(2)>=0;
x(3)>=0;
x(1)+x(2)+x(3)>0;
约束条件意思即是三变量均是大于等于0的整数,但是三者不能同时为0;
先需用matlab求目标函数最小值以及对于三变量的值,请给出代码,谢谢!!!好使追加分! 展开
1个回答
展开全部
用lingo求解比较简单。。。。
用x1,x2,x3分别表示x(1),x(2),x(3)
因为lingo默认变量非负,所以在lingo中x(1)>=0;X(2)>=0;x(3)>=0;可省略不写,
有目标函数分母不为零,即约束x1,x2,x3不得同时为零,所以x(1)+x(2)+x(3)>0;也可省略不写。
综上最后的lingo代码就剩简单的一句,如下
min=(2*x1+3*x2+9*x3)/(3*x1+5*x2+8*x3);
结果:
目标函数最小值为0.6,
x1=x3=0,x2可取任意非零数
用x1,x2,x3分别表示x(1),x(2),x(3)
因为lingo默认变量非负,所以在lingo中x(1)>=0;X(2)>=0;x(3)>=0;可省略不写,
有目标函数分母不为零,即约束x1,x2,x3不得同时为零,所以x(1)+x(2)+x(3)>0;也可省略不写。
综上最后的lingo代码就剩简单的一句,如下
min=(2*x1+3*x2+9*x3)/(3*x1+5*x2+8*x3);
结果:
目标函数最小值为0.6,
x1=x3=0,x2可取任意非零数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |