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

4. Мебельная фабрика.

; мебельная фабрика обрабатывает 4 вида древисины, время обработки хвойных 30-45, мягких 45-50

;твердых 50-65; экз 65-90. Компоненты поступают с пуассновоским законов -12 минут

obr FUNCTION RN1,c5

0,30/0.25,45/0.5,50/0.75,65/1,90

zavod STORAGE 1

GENERATE (POISSON(1,12))

QUEUE zav1

ENTER zavod

DEPART zav1

ADVANCE FN$obr

LEAVE zavod

TERMINATE 1

procedure det_dep()

begin

qm1_ = 10;

qm2_ = 5;

Nch = 1;

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

str = polyCatenate("zavod STORAGE ",Nch);

DoCommand(str);

DoCommand("Start 1,NP");

qm1_ = QM$zav1;

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

DoCommand("show str");

DoCommand("clear");

DoCommand("Reset");

qm1_ = QM$zav1;

DoCommand("Start 2,NP");

qm2_ = QM$zav1;

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();

5. Жизненный цикл пк. Эксперимент.

places STORAGE 100

services STORAGE 10

TRANSFER , circle

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

circle QUEUE places1 ; Вход в очередь

ENTER places ; Попытка занять рабочего места

DEPART places1 ; Выход из очереди

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

LEAVE places ; Освободить рабочее место

QUEUE services1 ; Вход в очередь

ENTER services ; Попытка занять ремонт

DEPART services1 ; Выход из очереди

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

LEAVE services ; Освободить ремонтное место

TERMINATE 1

***

GENERATE 10000 ; Время моделирования

TERMINATE 1

procedure det_dep()

begin

qm1_ = 10;

qm1_a = 10;

qm2_ = 5;

qm2_a = 5;

Nch = 100;

Nch_a = 10;

while((Abs(qm1_ - qm2_)>2)&(Nch<200)&(Abs(qm1_a - qm2_a)>2)&(Nch_a<200)) do begin

str = polyCatenate("places STORAGE ",Nch);

DoCommand(str);

str = polyCatenate("services STORAGE ",Nch_a);

DoCommand(str);

DoCommand("Start 1,NP");

qm1_ = QM$places1;

qm1_a=QM$services1 ;

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

DoCommand("show str");

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

DoCommand("show str");

DoCommand("clear");

DoCommand("Reset");

qm1_ = QM$rabotaQ;

qm1_a=QM$remontQ ;

DoCommand("Start 2,NP");

qm2_ = QM$places1;

qm2_a = QM$services1;

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

DoCommand("show str");

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

DoCommand("show str");

DoCommand("clear");

DoCommand("Reset");

if(Abs(qm1_ - qm2_)>2)

then Nch = Nch + 1;

if(Abs(qm1_a - qm2_a)>2)

then Nch_a = Nch_a + 1;

end;

Nch = Nch - 1;

Nch_a = Nch_a - 1;

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

DoCommand("show str");

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

DoCommand("show str");

end;

experiment sem()

begin

det_dep();

end;

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