Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Материалы тренинга по AnyLogic

.pdf
Скачиваний:
218
Добавлен:
28.03.2015
Размер:
12.93 Mб
Скачать

Завод. Фаза5. Шаг3

 

Соедините объекты

ResourcePool

ResourcePool

 

мя: wor ers

 

Имя: robots

 

Количестворесурсов: 2

 

 

 

 

Фигура анимациисвободного

 

 

 

 

 

Фигура анимациизанятого

 

 

ресурса: shapeWorkerBusy

 

 

 

 

 

Включитьсбор статистики:

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

141

ResourcePool

• О ъект ResourcePoo задает на ор есурсов одного типа. Ресурсы являются объектами, требуемыми заявкамидля выполнениятой илиинойоперации. Ресурсызахватываютсяи освобождаются заявкамис помощью объектов

Seize, Release, Service и Assembler.

• В каждыйотдельныймомент времени ресурс может бытьлибозанят либо

свободен.

Первый объект будет моделировать робота, производящего сборку стиральной машины.

Назовитеего robots иоставьтесвойствабезизменений.

Второй объект ResourcePool будет моделировать упаковщиков.

Назовите этот объект workers.

Задайтеколичестворабочихвполе Количество ресурсов: 2.

Выберите картинки shapeWorkerIdle и shapeWorkerBusy в качестве фигур, обозначающих свободного и занятого рабочего соответственно.

Выберите прямоугольник shapeWorkers в качестве базового местоположения рабочих.

Установите флажок Включить сбор статистики, чтобы разрешить объекту собирать статистику занятости задаваемых им ресурсов.

Соедините объекты ResourcePool с теми объектами, которые будут работать с

соответствующими ресурсами: assembly and packaging.

  Задайте количество ресурсов, необходимое объектам assembly и packaging длявыполнения операци .

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

142

Завод. Фаза5. Шаг4

палитруСтатистика

Измените свойства элемента данных Перетащите Столбиковую

диаграмму сюда

Измените направление роста столбцов

Щелкните по кнопке

Добавитьэлементданных

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

143

 

 

Добавьте диаграмму для отображениястатистики занятости

упаковщиков.

Палитра Статистика содержитэлементы, используемыедля

сбораи анализа результатовмоделирования(набор данных,

статистика и т.д.) и диаграммы(столбиковая диаграмма, иаграмма с накоплением, временно гра ик,

гистограмма ит.д.) для визуализацииэтих данных.

ада те or ers u za on в качестве аголовка элемента данных. ЗадайтеЗначение, которое будет отображаться этой столбиковой диаграммой: workers.statsUtilization.mean(). Здесьworkers – имя нашего объекта ResourcePool, statsUtilization() – функция,

,

возвращаетсреднее значение собранной статистики.

Направление ростастолбцов.

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

144

Завод. Фаза5. Шаг5

Параметра два

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

145

 

 

.

ПараметрMTTF задает среднее время, после которого роботпридет в неисправное состояние. Мы полагаем этовремя равным 45 дням (с помощьюфункции

ny og c ay мы получаем значение, равное одному дню).

ПараметрMTTR задает среднее время, необходимоена то, чтобыотремонтироватьроботаи привести его в рабочее состояние. Мы задаем среднее время на восстановление равным однойнеделе ( 7*day() ).

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

146

Завод. Фаза5. Шаг6

Начало

Состояние

диаграммы

 

состояний

 

 

 

остояние

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

147

Задайтеповедение робота с помощью диаграммы состояний.

Диаграмма состояний

Диаграмма состояний является лучшим способом заданияповедения о ъекта. напозволяет гра ическизадатьпространство состояни алгоритма поведения объекта, а такжесобытия, которые являются причинами срабатыванияпереходов из однихсостояний в другие, и действия, происходящие при смене состояний.

• В каждыймомент времени объект может находиться только в каком то одном состоянии диаграммы(но в то же время в объекте может быть несколько параллельноработающихдиаграмм).

  Начните рисование диаграммысостояний с добавления

двух состояни . азовите состояния как на сла де выше:

Working and OutOfOrder.

 

Добавьте Началодиаграммысостояний, указывающеена

верхнее состояние. Имя этого элемента будет играть роль и

имени всей, диаграммысостояний.

 

состоянием(выделите его – в случае правильного

соединения конечная точка должны будет подсветиться

л ным цв т м, к к п к н н л

д .

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

148

Завод. Фаза5. Шаг7

Нарисуйте переход,

ведущийиз Working в

OutOfOrder Нарисуйте еще один

в обратном

авлении

 

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

149

• Переходы определяют, какобъект меняет свое состояние во времени.

• Переход может срабатыватьпо выполнениюзаданногоусловия, по получении сообщения, с заданнойинтенсивностьюилипо истечению таймаута.

Нарисуйте переход, ведущий из состояния Working в состояние OutOfOrder. Чтобы нарисовать такой переход, нужно сделать двойнойщелчок поэлементу Переход в палитре Диаграмма

состояний, затемщелкнутьпосостоянию Working инаконец по

состоянию OutOfOrder.

Этот переходбудетмоделировать поломкуробота. Пусть он

таймаута со средним значением, равным MTTF (45 дней).

Нарисуйте переход, ведущий из состояния OutOfOrder в состояние Working. Этот переходбудетмоделировать окончание работа по восстановлению сломанного оборудования. Пусть этот переход

срабатываетсинтенсивностью 1/MTTR.

Установите для каждогопереходафлажок Отображать имя и измените положения меток в графическом редакторе.

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

150

 

 

Завод. Фаза5. Шаг8

Статистика

ресурсов

Запустите модель

Анимациярабочих

Диаграмма состояний робота

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

151

моделизавода.

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

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

152

Завод. Фаза5. Вопросы

1.Возможно ли использование нескольких

ресурсов разных типов одним сервисом?

.Набор данных ,

Статистика

Диаграмма

Вычисляет среднее

Рисует кривую

Запоминает значения

3.Как можно менять количество доступных

ресурсовопределенноготипа?

4.Какое состояние является начальным в диаграмме состояни устро ства

5.[Усложним предыдущую задачу] А если в Вашей модели 2, 3, ..., 100 устройств?

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

153

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

154

Упражнение. Центр обработки звонков

Дополнительное задание по дискретно-событийному моделированию

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

Центробработкизвонков(1/3)

Поступаютдва типа звонков:

1 типас интенсивностью ArrivalRate1 = 1.5 (в секунду)

2 типас интенсивностью ArrivalRate2 = 1

сли клиенты ждутслишком долго, они прекращают ожидание

Максимальное время ожиданияраспределено экспоненциально

Для 1 типасреднее AbandonmentTimeMean1 = 100 (сек)

Для 2 типасреднее AbandonmentTimeMean2 = 100

На звонки отвечает две группыоператоров

Их число NOperators1 = 100 и NOperators2 = 100

Время обслуживания распределено потреугольному закону triangular(ServiceTimeXX/2, ServiceTimeXX, 2*ServiceTimeXX), где среднее ServiceTimeXX задается так:

Для операторов1 приответе на звонки 1 типа ServiceTime11 = 100

Для операторов2 приответе на звонки 1 типа ServiceTime12 = 200

Для операторов2 приответе на звонки 2 типа ServiceTime22 = 100

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

156

Центробработкизвонков(2/3)

• У каждой группы операторов есть очередь

ожидающих звонков

• Максимальная длинаочереди к группе 1 QCapacity1 = 50

• Максимальная длинаочереди к группе 2 QCapacity2 = 50

• рипоступлении нового звонка, он обрабатывается следующим образом:

• Если поступает звонок 1 типа, и очередь к группе 1 не полна, то звонок ставится,вэту очередь, иначе, если не

обе очереди полны, звонок теряется

• Еслиприбываетзвонок 2 типа, иочередькгруппе 2 не

полна, то звонок помещается туда, иначе он теряется

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

157

Центробработкизвонков(3/3)

Создайтеимитационную модель центра обработки звонков

Измерьте процентную долю следующих группзвонков (отдельнодля каждоготипа звонка):

Упущенные

рекратившие ожидание

Обслуженные

обслуженныхзвонков(отдельнодля каждоготипа

звонка)

Добавьтевозможностьизменения интенсивностей

походумоделированияи пронаблюдайте, как Ваши изменения будутвлиять на качествообслуживания

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

158

Центробработкизвонков. Фаза1. Шаг1

Center. Не используйте при ее создании никакиешаблоны

Создайте вклассе Main следующиепараметры с указаннымизначениямипо умолчанию:

1.5 / second()

100 * second()

100 * second()

100

100

50

50

100 * second()

200 * second()

100 * second()

 

 

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

159

Создание моделей, не зависящих от выбранных единиц модельного времени

• ЕслиВы зададите10, скажем, в качестве среднего времени обслуживания– какоевремя это будет означать: 10 секунд, 10 минут или10 дней?

• 10 вданномслучаеозначает10 единицмодельного времени, которые задаютсяна странице свойств эксперимента Модельное время. ЕслиВы

изменитеэтозначение, тоизменятсяизадаваемыечисленнымизначениями

времена, аэто может быть нежелательно.

• Чтобысделать модель независимойот заданныхединицмодельного

, , ,

second(), minute(), hour() и т.д. Эти функциивозвращаютколичество единиц модельного времени в секунде, минуте, часе соответственно.

© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru

160