6个回答
展开全部
定义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 Reduced 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中答案吻合。
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 Reduced 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中答案吻合。
展开全部
图片太小,看不清。基本思路是先用最大差值法求解,如果没有得到最优解然后就用位势法求解然后用闭回路调整,调整完以后用位势法检验。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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来做,很简单的就出来结果。我们只需要列出数据之间的关系,大大解放了我的劳动。现在的教学方式就应该现代化一点。
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来做,很简单的就出来结果。我们只需要列出数据之间的关系,大大解放了我的劳动。现在的教学方式就应该现代化一点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去看钱颂迪编的<运筹学>,1990年出版,用的方法是里边的,现在大部分运筹书都从那出来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
,ulg作业法求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |