订货管理仿真及优化
- ?5 e2 q' c& q0 O& |系统描述:
% S6 ?, w9 t) e. A(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。4 J/ a/ f( t* z- i9 u5 D/ ~* ~
(2)订单到达:平均每10分钟到达一个客户订单2 |$ _% C4 e: }4 ]
(3)订单处理:
6 U! |$ [! m5 b( Ba) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。5 z$ p5 J$ v! W `
b) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。
0 V8 R& q0 E3 l: gc) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。2 J9 b5 K& O$ V/ ?0 o+ U
d) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。
0 G2 C% Q( r" P0 O(4)成本:
; f) m; ?) E- G# u, ^$ k& E单个订单销售利润=100
7 |( D8 i, k1 D' B. S2 J人工成本A=80,B=70,c=60! V' Q; p6 l2 m
计算机处理成本=50,人工处理成本=1
. P4 V- k0 e8 R* m* f, b新型设备成本=60,传统设备成本=457 M; R ~! L6 m
(5)优化目标:
& }* v: t* _+ M+ j9 S4 m1 A收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本( a9 R. d9 q9 M9 H# O
变量约束:
: c5 N- E# ?# O9 q1 c* omean={15或10}6 N1 A. G1 ]: }) E1 i
testandshiptime={50或45} I8 w, ^# b: z7 A
A级员工数量={2 to 4}
7 @$ @. ?: C! d$ S6 cB级员工数量={3 to 5}9 p3 R4 ?8 t: |* D9 }' `/ N
C级员工数量={3 to 7}) V% B# h7 L/ {# R' x% d1 t) |
订单处理工位数={1 to 3}
0 \! G: k& D9 t0 d0 ?( q. C' \6 H订单确认工位数={3 to 4}
" d. S9 e* T6 w/ a6 Q; i: A4 p& v检验包装工位数={3 to 7}
! @) g# ]9 _- S 根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?& G. @9 R3 D: M
1 }4 r6 O( f8 \9 \, D' _+ J! b4 w+ N; j' H9 f
* u; X- k7 E: P4 N) [9 X1 [& [& b, A- B9 L S6 }. T0 D
/ G% Y7 i+ o: z1 ~2 O
2 j% x V$ Y" v0 n" T' P! m" r9 ~7 a
/ v/ q2 B$ @7 d U2 U
& M0 f) M) ~( U2 {4 \& b- Y
* o. p; h/ k4 }5 D6 W4 w/ S2 ?6 e3 S
" H \. |. Z& N6 W: s2 J7 m0 e目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)
6 s/ u9 ^$ q O( r V.Profit = 0.2 k7 N$ r- D' G/ x1 m
V.Revenue = NSHIP (Order) * 100.04 A0 U- b5 [# ?2 s
V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0
2 e6 m/ Q1 y3 Z) t- O K IF V.AverageLoggingTime = 15
: m" O' O2 l' L& p+ Y4 z& K V.LogCost = 1.0. n* f( ]8 ~$ m8 F
ELSE- y5 i; J' X/ n1 [0 }, A) Z6 i4 A
V.LogCost = 50.0
( x0 r# O- Z% J8 M- V, L ENDIF: l9 [' D( l N
IF V.TestandShipTime = 50 : y# v8 b. v( a/ K" [. o! @
V.TestCost = 50.0' o' h/ k# q1 O
ELSE
: G' `6 ]% J$ ~8 h( s V.TestCost = 60.0
6 v6 @6 `: @3 X7 d; _0 Y# Z0 \ ENDIF2 x/ F2 r) k0 J1 V7 M3 [
V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost# ~0 ]1 M: ^. T
V.Profit = V.Revenue - V.Cost
3 h2 V' `) s- S/ X0 A RETURN V.Profit0 a7 b1 ^ F3 Z& Y) z. c6 Q
9 ]0 k' Y9 v, @& D4 m1 B) m: F5 j% L
定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |