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

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

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

Ритейлер. Фаза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