订货管理仿真及优化
) j% E* v+ a; F# \系统描述:
- D9 U( C! @0 f" ~% g2 z(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。
o9 K. J8 h% c$ D) t# o(2)订单到达:平均每10分钟到达一个客户订单! p: n. P/ n! U% D2 }# v! r
(3)订单处理:) d7 l4 I# `" ^9 G, g; E. w
a) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。
5 ~0 }+ L4 }9 |/ T8 c, B' Cb) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。
; N( g! [1 h2 {& w5 tc) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。" P" w8 I4 `- U( S3 n8 G# t
d) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。, T. R: h- S2 P4 ]
(4)成本:
) t4 A: a: j' p5 c单个订单销售利润=100
' y% i" I/ b5 p3 U- _) }* P人工成本A=80,B=70,c=60; @: f& A0 m& `/ k
计算机处理成本=50,人工处理成本=1
5 }, x/ F) h5 p. h1 T7 A) }新型设备成本=60,传统设备成本=457 x* @2 f: K. v$ x8 i- j; t
(5)优化目标:
3 W' F9 I% x: n( C2 p X收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本* v- Y! B& R' |, X
变量约束:) j2 t+ e* d- _8 i! p
mean={15或10}
! d+ p4 I4 R! e9 `5 z/ Ntestandshiptime={50或45}( m' [4 q# D- M& c) {1 K+ b
A级员工数量={2 to 4}/ b @4 P0 H: u# J# ?8 ]& C
B级员工数量={3 to 5}& q( k8 H: l3 v% _" Z
C级员工数量={3 to 7}
% _1 Q, C9 `. I" A6 @订单处理工位数={1 to 3}
: ? B- z! o5 d1 ^& i5 a2 R* y订单确认工位数={3 to 4}- Z3 H0 y" \9 r: L
检验包装工位数={3 to 7}
8 Z7 U- C' s1 t$ M9 B 根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?5 E' o% B, P# l9 R; |
1 V, F9 _3 N3 ~# u! q
- }2 r R5 [: U K$ O8 n
. i" ]1 v5 I/ b1 w8 M! {
' W5 b; H: J) b: z" N/ T: v
9 v2 g$ I& \: w; m
; B2 [% o( {" W: ^
: i" q& I6 `$ A- g7 E5 D; e4 r$ X
" Z# j; R9 B, b; \% e1 |3 D8 ?9 D" J) Z- }. h
' ]# ^" ]& H7 S# w$ @ b/ P7 }" [9 O I$ Y: _# ]
目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)5 R9 m1 ~) j' `; z1 ~: C) X1 r
V.Profit = 0.
% P' @6 f$ ^* S* q5 t; G7 U V.Revenue = NSHIP (Order) * 100.0! H- G0 s# x8 i0 C
V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0
% |( g" {7 v, _7 n IF V.AverageLoggingTime = 15 0 [0 ~7 M+ q! P
V.LogCost = 1.0
$ E& |% L6 ]3 N9 w5 d ELSE
8 t D) g$ U- E1 c V.LogCost = 50.0
/ W9 q- S% ?3 D ENDIF" _2 R# J! i6 i1 p
IF V.TestandShipTime = 50
( [ z% W9 M, p V.TestCost = 50.0/ s/ E, e- Z. n8 x
ELSE% y5 B) _+ h9 C7 Q8 p
V.TestCost = 60.0$ p# A/ F5 `7 j0 \
ENDIF$ [% }/ K* B" o' t
V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost
0 Q, c( ?0 \0 F- C. F7 J V.Profit = V.Revenue - V.Cost
3 A4 K% ?! w# @2 e8 ?" R! ]( [ RETURN V.Profit+ k7 b3 n2 H, \% L
0 n! G/ J7 i8 S- r9 h. u7 s
定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |