订货管理仿真及优化
7 u+ o# j, _9 P# y% ?系统描述:0 U' m( O1 ~6 F5 f, s; ^( c0 c! i
(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。
2 b G% N; ~- D+ e% x, f! n(2)订单到达:平均每10分钟到达一个客户订单
/ y3 z% A3 f/ ` ^, H(3)订单处理:2 s) F0 v# R' U p
a) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。
- i' s" g8 R b8 mb) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。" I0 F- ]8 P, w; `, E% a, B+ n
c) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。2 m* V, H! f) _' p, G% P
d) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。
9 J3 m3 o! F' ?/ [! L4 E(4)成本:2 Q5 q Q4 p, f+ T4 U' Z6 O# z1 b
单个订单销售利润=100& [% o7 ?% B; R
人工成本A=80,B=70,c=60
. u. F( y- t/ {: ~计算机处理成本=50,人工处理成本=1
/ A! [7 p2 }1 |5 w7 x, M: P新型设备成本=60,传统设备成本=45
7 h4 V) O$ _. R4 k% v/ l0 v(5)优化目标:9 A1 E& T/ A( M6 W
收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本0 Z. X+ [+ u1 l' k- W
变量约束:4 I) h2 E, O3 w- `. ~+ u
mean={15或10}
9 @# |' N4 w) M) Atestandshiptime={50或45}
' P( V) e8 Q8 O- GA级员工数量={2 to 4}1 a/ o: h" m% v
B级员工数量={3 to 5}
; z ^% n1 x+ ~. `C级员工数量={3 to 7}
# R% S3 Q; S: v( }8 W, @4 s订单处理工位数={1 to 3}6 x) N) \- R9 E) `- ~6 s( N. O: j
订单确认工位数={3 to 4}
+ } u5 X) N: ^. ^$ N检验包装工位数={3 to 7}9 ?1 P2 C9 S l" N. [
根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?
$ a9 W! k$ d7 Y6 R( }2 @5 d* W0 [/ Z' ?0 U0 B* v- C, F0 i5 V
3 [8 _6 B W* |
7 T r8 Y7 L. O$ T( [2 K- m0 [
+ [8 o5 i! \0 Z2 w2 z9 B
/ d" F$ o; b o
# Z0 m6 h$ ]; B0 v8 P
9 H6 K0 o" Z# l" C f- b
* }2 T% z6 n; w
) g. @8 A: Z9 B" ]0 p! G1 b2 a
: t+ O& D' E: A- t2 M5 f
: |2 @/ u4 l- z$ ~( Q+ Z, b) u目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)
1 j# P/ u% T3 Q V.Profit = 0.0 e4 M' v, k6 [7 o) S0 S5 _/ M9 p6 I
V.Revenue = NSHIP (Order) * 100.01 G5 V8 [2 X+ `4 g
V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0
0 Y6 v- U! V, W: M, k4 R IF V.AverageLoggingTime = 15 ( b7 T! V% t( f" k+ D
V.LogCost = 1.0 K" S7 F) E7 O
ELSE
! t- Q7 b4 f, x+ e' K; _* v V.LogCost = 50.0
, ~$ w; k# N$ f; c2 v* k0 R ENDIF
- R/ |8 e2 ` G, @7 ^ IF V.TestandShipTime = 50
( C0 W" v6 ^2 V' l" V: p% f1 C V.TestCost = 50.0
: ~! ^% J- d) p* s ELSE" o1 @7 v+ b+ e+ S$ ]$ F
V.TestCost = 60.0
9 p1 P- b5 q: W5 H; y ENDIF
" R2 j+ Q9 E0 G2 t; y! u V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost
n) }9 r8 l( B V.Profit = V.Revenue - V.Cost
* X5 K: {: B! F: D7 r6 d0 [ RETURN V.Profit; n4 d; k% L4 z) C! A% {7 S
( X5 l9 V' ^3 O2 E2 C
定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |