订货管理仿真及优化
7 ~9 E. \8 Z) q, }: M系统描述:. e( i7 {' ^7 R; E ?
(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。
# a- U) D) t ?. {- B8 f4 v; t(2)订单到达:平均每10分钟到达一个客户订单( Y& v( W% h& D( b0 X% Q$ T6 h
(3)订单处理:- G' [+ ?# j; p3 R) N: |- @2 N& b
a) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。0 p9 r0 D+ {; o: X
b) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。$ F/ _7 @2 w4 @: R
c) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。
0 U% n; o1 t! i( A' F- md) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。7 b' t- }3 U& C- H
(4)成本:
. E% K7 M1 K- O w0 ]. [单个订单销售利润=100
; y- c# M. L, T9 ]人工成本A=80,B=70,c=60
. P% ^) a; @! N计算机处理成本=50,人工处理成本=1: @, W6 u) r! y: K; \/ s
新型设备成本=60,传统设备成本=45
$ _0 [- H' e1 L: c2 y) |(5)优化目标:( I ?5 k4 }+ K& F3 G
收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本2 ~) y3 O8 _% h
变量约束:
$ u' _) t6 Q1 q$ lmean={15或10}: E/ Z; p0 C% r5 j5 ~
testandshiptime={50或45}
8 T/ J" Z- U5 N3 e% \, PA级员工数量={2 to 4}
- U v8 t" e1 M- M& F- FB级员工数量={3 to 5}
4 o" h3 ]" l5 kC级员工数量={3 to 7}" p5 d2 ~ |/ f0 K2 B! F
订单处理工位数={1 to 3}1 J' n) W* E* B
订单确认工位数={3 to 4}, D+ K; d6 g5 ?4 P( I0 {$ s3 m& U
检验包装工位数={3 to 7}' L; f" {& o: G
根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?
( [: E5 U+ o) I# Z' b j+ F: h F, Z4 q
0 j6 ?: d# Q4 T8 f7 S( h/ }1 f8 P/ T- v4 X! o$ F; q0 E
& ?2 s' Z! J( \" z9 A6 O3 b
1 c! f% [& J& a: C6 v; m* n- @7 Q8 w; ~# C+ J% _
% @8 F- N) ?' w$ D' B4 T- V G' f5 P, {! S# h1 R& D
8 @/ M7 F2 N2 h0 G$ h4 x7 e4 f5 i
2 J" f1 t: K) ?1 N) N
. [" B, }0 M$ j目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)
2 V; r6 _- p8 o/ K& d V.Profit = 0.
/ {0 m' `; t$ s0 f$ J V.Revenue = NSHIP (Order) * 100.0. e3 h4 ?+ [1 z6 o6 `) f0 ^
V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0, R" R9 U+ Z4 e& l! O( R
IF V.AverageLoggingTime = 15 2 G0 N8 `. B* b' o# D7 s! }% M/ A
V.LogCost = 1.0* F3 f+ s+ P" w. m. c7 a" [8 X
ELSE
% r `, N" r5 o3 P V.LogCost = 50.06 r2 m! b8 S, u9 N" \' H9 m
ENDIF3 x3 c4 [( U1 }8 P5 j+ S' M7 l. `" I
IF V.TestandShipTime = 50
5 m1 W/ |) N& ?! r3 L+ ~ V.TestCost = 50.0
$ L- @+ \0 P& W0 }; @( W d4 L ELSE
/ i' b6 h2 n0 C* |; P" B4 d V.TestCost = 60.0
+ B& i0 W2 w; x ENDIF
7 M# {: B0 @% G( C7 R7 } V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost# n9 B2 n3 J* a2 a
V.Profit = V.Revenue - V.Cost
+ I: Z+ c1 r0 p RETURN V.Profit/ D7 {9 h+ }9 l! f
% k( K R o. w6 A' g
定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |