订货管理仿真及优化
0 _3 y! `) T5 e' _& q系统描述:
& g6 q/ C2 g7 c9 F: q(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。7 I8 ^# g; j5 z
(2)订单到达:平均每10分钟到达一个客户订单3 q( I% h4 n* [* w% X
(3)订单处理:
/ |+ \" @: q2 t- o' i2 Ta) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。
0 {' S1 n2 t0 ^b) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。
) t: Q9 F3 ]; _( X, sc) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。
: `3 p8 A, Y4 j) g- [9 od) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。; }$ _/ G1 V/ [6 F! }1 B/ Z
(4)成本:
& I& X$ q) r! }) h单个订单销售利润=100" @% y" ?( r$ j' X+ j: t; ^* Q$ h
人工成本A=80,B=70,c=60
( x, ^ n3 f4 o# D* P1 `1 W0 Q计算机处理成本=50,人工处理成本=1) Q6 F- ^( m3 `& n, V% i
新型设备成本=60,传统设备成本=45
/ O4 s* C: d d7 O6 N(5)优化目标:
+ z0 }: r- E. V$ v( J& h收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本) d5 Q, k$ Z! l0 c# P
变量约束:* T5 ?6 L% P& ^: R8 V; \6 o
mean={15或10}3 a4 d3 E4 f j$ N8 d3 u
testandshiptime={50或45}
( I( V9 {' V2 J) m( VA级员工数量={2 to 4}
$ R L& h. y8 Q J7 p+ R* jB级员工数量={3 to 5}
" ~, Y x: c/ d/ BC级员工数量={3 to 7}/ e4 m+ @" V7 _$ x2 n. k- y$ m$ r
订单处理工位数={1 to 3}; Z8 A: z) G: i0 B
订单确认工位数={3 to 4}
k2 z- N' n3 j; X' \) i9 K检验包装工位数={3 to 7}
0 v" I; e) m/ n2 a, m$ N+ \ 根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?
3 H: H. _: A A4 u1 e. _; N2 A6 ?( Q
+ l: R" m8 C9 ]6 z* }0 C& D$ I+ \8 X$ h2 X( \; m
2 ]* d: y& F+ J, Q0 q5 T8 R$ |- z; _: ?8 z( O
8 ^+ i8 s8 N5 D$ j; J E+ [
/ C t' X4 v8 _- V( z, l
6 q M9 w4 H5 w: O' z# S% U$ k. q- i3 \! I3 H3 S8 p, E; ?
2 a. l2 v/ L2 Z0 P6 P9 L- v' Z
9 A3 O# |* s* n1 Y) y
0 p2 M/ l" f& F$ j5 T, K目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)
6 i1 Z- R( i: Y* ]9 r' o6 s V.Profit = 0.9 ]4 x7 F R% t' _ ^* g5 L; z, A
V.Revenue = NSHIP (Order) * 100.0 m. `* l' R+ u5 |7 [2 V
V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0
. D( ?4 P) N: u0 k' y IF V.AverageLoggingTime = 15
8 A! g" `4 h9 G# W' { V.LogCost = 1.0 ]1 f# }1 n$ ^3 y) l8 T5 c3 ^
ELSE: l+ F* i0 p/ l* Q) v% o* A. O
V.LogCost = 50.0
# a$ M/ S0 |4 r% E: G# B) [8 Q ENDIF* d/ L' l; D0 P$ W- L: m: c
IF V.TestandShipTime = 50
+ c! A! a' x; D. I" K V.TestCost = 50.0
" H: a: Z; b) N. s+ u* h9 Y* ] ELSE; L6 |* L2 o; e7 T
V.TestCost = 60.0. S D, O! x" v$ p7 }& U
ENDIF
0 c# j; Z3 M! P) y. G% F V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost5 P9 O6 Z, l2 O: g! S
V.Profit = V.Revenue - V.Cost. e' x* t! U' P' I: J4 {
RETURN V.Profit: E8 @ z) P7 Z% R$ V! {5 G
* y! z2 x* K/ U+ ]$ ?" N: J) L! k4 v
定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |