24小时热门版块排行榜    

查看: 541  |  回复: 1

黑水映蓝天

木虫 (正式写手)

[求助] 一道线性规划的求最优解的matlab程序(今天之内)

max 0.8x1+0.85x2+0.6x3+0.5x4
约束 x1<=1 x1+x2+x3<=3.5     x2+x3+x4《=3.5   x1 x2 x3 x4》=0
回复此楼
做梦的最高境界就是实现它
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gouyeez

木虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
黑水映蓝天(金币+10): ★★★★★最佳答案 谢谢 2012-01-08 13:19:17
小雨萌萌(金币+2): 3Q~好多微笑哦! 2012-01-11 14:11:57
书上都有公式,不过还是自己编比较有意思。
A=[40 50 0 0 0 0;1 2 1 0 0 30;3 2 0 1 0 60;0 2 0 0 1 24] L=max(A(1,) while  (L>0) n=find(A(1,==L)       %寻访最大值的地址 if (A(2,n)>=0|A(3,n)>=0|A(4,n)>=0)    %最大值那一列的取值是否都是负值,若都是该问题无界 b=A(2:end,6)./A(2:end,n) s=b(:,1)>0 w=find(s==1) m=find(b(:,1)==min(b(w))) m=m+1 B=zeros(4,6) B(1,=A(1,-A(m,/A(m,n)*A(1,n) B(2,=A(2,-A(m,/A(m,n)*A(2,n)     %矩阵的初等变换 B(3,=A(3,-A(m,/A(m,n)*A(3,n) B(4,=A(4,-A(m,/A(m,n)*A(4,n) B(m,=A(m,/A(m,n) A(=B(                    %全元素赋值 L=max(A(1,)            %循环  else disp('该LP无有限最优解') return                 %break就是直接跳出该层循环,continue就是直接进入该层循环的下一次迭代,return就是直接退出程序或函数返回了. end end minz=A(1,6) maxz=-A(1,6)
2楼2012-01-08 12:59:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 黑水映蓝天 的主题更新
信息提示
请填处理意见