题目:
某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:km)及水泥日用量d(t)由下表给出.目前有两个临时料场位于A(5,1),B(2,7),日储量各有20t.假设从料场到工地之间均有直线道路相连.
(1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少水泥,可使总的吨千米数最小.
(2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20t,问应建在何处,节省的吨千米数有多大?
(1)求解过程
解:设A料场往6个建筑工地运送水泥x1,x2,x3,x4,x5,x6吨,B料场往6个建筑工地运送水泥x7,x8,x9,x10,x11,x12吨。
根据题目已知条件列出如下式子:
目标函数总的吨千米数:
Min z =3.76x1+3.76x2+5.86x3+4.07x4+5.85x5+6.64x6+5.80x7+9.20x8+2.70x9+4.25x10+1.12x11+5.26x12
约束条件:
x1+x2+x3+x4+x5+x6<=20
x7+x8+x9+x10+x11+x12<=20
x1+x7=3
x2+x8=5
x3+x9=4
x4+x10=7
x5+x11=6
x6+x12=11
运行程序如下:
f=[3.76;3.76;5.86;4.07;5.85;6.64;5.80;9.20;2.70;4.25;1.12;5.26];
a=[1 1 1 1 1 1 0 0 0 0 0 0;0 0 0 0 0 0 1 1 1 1 1 1];
b=[20;20];
aeq=[1 0 0 0 0 0 1 0 0 0 0 0;0 1 0 0 0 0 0 1 0 0 0 0; 0 0 1 0 0 0 0 0 1 0 0 0;0 0 0 1 0 0 0 0 0 1 0 0;0 0 0 0 1 0 0 0 0 0 1 0;0 0 0 0 0 1 0 0 0 0 0 1];
beq=[3;5;4;7;6;11];
[x,y]=linprog(f,a,b,aeq,beq,zeros(12,1))
运行结果:
x =3;5;0;7;0;1;0;0;4;0;6;10
y =135.330