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

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

.pdf
Скачиваний:
235
Добавлен:
28.03.2015
Размер:
13 Мб
Скачать
☆

Завод. Фаза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