ДиффузияпоБассу(массивы)
•еперь мы хотим понять, как процесс зависит от пола человека
•Для этого мы воспользуемся переменными
© 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 |
|
|