Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература / Compyuternoe_modelirovanie_v_AnyLogic_7_Boev_VD.pdf
Скачиваний:
228
Добавлен:
12.02.2018
Размер:
8.72 Mб
Скачать

entity.типЗ=2;

постЗаявТип2++; постЗаявТип++;

Кроме записи кода 2 в поле entity.типЗ=2, учитывается количество поступивших заявок 2 типа и количество всех типов поступивших заявок. Последнее в дальнейщем используется для определения вероятности выполнения заявок.

С выходов 0…3 объекта типЗаявки заявки поступают в очДисп (объект queue) с максимальной вместимостью, а затем в объект дисп (delay), имитирующий время работы одного из диспетчеров с одной заявкой.

Объект отказ (selectOutput) предназначен для розыгрыша отказа в принятии заявки с вероятностью q = 2 %. Заявки, получившие отказ, уничтожаются объектом sink.

Принятые к выполнению заявки распределяются по типам объектом поТипамЗаяв. С выходов 0…3 этого объекта заявки поступают на объекты видРемЗаяв1…видРемЗаяв4 соответственно. Аналогичным образом как объектом типЗаявки этими объектами разыгрываются для заявок 1…4 типов коды видов 1…3 ремонтов.

Функции остальных объектов сегмента Диспетчеры рассмот-

рим в п. 8.1.7.3.

8.2.3.3. Сегмент Мастера

Сегмент Мастера предназначен для имитации ожидания освобождения мастеров, непосредственно времени выполнения соответствующего вида ремонта и отправки выполненной заявки в сегмент учёта.

Сегмент построен на четырёх объектах queue и четырёх объек-

тах delay.

1.Из палитры Презентация перетащите элемент Прямоугольник. Оставьте имя, предложенное системой.

2.На странице Местоположение и размер панели Свойства

введите в поля X: 740, Y: 30, Ширина: 200, Высота: 410.

3.Перетащите элемент text на прямоугольник и на странице Текст панели Свойства в поле вместо text введите Мастера.

4.Перетащите указанные объекты из Библиотеки моделирования процессов на агент Main. Разместите, дайте имена и со-

едините их так, как показано на рис. 8.4.

318

5.У объектов очМастеров1…очМастеров4 укажите мак-

симальную вместимость и тип заявки Заявка.

6.У объектов мастера1…мастера4 установите свойства:

Тип заявки: Заявка

Тип Определённое время

Время задержки entity.времяР Включить сбор статистики Установите флажок

7.Свойство Вместимость у этих же объект ов укажите кол-

Мастеров1…колМастеров4 соответственно.

8.Действия При выходе установите соответственно:

коэфИспМаст1=мастера1.statsUtilization.mean(); коэфИспМаст2=мастера2.statsUtilization.mean(); коэфИспМаст3=мастера3.statsUtilization.mean(); коэфИспМаст4=мастера4.statsUtilization.mean();

Свыходов 1…3 объекта видРемЗаяв1 заявки сразу поступа-

ют в объект очМастеров1 (queue).

Свыходов объектов видРемЗаяв2…видРемЗаяв4 заявки по-

ступают на объекты свобМастер1_2, свобМастер1_3, своб-

Мастер1_4 соответственно. В принятых именах первая цифра означает группу мастеров, а вторая — тип заявки. Этими объекта-

ми проверяются условия. Например, объектом свобМастер1_3 проверяется условие:

(очМастеров1.size()==0)&& (мастера1.size()<колМастеров1)&&(мастера3.size()!=0)

Пуста ли очередь мастеров 1 группы? И есть ли свободные мастера 1 группы? И заняты ли мастера 3 группы? Если сложное условие, состоящее из трёх простых условий, выполняется, заявка с выхода true объекта свобМастер1_3 на объект мастера1.

Аналогичные проверки осуществляются в объектах свобМа-

стер1_3, свобМастер1_4.

Если условие не выполняется, то заявка с выходов false поступает в очередь очМастеров2…очМастеров4 соответственно.

Объекты свобМастер2_3, свобМастер2_4 проверяют воз-

можности в текущий момент времени выполнения заявок 3 и 4 типов мастерами 2 группы.

Объект свобМастер3_4 проверяет возможность выполнения заявок 4 типа мастерами 3 группы.

319

Рис. 8.4. Сегменты Диспетчеры и Мастера

320

8.2.3.4. Сегмент Учёт выполненных заявок

Сегмент предназначен для учёта количества выполненных заявок по типам и видам ремонтов, а также для определения вероятности выполнения заявок в целом.

Сегмент построен на пяти объектах selectOutput5 и одном объ-

екте sink.

1.Из палитры Презентация перетащите элемент Прямоугольник. Оставьте имя, предложенное системой.

2.На странице Местоположение и размер панели Свойства

введите в поля X: 970, Y: 30, Ширина: 250, Высота: 410.

3. Перетащите элемент text на прямоугольник и на странице Текст панели Свойства в поле вместо text введите Учёт выпол-

ненных заявок.

4. Перетащите указанные элементы на прямоугольник. Разместите, соедините и дайте имена согласно рис. 8.5.

Рис. 8.5. Сегменты Мастера и Учёт выполненых заявок

321

5.Свойства элементов установите согласно табл. 8.3.

Таблица 8.3

Свойства

Значение

Имя

поТипамЗаяв1

Использовать

Условия

Условие 1

entity.типЗ==1

Действия

выпЗаявТип1++;

При выходе 1

выпЗаявТип++;

 

верВыпЗаяв1=

 

выпЗаявТип1/постЗаявТип1;

Условие 2

entity.типЗ==2

Действия

выпЗаявТип2++;

При выходе 2

выпЗаявТип++;

 

верВыпЗаяв2=

 

выпЗаявТип2/постЗаявТип2;

Условие 3

entity.типЗ==3

Действия

выпЗаявТип3++;

При выходе 3

выпЗаявТип++;

 

верВыпЗаяв3=

 

выпЗаявТип3/постЗаявТип3;

Условие 4

entity.типЗ==4

Действия При выходе 4

выпЗаявТип4++;

 

выпЗаявТип++;

 

верВыпЗаяв4=

 

выпЗаявТип4/постЗаявТип4;

Имя

выпРемЗаяв1

Использовать

Условия

Условие 1

entity.видР==1

Действия При выходе 1

выпРемВида11++;

Условие 2

entity.видР==2

Действия При выходе 2

выпРемВида12++;

Условие 3

entity.видР==3

Действия При выходе 3

выпРемВида13++;

Имя

выпРемЗаяв2

Использовать

Условия

Условие 1

entity.видР==1

Действия При выходе 1

выпРемВида21++;

Условие 2

entity.видР==2

Действия При выходе 2

выпРемВида22++;

Условие 3

entity.видР==3

Действия При выходе 3

выпРемВида23++;

322