订货管理仿真及优化
! C; Q$ ]* U/ k; S系统描述:- a: j7 U: j$ P& S( [+ C
(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。4 {" q2 o( L+ h& u+ k# v6 {
(2)订单到达:平均每10分钟到达一个客户订单6 I9 D8 _, x+ n
(3)订单处理:# F, x2 L- R9 R
a) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。8 G# |# w: @7 ?0 ?+ v: n! C0 i' u- S
b) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。0 X: A- I# f, @9 s3 R
c) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。+ E' w# Z- V3 H& L2 R& }! g
d) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。
' a; X }, D2 |0 Z- w5 A(4)成本:2 Q7 @- W. k0 ?
单个订单销售利润=100
) E# Q1 r- [' o4 Q人工成本A=80,B=70,c=60, N0 L" I" q" T- Y. y/ z' {, g
计算机处理成本=50,人工处理成本=1" G, `- ^' s* b4 h8 m+ |5 f! b
新型设备成本=60,传统设备成本=451 ~( T. X9 y3 ? s0 Z6 U9 P
(5)优化目标:
0 u% W$ H! w9 l0 t, u8 H/ b收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本
4 m* A' R3 x4 n/ k% ]5 N变量约束:" y0 \0 s/ u; N1 j
mean={15或10}" K7 ~1 _! `- x0 V
testandshiptime={50或45}
% R9 j$ v9 I: r0 p6 PA级员工数量={2 to 4}
6 b/ _; f" P( \; G( G: |8 @' P- \B级员工数量={3 to 5}
7 U# {$ t' \3 |C级员工数量={3 to 7}
3 D. [. g& a( q: R: u订单处理工位数={1 to 3}
4 \* M; O' u8 o7 Z. ?订单确认工位数={3 to 4}- _* b1 K; d# j3 q6 ^; g% n& z- Y
检验包装工位数={3 to 7}
% [( q' E5 z$ c& e8 Y) _ 根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?
- L$ a* d# T$ P0 r# i( s5 N3 e7 B+ ?5 [7 F3 B# c; n8 l
! g* F1 {$ Y$ Y$ B7 `
1 |4 U" w, _5 r7 S: T- j3 f$ q2 m$ z
7 V& c9 `" A* `% k7 |3 y, x
$ ^0 `: y1 ~; k
$ a" Y2 X! A8 ~! m& P" h$ t& I% f6 I0 O4 v( S% J
! k/ z8 p6 H W. W* g$ z, Y3 a$ p/ }: L% e5 c, ]
: {" c+ I x* T- N$ v' {, H6 R( x* C: ^
' {" W' Y& }2 ^9 s
目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)
3 _6 ~. i \/ C' |8 v! z+ \$ F9 r V.Profit = 0.
% g8 V" A6 h+ D: B3 O8 g9 x V.Revenue = NSHIP (Order) * 100.09 I& X( ^% b: ]7 n% n7 G8 h+ k
V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0
: t/ D) O4 d+ i+ i: u, \ IF V.AverageLoggingTime = 15 - u/ G: F7 W0 T, |/ |/ V
V.LogCost = 1.0! ? y# g1 W. S
ELSE* f5 J* e" ^' c- `6 j a& \
V.LogCost = 50.0
* \3 n6 q, m+ ]8 N8 Q+ F* m9 m ENDIF
4 J, b* S1 A3 b- w R! X) d) \8 I IF V.TestandShipTime = 50 7 k( l' F! Q& D
V.TestCost = 50.0
7 @ @1 ~ o% G7 \" r6 D$ s ELSE
\* ~" _- x+ @- F3 y* s V.TestCost = 60.0
, r; K3 p$ S* j ENDIF% K) u1 [1 ?; Z* d, f
V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost
) [: j# o* W( ^ V.Profit = V.Revenue - V.Cost
- { }. U' I( U/ I# F8 X( \ RETURN V.Profit
: ~+ ?0 H, t' l+ H: @6 i- ^( b; E
. O5 Y6 {* X; T( ^% k6 o定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |