- •Лабораторная работа №1 Изучение блоков динамической категории gpss/pc: generate, terminate, seize, release, advance
- •20 Transfer .7,chan1,chan2
- •20 Transfer both,chan1,chan2
- •20 Transfer all, chan1,chan4,4
- •Transfer pick,3,6
- •Assign 13,мет1
- •Loop 13, cycl5
- •Лабораторная работа №4 Системы с накопителями: блоки enter, leave, оператор storage. Управление потоком сообщений: блоки gate, test. Операторы variable, fvariable, initial.
- •Leave nak
- •Enter nak
- •20 Gate nu 1,facil2
- •Пример использования арифметических переменных
- •210 Funavail 1,re,facil2, ,re,facil3,re,facil4
- •230 Favail 1
- •510 Sunavail nak
- •530 Savail nak
- •20 Gate snv nak,facil2
- •110 Msavevalue mat2,1,1,c1
- •120 Msavevalue mat2,1,2,100
- •150 Msavevalue mat2-,2,2,2
- •Tabulate ttab1
- •135 Tabulate ttab2
- •70 Tabulate tab1
- •20 Gate snf nak1,exit
- •50 Link waz1,fifo,chan1
- •100 Unlink g waz1,chan1,1,13,16,que2
- •205 Link waz1,fifo
- •Лабораторная работа №9 Создание и управление групп транзактов gpss/pc: блоки join, remove, examine
- •120 Remove gr1,,p23,,,chan2
- •140 Remove gr1,,21
- •Examine gr17,,chan2
- •Examine gr1,6778,chan2
- •Листинг программы
- •Intlines storage 30
- •190 Transfer ,Breakoff
- •390 Terminate
- •570 Nonefree terminate
- •850 Terminate
- •Xact_group group_size retry
- •Лабораторная работа №11
- •Моделирование многофазных систем массового обслуживания
- •I теоретическая часть
- •1.1 Двухфазная система обслуживания
- •1.2 Трехфазная система обслуживания
- •II практическая часть
- •2.1 Моделирование в системе matlab
- •2.2 Моделирование в системе gpss/pc
- •Xact_group group_size retry
- •I теоретическая часть
- •II практическая часть
- •2.1 Моделирование в системе matlab
- •2.2 Моделирование в системе gpss/pc
- •Xact_group group_size retry
II практическая часть
Рассмотрим моделирование двухфазной системы массового обслуживания в программных средах MATLAB и GPSS/PC. Сначала смоделируем двухфазную систему в системе MATLAB. Примем, что параметр входного простейшего потока равен 0.33, а интенсивность обслуживания каждой фазы равна 0.678, т.е. =0.33, =0.678. В основе моделирования стоит задача интегрирования системы дифференциальных уравнений вида (1.2) на отрезке времени, когда вероятности состояний примут свои установившиеся значения. По установившимся значениям вероятностей будут рассчитаны операционные характеристики системы. Входными данными программы, таким образом, будут являться интенсивности входного потока и обслуживания, а также матрица коэффициентов системы дифференциальных уравнений.
2.1 Моделирование в системе matlab
Программа моделирования состоит из М-файла в виде М-сценария, приводимого ниже, и М-функции описания дифференциальных уравнений.
clear,clc,close all
% ВХОДНЫЕ ДАННЫЕ
L=0.33;M=0.678;
global A
A=[-L M 0 0 0;
0 -(L+M) M 0 M;
L 0 -M M 0;
0 L 0 -2*M 0;
0 0 0 M -M];
% ИНТЕРВАЛ ИНТЕГРИРОВАНИЯ
T=[0 40];
% НАЧАЛЬНЫЕ УСЛОВИЯ
P0=[1;zeros(length(A)-1,1)];
% ВЫЗОВ РЕШАТЕЛЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
[t,P]=ode45(@faza,T,P0);
% ПОСТРОЕНИЕ ДИАГРАММ
figure(1),plot(t,P(:,1),'linew',2),grid,hold on,
plot(t,P(:,2),'o','linew',1),
plot(t,P(:,3),'--','linew',2),
plot(t,P(:,4),'-.','linew',2),
plot(t,P(:,5),':','linew',2),
set(gcf,'color','w'),
title('\bf\fontsize{12}Serving System of two phases'),
text(max(t)/2,0.83*max(max(P)),'\bf\fontsize{12}\lambda=0.33\newline\mu=0.678'),
text(T(2)-T(2)/10,P(end,1)+0.07*P(end,1),'\bf P_0(t)'),
text(T(2)-T(2)/9,P(end,1)+0.045*P(end,1),'\bf\downarrow'),
legend('\bf P_0(t)','\bf P_1(t)','\bf P_2(t)','\bf P_3(t)','\bf P_4(t)'),
xlabel('\bf Time'),ylabel('\bf Probability')
hold off
% ОПЕРАЦИОННЫЕ ХАРАКТЕРИСТИКИ СИСТЕМЫ
%--------------- Ncp - СРЕДНЕЕ ЧИСЛО ТРЕБОВАНИЙ-----------
k=[0 1 2];
Pk=[P(end,1);P(end,2)+P(end,3);P(end,4)+P(end,5)];
Ncp=k*Pk;
fprintf('\n\t CHARACTERISTICS of Serving System:\n')
fprintf('\t Ncp = %1.4f\n',Ncp)
%------ Pf1 - ВЕРОЯТНОСТЬ НАЧАЛА ОБСЛУЖИВАНИЯ -----
Pf1=P(end,1)+P(end,2);
fprintf('\t Pf1 = %1.4f\n',Pf1)
%-------------- Pomk - ВЕРОЯТНОСТЬ ОТКАЗА -----------------------
Pomk=1-Pf1;
fprintf('\t Pomk = %1.4f\n',Pomk)
% Q - ОТНОСИТЕЛЬНАЯ ПРОПУСКНАЯ СПОСОБНОСТЬ
Q=1-Pomk;
fprintf('\t Q = %1.4f\n',Q)
% Lef - ЭФФЕКТИВНАЯ ЧАСТОТА ПОСТУПЛЕНИЯ
% ТРЕБОВАНИЙ В СИСТЕМУ
Lef=L*Pf1;
fprintf('\t Lef = %1.4f\n',Lef)
% Ab - АБСОЛЮТНАЯ ПРОПУСКНАЯ СПОСОБНОСТЬ
Ab=Lef*Q;
fprintf('\t Ab = %1.4f\n',Ab)
% Ts - ПОЛНОЕ ВРЕМЯ ПРЕБЫВАНИЯ ТРЕБОВАНИЙ
% В СИСТЕМЕ
fprintf('\n\t TIMES:\n')
Ts=Ncp/Lef;
fprintf('\t Full time Ts = %1.4f\n',Ts)
% Tcp1 - СРЕДНЕЕ ВРЕМЯ ОБСЛУЖИВАНИЯ ОДНОГО
% ТРЕБОВАНИЯ
Tcp1=2*(1/M);
fprintf('\t Tcp = %1.4f\n',Tcp1)
% Td - СРЕДНЕЕ ВРЕМЯ ЗАДЕРЖКИ
Td=Ts-Tcp1;
fprintf('\t Td = %1.4f\n',Td)
М-функция описания правых частей дифференциальных уравнений:
function f=faza(t,P)
global A
f=A*P;
Результаты моделирования:
CHARACTERISTICS of Serving System:
Ncp = 0.6723
Pf1 = 0.6384
Pomk = 0.3616
Q = 0.6384
Lef = 0.2107
Ab = 0.1345
TIMES:
Full time Ts = 3.1913
Tcp = 2.9499
Td = 0.2415
Переходные процессы для вероятностей состояний приведены на рисунке 1.3.
Р
исунок
1.3 — Переходные процессы в двухфазной
системе
