Материалы тренинга по AnyLogic
.pdfЦепочкапоставок. Фаза2. Шаг 3
Удалите объект sink
Поместите сюдаПорт |
Соедините порт |
|
trucksOut с |
||
иназовите его trucksOut |
||
выходнымпортом |
||
|
||
|
объекта loadOnTruck |
|
|
|
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
321 |
Изменитедиаграмму процесса, заданную в классе Factory.
Удалите объект sink, поскольку теперь заявки (моделирующие грузовикистоваром), достигающие концадиаграммы процесса, не
должныуничтожаться, адолжныпересылатьсявдиаграмму
процесса, заданнуюв активном объекте Retailer.
Чтобыразрешить заявкам покидатьобъект factory object, добавьте |
|
trucksOut. |
. |
|
•Порт является интерфейсным элементом, позволяющим отсылать сообщения (вслучаепроцессных моделей заявки) запределы объекта, а также получать ихизвне.
•Обменсообщениями возможен только междупортами, соединенными соединителями. Соединители играютроль путей движениясообщений в модели.
Соединитетолько чтосозданныйпорт с выходным портом последнегоблока диаграммы процесса(loadOnTruck). Это позволит направлять заявки грузовики издиаграммы процессав порт trucksOut (идалее, по внешнимсоединениямэтого порта).
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
322 |
|
|
Цепочкапоставок. Фаза2. Шаг 4
Удалите объекты source и loadOnTruck
Добавьтепорт
trucksIn исоединитеего
собъектом truckEnter
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
323 |
|
|
|
Retailer. |
, |
|
|
|
|
|
|
|
|
, |
|
которыемоделировали появление грузовиков. Мы |
||
|
большененуждаемсявэтихблоках, поскольку |
|
|
|
теперь грузовикибудутприбыватьсюда с завода. |
Добавьтепортдляприемапоступающихизвне
объектазаявок(грузовиков). Соедините его с
входнымпортомобъекта truckEnter, чтобызаявки
грузовикипопадалив диаграмму процесса.
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
324 |
Цепочкапоставок. Фаза2. Шаг 5
Выделите блокКод диаграммыдействий
Удалите строку source.inject(quantity);
изполя од
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
325 |
|
|
,
applyInventoryPolicy.
Удалите строкукодаsource.inject(quantity); из кода, выполняемогоблокомКод диаграммы действий.
Мыделаем этопотому, чтона этомэтапе товарыуже не будутпоявлятьсяна складе «ниоткуда», простопо отсылкезапроса– теперь они будутдоставлятьсяна склад с заводас помощью грузовиков(помере производстватоваровна заводе).
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
326 |
Цепочкапоставок. Фаза2. Шаг 6
Заявки прибываютсогласно:
Времени между прибытиями
Время междуприбытиями: uniform(20,30) * minute()
Заявки прибываютсогласно:
Времени между прибытиями
Время между прибытиями: uniform(20,30) * minute()
|
|
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
327 |
,
обаобъектаsource поставляли.детали стиральной
Измените режим создания заявоку объекта source o es. устьон создаетпозаявке в среднем каждые20 30 минут.
Сделайте тоже самое с объектомsourceDoors.
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
328 |
Цепочкапоставок. Фаза2. Шаг 7
Скопируйте элемент lorry из классаRetailer в классFactory
Укажите lorry вкачестве
Фигуры анимациипартии
объекта loadOnTruck
Установите флажок
Разрешитьвращение
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
329 |
|
|
,
заводагрузовики отображалисьна анимации тойже ритейлера,. ,
Скопиру текартинкугрузовика orr из класса
Retailer в класс Factory.
Задайте эту картинкув качестве фигуры анимации длязаявок партий(моделирующих грузовики), собираемыхобъектомloadOnTruck.
Разрешитевращениекартинкигрузовикасогласно
направлению его движения.
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
330 |
Цепочкапоставок. Фаза2. Шаг 8
Нарисуйте ломаную,
Назовите ломануюshapeDelivery, измените ее цвет и толщину
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
331 |
|
|
заводана склад оптового магазина.
начале мы нарисуем условную дорогу, ведущую от завода к ритейлеру. Затем мы добавим объект, который будет
моделироватьзадержку, связаннуюсдоставкойтовара.
Откройте диаграмму классаMain инарисуйте с помощью
, .
Начните рисоватьломануюот зоны погрузки завода.
Направлениеломанойимеетзначение, поскольку
позднее мы зададимее в качестве фигуры анимации объекта Enterprise Library.
Назовите ломаную shapeDelivery, смените Цвет линии на бежевыйи сделайте линию толще, задав Толщину линии равной26.
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
332 |
Цепочкапоставок. Фаза2. Шаг 9
Добавьтеобъект Delay и соедините его, какпоказано здесь
Измените свойстваобъекта
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
333 |
|
|
Установитевзаимодействиемежду заводом иоптовым магазином.
Добавьте объект Delay исоединитеего порты спортами вложенных объектов factory иretailer, как показано наслайде
. ,
доставкой товара с завода в магазин.
Соединяяпортывложенных объектов, мыустанавливаем взаимоде ствиемежду этимио ъектами.
Теперьобъекты могут взаимодействоватьдруг сдругом, посылая сообщениячерез порты., В нашем случае объектfactory будет
заказаннымтоваром.
Этизаявки будут проходитьчерезобъект Delay, а затемпоступатьв
объектretailer иперенаправлятьсявдиаграммупроцесса,
заданнуюв классе Retailer.
Измените свойстваобъекта:
•Мы полагаемВремя задержки (соответствующеевремени доставки товара) равным одному дню.
•УстановитефлажокМаксимальная вместимость для того, чтобы разрешить одновременноедвижениенеограниченного числа грузовиков по дороге.
•ЗадайтеломануюshapeDelivery в качестве Фигуры анимации.
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
334 |
Цепочкапоставок. Фаза2. Шаг 10
Запустите модель
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
335 |
|
|
.
Выувидите, чтотеперь заводи оптовыймагазин образуютпростейшую цепочкупоставок– грузовики доставляютпроизведенные на заводе товарына склад магазина.
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
336 |
Цепочкапоставок. Фаза2. Вопросы
1. |
Как будет работать источник заявок, если в |
|
|
качестве времени между прибытиями задать |
|
|
u |
, , |
2. |
Какимобразомможновставить |
|
|
существующую заявку в диаграмму процесса? |
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
337 |
Цепочкапоставок. Фаза3
• Давайте немного усовершенствуем нашу модель.
• Сейчас товаравтоматическидоставляетсяритейлерупо
.
прибытиягрузовиковс товаромпосутизависит от
интенсивностипроизводства– очереднаяпартия
товараотсылаетсяритейлерусразу после того, как очередные 10 единиц товараизготавливаются и погружаютсяна грузовик.
•Теперь мы хотимреализовать чутьболее сложную (но затоболее реалистичную) логику– ритейлер будет запрашиватьтоварыс заводатолькотогда, когда о ъем имеющегося у него в наличии товара удет снижатьсядоминимально допустимогоуровня.
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
338 |
Цепочкапоставок. Фаза3. Шаг 1
Назовите классOrder |
СоздайтеJava класс |
|
|
|
|
Унаследуйтеэтот
классотклассаEntity
Добавьтепараметр quantity типа int
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
339 |
|
|
В текущей моделиритейлер долженотсылать на заводзаказы, которые будут инициировать производствозаданногоколичества единиц товара. Нам нужно передавать это количество в заказе. делать это посредствомстандартно заявкинельзя, поэтомумы и создаемJava класссо специальнымполем, которое будет хранитьнужнуюинформацию. Экземплярыэтого классабудут
моделироватьзаказыипередаватьсявместообычныхзаявок.
Создайте Java класс, щелкнувмышью по стрелке, находящейся вправой |
||
|
части кнопки Создать, ивыбрав Java класс из выпадающегоменю. |
|
|
|
азовите класс r er. |
|
Выберите com.xj.anylogic.libraries.enterprise.Entity в качестве базового класса. |
|
|
Класс заявкиEntity |
|
|
• |
КлассEntity является базовымклассомдля всехзаявок, которые принимают |
|
|
, |
|
|
библиотекиAnyLogic Enterprise Library. |
|
• |
Через блокиEnterprise Library могут проходить только экземпляры классаEntity |
|
|
илиего подклассов . оскольку мы хотим пересылать по диаграммепроцесса |
заявкитипа Order, то мы выбираемклассEntity вкачестве суперклассадля классаOrder.
Задайтев только созданномклассе поле quantity типаint. Это поле будет использоватьсядля храненияколичества едиництовара,
.
© 2002-2011 ООО «Экс Джей Текнолоджис», www.xjtek.ru |
340 |