Matlab——运输问题

文章目录

  • 运输问题
    • 1. 平衡运输问题
    • 2. 不平衡运输问题
    • 3. 有转运的情形
    • 四.案例分析
    • 作业实现

运输问题

1. 平衡运输问题

问题的产生及分析
Matlab——运输问题_第1张图片
Matlab——运输问题_第2张图片
Matlab——运输问题_第3张图片
Matlab——运输问题_第4张图片Matlab——运输问题_第5张图片
运输问题的特点
Matlab——运输问题_第6张图片
求解运输问题的方法——表上作业法
Matlab——运输问题_第7张图片
(1)最小元素法

最小元素法的基本思想是优先满足单位运价最小的供销业务.

Matlab——运输问题_第8张图片
Matlab——运输问题_第9张图片
(2)闭回路法

在单纯形法中,为了检验一个基本可行解是不是最优解,需要求出所有非基变量的检验数.
由于目标要求极小,因此,当所有的检验数都大于或等于零时该调运方案就是最优方案.

Matlab——运输问题_第10张图片
Matlab——运输问题_第11张图片
Matlab——运输问题_第12张图片
Matlab——运输问题_第13张图片
(3)闭回路调整法

若在检验数上有某空格的检验数为负,则可改进方案,降低成本。调整的方法是从具有负检验数的空格出发(有多个负检验数时,选择绝对值大的一个),沿它的闭回路进行调整,即在保持方案可行的条件下,尽量增加空格上的运量。

Matlab——运输问题_第14张图片
Matlab——运输问题_第15张图片
(4)位势法
……

2. 不平衡运输问题

Matlab——运输问题_第16张图片
Matlab——运输问题_第17张图片
Matlab——运输问题_第18张图片

3. 有转运的情形

如果某产品从生产地先运到某中间站,或者是先运到另外一个产地,或者是先运到另外一个销地,然后再运往目的地,这样的情形应该如何处理呢?这就是有转运的情形。

Matlab——运输问题_第19张图片
Matlab——运输问题_第20张图片

Matlab——运输问题_第21张图片

四.案例分析

Matlab——运输问题_第22张图片
Matlab——运输问题_第23张图片
模型的求解

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 %重新调整矩阵的行数、列数%

作业实现

Matlab——运输问题_第24张图片

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]

你可能感兴趣的:(#,数学建模,matlab)