Главная страница

Материалы тренинга по AnyLogic. Решение на уровне модели мир без риска мир без риска реальный мир Мир моделей Реальный мир Решение Проблема


Скачать 12.33 Mb.
НазваниеРешение на уровне модели мир без риска мир без риска реальный мир Мир моделей Реальный мир Решение Проблема
АнкорМатериалы тренинга по AnyLogic.pdf
Дата31.01.2018
Размер12.33 Mb.
Формат файлаpdf
Имя файлаМатериалы тренинга по AnyLogic.pdf
ТипРешение
#15050
страница12 из 16
1   ...   8   9   10   11   12   13   14   15   16
Агентами могут быть:
Транспорт, оборудование:
Люди:
р р
ру автомобили, краны, самолёты, вагоны, станки, … потребители, жители, работники,
пациенты, доктора, клиенты, солдаты, Нематериальные вещи:
Организации:
компании, политические партии, страны, проекты, продукты, инновации, идеи, инвестиции 2002-2011 ООО Экс Джей Текнолоджис», Соотношение СД и АМ

Соотношение СД и АМ
Интенсивность
АМ
СД
Синхронный агент k потока k A
АМ
СД
State A
Stock B
Stock A
B
Нет
Временной шаг Решение B
Да
(зависит от Управляющие правила
Асинхронный агент Задержка (зависит от Задержка (зависит от может меняться 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
358
State B
Диффузия по Бассу – агентная версия
Диффузия по Бассу агентная версия
Adoption
АМ
СД
Potential
Adopters
Adopters
Adoption
Rate
T t l
АМ
СД
Potential
Adopter
“Купи!”
Adoption from
Advertising
+
+
B
B
Adoption from Word of Mouth
Total
Population
Ad ti
+
-
+
R
Ad t
Интенсивность:
AdEffectiveness
Купи!
Доп.условие: randomTrue(AdoptionFraction)
Advertising
Advertising
Effectiveness
+
B
of Mouth
Adoption
Fraction
Contact
Rate
+
+
+
Adopter
Интенс-ть: случайно выбранный агент Купи t ti l
Ad случайно выбранный агент. Купи агентов агентов 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
359
АМ: Более реалистичные предположения
АМ: Более реалистичные предположения
• Пусть эффективность устной рекламы клиента
Пусть эффективность устной рекламы клиента зависит от времени с момента покупки Purchased
0.03
Adoption Fraction Время после покупки
Купи!
Доп условие:
Интенс-ть:
AdEffectiveness
Potential
Adopter
0.01 Доп. условие randomTrue(AdoptionFraction (
Now – Time Purchased ) ))
Adopter
Time Purchased = Now
Time Purchased = Now
0 1
2 Интенсивность случайно выбранный агент>.”Купи!
• А можете ли Вы
Potential
Adopters
Adopters построить эквивалентную СД модель 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
360
Соотношение ДС и АМ
Соотношение ДС и АМ
Запрос
ДС
АМ
Вход
Решение?
Да
Обслужи- вание
Ожидание ресурса ресурса
ДС
АМ
Нет вание
Ресурс
Ресурс захвачен
Задержка
Выход
Обслуживание
Завершение
B
Y
Запрос ресурса
Отпустить ресурс
Свободен захват освобождение
Диспетчер
Задержка
N
Занят освобождение
Диспетчер р
Время задержки
Уничтожить
© 2002-2011 ООО Экс Джей Текнолоджис», этого агента
АМ: Более реалистичные предположения
АМ: Более реалистичные предположения
Запрос
Нормальный
Ожидание
Запрос
Р
Нормальный процесс
Ресурс выдан
Обслуж-ие
Завершение
Освободить
Нормальный процесс
B
Y
N
Запрос
Освободить ресурс
Тревога!
Нормальный процесс
Аварийный процесс
Задержка
N
Аварийный процесс…
Тревога!
Задержка
Удалить этого агента р
р
© 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
362
Какой же подход использовать?
Какой же подход использовать?
• Если проблема хорошо ложится на
Если проблема хорошо ложится на традиционные подходы СД и ДС и допускает соответствующую абстракцию соответствующую абстракцию Используйте традиционные подходы
Е
б
(
• Если система содержит активные объекты (люди, компании, животные, машины, или проекты, б акции, продукты, и т.д.) с временами, событиями или индивидуальным поведением любого другого рода Вы можете выиграть от использования
агентного подхода
• Помните о возможности совмещения подходов 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
363
Мультиподходные архитектуры моделей
Мультиподходные архитектуры моделей
СД подмодели внутри дискретно


СД подмодели внутри дискретно взаимодействующих агентов например, участники сети поставок)

Агенты (клиенты, пациенты) взаимодействуют с другими агентами (персоналом) в рамках ДС диаграммы диаграммы
Агенты (например люди или семьи)
Агенты (например, люди или семьи) живут в среде, которая описана в терминах СД
© 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
364
Плохие и хорошие новости об АМ
Плохие и хорошие новости об АМ
• Плохие новости:
Плохие новости:
Создание агентной модели – это не несколько
щелков мыши В любом случае придётся писать
щелков мыши . В любом случае придётся писать
какие-то строчки кода. Если Вы используете библиотеки типа Swarm / RePast, Вы вообще
библиотеки типа Swarm / RePast, Вы вообще только программируете – и всё равно многого не можете сделать.
• Хорошие новости минимизирует количество минимизирует количество необходимого кода, предлагая графические конструкции где это возможно В тоже время
конструкции, где это возможно. В тоже время даёт Вам гораздо более гибкий язык моделирования 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
365
моделирования.
Реализационные шаблоны в агентном моделировании
ц
д
р
• Используемые на практике агентные модели обычно очень
Используемые на практике агентные модели обычно очень сильно различаются, но все же некоторые аспекты могут использоваться повторно Архитектура модели Модель времени Пространство мобильность соседство Пространство, мобильность, соседство Взаимодействие Сеть, контакты Задание поведения агента Рождение и смерть агентов Сбор статистики по популяциям агентов
Сбор статистики по популяциям агентов Анимация агентных моделей
• Классы AnyLogic
Agent и реализуют
Классы AnyLogic
Agent и реализуют большинство перечисленных аспектов 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
366
Типичная архитектура агентной модели AnyLogic
р
ур
д
y g

Агент
Имя: people
Тип:
Person
Person
Тип: Среда city
Количество:
100000
people
Main
Добавление/удаление агентов ( )
city remove_people( p Цикл по всем агентам Person p : people ) {
city
For( Person p : people ) {

}
© 2002-2011 ООО Экс Джей Текнолоджис», Нет синхронизации
Нет синхронизации
Если
Шаги не выполняются
:
Если
Шаги не выполняются
:
• Нет глобального управления временем
• Агенты управляют временем самостоятельно у р р
• Т. е, у агентов заданы стейтчарты, события и уравнения, задающие их поведение
Агент Агент Агент Время 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
368

Синхронизация
Синхронизация
Если
Шаги выполняются
:
Если
Шаги выполняются
:
• Агенты синхронизируются по тикам часов 0, 1, 2, ... : Вначале у всех агентов вызывается
Действие перед выполнением шага

обычно это подготовка к шагу, состояние не изменяется
• Затем у всех агентов вызывается Действие после выполнением шага

собственно действие шага собственно действие шага
Агент Агент Агент Время Нов дополнение к этим событиям агенты могут в любые моменты времени порождать свои собственные события и производить действия 2002-2011 ООО Экс Джей Текнолоджис», производить действия!
Непрерывное пространство
Непрерывное пространство
• У агента есть real (x,y) координаты в У агента есть real (x,y) координаты в 2D пространстве
И
й
API
A
• Используйте API класса
Agent
:
getX(); getY();
di t
T (
t )
distanceTo( agent );
jumpTo( x, y ); moveTo( x, y ); stop();
isMoving();
isMoving();
timeToArrival();
setVelocity( v );
moveTo( 20, 30 )
moveTo( 15, 50 )
stop()
setHeading( h Задайте действие:
Задайте действие Arrival getX() возвращает текущую позицию
в любой момент времени 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
370
Дискретное пространство
Дискретное пространство
Двумерный массив ячеек
Двумерный массив ячеек
• В одной ячейке – максимум один агент местоположение getR()
, getC()
get (Перемещение jumpToCell
, Модели соседства Евклидово,
Мурово
; д д
д ур столбцы строки W возвращает 2002-2011 ООО Экс Джей Текнолоджис», Стандартное расположение агентов в пространстве
д р
р
р
р
• Непрерывное:
Непрерывное:
Случайное, Упорядоченное, Кольцо, Пружинящая масса
(зависит от сети)
Не удается отобразить рисунок. Возможно, рисунок поврежден или недостаточно памяти для его открытия. Перезагрузите компьютера затем снова откройте файл. Если вместо рисунка все еще отображается красный крестик, попробуйте удалить рисунок и вставить его заново.
• Дискретное:
– Случайное, Упорядоченное 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
372
Сеть связи и взаимодействие
Сеть: связи и взаимодействие
У каждого агента есть список cвязей – других агентов д
дру
• Используйте одну из стандартных сетей или задайте Вашу собственную с помощью методов connectTo(agent)
, disconnectFrom(agent)
( Взаимодействие в сети используйте методы send( msg, agent )
; send( msg, ALL )
; send( msg, RANDOM )
…, и задайте действие Действие при получении сообщения д
д
Д
р у
щ
• Список соединенных агентов доступен как Взаимодействие в сети д = {1,2,3,4}
0 5
{ , , , }
0 1
2 4
5 2
3
Connections = {0,3,5}
© 2002-2011 ООО Экс Джей Текнолоджис», Стандартные типы сетей
Стандартные типы сетей
• Стандартные типы сетей:
Стандартные типы сетей:
Случайное
Решеточно упорядоч. кольцо
Малый мир
Безразмерная
Согласно расстоянию
(зависит от расположения)
• Вы можете Комбинировать стандартные и р
д р нестандартные сети Изменять стандартные сети вовремя выполнения модели и т д 2002-2011 ООО Экс Джей Текнолоджис», выполнения модели и т.д.
Сколько агентов моделировать?
Сколько агентов моделировать?
• Если мне нужно моделировать всё население
Если мне нужно моделировать всё население США – мне что, запускать 300,000,000 агентов Слава Богу нет!
Слава Богу, нет!
• Есть две основные техники масштабирования Те же агенты
Уменьшенная
– Та же среда
Агенты представляют Уменьшенная среда Агенты представляют группы 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
375
© 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
376
Модель рынка
Эта презентация является частью стандартной программы обучения 2002-2011 ООО Экс Джей Текнолоджис», Модель рынка
Модель рынка
Мы построим модель потребительского рынка. Рынок мы
Мы построим модель потребительского рынка. Рынок мы смоделируем агентным способом каждый потребитель будет задан отдельным агентом.
Давайте сделаем следующие предположения:
Давайте сделаем следующие предположения:
• Изначально ни у кого из потребителей (пусть их будет 5000) нет исследуемого нами продукта.
• Потребители приобретают продукт под влиянием рекламы или личного общения со своими знакомыми.
Е
б
• Если потребитель ждет поступления товара слишком долго, то он отзывает свою заявку на его приобретение и снова становится потенциальным потребителем. Со временем продукт может прийти в негодность, что вызовет необходимость немедленного приобретения ему замены. На последнем этапе мы соединим эту модель с моделью цепочки
На последнем этапе мы соединим эту модель с моделью цепочки поставок так, что потребители будут приобретать товару смоделированного нами ранее ритейлера.
© 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
378
Модель рынка. Фаза Модель рынка. Фаза На этом этапе мы не будем учитывать покупки продукта
На этом этапе мы не будем учитывать покупки продукта вследствие общения потребителей друг с другом.
М
ро о ере о а ро р обре ае с
Мы промоделируем лишь то, как продукт приобретается под влиянием его рекламирования.
Изначально ни у кого из потребителей нет продукта, и все они являются потенциальными потребителями. Реклама порождает спрос на продукт среди потенциальных потребителей. ц
р
В среднем задень к решению о покупке продукта приходит 1% потенциальных потребителей приходит 1% потенциальных потребителей 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
379
© 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
380
Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Создайте новую модель д
у д

Выберите опцию

Назовите модель Market Выберите опцию
Использовать шаблон модели
д

Выберите Агентное

Выберите Агентное моделирование 2002-2011 ООО Экс Джей Текнолоджис», Мы создадим модель рынка в отдельном проекте На
Мы создадим модель рынка в отдельном проекте. На этот раздавайте воспользуемся помощью мастера создания моделей. Если раньше Вам приходилось р
р д
всегда начинать создание модели "с чистого листа, зачастую выполняя одни и те же типовые действия й
й й
для каждой новой создаваемой модели, то теперь Вы можете перепоручить выполнение первых, базовых шагов Мастеру создания модели

базовых, шагов Мастеру создания модели.
 Откройте мастер создания моделей, выбрав
Файл|Создать|Модель из главного меню
Файл|Создать|Модель из главного меню.
 Назовите модель Market Выберите опцию Использовать шаблон модели. Выберите интересующий Вас метод моделирования
 Выберите интересующий Вас метод моделирования, а именно Агентное моделирование, и перейдите к следующим страницам мастера 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
382
ду щ р
ц р
Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Назовите класс

Назовите класс агента Задайте Начальное Введите 400 в полях
Ширина и Высота
количество агентов Ширина и Высота 2002-2011 ООО Экс Джей Текнолоджис», Наследующих страницах мастера создания моделей Вы
На следующих страницах мастера создания моделей Вы можете продолжить конфигурировать создаваемую модель, выбирая ту функциональность, которую Выдру фу ц
,
ру хотите иметь в Вашей модели.
 Каждый агент будет представлен в модели экземпляром Каждый агент будет представлен в модели экземпляром класса активного объекта, который будет объявлен классом агента. Здесь Вы можете задать имя этого класса. д
д
Назовите его Consumer.
 Задайте количество агентов в модели 5000. AnyLogic
 Задайте количество агентов в модели 5000. AnyLogic создаст 5000 экземпляров класса Consumer, каждый из которых моделирует конкретного агента‐потребителя. Задайте размерности пространства среды, в которой будут обитать агенты введите в полях Высота и Ширина
уду др. Теперь агенты будут отображаться на презентации в прямоугольном пространстве 400*400 пикселей.
© 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
384
Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Установите этот флажок 2002-2011 ООО Экс Джей Текнолоджис», Закончите конфигурирование модели на последних двух
Закончите конфигурирование модели на последних двух страницах мастера создания моделей.
 Установите флажок Добавить простое поведение. Тем самым мы зададим простейшее поведение у агентов с помощью диаграммы состояния.
В
б
В итоге мастер создаст агентную модель, которая будет включать в себя два класса Main и Consumer. Класс Consumer объявлен как класс агента (это нужно для

Класс Consumer объявлен как класс агента (это нужно для возможности расстановки агентов в пространстве, их взаимодействия друг с другом и т.д.) В этом классе также задана картинка агента и диаграмма состояний задающая задана картинка агента и диаграмма состояний, задающая его поведение. В классе Main есть объект Среда
и реплицированный
В классе Main есть объект Среда
и реплицированный объект класса Consumer), моделирующий агентов. Объект Среда
отвечает за расположение агентов в пространстве установление сети их контактов и агентов в пространстве, установление сети их контактов и их взаимодействие друг с другом.
© 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
386
Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Откройте диаграмму Значение по
Значение по умолчанию 0.01/day()
© 2002-2011 ООО Экс Джей Текнолоджис», Мы начнем с задания поведения и интересующих нас
Мы начнем с задания поведения и интересующих нас характеристик потребителя.
 Откройте диаграмму класса Consumer. Вы увидите диаграмму состояний, состоящую из двух состояний.
О
б
Она была автоматически создана мастером создания моделей Добавьте параметр AdEffectiveness. Он будет задавать подверженность человека рекламе, определяя то, какой в среднем задень процент потенциальных потребителей примет решение о приобретении продукта. Мы предполагаем, что в среднем задень к такому решению приходит 1% потенциальных потребителей, поэтому и задаем в качестве значения параметра 0.01/day().
© 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru
388
Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Переименуйте состояние

Измените Цвет

Измените Цвет заливки состояния на серебряный (silver)

Измените
Д й
Действие при входе

Измените свойства нижнего состояния 2002-2011 ООО Экс Джей Текнолоджис», Мы зададим поведение потребителя как последовательность двух состояний:
состояний:
PotentialUser ‐ потребитель, находящийся в этом состоянии, пока только потенциально заинтересован в покупке продукта – потребитель уже приобрел продукт потребитель уже приобрел продукт
Измените диаграмму состояния, созданную мастером создания моделей
 Назовите верхнее состояние PotentialUser.
 Измените цвет состояния. Чтобы выбрать нестандартный цвет,
1   ...   8   9   10   11   12   13   14   15   16


написать администратору сайта