Mathematica求解线性规划

问题描述:

Mathematica求解线性规划
8x1+2x2+10x3
1个回答 分类:综合 2014-10-03

问题解答:

我来补答
您是 北风之神 我已在搜搜问问回答过这个问题.为了让更多人知道答案,我把我之前的回答的要点贴在这里.
ConstrainedMax函数早在Mathematica5.0就被淘汰.据4.0版的帮助,这段代码有两点错误:
第一,ConstrainedMax的用法应该是ConstrainedMax[f,{inequalities},{x,y,...}],并没有{x1->0,x2->0,x3->0}一项.所以应改作ConstrainedMax[3 x1 + 2 x2 + 2.9 x3,{8 x1 + 2 x2 + 10 x3 < -300,10 x1 + 5 x2 + 8 x3 < -400,2 x1 + 13 x2 + 10 x3 < -420},{x1,x2,x3}].
第二,即使这样改了,也不能得到结果,因为ConstrainedMax默认所有变量都是非负的.但这道题的结果实际算出来是负的.
所以,对于5.0以上的版本,应该用:
NMaximize[{3x1 + 2x2 + 2.9x3,{8x1 + 2x2 + 10x3 < -300,10x1 + 5x2 + 8x3 < -400,2x1 + 13x2 + 10x3 < -420}},{x1,x2,x3}]
4.0以下的版本线性规划的函数都只认非负数.
另,Mathematica的新版本可在VeryCD找到.也可留下邮箱地址,我发给你.
 
 
展开全文阅读
剩余:2000
上一页:解不等式