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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

Запрос

 

 

 

 

 

 

 

 

 

 

 

 

у

 

 

 

 

 

 

 

 

 

 

 

Ожидание ресурса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ресурс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

захвачен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обслуживание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Завершение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отпустить

 

 

 

 

 

 

 

 

 

 

 

 

 

ресурс

Y

Запрос

 

 

 

 

 

 

 

 

 

 

 

B

ресурса

 

Свободен

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

захват

 

 

 

 

Диспетчер

 

 

Задержка

 

 

Занят

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Уничтожить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

этого агента

 

 

 

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

 

 

 

 

 

361

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

Нормальный

процесс

есурс

Аварийный процесс

Тревога

 

 

 

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

362

 

 

 

Какойжеподходиспользовать?

Если проблема хорошо ложитсяна

традиционные подходы СД и ДС и допускает

соответствующуюабстракцию –

Используйте традиционные подходы

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

Помнитео возможности совмещения подходов

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

363

Мультиподходныеархитектурымоделей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

взаимодействующих агентов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(например, участники сети поставок)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

,

живут в среде, которая описана в терминах СД

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

364

 

 

ПлохиеихорошиеновостиобАМ

Плохиеновости:

 

 

Создание агентной модели – это не “несколько

 

щелков мыши”. В любом случае придётся писать

 

какие-то строчки кода. Если Вы используете

 

библиотеки типа Swarm / RePast, Вы вообще

 

только программируете – и всё равно многого не

 

можете сделать.

 

Хорошие новости:

 

 

необходимого кода, предлагая графические

 

,

.

 

AnyLogic даёт Вам гораздо более гибкий язык

 

моделирования.

 

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

365

Реализационныешаблонывагентноммоделировании

Используемые на практикеагентныемодели обычно очень

 

сильно различаются, но все же некоторые аспекты могут

 

использоваться повторно:

 

Архитектурамодели

 

 

Модельвремени

 

 

 

,

,

 

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

 

 

Сеть, контакты

 

 

Заданиеповеденияагента

 

 

– Рождениеи смерть агентов

 

 

Сборстатистикипопопуляциямагентов

 

Анимация агентныхмоделей

КлассыAnyLogic Agent и Environment реализуют

 

 

большинство перечисленных аспектов

 

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

366

ТипичнаяархитектураагентноймоделиAnyLogic

Агент

Имя: people

Person Тип: Person

Среда: city Количество: 100000

Добавление/удаление агентов: add_people(); remove_peop e p ;

Цикл по всем агентам:

city

}

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

367

 

 

Нетсинхронизации

Если Шаги не выполняются:

• Нет глобальногоуправления временем

• Агентыуправляют временем самостоятельно

• Т. е., у агентов заданы стейтчарты, событияи уравнения, задающие их поведение

Агент 0

Агент 1 Агент 2

Время

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

368

 

 

Синхронизация

Если Шаги выполняются:

• Агенты синхронизируютсяпо “тикамчасов”: 0, 1, 2, ... :

• Вначалеу всех агентов вызываетсяДействие перед выполнениемшага – это “подготовкак шагу”, состояние не изменяется всех агентоввызывается Действие после выполнениемшага

действие” шага

Агент 0 Агент 1 Агент 2

 

 

 

 

 

 

 

 

Время

 

 

 

 

 

 

 

 

0

1

2

3

 

Но: в дополнение к этим событиям агенты могут в любые моменты времени порождать свои собственные события и

производить действия!

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

369

Непрерывноепространство

Уагентаесть real (x,y) координатыв 2D

 

пространстве

 

 

спользу те

класса

gent:

 

getX(); getY();

 

 

 

s ance o agen

;

 

 

jumpTo( x, y ); moveTo( x, y ); stop();

 

isMoving();

moveTo( 20, 30 ) moveTo( 15, 50 ) stop()

 

timeToArrival();

 

 

 

 

setVelocity( v );

 

 

 

setHeading( h );

 

 

Задайтедействие:

getX() getY()

 

On Arrival

 

 

 

возвращает текущую позицию

 

 

 

в любой момент времени

 

 

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

370

 

 

 

 

Дискретноепространство

Двумерный массивячеек

• В одной ячейке – максимум один агент; местоположение:

getR(), getC()

 

Перемещение: jumpToCell, jumpToRandomCell

 

Модели соседства: Евклидово, Мурово;

getNeighbors()

столбцы

строки

 

 

{N,S,E,W]

,

,

 

возвращает

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

371

Стандартноерасположениеагентоввпространстве

• Непрерывное:

Случайное, Упорядоченное, Кольцо, Пружинящаямасса(зависит от сети)

• Дискретное:

 

 

– Случайное,

Упорядоченное

 

 

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

372

Сеть: связиивзаимодействие

Укаждогоагента есть списокcвязей – другихагентов

Используйте одну из стандартных сетей или задайте Вашу собственную с помощьюметодовconnectTo(agent), disconnectFrom(agent)

Взаимодействие в сети: используйте методы

send( msg, agent ); send( msg, ALL ); send( msg, RANDOM ) …, и

задайте действие: Действие при получении сообщения

Списоксоединенных агентов доступен какgetConnections(); getConnectedAgent(i);

Взаимодействие в сети: sendToAllContacts(), sendToRandomContact()

Connections = {1,2,3,4}

 

5

 

 

4

 

1

 

 

 

 

 

 

 

 

 

 

3

 

Connections = {0,3,5}

 

 

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

 

373

Стандартныетипысетей

• Стандартные типы сетей:

Случайное

Решеточноупорядоч. кольцо

Малыймир

Безразмерная

 

 

 

 

 

 

 

 

Согласно расстоянию (зависит от расположения)

• Вы можете:

Комбинировать стандартные и

 

 

нестандартные сети

 

Изменять стандартные сети во время

 

 

. .

374

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

Сколькоагентовмоделировать?

• Если мне нужно моделироватьвсёнаселение

США – мне что, запускать 300,000,000 агентов?

,

• Есть две основные техники“масштабирования”:

– Те же агенты

– Та же среда

 

 

среда

группы

 

 

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

375

 

 

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

376

Модельрынка

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

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

Модельрынка

Мы построиммодель потребительскогорынка. Рынок мы

смоделируемагентным способом: каждый потребитель будет задан отдельным агентом.

Изначально ни у когоиз потребителей(пусть ихбудет5000) нет исследуемогонами продукта.

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

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

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

поставоктак, что потребителибудутприобретатьтовар у смоделированногонами ранее ритейлера.

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

378

Модельрынка. Фаза1

На этомэтапе мы не будем учитыватьпокупкипродукта

вследствие общения потребителей другс другом.

ып м д ли у м лишь т , к к п дуктп и т т я подвлиянием его рекламирования.

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

Реклама порождаетспросна продуктсреди потенциальныхпотребителей.

Всреднем за день к решению опокупкепродукта

.

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

379

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

380