Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чтоесть / otch_Gulin.doc
Скачиваний:
8
Добавлен:
24.03.2015
Размер:
60.93 Кб
Скачать

Домашние задания

1. Модель смо. Проведение эксперимента.

;Модель смо с одни прибором и очередью

ave_ EQU 25

GENERATE 30,20

QUEUE petr

SEIZE ivan

DEPART petr

ADVANCE ave_,10

RELEASE ivan

TERMINATE

GENERATE 30000

savevalue 1,qm$petr

TERMINATE 1

;определить зависимость максимальной длины очереди от среднего времени обслуживания

procedure irina(alpha,bet)

begin

while(alpha<=bet)

do begin

ave_=alpha;

docommand("START 1,np");

txt="Среднее значение времени обслуживание = ";

str=polycatenate(txt,ave_," максимальная длина очереди равна ",x1);

docommand("show str");

docommand("reset");

docommand("clear");

alpha=alpha+1;

end;

end;

experiment sem()

begin

irina(20,30);

2. Система с нетерпеливым клиентом.

GENERATE 10,6 ; Звонок абонента

TRANSFER both,service,byebye ; Если прибор свободен то обслуживается, если занят то уходит

service SEIZE ATS ; Попытка занять АТС

ADVANCE 240,150 ; Процесс обслуживания

RELEASE ATS ; Освободить АТС

byebye TERMINATE 1 ; Заявка покидает систему

procedure irina()

begin

docommand("START 1000");

end;

experiment sem()

begin

irina();

end;

3. Журнальный киоск.

* Модель журнального киоска

; Покупатели приходят по 20 человек в час, пуассоновский поток.

; Каждый покупатель желает приобрести от 1 до 4 журналов.

; 1 журнал покупают 50% покупателей

; 2 журнала покупают 30% покупателей

; 3 журнала покупают 15% покупателей

; 4 журнала покупают 5% покупателей

; На 1 журнал продавец затрачивает в среднем 2 минуты (экспоненциальное распределение).

;

; Найти оптимальное кол-во продавцов, которые справятся с нагрузкой

kiosker STORAGE 1 ; Многоканальное устройство - продавцы

kiosk FUNCTION RN1,D5

0,1/.5,1/.8,2/.95,3/1,4

GENERATE (Poisson(1,3)) ; 20 человек в час, т.е 60/20 = 3 - интервал(каждые 3 мин.)

ASSIGN 1,fn$kiosk ; запишем параметы в параметр p1

ASSIGN 2,p1 ; запишем то же самое число в новый параметр

QUEUE och ; вход в регистратор очерди

ENTER kiosker ; занять продавца

DEPART och ; выход из регистратора очереди

cikl ADVANCE (exponential(1,0,2)) ; задержка в очерди

ASSIGN 1-,1 ; вычитаем из первого параметра 1

TEST E p1,0,cikl ; Замыкаем цикл

LEAVE kiosker ; освободить продавца

TERMINATE ; Выход

generate 1000 ; Оператор

terminate 1

procedure det_dep()

begin

qm1_ = 10;

qm2_ = 5;

Nch = 1;

while((Abs(qm1_ - qm2_)>2)&(Nch<100)) do begin

str = polyCatenate("kiosker Storage ",Nch);

DoCommand(str);

DoCommand("Start 1,NP");

qm1_ = QM$och;

str = polyCatenate("Максимальная длина очереди = ",qm1_);

DoCommand("show str");

DoCommand("clear");

DoCommand("Reset");

DoCommand("Start 2,NP");

qm2_ = QM$och;

str = polyCatenate("Максимальная длина очереди = ",qm2_);

DoCommand("show str");

DoCommand("clear");

DoCommand("Reset");

Nch = Nch + 1;

end;

Nch = Nch - 1;

str = polyCatenate("Оптимальное количество продавцов = ",Nch);

DoCommand("show str");

end;

experiment sem()

begin

det_dep();

end;

Соседние файлы в папке Чтоесть