订货管理仿真及优化
1 p, |+ K! ], [) ?+ S; ~系统描述:9 E: c3 g' ?* e$ [. f4 K, m
(1)员工类型:公司有三级员工,根据技能高低分为A级员工,B级员工和C级员工。/ F) U- P* P/ c4 B q2 s1 Z
(2)订单到达:平均每10分钟到达一个客户订单
1 W' Q: @1 L+ f9 H5 j3 P: K(3)订单处理:
9 S4 o6 f& [# X4 ga) 订单到达公司后要由工作人员进行处理,该处理由一个C级员工进行,该处理方式有两种(计算机或人工),处理时间为期望mean=10分钟(计算机)或15分钟=(人工),标准差为mean/10的正态分布。
( h6 Q7 \! n" s R1 n; N* e1 Ob) 处理好的订单进入确认阶段,在该阶段,工作人员打电话和客户进行确认。该工作可以由一个B级员工或C级员工进行,处理时间均服从10-40分钟的均匀分布。
; L/ o/ R; I$ O: V5 o5 T' e D% Rc) 经过确认的订单送到仓库进行配货,每个订单由一个A级员工进行配货,处理时间服从20-40分钟的均匀分布。
( Q/ X1 {3 h: J! Bd) 检验、包装。检验合格后进行包装、发货,否则重新进行配货。配货合格率为90%。该过程可以由一个A级员工或一个B级员工进行,根据检测设备不同处理时间为testandshiptime=45(新型设备)和50(传统设备)。
* _! Z5 Z( T$ j: N8 |5 Z) h(4)成本:0 h2 N0 r, F) I G) M
单个订单销售利润=100( D$ P) }4 b, ?/ s8 P, v. v5 u( l
人工成本A=80,B=70,c=60
/ O$ M. i4 S L2 \8 q计算机处理成本=50,人工处理成本=1
7 j- F0 x# q: v4 U3 H$ ^新型设备成本=60,传统设备成本=45- g1 j8 O$ \. c& q! W
(5)优化目标:2 k# N8 z8 X4 y& h
收益最大化,其中收益=销售利润-人工成本-订单处理设备成本-检测包装设备成本
, \$ X# w2 X' o! o3 j" f+ B; u( Y变量约束:
( a/ y5 l. j0 N- X2 E8 gmean={15或10}
) f# V6 I6 x1 xtestandshiptime={50或45}6 j/ }5 \. J% A) f4 D
A级员工数量={2 to 4}
& p3 F6 l5 e4 pB级员工数量={3 to 5}6 @4 W. x3 o1 Y4 j$ U
C级员工数量={3 to 7}
! X! y6 ~# I+ T订单处理工位数={1 to 3}" X5 O' J& h: ~. U) C4 k4 ]
订单确认工位数={3 to 4}- v% a7 [) m9 I8 u
检验包装工位数={3 to 7}
7 _4 w$ L* j3 t* W 根据以上要求仿真优化,并回答结果:需要多少名A、B、C级员工?订单处理工位为多少?是计算机处理还是人工处理?订单确认工位数是多少?检验包装工位数是多少?/ Q6 c$ V# N1 M, Q" W- x0 V) [
* R3 u7 _+ {, n
- ?* c0 r' n1 j n( W! B
; U! h8 e- m: b$ c( {% e, o9 g
' y) I& o7 \1 N" g0 v
/ V1 w6 Z# ]5 \
, Z2 u5 f- C7 K% I6 g, z: P4 Y$ ?
3 ~+ I2 A3 e$ t0 ]$ M2 U2 ~/ Y: W# V) q2 c4 V8 U4 I
9 c- [, }( u- X4 F
J6 B% F9 l7 M- A4 q: x5 T# z2 G$ ?3 g
目标函数程序代码(!行为解释说明,其中变量为自定义变量元素,)
1 a1 g2 Y6 J0 s1 b: Q' V V.Profit = 0.
5 |( j- A3 i, q( ~ V.Revenue = NSHIP (Order) * 100.0
4 n4 L/ \. V" W' ^ V.Cost = NQTY (stafflevelA) * 80.0 + NQTY (StaffLevelB) * 70.0 + NQTY (StaffLevelC) * 60.07 e$ ?, w% S" v. P8 w0 l- m/ k
IF V.AverageLoggingTime = 15
/ o; A$ B( B! L& ]3 { V.LogCost = 1.02 B. i9 ^8 h1 H* `+ b( n6 P
ELSE
; I! v- X) I; A5 Y* U& Q6 R* S V.LogCost = 50.0
. o/ M1 q0 Q2 E7 O( E w ENDIF, u/ T% h( d, T: r" c0 J2 O
IF V.TestandShipTime = 50
6 s3 V1 D' x9 y8 {- h' g! Z V.TestCost = 50.0
( d6 n7 w2 z' L, y2 r ELSE! I) H- I, T$ J: @+ |
V.TestCost = 60.06 \9 ]% S/ g3 w5 n& v1 H& x
ENDIF
, l8 e# b! m0 q& n+ x/ ` V.Cost = V.Cost + NQTY (LoggingOrder) * V.LogCost + NQTY (Testing) * V.TestCost
- P! R4 m; m6 } v, A V.Profit = V.Revenue - V.Cost
6 A0 t- E2 ]7 T9 X1 W RETURN V.Profit
3 U; Z$ C0 l, R2 K% g! k3 O* G$ c0 F+ @& ^8 L3 V: ~
定义完目标函数后,菜单model->optimize..,在左上角variables定义约束条件,在右上角选择目标函数,且为最大化,左下角选择运行时间run,右下角选择算法, |