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

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

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

Цепочкапоставок. Фаза3. Шаг 2

,

назовите его ordersOut исоедините его с

Добавьте объект Enter и назовите его

 

 

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

341

Откройтедиаграмму класса Retailer и добавьтеобъект

Enter, которыйбудетпомещать созданные извне заявки(в нашем случае заказы) в диаграмму процесса.

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

Enter

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

Чтобы добавитьзаявкувобъект Enter, Вы должнывызватьметод объекта take(entity) илипереслать заявку в верхнийпорт этого объекта.

Добавьтепорт. Назовите его ordersOut и соедините с

объектомnewOrders. Этотпортбудетперенаправлять

поступающие запросыза пределы объекта– в объект factory, моделирующий завод.

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

342

 

 

Цепочкапоставок. Фаза3. Шаг 3

Выделите блокКод диаграммыдействий

Добавьте еще одну строку кода

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

343

 

 

Измените код, выполняемый диаграммой действий applyInventoryPolicy.

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

newOrders.take( new Order(quantity) );

Этот код посылает запрос (сообщение типа Order, хранящее запрашиваемое количество единиц товарав поле

.

Здесь newOrders – это имя нашего объекта Enter. Метод take() вставляетзаявку, переданную в качестве аргумента метода, в диаграммупроцесса, следующую за этим объектом. В нашем случаеона будет переслана в порт ordersOut, и далее – в объект factory.

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

344

Цепочкапоставок. Фаза3. Шаг 4

Добавьте порт и назовите его ordersIn

Добавьте объект Sink и соедините его с портом ordersIn

Измените свойстваобъекта

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

345

 

 

Добавьте портна диаграммукласса Factory. Назовите егоordersIn.

Вэтот портбудутприходитьзапросы, посылаемые ритейлером. Добавьте объект Sink и соедините его с портомordersIn. Этот

,

требуемоеколичество деталей и уничтожая обслуженные заказы. Укажите Order в качестве Класса заявки. Таким способоммы

сообщаемобъектуотом, чтоон будет работать с заявками – экземплярами нашего класса Order. Это обеспечит возможность прямогодоступа к полям заявки класса Order в динамических параметрах этогоо ъекта.

Задайте Действие при входе объекта: sourceBodies.inject( entity.quantity ); sourceDoors.inject( entity.quantity );

Здесь мы передаем в каждый объект Source требуемое им

количество заявок. то количество ерется из поля quant ty

текущей заявки entity (как Вы помните, ранее мы создали этополе

в классе Order). Это поле доступноздесь простокак entity.quantity,

потомучто ы указали r e в качестве

ласса заявки этого

объекта. Если бы Вы этогоне сделали, Вам пришлось бы написать

более сложную строкукода: ((Order)entity).quantity

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

346

Цепочкапоставок. Фаза3. Шаг 5

Заявки прибываютсогласно:

Вызовам метода inject()

Заявки прибываютсогласно:

Вызовамметода inject()

 

 

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

347

,

детали стиральной машинытолькопоприходузапроса.

Измените режим создания заявоку объекта sourceBodies. Пустьэтотобъектсоздаетзаявки не с заданно интенсивностью, а повызову метода n ect (если Выпомните, на предыдущем шаге мы поместили вызовэтогометода в е ствие при входео ъекта startManufacturing).

Сделайте тоже самое с объектомsourceDoors.

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

348

Цепочкапоставок. Фаза3. Шаг 6

Соедините порты вложенныхобъектов

 

 

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

349

. ,

созначками обоихвложенных объектовавтоматически

.

Соедините портыordersIn и ordersOut объектовfactory

иreta er для того, что ыразрешить пересылку заявок между этими портами.

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

350

Цепочкапоставок. Фаза3. Шаг 7

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

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

351

 

 

. ,

производитстиральные машины толькопозапросу

.

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

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

352

Цепочкапоставок. Фаза3. Вопросы

1. В чем состоит разница междуклассом, не

наследующим никакого другого класса, и кл м, им щим y к ч т г класса?

2.Соединительможет передавать заявки:

(a)из начальной точки в конечную

(b)из конечной в начальную

3.Назовите ситуации, в которых могут понадобиться объекты Enter и Exit

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

353

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

354

Агентное

AnyLogic

Эта презентация является частью стандартной программы обучения

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

Агентноемоделирование

Индивидуальные правила поведения.

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

Среда

ет семьи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

356

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

 

 

 

 

 

 

 

 

 

 

 

Агентамимогутбыть:

Люди: Транспорт, оборудование:

потребители, жители, работники, автомобили, краны, самолёты, вагоны, станки, … пациенты, доктора, клиенты, солдаты, …

Организации:

Нематериальные вещи: компании, политические партии, страны, … проекты, продукты, инновации, идеи, инвестиции…

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

357

 

 

СоотношениеСДиАМ

Интенсивность

потока

Rate

oc

 

oc

 

 

Управляющие правила

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

Синхронный агент

State A

 

Временной шаг dt

Нет B

Решение

Да

(зависит от Rate)

State B

Асинхронный агент

State A

Rate может меняться)

358

ДиффузияпоБассу– агентнаяверсия

 

 

Adoption

 

 

 

 

 

 

 

 

 

 

Rate

 

 

 

 

 

Potential

 

 

Potential

 

 

Adopters

 

 

 

 

 

 

 

 

 

 

Adopter

 

 

Adopters

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

o a

Интенсивность:

 

 

 

R

 

Population

Доп.условие:

 

 

 

 

 

AdEffectiveness

 

 

 

 

 

+

 

randomTrue(AdoptionFraction)

 

 

 

 

Adoption

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

from Word

 

-

 

 

 

 

 

 

 

 

of Mouth

 

 

 

op e

 

 

 

 

 

+

op on

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

Fraction

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

Contact

 

Интенс-ть: ContactRate

 

 

 

 

 

 

 

 

 

 

 

 

 

Rate

 

 

 

.”Купи!”

 

 

 

 

 

 

 

 

 

 

 

Potential

 

Adopters

 

 

o en a

 

op ers

 

Adopters

 

 

 

 

 

 

 

 

 

 

Adopters

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10,000 агентов

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

 

 

 

359

АМ: Болеереалистичныепредположения

 

 

 

 

 

 

 

 

 

зависит от времени с момента покупки

 

 

 

Adoption Fraction vs

Time Purchased

 

Potential

 

 

 

 

 

 

 

0.03

Время после покупки

 

Интенс-ть: AdEffectiveness

Adopter

Купи!

 

0.02

 

 

 

 

Time Purchased = Now

 

.

 

 

 

 

 

 

randomTrue(AdoptionFraction (

0.01

 

 

 

 

 

 

 

Now – Time Purchased ) ))

 

 

 

 

 

 

Adopter

Time Purchased = Now

 

 

 

 

 

 

 

 

 

0

1

2

3

 

 

Интенсивность: Contact Rate

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<случайно выбранный агент>.”Купи!

 

 

Potential

 

Adopters

 

• А можете ли Вы

 

 

Adopters

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

построить эквива-

 

 

 

 

 

 

 

лентную СД модель?

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

 

 

 

360