- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40216 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12776
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
运输问题(产销平衡)+ O+ B4 a$ s3 ~
某商品有m 个产地、n 个销地,各产地的产量分别为a1,a2,…am ,各销地的 需求量分别为b,…bn , , 1 L 。若该商品由i 产地运到 j 销地的单位运价为 cij ,问应该如何调 运才能使总运费最省?! ?* i8 t* N$ X9 T
: X' Q" z; i+ y. q3 ^3 _5 q% A 解:引入变量 xij ,其取值为由i 产地运往 j 销地的该商品数量,数学模型为) l! f, ^1 Z; |
: H1 B* d; h4 U+ g# _ # K$ O @) ]! n/ C! `
显然是一个线性规划问题,当然可以用单纯形法求解。 对产销平衡的运输问题,由于有以下关系式存在:![]() 其约束条件的系数矩阵相当特殊,可用比较简单的计算方法,习惯上称为表上作业法(由 康托洛维奇和希奇柯克两人独立地提出,简称康—希表上作业法)) q% _# E% H' L7 `! |) ` n
2 L2 t7 r# @- ~$ ^7 Y3 Q5 [
例题:3 J9 F, x9 r. c% E
9 ^$ S0 H. t/ U$ N' L/ q 某公司有三个加工厂A1,A2.A3生产某产品,每日的产量分别为:7吨、4吨、9吨;该公司把这些产品分别运往四个销售点B1,B2、B3、B4,各销售点每日销量分别为:3吨、6吨、5吨、6吨;从各工厂到各销售点的单位产品运价如表4-1所示。问该公司应如何调运这些产品,在满足各销售点的需要量的前提下,使总运费最少?
) _+ i7 V' f5 L
- V) k0 G" u( H& c0 j U& `解析: 典型的产销平衡问题,将已知数据做成表格如下:
; `4 l+ i" `- t8 S- p9 y8 o* X+ v 8 u1 k+ s8 G& F o6 i8 V
( e9 c/ n/ M7 E, R将所有数据列成表格会更加清晰,根据题意可以得到目标函数的表达式如下:: k( V' e J+ Q! X% M, u
![]()
5 @' V0 o" Y' ~4 ^4 |然后将已知约束关系整理如下:! E1 ^2 N- S# b7 ]
2 |& c# _ |' g: ^( y+ ^5 R7 n
可见题目中并没有不等式约束关系,同时也没有约束上界ub。6 a$ A6 a2 f3 h7 X# Y5 o- v
Matlab 程序实现
% [& m2 H5 i; L2 wclc;clear %清空数据防止干扰
' W4 i, I' v6 v* rf=[3;11;3;10;1;9;2;8;7;4;10;5]; %价值向量
. P) |; U# Q- q! _& K; k9 X" T2 ^aeq=[ones(1,4),zeros(1,8); %线性等式约束 构造矩阵
0 Z$ l0 O$ x9 S- ^& Q" b zeros(1,4),ones(1,4),zeros(1,4);
* Y7 j1 ^, N; _ b! O( y0 \4 p$ K zeros(1,8),ones(1,4);5 @5 h, ]8 S9 O8 S i
1,zeros(1,3),1,zeros(1,3),1,zeros(1,3);
" L" \9 l9 L4 N; \ 0,1,zeros(1,2), 0,1,zeros(1,2), 0,1,zeros(1,2);
1 o8 T) ^" B! C" x ` zeros(1,2),1,0, zeros(1,2),1,0, zeros(1,2),1,0;' g8 L+ d$ { T8 }
zeros(1,3),1,zeros(1,3),1,zeros(1,3),1];- g3 x( j# E4 ~+ t
beq=[7;4;9;3;6;5;6]; %线性等式约束+ O; e/ x: A, C6 b# F8 w* V, w$ T
[x,y]=linprog(f,[],[],aeq,beq,zeros(12,1)) %求解
( I7 ?& g+ q0 J' @$ a题目答案:' Y0 R1 t- r0 [$ i* T" D9 ^$ U( K( F5 p
x=[0;0;5;2;3;0;0;1;0;6;0;3]* d n8 e4 t. X" T0 Y0 A. k
y=85+ m$ c) R& [3 F+ @$ R, r& I
, n. k3 u0 ~# R4 t
% ?/ E5 L7 ^3 o4 a1 @# \' H: R, m2 t: m
|
zan
|