楼主: sjmwrq
2402 14

matlab 跪救 规划问题的求解 [推广有奖]

11
sjmwrq 发表于 2010-3-1 23:52:34
谢谢大家 这么关心 但是还差一个细节问题 可这个问题很关键 今天晚上时间太晚了 明天早上 我再发帖子吧 期待您的关注与回信

12
tianshi134520 发表于 2010-3-2 01:26:43
建议你去下个lingo,专业处理规划问题。如果是MATLAB作业的话,我明天发给你,命令我记的不清楚了

13
sjmwrq 发表于 2010-3-2 08:07:24
感谢各位高手的继续关注。
原问题的等价问题.jpg
现在matlab的笨方法如下:
matlab笨方法:
c1=[0.2 0.3 0.5]*[0.2 0.6 0.7;0.3 0.5 0.4;0.4 0.4 0.7];a=[0.3 0.5 0.6];b=[0.4];aeq=[1 1 1];beq=[1];[xc1,fval1]=linprog(-c1,a,b,aeq,beq,zeros(3,1));
c2=[0.2 0.3 0.5]*[0.2 0.6 0.7;0.4 0.4 0.7;0.3 0.5 0.4];a=[0.3 0.5 0.6];b=[0.4];aeq=[1 1 1];beq=[1];[xc2,fval2]=linprog(-c2,a,b,aeq,beq,zeros(3,1));
c3=[0.2 0.3 0.5]*[0.3 0.5 0.4;0.2 0.6 0.7;0.4 0.4 0.7];a=[0.3 0.5 0.6];b=[0.4];aeq=[1 1 1];beq=[1];[xc3,fval3]=linprog(-c3,a,b,aeq,beq,zeros(3,1));
c4=[0.2 0.3 0.5]*[0.3 0.5 0.4;0.4 0.4 0.7;0.2 0.6 0.7];a=[0.3 0.5 0.6];b=[0.4];aeq=[1 1 1];beq=[1];[xc4,fval4]=linprog(-c4,a,b,aeq,beq,zeros(3,1));
c5=[0.2 0.3 0.5]*[0.4 0.4 0.7;0.2 0.6 0.7;0.3 0.5 0.4];a=[0.3 0.5 0.6];b=[0.4];aeq=[1 1 1];beq=[1];[xc5,fval5]=linprog(-c5,a,b,aeq,beq,zeros(3,1));
c6=[0.2 0.3 0.5]*[0.4 0.4 0.7;0.3 0.5 0.4;0.2 0.6 0.7];a=[0.3 0.5 0.6];b=[0.4];aeq=[1 1 1];beq=[1];[xc6,fval6]=linprog(-c6,a,b,aeq,beq,zeros(3,1));
fvalall=[fval1,fval2,fval3,fval4,fval5,fval6];
x=[xc1 xc2 xc3 xc4 xc5 xc6];
然后选取fvalall中最小的元素虽对应的x中的列向量就是所要求的最优解;

现在的问题是这样子一个一个输入命令太复杂了,原来目函数中的矩阵A是3行3列的,所以我们只需输入3的阶乘也就是6个目标函数,就可以了,但如果是10,20,30的阶乘怎么办呢?
所以这里需要一个循环函数,小弟在此绊住了,需要大家的帮助,thx!


已有 1 人评分经验 论坛币 收起 理由
Xaero + 9 + 9 鼓励奖,呵呵

总评分: 经验 + 9  论坛币 + 9   查看全部评分

14
sjmwrq 发表于 2010-3-2 15:05:45
     

受到警告 15
sjmwrq 发表于 2010-3-2 15:36:05
提示: 受到警告  Xaero 灌水 2010-3-2 15:59
[dizzy]

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 12:59