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

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

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

Ритейлер. Фаза1. Шаг12

Выделите эксперимент mu at on

Выберите Retailer

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

221

 

 

эксперимента Simulation.

Главный (корневой) активный объект

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

•Выбирая корневой объект модели, Вы говорите AnyLogic, с какого объекта начатьпостроение модели. Изменяя корневой объект эксперимента, Вы можете очень легко изменить структуру запускаемой модели.

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

222

 

 

Ритейлер. Фаза1. Шаг13

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

 

 

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

223

.

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

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

224

Ритейлер. Фаза1. Вопросы

1.Как AnyLogic отделяет обычные фигуры

презентации от фигур сети? Как сеть узнает о

том, какаяименногруппафигурзадает

топологию этой сети?

. пишите ситуацию, в которо может ыть крайне полезна блокировка фигур.

3.Как Вы можетезадать скорость движения

сетевогоресурса?

4.Какие объекты Вы использовали для того, что ы до авить извлечь заявку из зоны хранения?

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

225

Ритейлер. Фаза2

•

Давайте немного усовершенствуем нашу модель.

•

Предположим, чтонаш товардоставляетсяна склад

 

г у вик ми, к жды и к т ыхп в ит п ти и

 

10 стиральныхмашин.

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

1, 2, 3 минуты.

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

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

226

Ритейлер. Фаза2. Шаг1

Уменьшите картинку

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

227

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

228

Ритейлер. Фаза2. Шаг2

Batch

NetworkEnter

Постоянная партия:

Сеть: network

игура анимациипартии: orry

Узел входа: s apeUn oa Entry

Разрешить вращение:

Скорость: 2*meter/second()

 

 

 

 

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

229

Добавьте в диаграммупроцесса новые объекты:

 

Этот объект Batch будет моделировать созданиепартии

товара, отправляемой на склад ритейлера.

 

•

Сбросьте флажок Постоянная партия, чтобы разрешить

 

последующую разборку партии на отдельные заявки

 

(моделирующие коробки со стиральнымимашинами

 

внутри).

 

• Задайтенашу картинку lorry в качестве фигуры, которой

 

будутотображатьсязаявки партии(внашемслучаеони

 

будут моделироватьгрузовики).

 

• Разрешите вращение фигур анимациидвижущихся

 

грузовиковсогласно направлениюих движения.

Этот объект NetworkEnter добавляет грузовики в нашу сеть.

•

Укажите узел,сети, в который попадут грузовики: .

 

shapeUnloadEntry.

 

•

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

двум

 

метрам в секунду: 2*meter/second().

 

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

230

Ритейлер. Фаза2. Шаг3

NetworkMoveTo

 

 

 

зел: s ape ruc n oa

ng

 

 

Действиепри выходе:

 

NetworkExit

Unbatch

entity.setOffsets( 0, 0, PI/2)

 

 

 

 

 

 

 

 

 

 

Delay

 

ремя задержки:

 

triangular (1, 2, 3)*minute()

 

Максимальнаявместимость:

 

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

231

Объект NetworkMoveTo перемещает заявку в указанное место

сети. С помощьюэтогообъекта мы перемещаем грузовикиот въезда на склад к зоне разгрузки.

• Укажитеместо назначения заявки в поле Узел: shapeTruckUnloading.

• Введите entity.setOffsets(0, 0, PI/2) в поле Действие при выходе.

Такимспособоммы поворачиваем фигуркугрузовика, чтобы она не перемещалась «задом наперед».

Объект Delay моделирует задержку,.требуемуюна разгрузку

• Задайте Время задержки: triangular(1, 2, 3)*minute()

• Сделайте вместимость объекта максимально возможнойдля

,

грузовиков.

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

Объект Unbatch выполняет разборкузаявки партии на отдельные

заявки, представляющиесобойкоробкисостиральными

машинами.

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

232

Ритейлер. Фаза2. Шаг4

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

 

 

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

233

Ритейлер. Фаза2. Вопросы

1.Допустимо ли завершать поток заявок с

помощью объекта NetworkExit?

2.КакВыможетенарисоватьсоединительтакой

формы: ?

3.Заявка проходит по соединителю за:

(a)нулевое время

(b)1 единицумодельноговремени

(c)время зависит отформы соединителя

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

234

 

 

Ритейлер. Фаза3

•Теперь мы хотим реализовать политику

пополнения товарных запасов ритейлера.

Давайтеостановимсянаширокоприменяемой

политике (s, S), заключающейся в следующем:

•Заданы две границы уровнятоварныхзапасов:

нижняя (s) и верхняя (S).

•Втомслучае, если ритейлер испытывает дефицит товара, тоесть количествотовара, хранящегося на складе ритейлера, а такженаправляющегося к нему на грузовиках, падает донижнего уровняs или ниже, отсылаетсязаказ на столькоединиц товара, сколько верхнего уровняS.

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

235

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

236

Ритейлер. Фаза3. Шаг1

Добавьте

простую переменную и двапараметра

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

237

 

 

Переменная inventory будет хранить текущее значение уровня товарных запасов

ритейлера.

•

дела те эту переменную целочисленно типа n , поскольку она удет

 

считать единицы товара.

Параметр S будет задавать верхнюю границу уровня товарных запасов.

•

,

 

умолчанию равнымчислу ячеек хранения на складе (60) и введите

 

applyInventoryPolicy(); в его Действии при изменении. Этот кодбудет

 

пересчитывать текущее значение уровня запасов ритейлера путем вызова

 

функции, которую мы зададим позднее.

Параметр s будет задавать нижнюю границу уровня товарных запасов.

•

Создайте этот параметр путем клонирования ранее созданного параметра

 

S. Переименуйте его в s и задайте его Значение по умолчанию равным 20.

КакВы можете увидеть, здесь для заданиянапервый взглядодинаковыхсущностей

используютсяразличныеэлементы переменная и параметр. Вчемпричинатакого

решения?

Параметры или переменные: что использовать?

•Параметры обычно используются длязаданиястатическиххарактеристикобъекта. Значениепараметра обычноостается неизменнымво время "прогона" модели и изменяется пользователем только в определенные моменты времени (обычно между"прогонами" модели) при желанииизменить характеристикимодели.

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

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

238

 

 

Ритейлер. Фаза3. Шаг2

Диаграмма действий с

одноименной палитры

Назовите диаграмму действийapplyInventoryPolicy

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

239

 

 

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

Диаграммы действий

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

•Диаграммыдействийоблегчаютзаданиеалгоритмов, делая необязательным знаниесинтаксисаJava операторов.

ихболее понятными для другихпользователей модели.

,

 

ачните рисование диаграммы де стви

с до авленияэлемента

Диаграммадействий. Тем самым Вы создадитепростейшую

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

со ственно локом иаграмма е стви

и лока ернуть

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

другиеблокидиаграммы действий согласно логикезадаваемого

.

 

240

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