订货管理仿真及优化4 r& G5 d# u- p% b
系统描述:
7 S% v9 h( q& l& b$ _(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。5 ~6 m% {. q" {$ n
(2)订单到达:平均每10分钟到达一个客户订单
b" L# B. x, z# K+ K( x(3)订单处理:7 l. H) f1 r. I# c; ^; a
a) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。. N* I. N K( k: z
b) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。" s t9 r! N" U2 q
c) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。: ?% J3 o/ e0 {$ e5 j+ G) {
d) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。. j# x- f5 j/ L+ p7 ^
(4)成本:
0 X( x/ [ h! t单个订单销售利润=100
5 [3 q3 c O& e% P1 ?* v人工成本A=80,B=70,c=60+ T/ g0 W3 o; b$ T; l
计算机处理成本=50,人工处理成本=1
$ K6 H5 \- @6 w4 w新型设备成本=60,传统设备成本=45. l. f3 C5 @/ t! |
(5)优化目标:# K+ ]1 m1 U7 {9 J+ X M) A
收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本0 `; F p, ?$ M8 j' y- x. Z
变量约束:
5 ^ v k8 ]1 F& w0 Dmean={15或10}
1 |& m( s9 K. Gtestandshiptime={50或45}
8 i1 O9 U/ m; I' a' FA级员工数量={2 to 4}: u5 S/ b" _7 k
B级员工数量={3 to 5}
5 T+ [$ e& ~" O) d: J! R2 CC级员工数量={3 to 7}: |! ]" A( R. [& X, s! O0 l
订单处理工位数={1 to 3}
- k @& ^! v7 k% Z: O订单确认工位数={3 to 4}3 j) a1 l% p# i( L- x
检验包装工位数={3 to 7}1 H4 y \" Y, t- N* W) m
根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?
/ {, C; ~: Y5 p0 R" ] n, c0 P5 f# n, T7 ~4 z* I
% W, U" i* q( n% j" i4 t' c& v
; x7 y5 U, S! F# R+ D4 [; B$ E' |% W$ e& y7 \0 y/ r8 ^
7 n) ]/ y! R) Z' B, O$ w
. ?/ }. u1 @& }% ^! I! R$ ?; s. R( ~: F6 I' o- D4 n! a
$ h* o' O0 u" i+ O! s
3 V5 {8 W( u1 W$ }; H+ @4 C/ v0 h2 d2 ~
# M; D1 G+ B4 b目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)
3 I: D! H2 T* \ V.Profit = 0.
$ G) I' ]- C. Z6 W* y V.Revenue = NSHIP (Order) * 100.0& F( \1 }8 Z1 ^: I% i
V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.0
5 f" `$ E3 \4 a0 i7 z$ w8 F IF V.AverageLoggingTime = 15
. m' d" I8 C" |3 {# Y8 s V.LogCost = 1.0, O# z3 L1 a8 N% s D9 }
ELSE
; l m& [! n# ^( g- f V.LogCost = 50.0/ l( h) g( i$ n) b7 y
ENDIF
9 M' J% i8 O$ A% |6 _/ E IF V.TestandShipTime = 50
. z; j* {( n+ o4 x V.TestCost = 50.0
0 G3 ^& m/ P C6 r. { ELSE
' A! V" P4 r2 \8 j V.TestCost = 60.0; ?3 f8 O. V% Q4 _/ I; [) F$ m
ENDIF$ A1 C" ^2 o2 s' @& ~
V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost7 r$ R5 r2 R6 }% N1 R# r8 M
V.Profit = V.Revenue - V.Cost' e( z; W8 c* T
RETURN V.Profit3 Q: [9 @2 e2 u8 L8 `. s
6 Z8 Z: ?$ {( w- v+ U/ ~2 h# R* m
定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |