订货管理仿真及优化
) d9 ?# [+ o% B( s系统描述:) O' {0 q9 o9 f; @0 B/ z3 d
(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。
& f1 m$ g8 O, m7 y/ N* V: L9 c(2)订单到达:平均每10分钟到达一个客户订单 T, r1 G$ {6 d! q! R5 b
(3)订单处理:
8 |3 ~/ U$ l( D5 t2 da) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。
7 O {+ N) w' M7 Qb) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。
8 r1 P3 b: K0 `. |# P5 j7 Z4 lc) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。
( I$ l# [& p, x4 r* M$ g5 |d) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。0 |) D" y# o* h2 W+ R ^- r' ?& }
(4)成本:( W: J9 k F/ E) d2 c2 ]
单个订单销售利润=100
U( X* I4 G3 k% P8 |) w+ k- L人工成本A=80,B=70,c=60
" ^. c, X' `, k计算机处理成本=50,人工处理成本=1
; n3 c" S" ~4 f$ q新型设备成本=60,传统设备成本=45& L1 K3 D6 t7 e z
(5)优化目标:
" _1 a1 t( o6 w) H收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本& U; q$ t* Z6 x+ A7 r3 U" i
变量约束:# p7 T! i- }- N2 R3 I1 G
mean={15或10}) \# }& h) j B
testandshiptime={50或45}, q( ] H# x3 c$ ^& G6 Q5 @6 h
A级员工数量={2 to 4}
7 u7 t# V& j% `" F# V G; FB级员工数量={3 to 5}- w; X+ `. k l" b2 \* C: e! A
C级员工数量={3 to 7}
& K3 M9 P) W+ s5 b订单处理工位数={1 to 3}
7 \; e& l x! s- q3 f订单确认工位数={3 to 4}
% K$ ?# T @) i/ N4 c检验包装工位数={3 to 7}
/ j; V) q; R" u 根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?
& H/ Y7 q l' Q
: f" R2 e5 K0 h& H4 E/ O0 a. t( ^
1 l% C8 G& B1 t- U" _
4 D$ M# G) p# ^" n, d4 s D1 j
% M ^! q8 e, X" d0 g" e) N( J! }3 W2 W" U+ R
# b% p. Q& y% ]& T8 ~
0 g7 C' E z4 A8 { A; K# p+ X0 e9 o7 A, ~" {* q& L @
9 Z1 G! k: Q* }8 l3 i+ }
! s" U* K2 |* j5 _) h9 E' @
, x4 {, k1 J' V/ g目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)* c" x) {9 x) R) v d" Y7 T
V.Profit = 0.
: y0 {7 q# I/ s V.Revenue = NSHIP (Order) * 100.0
/ d( f4 \3 `( q' d2 l9 X( \) Q& ^. m% ~! ? V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0
& {" J& l" M7 f8 G7 W IF V.AverageLoggingTime = 15 * [6 e ^9 W# Q9 G8 ]' l
V.LogCost = 1.0
3 g j- z( ?) k( N3 ~ ELSE
. V4 ?+ i2 [5 ^2 [5 F: L& Y V.LogCost = 50.0; g* G9 N" K+ u$ C! f3 O3 H9 I
ENDIF
& [" D1 S+ U% @2 Z0 J- ` IF V.TestandShipTime = 50
; }0 ?) n* n; G @ V.TestCost = 50.0/ A) K# h- w$ Z3 a* D
ELSE
. P4 F2 Z4 G) _4 ~2 l) G V.TestCost = 60.0
% w# p5 A7 C2 b5 l2 b4 n ENDIF
" W" L1 K+ e+ P1 t& q+ H0 U V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost0 u$ D' L. h1 N8 S% F6 S2 k6 `
V.Profit = V.Revenue - V.Cost
' r% @" M% N8 k, n RETURN V.Profit( y4 p" L1 c0 L) V! z$ v0 x
7 b* ]0 E5 X+ y4 r1 ]' r
定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |