订货管理仿真及优化' G: ~3 q9 _0 g5 B2 y& E4 x
系统描述:0 ?( Q/ O# d# \1 C9 n0 f
(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。
# j9 J4 A2 j" h6 U" R(2)订单到达:平均每10分钟到达一个客户订单
1 w* H$ R" Y7 q" Q, @(3)订单处理:! f! t5 I/ Q8 m% l% u
a) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。+ N {" Q5 H5 a. Z2 j) ?8 u
b) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。
/ B8 v* T/ W" ?. ]c) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。* x4 L; g; a; q5 U' `
d) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。
. J/ \- |6 v" I" `6 g9 X, A4 Z+ K(4)成本:2 N/ V/ Z$ z) r U
单个订单销售利润=100+ j/ h4 w& l8 U2 B: v
人工成本A=80,B=70,c=60; j: z6 Z: i. l! R( }
计算机处理成本=50,人工处理成本=1
# W) ~7 M) _$ f1 S新型设备成本=60,传统设备成本=45
$ H4 L, T9 G1 _! r' n8 \- K& @(5)优化目标:
. J9 i" X& J( Y; t收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本1 I( }- H" E5 g8 L# m
变量约束:
. C+ U/ m2 j% f6 H! ?6 Zmean={15或10}
* Y- R! n1 G, w& t0 V) G8 ctestandshiptime={50或45} x2 u t: Z( L# r; M
A级员工数量={2 to 4}; r% x5 D; \. M; z$ _
B级员工数量={3 to 5}
" O" i! Z- z! P4 ~' u- PC级员工数量={3 to 7}
3 @0 u$ j0 q( y* R( j7 j* C订单处理工位数={1 to 3}$ ]* P* I- D# A
订单确认工位数={3 to 4}
8 P1 g/ }& {$ U8 a检验包装工位数={3 to 7}6 e6 o! |3 I& o) J; @ H2 r0 c, O
根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?
, D( U6 L" q+ a1 q& P
4 {% N/ i e/ d. E; _, Z
6 f2 q3 c: x' y: h+ r: K* o& }9 K2 F5 L+ R/ L- Q t$ L
$ j/ `$ g8 w; e) N: D
1 r& l/ ]1 C7 P2 }, W* k' S
4 }, j! d: y4 t* s
7 E" J+ F# A+ Q, L( \) {" k0 t/ A, A4 [
- }% @5 p6 J: u- L
* K/ v2 J% w& ^) A; l
/ n8 ^0 }) d8 G# ~, H. P1 l0 z! ]目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)/ B/ Y# @) v2 H' p
V.Profit = 0.
8 I5 ?8 u7 `; C) y V.Revenue = NSHIP (Order) * 100.08 j* f' l7 `; V7 {0 F
V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0' U- {* _/ t- G0 L9 X9 Z
IF V.AverageLoggingTime = 15
7 F6 f4 o# @6 X) Q6 w V.LogCost = 1.0
6 c1 t) w# Y5 }$ |5 e9 b y ELSE* w: n4 R+ a; X8 Q
V.LogCost = 50.0) Y& x1 ?7 Q) @, b! h+ x
ENDIF1 B) h9 r' m: Z/ y5 X$ p% h
IF V.TestandShipTime = 50 2 s, l" f) Q. u; x( t
V.TestCost = 50.0, }" Q8 Z% a$ a) g! \. ~ l/ v1 |
ELSE
9 K n: o3 P% ?4 s( i$ b* k/ w1 t4 { V.TestCost = 60.0
- L1 O, \. f- U/ p5 U ENDIF
+ ^: M: k) r3 X s' S1 j V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost
8 F2 F& J/ V: u$ I V.Profit = V.Revenue - V.Cost
% N* }5 ^! T6 ]/ p RETURN V.Profit% S7 \" c: r+ f) a1 h
7 o! L( ^2 s# x% @) c* G$ I2 `定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |