pmaxx=0; nakkx=0; nbkkx=0; for t1=1:10
for t2=1:10 第三问程序
üFS外加A到A优先,B到B优先的策略
% 如果A在A处等待的时间少于t1分钟,不如在A等治疗时间还更短 % 如果B在B处等待的时间少于t2分钟,不如在A等治疗时间还更短 % na为A类服务台的个数 % nb为B类服务台的个数
pmax=0; nakk=0; nbkk=0; for na=1:10
for nb=1:10
% 变量初始化 nnn=1;
F=zeros(16,500); f=zeros(16,400); A=zeros(1,na); B=zeros(1,nb);
td=0; %td为等待时间 A1=A; B1=B; s=size(x); lie=s(1); for j=1:lie
if x(j,1)==0 %区分A,B类病人,A为0,B为1 if x(j,2)>min(A) %A去A窗口服务 for i=1:na %求 if min(A)==A(i) %A c=i; %中 end %最 end %小
A(c)=x(j,2)+unifrnd(28,42,1,1); %A去A窗口服务,产生服务时间随机数,并替换原矩阵
A1(c)=A1(c)+A(c)-x(j,2); %A中第c个窗口的服务强度 F(c,j)=j;
elseif min(A)-x(j,2) td=td+min(A)-x(j,2); deng(1,nnn)=min(A)-x(j,2); nnn=nnn+1; for i=1:na %求 if min(A)==A(i) %A c=i; %中 end %最 end %小 A(c)=x(j,2)+unifrnd(28,42,1,1); %A去A窗口服务,产生服务时间随机数,并替换原矩阵 A1(c)=A1(c)+A(c)-x(j,2); %A中第c个窗口的服务强度 F(c,j)=j; elseif x(j,2)>min(B) %A去B窗口服务 for i=1:nb %求 if min(B)==B(i) %B c=i; %中 end %最 end %小 B(c)=x(j,2)+unifrnd(40,50,1,1); %A去B窗口服务,产生服务时间随机数,并替换原 31 矩阵 B1(c)=B1(c)+B(c)-x(j,2); %B中第c个窗口的服务强度 F(c+na,j)=j; % A有等待 elseif min(A) td=td+min(A)-x(j,2); deng(1,nnn)=min(A)-x(j,2); nnn=nnn+1; for i=1:na %求 if min(A)==A(i) %A c=i; %中 end %最 数,并替换原矩阵 并替换原矩阵 替换原矩阵 end %小 d=min(A); A(c)=x(j,2)+unifrnd(28,42,1,1); %A去A窗口服务,产生服务时间随机 A1(c)=A1(c)+A(c)-d; %A中第c个窗口的服务强度 F(c,j)=j; elseif min(A)>min(B) if min(A)-min(B) td=td+min(A)-x(j,2); deng(1,nnn)=min(A)-x(j,2); nnn=nnn+1; for i=1:na %求 if min(A)==A(i) %A c=i; %中 end %最 end %小 d=min(A); A(c)=x(j,2)+unifrnd(28,42,1,1); %A去A窗口服务,产生服务时间随机数, A1(c)=A1(c)+A(c)-d; %A中第c个窗口的服务强度 F(c,j)=j; else td=td+min(B)-x(j,2); deng(1,nnn)=min(B)-x(j,2); nnn=nnn+1; for i=1:nb %求 if min(B)==B(i) %B c=i; %中 end %最 end %小 d=min(B); B(c)=x(j,2)+unifrnd(40,50,1,1); %A去B窗口服务,产生服务时间随机数,并 B1(c)=B1(c)+B(c)-d; %B中第c个窗口的服务强度 F(c+na,j)=j; end end end if x(j,1)==1 %区分A,B类病人,A为0,B为1 if x(j,2)>min(B) %B去B窗口服务 for i=1:nb %求 if min(B)==B(i) %B c=i; %中 end %最 end %小 32 B(c)=x(j,2)+unifrnd(24,36,1,1); %B去B窗口服务,产生服务时间随机数,并替换原矩阵 B1(c)=B1(c)+B(c)-x(j,2); %B中第c个窗口的服务强度 F(c+na,j)=j; elseif min(B)-x(j,2) td=td+min(B)-x(j,2); deng(1,nnn)=min(B)-x(j,2); nnn=nnn+1; for i=1:nb %求 if min(B)==B(i) %B c=i; %中 end %最 矩阵 原矩阵 替换原矩阵 并替换原矩阵 end %小 d=min(B); B(c)=x(j,2)+unifrnd(24,36,1,1); %B去B窗口服务,产生服务时间随机数,并替换原 B1(c)=B1(c)+B(c)-d; %B中第c个窗口的服务强度 F(c+na,j)=j; elseif x(j,2)>min(A) %B去A窗口服务 for i=1:na %求 if min(A)==A(i) %A c=i; %中 end %最 end %小 A(c)=x(j,2)+unifrnd(35,45,1,1); %B去A窗口服务,产生服务时间随机数,并替换 A1(c)=A1(c)+A(c)-x(j,2); %A中第c个窗口的服务强度 F(c,j)=j; %B有等待 elseif min(A)>min(B) td=td+min(B)-x(j,2); deng(1,nnn)=min(B)-x(j,2); nnn=nnn+1; for i=1:nb %求 if min(B)==B(i) %B c=i; %中 end %最 end %小 d=min(B); B(c)=x(j,2)+unifrnd(24,36,1,1); %B去B窗口服务,产生服务时间随机数,并 B1(c)=B1(c)+B(c)-d; %B中第c个窗口的服务强度 F(c+na,j)=j; elseif min(B)-min(A) td=td+min(B)-x(j,2); deng(1,nnn)=min(B)-x(j,2); nnn=nnn+1; for i=1:nb %求 if min(B)==B(i) %B c=i; %中 end %最 end %小 d=min(B); B(c)=x(j,2)+unifrnd(24,36,1,1); %B去B窗口服务,产生服务时间随机数, B1(c)=B1(c)+B(c)-d; %B中第c个窗口的服务强度 F(c+na,j)=j; elseif min(B)-min(A)>t2 td=td+min(A)-x(j,2); deng(1,nnn)=min(A)-x(j,2); nnn=nnn+1; 33 for i=1:na %求 if min(A)==A(i) %A c=i; %中 end %最 end %小 d=min(A); A(c)=x(j,2)+unifrnd(35,45,1,1); %B去A窗口服务,产生服务时间随机数,并替换原矩阵 A1(c)=A1(c)+A(c)-d; %A中第c个窗口的服务强度 F(c,j)=j; end end for a=1:16 n=1; for b=1:500 if F(a,b)~=0 f(a,n)=F(a,b); n=n+1; end end end end if max(deng)<30 p=(sum(A1)+sum(B1))/(sum(A)+sum(B)); if p<1 if pmax end end if pmaxx 34 % f为平台对应服务病号