运筹学 表上作业法求运输问题
发布网友
发布时间:2022-05-08 11:45
我来回答
共5个回答
热心网友
时间:2024-01-24 05:43
定义x(i,j)表示从产地i运往销地j的数量
a(i,j)表示运费。
建立如下模型:
3 3
min z= ∑ ∑a(i,j)*x(i,j);
i=1 j=1
s.t:
x(1,1)+x(1,2)+x(1,3)=20;
x(2,1)+x(2,2)+x(2,3)=16;
x(3,1)+x(3,2)+x(3,3)=4;
x(1,1)+x(2,1)+x(3,1)=10;
x(1,2)+x(2,2)+x(3,2)=14;
x(1,3)+x(2,3)+x(3,3)=16;
x(i,j)都为整数且大于零
用lingo求解的话代码如下:
sets:
row/1 2 3/:b;
col/1 2 3/:c;
link(row,col):a,x;
endsets
data:
a=6 5 13
10 7 16
8 2 4;
b=20 16 4;
c=10 14 16;
enddata
[OBJ]min=@sum(link(i,j):a(i,j)*x(i,j));
@for(row(i):@sum(col(j):x(i,j))=b(i));
@for(col(j):@sum(row(i):x(i,j))=c(j));
@for(link(i,j):x(i,j)>=0;@gin(x(i,j)););
end
得出数据如下:
Variable Value Reced Cost
X( 1, 1) 10.00000 6.000000
X( 1, 2) 0.000000 5.000000
X( 1, 3) 10.00000 13.00000
X( 2, 1) 0.000000 10.00000
X( 2, 2) 14.00000 7.000000
X( 2, 3) 2.000000 16.00000
X( 3, 1) 0.000000 8.000000
X( 3, 2) 0.000000 2.000000
X( 3, 3) 4.000000 4.000000
Row Slack or Surplus Dual Price
OBJ 336.0000 -1.000000
有数据可知与图2中答案吻合。
热心网友
时间:2024-01-24 05:43
图片太小,看不清。基本思路是先用最大差值法求解,如果没有得到最优解然后就用位势法求解然后用闭回路调整,调整完以后用位势法检验。
热心网友
时间:2024-01-24 05:44
In[1]:= Minimize[{6 a11 + 5 a12 + 13 a13 + 10 a21 + 7 a22 + 16 a23 +
8 a31 + 2 a32 + 4 a33, a11 + a21 + a31 == 10,
a12 + a22 + a32 == 14, a13 + a23 + a33 == 16, 20 == a11 + a12 + a13,
16 == a21 + a22 + a23, 4 == a31 + a32 + a33, a11 >= 0, a12 >= 0,
a13 >= 0, a21 >= 0, a22 >= 0, a23 >= 0, a31 >= 0, a32 >= 0,
a33 >= 0}, {a11, a12, a13, a21, a22, a23, a31, a32, a33}]
Out[1]= {336, {a11 -> 10, a12 -> 0, a13 -> 10, a21 -> 0, a22 -> 14,
a23 -> 2, a31 -> 0, a32 -> 0, a33 -> 4}}
用软件Mathematica来做,很简单的就出来结果。我们只需要列出数据之间的关系,大大解放了我的劳动。现在的教学方式就应该现代化一点。
热心网友
时间:2024-01-24 05:44
去看钱颂迪编的<运筹学>,1990年出版,用的方法是里边的,现在大部分运筹书都从那出来的
热心网友
时间:2024-01-24 05:45
,ulg作业法求