数学建模社区-数学中国
标题:
线性规划——运输问题(产销平衡)
[打印本页]
作者:
1047521767
时间:
2021-10-28 18:50
标题:
线性规划——运输问题(产销平衡)
运输问题(产销平衡)
7 G: s9 ]% ?6 B, u, i# w$ C5 k4 v
某商品有m 个产地、n 个销地,各产地的产量分别为a1,a2,…am ,各销地的 需求量分别为b,…bn , , 1 L 。若该商品由i 产地运到 j 销地的单位运价为 cij ,问应该如何调 运才能使总运费最省?
& x7 W9 ^& D- u3 g
+ v5 p& n1 ~+ v) T# K" n* S
解:引入变量 xij ,其取值为由i 产地运往 j 销地的该商品数量,数学模型为
+ n# y) O2 [) t- Z
* j* J3 V" a0 \0 N
! w5 y1 T! p8 {" R# q( V" g
显然是一个线性规划问题,当然可以用单纯形法求解。
对产销平衡的运输问题,由于有以下关系式存在:
其约束条件的系数矩阵相当特殊,可用比较简单的计算方法,习惯上称为表上作业法(由 康托洛维奇和希奇柯克两人独立地提出,简称康—希表上作业法)
2 b& r9 I1 C$ @4 e# s7 Q
5 @5 o8 Q+ n$ F3 H( s' I0 O: H
例题:
Q1 ^' ^- s! p5 B, E! \, h$ c
/ z) `+ `6 C% v- Z& G% q0 j7 z3 y% a
某公司有三个加工厂A1,A2.A3生产某产品,每日的产量分别为:7吨、4吨、9吨;该公司把这些产品分别运往四个销售点B1,B2、B3、B4,各销售点每日销量分别为:3吨、6吨、5吨、6吨;从各工厂到各销售点的单位产品运价如表4-1所示。问该公司应如何调运这些产品,在满足各销售点的需要量的前提下,使总运费最少?
- V$ X, K# n2 B; m
1 ]7 X l5 u. x, ]3 h4 m( m
解析: 典型的产销平衡问题,将已知数据做成表格如下:
, W6 N8 G3 [9 G- f% S
3 C8 l W9 x# [
. Y) f5 g) `0 G6 o1 l3 P2 G1 F
将所有数据列成表格会更加清晰,根据题意可以得到目标函数的表达式如下:
/ M6 S, d( c) Q1 i# }7 f
" G- [; G5 | h
然后将已知约束关系整理如下:
% Y% w* [2 a4 g6 w9 F
! z' M4 ?+ ]6 e3 Q# N ~
可见题目中并没有不等式约束关系,同时也没有约束上界ub。
; S$ A7 x. \ m- S
Matlab
程序实现
# g# _) q# u! R# e
clc;clear %清空数据防止干扰
' o9 @ \4 G& ~. s; x8 ?! C
f=[3;11;3;10;1;9;2;8;7;4;10;5]; %价值向量
! j+ p2 v5 D" ?5 ~: Z2 O
aeq=[ones(1,4),zeros(1,8); %线性等式约束 构造矩阵
) G* o d2 S, Y
zeros(1,4),ones(1,4),zeros(1,4);
' D) s6 z8 Y" i4 d1 b1 G8 y
zeros(1,8),ones(1,4);
# H3 Q! F3 i! M8 A) ~
1,zeros(1,3),1,zeros(1,3),1,zeros(1,3);
0 T0 e) P) P" N- e
0,1,zeros(1,2), 0,1,zeros(1,2), 0,1,zeros(1,2);
4 X; ?7 I" d0 `% R
zeros(1,2),1,0, zeros(1,2),1,0, zeros(1,2),1,0;
6 b+ C( _% ]& c9 d/ R6 Q0 N
zeros(1,3),1,zeros(1,3),1,zeros(1,3),1];
4 m- a- u1 L: [( F
beq=[7;4;9;3;6;5;6]; %线性等式约束
, J M9 }& \0 t' r
[x,y]=linprog(f,[],[],aeq,beq,zeros(12,1)) %求解
! w2 J( u7 f6 v5 m) w' o6 ~
题目答案:
, x0 U8 |- K: d$ X3 z4 ]9 I
x=[0;0;5;2;3;0;0;1;0;6;0;3]
: c, C1 a8 B. _6 x1 W
y=85
3 h1 L7 Z. W/ P) H% ~0 P
4 ^% F; f! g9 e4 t* m
3 Z$ X/ [4 B( E9 k1 Y; g$ O
6 I) y& z' Y3 N& p
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5