Matlab |
您所在的位置:网站首页 › 运输问题求解的基本思路 › Matlab |
文章目录
运输问题1. 平衡运输问题2. 不平衡运输问题3. 有转运的情形四.案例分析作业实现
运输问题
1. 平衡运输问题
问题的产生及分析 运输问题的特点 求解运输问题的方法——表上作业法 (1)最小元素法 最小元素法的基本思想是优先满足单位运价最小的供销业务. (2)闭回路法 在单纯形法中,为了检验一个基本可行解是不是最优解,需要求出所有非基变量的检验数. 由于目标要求极小,因此,当所有的检验数都大于或等于零时该调运方案就是最优方案. (3)闭回路调整法 若在检验数上有某空格的检验数为负,则可改进方案,降低成本。调整的方法是从具有负检验数的空格出发(有多个负检验数时,选择绝对值大的一个),沿它的闭回路进行调整,即在保持方案可行的条件下,尽量增加空格上的运量。 (4)位势法 …… 2. 不平衡运输问题3. 有转运的情形 如果某产品从生产地先运到某中间站,或者是先运到另外一个产地,或者是先运到另外一个销地,然后再运往目的地,这样的情形应该如何处理呢?这就是有转运的情形。 四.案例分析 模型的求解 c=[4,12,4,11;2,10,3,9;8,5,1,6]; c=c'; c=c(:) ; %取c的转置;c取矩阵内所有数值 Aeq=zeros(7,12); %将a赋值为7*12的零矩阵% for i=1:3 Aeq(i,4*i-3:4*i)=1; Aeq (i+3,i:4:12)=1; Aeq(7,4:4:12)=1; %等式系数向量 end beq=[16;10;22;8;14;12;14]; lb=zeros(12,1);intcon=1:12; %lu取12*1的零矩阵;intcon从1取到12% [x,y]=intlinprog(c,intcon,[],[], Aeq, beq,lb,[]); x=reshape(x,[1,12]),y %重新调整矩阵的行数、列数% 作业实现 m=input('场地数量:') n=input('销地数量:') Aeq1=zeros(m,m*n); Aeq2=zeros(n,m*n); for i=1:m Aeq1(i,n*i-(n-1):n*i)=1; end for i=1:n Aeq2(i,i:n:m*n)=1; end Aeq1 Aeq2 Aeq=[Aeq1;Aeq2] |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |