订货管理仿真及优化1 X( V/ [4 C8 Y0 ^
系统描述:
6 X* x: D' i& ?; w. v: C(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。
8 g5 ]9 @1 ]9 {, ^! P) ?! l4 c! t(2)订单到达:平均每10分钟到达一个客户订单0 l1 M7 y2 ^& N& e
(3)订单处理:
7 T' M, d% Q7 T5 C9 y& u& qa) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。
( e% t3 v& I/ O6 O* S$ f" @, _6 Ib) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。4 p T1 {7 I2 ]+ U
c) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。
& T7 }5 S' E# d: Pd) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。3 B1 ]6 J& D! ~+ n0 Q
(4)成本:7 b9 h6 l @7 _( R
单个订单销售利润=100
- m, s% W# a3 G5 o8 Z! N/ j人工成本A=80,B=70,c=605 G3 e5 X3 G8 ?$ a: ?9 d# O
计算机处理成本=50,人工处理成本=1
* c! |9 n1 Y" }# q* f* D新型设备成本=60,传统设备成本=459 A g/ `9 H; |# g" O% E
(5)优化目标:/ u# \- d+ \) ]; T. f) h
收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本
# K- U! l6 A* H4 i+ o变量约束:
6 g7 A4 d0 q. D( l2 r. y8 h3 p) omean={15或10}
( W' [0 q( _+ ]( jtestandshiptime={50或45}
9 u( x9 k5 r9 B; sA级员工数量={2 to 4}) o! W8 b! V8 C
B级员工数量={3 to 5}( m2 o2 r1 Y' }1 w: N. ?: b
C级员工数量={3 to 7}, Y/ B- B) r( U+ q# D) g2 ^3 c# e
订单处理工位数={1 to 3}* s5 y/ s4 M( A/ }; x6 O
订单确认工位数={3 to 4}/ a/ J4 G3 T0 d$ N* v% a; j5 u
检验包装工位数={3 to 7}5 o3 z8 x1 [. v) `% E
根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?/ H4 x! K& a6 Y, s$ J
8 M, i' j" c4 ?& |
$ t8 s. L) G5 g+ c$ f) l5 }5 E. c) |
; d# B2 L ^% s7 X& Z/ l, K
! e7 H8 e7 I; d# y
+ T' W8 P1 I7 p+ Y7 b% q2 v
. W, _- @2 f! \6 z
9 h: t$ n5 b f( B8 w' u( g; d! i- M5 A+ F! l0 r0 s9 }1 b
: ~$ T) a/ Z- k) T) a: e: ?
6 B$ T( k% T" t" O# f6 [8 t目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)
6 E3 x' L: k& A$ {5 S2 C3 s4 X/ ~ V.Profit = 0.1 f8 H& @' P+ L' x) m4 W. K
V.Revenue = NSHIP (Order) * 100.0+ e0 P% \8 E$ t" G
V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0( k1 b$ s/ ?8 ~" |; q' S. d7 o( n
IF V.AverageLoggingTime = 15
2 p. Q5 m" N8 B V.LogCost = 1.0
A1 r; W5 e1 o1 w1 o0 ]$ n8 M ELSE0 a) j# R, i0 H4 Z; B
V.LogCost = 50.0
0 E! K* X; g1 c ENDIF
7 [8 n9 G5 X* r) L6 ? IF V.TestandShipTime = 50 $ r. j c7 Y6 I6 H3 d) T
V.TestCost = 50.0
5 V3 ]! T/ z' R- i+ l$ J* n* k* U ELSE: b# K, y2 G$ h
V.TestCost = 60.0: P$ c$ d, \! J3 m
ENDIF: ~2 p' n& z3 _& {) r, w! n
V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost
* z O# I* q8 J2 F( w7 R V.Profit = V.Revenue - V.Cost! B% P' L d2 e+ P7 O0 O5 t
RETURN V.Profit
7 P4 y( `3 j% _
1 N& F7 _: @+ W0 ^0 Y定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |