W_s=1/mu; min=s;@gin(s);
运行得到:
Local optimal solution found at iteration: 62 Objective value: 15.00000
Variable Value Reduced Cost LAMDA 200.0000 0.000000 MU 20.00000 0.000000 LOAD 10.00000 0.000000 PLOST 0.3649695E-01 0.000000 S 15.00000 1.000000 Q 0.9635031 0.000000 LAMDA_E 192.7006 0.000000 L 9.635031 0.000000 ETA 0.6423354 0.000000 W_S 0.5000000E-01 0.000000
即需要15条外线,此时交换台的顾客损失率为3。65%,实际通话率为平均每小时192.7次,交换台每条外线的服务效率(单位时间服务的条数)为64.23%。 (四)混合制排队模型
(见[1]第327页4.3节 系统容量有限制的情形M/M/C/N模型)或文献[8])
混合制排队系统通常记为M/M/S/k,即有s个服务台,系统空间容量为K,当k个位置陪顾客占满时,新到的顾客自动离去,当系统有空位时,顾客排队等候。
对于混合制排队系统,Lingo软件没有提供特殊的计算函数,因此需要根据其排队公式进行计算。为此,先给出基本公式。
1、混合制排队基本公式(见文献[8](或[1]第327页,4.3节系统容量有限制M/M/c/N): 设Pn,n?1,2,...,k为系统有n个顾客的概率,p0表示系统空闲(没有顾客)的概率,因此有
??Pn?0n?1
设?n,n?1,2,...,k为系统在n时刻的输入强度(到达系统的人数),?n,n?1,2,...,k为系统有n个顾客时的服务强度(单位时间服务的人数): ??n?1Pn?1??n?1Pn?1?(?n??n)Pn,n?1,2,...,k?1 ???0P0??1P1?k?1Pk?1??kpk
对于M/M/S/k,有?n??,n?0,1,2,...,k;
20
?n???n?,n?s,,n?1,2,..,k?s?,n?s
2、混合制排队模型的基本参数 (1)系统损失的Plost概率. Plost=Pk
(2)系统的相对通过能力Q和单位时间平均进入系统的顾客数?e: Q=1- Plost, ?e??(1?Plost)
?e称为有效到达率.
(3) 即平均队长Ls和平均等待队长Lq
kkLS??n?0nPn,Lq??n?s(n?s)Pn?Ls??e?
(4)顾客的平均逗留时间Ws和平均等待时间:
Ws?Ls,Wq?Lq?Ws?1?e?e?
例题3-4 某修理店只有一个修理工,且站内最多停放3台待修的机器。设待修的机器按Poission过程到达修理站,平均每分钟到达1台;修理时间服从负指数分布,平均每1.25分钟可修理1台,试求该系统有关指标。
解:本例中,为M/M/1/K系统。S=1,k=4,??1,??1/1.25,其相应的Lingo为
model: sets:
state/1..10/:p; endsets s=1; k=4;
lamda=1; mu=1/1.25; lamda*p0=mu*p(1);
(lamda+mu)*p(1)=lamda*p0+s*mu*p(2); @for(state(i)|i#gt#1 # and #i#
lt#k:(lamda+s*mu)*p(i)=lamda*p(i-1)+s*mu*p(i+1)); lamda*p(k-1)=s*mu*p(k);
p0+@sum(state(i)|i#le#k:p(i))=1; plost=p(k); Q=1-plost; lamda_e=lamda*Q;
L_s=@sum(state(i)|i#le#k:i*p(i)); L_q=L_s-lamda_e/mu; w_s=L_s/lamda_e; w_q=w_s-1/mu;
21
Feasible solution found at iteration: 4
Variable Value S 1.000000 K 4.000000 LAMDA 1.000000 MU 0.8000000 P0 0.1218467 PLOST 0.2974774 Q 0.7025226 LAMDA_E 0.7025226 L_S 2.436935 L_Q 1.558782 W_S 3.468835 W_Q 2.218835 P( 1) 0.1523084 P( 2) 0.1903855 P( 3) 0.2379819 P( 4) 0.2974774
即系统的空闲率为12.18%,顾客的损失率为29.75%,系统的相对通过能力为Q=70.25%,单位时间进入系统的平均人数为LAMDA_E =0.7025。系统中平均人数L_S=2.436935,平均排队人数L_Q=1.558782。平均逗留时间W_S=3.468835分钟,平均等待时间W_Q=2.218835分钟。
例题3-5 某加油站有2个加油机,且站内最多停放3台等待加油的汽车。设汽车按Poission过程到达,平均每分钟到达2辆;加油时间服从负指数分布,平均每2分钟可加油1辆。若汽车到达时满员,则必须离开到其他加油站加油。试对该系统进行分析。 解:本系统可看成M/M/s/K系统。S=2,k=5, ??2,??1/2, 其相应的Lingo为
model: sets:
state/1..5/:p; endsets s=2; k=5;
lamda=2; mu=0.5; lamda*p0=mu*p(1);
(lamda+mu)*p(1)=lamda*p0+2*mu*p(2); @for(state(i)|i#gt#1 # and #i#
lt#s:(lamda+i*mu)*p(i)=lamda*p(i-1)+(i+1)*mu*p(i+1)); lamda*p(k-1)=s*mu*p(k);
@for(state(i)|i#ge#s # and#i#lt#k:
(lamda+s*mu)*p(i)=lamda*p(i-1)+s*mu*p(i+1)); lamda*p(k-1)=s*mu*p(k);
22
p0+@sum(state(i)|i#le#k:p(i))=1; plost=p(k); Q=1-plost; lamda_e=lamda*Q;
L_s=@sum(state(i)|i#le#k:i*p(i)); L_q=L_s-lamda_e/mu; w_s=L_s/lamda_e; w_q=w_s-1/mu;
Feasible solution found at iteration: 4
Variable Value S 2.000000 K 5.000000 LAMDA 2.000000 MU 0.5000000 P0 0.8000000E-02 PLOST 0.5120000 Q 0.4880000 LAMDA_E 0.9760000 L_S 4.128000 L_Q 2.176000 W_S 4.229508 W_Q 2.229508 P( 1) 0.3200000E-01 P( 2) 0.6400000E-01 P( 3) 0.1280000 P( 4) 0.2560000 P( 5) 0.5120000
即系统空闲概率为p0=0.008;顾客损失率p(5)=51.2%; 加油站内平均汽车数L_S
=4.128辆,加油站内等待加油的汽车数L_Q=2.176辆。汽车在加油站内平均逗留时间W_S =4.2295分钟,汽车在加油站内等待加油时间W_Q=2.229508分钟。 (五)有限源排队模型
(见[1]第329页4.4节 顾客源为有限的情形M/M/C/?/N模型)或文献[8])
设系统内有S个服务台,顾客到达系统的间隔时间和服务台的服务时间均为负指数分布,系统的容量和潜在的顾客数都是K,顾客到达率为?,顾客服务率为?,这样的系统称为闭合排队系统,记为M/M/S/K.
在机器管理中,设有K台机器,有s个修理工人,顾客到达率就是机器出了故障,而每个机器故障单位时间发生故障的次数就是顾客的到达率?,顾客服务率为?就是单位时间每个修理工能修复故障的次数.
对于有限源系统,排队基本公式:
(1)平均队长Ls(即平均发生故障的机器台数)
在Lingo软件中,有限源排队系统的队长有公式@pfs()计算:
23
Ls=@pfs(load,s,k), LS?k?nPn?0n,Lq??(n?s)P
nn?sk式中load为系统的负荷,load=k?/?;即
系统负荷=系统顾客数×顾客到达率×顾客服务时间 (2)单位时间平均进入系统的顾客数?e:
?e??(k-Ls)
在机器维修中,它表示单位时间k台机器平均出现故障的次数.
?e称为有效到达率.
(3) 顾客处于正常情况的概率P(即机器正常工作的概率,也即平均每台机器不发生故障的概率) P=(K-Ls)/K
(4)顾客的平均逗留时间Ws和平均等待时间(Little公式):
k Lq??n?s(n?s)Pn?Ls??e? ,Ws?Ls?e,Wq?Lq?e?Ws?1?
(5)每个服务台的工作强度(即平均每台服务台单位时间维修的机器台数) Pwork=
?eS?
例题3_6([1]第330页,例题8)
设有两个修理工,负责5台机器的正常运行,每台机器平均损坏率为每运转1小时一次,两个工人能以相同的修复率4(次/小时)修好机器,求各系统指标参数. 解:可看成为M/M/S/K系统.
此例中k=5,s=2,?=1(次/小时);?=4(台/小时),Lingo程序为
k=5;s=2;lamda=1;mu=4; load=k*lamda/mu; L_s=@pfs(load,s,k); p=(k-L_s)/k;
lamda_e=lamda*(k-L_s); w_s=L_s/lamda_e; L_q=L_s-lamda_e/mu; w_q=L_q/lamda_e; pwork=lamda_e/s/mu;
计算得到:
Variable Value K 5.000000 S 2.000000 LAMDA 1.000000 MU 4.000000 LOAD 1.250000 L_S 1.094110
24