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

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

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

Новыеинструменты(1)

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

 

 

Упрощаетрисование потокамежду переменными

 

Adoption

 

Adoption

 

oc

Stock1

Rate

 

 

• Редактирование дуг зависимостей

редактируйте вид стрелки перетаскиванием

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

461

Новыеинструменты(2)

• Созданиекопийпеременных

Potential

Adoption

Adopters

 

Adopters

Rate

 

Advertising

Effectiveness

Adoption

Adoption

 

from

from

 

Advertising

of Mouth

op on

 

 

 

 

Fraction

 

Contact

 

 

 

 

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

462

Анимацияпотоковойдиаграммы

Просмотрзначений и графиков переменных с

 

помощьюокна инспекта

 

 

 

 

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

463

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

• Подстановка кода

Стрелкизависимостей

Нажмите Ctrl+пробел

 

 

при вводе выражения

 

 

 

 

 

 

 

Потоки

 

 

Влияния

 

 

Дуги зависимостей

 

 

можно редактировать

писок содержит локальные переменные,

параметры и наиболее часто

 

 

употребляемые функции

 

 

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

464

 

 

 

Встроенныефункции

• Часто используемые математические функции

См. классjava.lang.Math в Справочнике классов Java:

abs(x) acos(x) asin(x) atan(x) atan2(y,x) ceil(x) cos(x) exp(x) floor(x)

, , , , , ,

pow(x) rint(x) round(x) sin(x) sqrt(x) tan(x) toDegrees(x) toRadians(x) xidz(a,b,x) zidz(a,b)

Вы можете использовать любуюJava функциюили константу, например: Math.PI, Math.toDegrees(angrad)….

• пециальная

ункция: e ay

 

 

 

 

Две формы функции: delay( x, shift ), delay( x, shift, initial )

 

 

X

 

delay( X, T, a )

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

время

T

 

время

 

 

 

465

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

 

 

Табличныефункции

Позволяетимпортировать внешние табличные данныев модельи использовать их как функцию: MyTable( x )

Поддерживает различные типы интерполяций и аппроксимаций

Без интерполяции

Шаговая

 

 

 

 

 

 

 

 

 

 

 

Линейная

 

Кубические сплайны

 

 

 

 

 

 

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

466

Математическиефункции

• Возможность один раззадать“часто используемое выражение” и затем многократно использовать его в модели

Функция можетработать со скалярами:

F

 

 

Имя:

normalized

 

Тип функции:

real

 

Аргументы:

real x

 

Выражение:

x / (A + B + C)

 

 

 

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

467

Массивы

• Некоторыезадачисодержатданныесразмерностями

 

d( population) inmigration outmigration

 

population

 

 

inmigration

population

inmigration

outmigration

 

 

 

 

gender

 

regions

 

population

inmigration

outmigration

Особенности массивовAnyLogic

Массив может иметь произвольное количество размерностей

Поддерживаются все арифметические операции и большинство

функций

Все операции поэлементны, в отличие от линейной алгебры

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

468

 

 

Объектно ориентированноеСДмоделирование

ТрадиционныеСДпакеты:

Позволяютпостроение только однойбольшой плоскойдиаграммы потокови накопителей

Такие диаграммычасто становятсяслишкомтрудны дляпониманияи внесенияизменени

AnyLogic:

Предполагает создание хорошоструктурированных моделей

Позволяет создавать иерархическиемодели

Позволяет создавать повторно используемые компоненты СД

моделей

Иконка

на верхнем

на верхнем уровне, внешняя

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

469

 

 

ДискретныесобытиявСДмоделях

• о ытия

 

 

• иаграммы состояни

– Порождаютпериодические

 

– Логика состояний и

или единичные со ытия

 

 

 

 

 

 

 

 

 

 

 

Действие при входе: production_rate = 10;

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие: x += 2;

Таймаут: 30

Таймаут: 1

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие при входе: production_rate = 0;

 

 

t

 

pro uc on_ra e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

30

45

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

30 31

61 62

 

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

470

СтохастикавСДмоделях

 

 

 

 

 

 

 

 

 

 

5, 10 )

1.

 

 

 

 

Действие: x += uniform( -2, 2 );

 

 

 

 

 

 

 

 

 

 

Неправильно:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

использовать случайные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уравнений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– Результат,будет зависеть,

 

 

 

 

 

 

 

 

 

интеграции

2.

 

 

 

 

Действие: x++;

Правильно: связать стохастику с дискретными событиями

Случайные изменения переменных (1)

Случайные интервалы между событиями (2)

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

471

АнимацияСДмоделей. Апплеты

Вы можете создаватьдостаточно сложныевнешние интерфейсы для Ваших СД моделей

Интерактивные диаграммыбизнес графики (в т.ч. нестандартные)

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

Полнофункциональные модели могут запускатьсякак

апплеты

– Это позволяетнапрямую доставлятьмоделидаже

то не ny og c, а Internet Explorer!

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

472

 

 

Модель диффузии

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

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

ДиффузияпоБассу. Фаза1

Классическая модель распространения нового продукта или инновации

Все люди ведут себя одинаково и могут быть

клиентами Potential Adopters, либо клиентами

Adopters

• Потенциальные клиенты становятсяклиентамис “темпом продаж” Adoption

Rate, которыйзависитот

рекламы

• Рекламная кампания идёт всёвремя, и каждую единицу времени она

Advertising Effectiveness

потенциальных клиентов в клиентов

• Начальные условия:

Potential Adopters = 10000 Adopters = 0

• араметры:

Advertising Effectiveness = 0.011

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

474

ДиффузияпоБассу. Фаза1. Шаг1

Создайте новую модель и назовите ее Bass Diffusion

Перейдите на палитру Системная динамика

Назовите накопители PotentialAdopters и Adopters

1.Перетащите Накопитель на диаграмму

2. Поместите метки с именами над значками накопителей

 

 

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

475

ДиффузияпоБассу. Фаза1. Шаг2

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

2. Щелкните на

 

переменной Adopters

 

 

3. Появится переменная поток.

 

Получившиеся зависимости будут

 

отображены стрелками.

1. Сделайте двойной щелчок по

 

переменной PotentialAdopters

 

 

 

5. Перетащитеметку имени наверх

4. Выберите переменнующелчком мыши. Вы увидите, что метка имени переменной закрашена стрелкой зависимости.

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

476

 

 

ДиффузияпоБассу. Фаза1. Шаг3

Назовите поток AdoptionRate

2.Диалоговое окно предложит переименовать в формулах накопителей flowAuxVar на

AdoptionRate

3.Оставьте установки по умолчанию и нажмите OK

.

сразу после этого нажмите Ctrl+Enter

Проверьте формулы накопителей

Формулы накопителей автоматически станут ссылаться на op on a e

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

477

 

 

ДиффузияпоБассу. Фаза1. Шаг4

Создайте параметры

TotalPopulation и AdEffectiveness

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

478

 

 

ДиффузияпоБассу. Фаза1. Шаг5

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

PotentialAdopters и

формулу потока

AdoptionRate

Вы увидите стрелки,

переменных. Внешний вид стрелок можно редактировать перетаскиванием.

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

479

 

 

ДиффузияпоБассу. Фаза1. Шаг6

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

,

 

открыть ее окно инспекта

режим графика

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

480