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

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

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

ДиффузияпоБассу(массивы)

еперь мы хотим понять, как процесс зависит от пола человека

Для этого мы воспользуемся переменными

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

501

ДиффузияпоБассу(массивы). Шаг1

• Создайте новую размерность Gender

1. Выберите пункт меню

Файл|Создать|Размерность

2. Задайте элементы размерности: MALE и

FEMALE

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

502

 

 

ДиффузияпоБассу(массивы). Шаг2

1. Создайте накопитель

PotentialAdopters 5. Ctrl ,перетащите копию. Назовите ее Adopters

Создайте накопитель

PotentialAdopters

Сделайте его массивом с размерностью Gender

Создайте еще один накопитель типа массив: Adopters

2. Выберите Массив и щелкните по метке {} справа

3. Откроется страница свойств Array. Выберите Gender в списке Возможные размерности.

4. Добавьте Gender в список выбранных размерностей, щелкнув по этой кнопке

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

503

 

 

ДиффузияпоБассу(массивы). Шаг3

1. Добавьте динамическую переменнуюAdoptionFromAd

Создайте динамическую переменную AdoptionFromAd

Сделайте ее массивом с размерностью Gender

озда те еще одну переменную

AdoptionFromWOM

3. Ctrl перетащите переменную, чтобы создать ее копию.

Назовите ее A optionFromWOM

2. Сделайте переменную массивом с размерностью

Gender

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

504

 

 

ДиффузияпоБассу(массивы). Шаг4

1. Добавьте поток AdoptionRate аналогично тому, как мы делали раньше.

Не забывайте переименовывать переменную с помощью r + n er.

2. Сделайте переменную массивом с размерностью Gender

3. Щелкните по кнопке

Добавитьформулу

 

4. Введите формулу:

 

AdoptionFromAd[Gender] +

 

AdoptionFromWOM[Gender]

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

505

ДиффузияпоБассу(массивы). Шаг5

1. Добавьте переменную

AdEffectiveness

 

. дела те переменную

• Создайте переменную

массивом с размерностью

Gender

 

Задайте начальное

значение переменной

3.Щелкнитездесьи

выберите MALE

4.Задайте значение

5.Аналогично задайте значение элемента FEMALE

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

506

 

 

ДиффузияпоБассу(массивы). Шаг6

Создайте еще три переменные копированием

• Назовите их, как

1. TotalPopulation

 

 

Задайте их

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

2.ContactRate

3.AdoptionFraction

507

ДиффузияпоБассу(массивы). Шаг7

• Проинициализируйте другие переменные:

– PotentialAdopters

Формула: -AdoptionRate[Gender]

Начальное значение: TotalPopulation

– AdoptionFromAd

Формула: PotentialAdopters[Gender]*AdEffectiveness[Gender]

– AdoptionFromWOM

Формула: Adopters[Gender] * ContactRate[Gender] *

AdoptionFraction[Gender] * PotentialAdopters[Gender] /

TotalPopulation[Gender]

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

508

ДиффузияпоБассу(массивы). Шаг8

1. Добавьте Временную

диаграммус накоплением

2. Добавьте на диаграмму

PotentialAdopters.get(MALE)

PotentialAdopters.get(FEMALE)

Adopters.get(MALE)

Adopters.get(FEMALE)

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

509

 

 

ДиффузияпоБассу(массивы). Шаг9

Задайте останов модели через 8 единиц времени и запустите модель

С помощью диаграммы проследите за динамикой процесса

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

510

 

 

ДиффузияпоБассу(массивы). Вопросы

1.Сколько состояний есть у человека в этой

модели?

1) 1 (2) 2 (3) 4 (4) 8

2.

Общая численность населения в модели равна

 

 

(1) 10000

(2) 20000

(3) 15000

3.

Эффективность рекламы выше для

 

 

мужчин

женщин

потре ителе

 

(4)

потенциальных потребителей

4.

Вероятность убеждения меньше для

 

(1)

мужчин (2) женщин(3) потребителей

 

(4)

потенциальных потребителей

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

511

Упражнение– модельдинамикираспространения олезни

Создайтемодельсо следующими условиями:

• Восприимчивыйк заражению (Susceptible) человек при

заражениистановится Exposed, затем, после инкубационного

,

,

(становится Recovered)

 

• Как Exposed, так и Infectious люди могутзаразить Susceptible

людей, но они обладаютразной инфективностью (возможностьюзаражения приконтакте) и различной интенсивностью контактов

• Recovered людистановятся невосприимчивы к болезни

• Параметры:

ContactRateExposed: 4, ContactRateInfectious: 1.25

InfectivityExposed: 0.05, InfectivityInfectious: 0.06

verage ncu a on me: дне AverageIllnessDuration: 15 дней

• Изначально: один человек Exposed, остальные – Susceptible

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

512

AnyLogic Professional

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

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

ЧтодаетAnyLogic Professional?

ЭкспортВаших моделей и внедрение их в более

 

крупныеIT среды

 

 

д ни

ших

тв нных и ли т ки ш ни

 

дляконкретныхприкладныхобластей

• Создание сложныханимацийс использованием

 

чертежей САПРи картГИС

Разработкапроектовв группах, с использованием

 

программконтроляверсиямии отладкина уровне Java

 

кода

 

 

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

514

СписоквозможностейAnyLogic Professional

Экспорт моделейв виде отдельныхJava приложений

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

Отладчикмоделейнауровне Java кода

Интеграция с ПО управленияверсиями

Легкая интеграция с базамиданных, таблицамии текстовыми файлами

Большеэлементовуправления

Внедрениев анимациючертежей САПР

Включен оптимизатор pt uest

Большеэкспериментов

ИнтеграциясГИС, поддержкаГИСвагентноммоделировании

Включенабиблиотека динамикидвиженияпешеходовPedestrian library

Сохранение, загрузка и экспорт результатов моделирования

Сохранение и восстановлениеполного состояниямоделиво время ее работы

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

515

Экспортмоделей

AnyLogic Advanced:

Запускмоделейиз AnyLogic IDE или

Экспорт моделейкак Java апплетов– без доступак базам данных

AnyLogic Pro essiona :

Экспорт моделейкак отдельных Java приложений

Интеграция приложений с другим ПО

Управлениеи контроль надустановкойприложенийс помощью лицензированияAnyLogic Engine Runtime

.

 

 

 

1. Развертывание

 

 

 

 

 

приложения

 

 

 

 

Целевые компьютеры

 

 

 

 

 

 

 

 

Компьютер разр

 

 

(AnyLogic runtime

Сервер

 

license)

лицензирования

 

 

XJ Technologies

.

2. Запрос ключа

 

 

 

 

 

 

 

 

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

516

Разработкасобственныхбиблиотек

AnyLogic Advanced:

Включена библиотека Enterprise Library

Вы можете запаковатьнабор Ваших классовактивных объектов в библиотеку

Подключить библиотеку в AnyLogic IDE

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

Экспорт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A Wholesaler

 

 

 

 

 

 

 

 

 

 

e a e

Supply Chain Library

 

 

A Warehouse

 

 

 

 

 

 

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

517

ОтладчикмоделейнауровнеJava кода

• Полнофункциональный Java отладчикпозволяет:

– Устанавливатьточки остановапрямона страницах свойств элементов илив редакторе Java класса

апускатьмоделив режиме отладки, с переключением в специальную перспективу отладкиDebug

– Выполнять кодмоделипошагово, просматриваяпотоки и значения переменных и заданныхвыражений

Точки останова Выражения

Потоки

Переменные

 

 

Добавление точки останова

Отлаживаемый код

 

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

518

Поддержкапрограммуправленияверсиями

Управление версиями производится напрямую из AnyLogic

Сохранение истории изменений, произведенныхв модели

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

 

Фиксирование внесенных

 

изменений (Commit)

 

версий

 

Получение обновлений

 

из хранилища (Update)

 

 

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

519

Чтениеизаписьвбазуданныхбезпрограммирования

• Набор удобных объектовдля доступа к внешним данным

Запрос (Query): населяет агентную модель (или какую-то коллекцию) объектами, свойства которых считываются из таблицы

Kлюч-Значение: считывает из базы данных таблицу

<ключ,значение> и предоставляет пользователю доступ к ней

Вставка (Insert): вставляет строку в таблицу

Обновление (Update): обновляет строку в таблице; строка идентифицируется по значению ключевого поля

Текстовый файл: предоставляет простой API для чтения и записи текстовых файлов

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

520