Шаг 2. Моделирование продаж
под влиянием рекламы
Мы (не без помощи Мастера создания
модели) уже создали простейшую
модель. Теперь давайте путем нескольких изменений приведем ее к
постановке нашей простейшей задачи - пусть наша модель моделирует
процесс приобретения нового продукта, но пока только под влиянием
рекламной кампании, проводимой с целью выведения нового продукта на
сложившийся рынок.
В этой модели интенсивность рекламы и вероятность того, что продукт
будет приобретен под ее влиянием, полагаются постоянными. Поэтому мы
зададим эффективность рекламы константой. Эффективность рекламы
определяет, какая доля людей купит продукт вследствие ее влияния.
Характеристики модели задаются с
помощью параметров. Мы зададим параметры в классе Person, потому что наши агенты
задаются экземплярами именно этого класса. Задав значение параметра в
классе, мы задаем его для всех агентов одновременно. Но при
необходимости Вы сможете задать характеристики индивидуально для
каждого агента, поскольку AnyLogic позволяет задавать различные
значения параметров для разных элементов одного и того же класса.
Задайте подверженность человека
влиянию рекламы
- Откройте диаграмму класса Person,
сделав
двойной щелчок мышью по элементу Person
в панели Проекты.
- Перетащите элемент Параметр
из
палитры Основная
на диаграмму класса:
- Когда Вы поместите элемент на диаграмму класса, этот
элемент будет считаться выбранным, и Вы сможете изменить свойства
элемента в расположенной в нижней части рабочей области панели Свойства. В
дальнейшем для изменения свойств элемента нужно будет вначале щелчком
мыши выделить его в графическом редакторе или в дереве элементов
модели, отображаемом в панели Проекты.
- Перейдите на страницу Основные
панели Свойства,
чтобы изменить свойства созданного параметра.
- Измените имя параметра. Введите AdEffectiveness
в поле Имя.
- В поле Значение
по умолчанию введите 0.011.

- Вы можете задать краткое описание параметра на странице Описание панели Свойства (чтобы
переключиться на другую страницу, щелкните мышью по вкладке с ее
названием в левой части панели). Введите текст, который поможет
объяснить смысл параметра тем, кто не знаком с моделью.
Поведение агента обычно описывается визуально в классе этого агента
(в нашей модели это класс Person) с помощью диаграммы состояний.
Мастер создания моделей уже создал простейшую диаграмму
состояний из
двух состояний, между которыми существует два разнонаправленных
перехода.
Измените диаграмму
состояния
- Откройте диаграмму класса Person,
сделав
двойной щелчок мышью по элементу Person
в панели Проекты. На
диаграмме класса Вы увидите следующую
диаграмму состояний:

- Измените имя верхнего состояния на PotentialAdopter (поле Имя на странице свойств перехода)
Это начальное
состояние, о чем свидетельствует элемент Начало диаграммы состояний,
направленный в это состояние. Если диаграмма состояний будет находиться
в этом состоянии, то это будет означать, что этот человек еще не купил
продукт.
- Назовите его Adopter.
Если это состояние диаграммы будет активным, это будет означать, что
этот человек уже купил продукт.
- В нашей модели состояние Adopter
должно становиться активным в момент приобретения агентом продукта.
Процесс приобретения продукта этим человеком моделирует переход, ведущий из верхнего
состояния в нижнее. Нам нужно изменить его свойства, чтобы он
срабатывал в нужный нам момент времени.
- Время, через которое человек купит продукт, экспоненциально
зависит от эффективности рекламы продукта. Поскольку время, необходимое
человеку, чтобы принять решение о покупке продукта экспоненциально
зависит от подверженности этого человека влиянию рекламы, то выберите
из выпадающего списка Происходит С заданной интенсивностью и введите
в поле свойства Интенсивность
этого перехода имя созданного нами только что параметра AdEffectiveness.
- Введите AdEffectiveness
в расположенном ниже поле Интенсивность.
Чтобы не печатать полностью имена функций и переменных в формулах,
можэете пользоваться Мастером
подстановки кода. Чтобы открыть Мастер, щелкните мышью в
том месте поля (в нашем случае - поля Интенсивность, куда Вы хотите
поместить имя, а затем нажмите Ctrl+пробел (при работе на Mac OS: Alt+пробел). Появится
окно Мастера подстановки кода,
перечисляющего
переменные модели и функции, доступные в текущем конексте. Прокрутите
список к имени, которое Вы хотите вставить, или
введите первые буквы имени, пока оно не будет выделено в
списке. Двойным
щелчком мыши по имени добавьте его в поле формулы.
- Удалите переход, ведущий из нижнего состояния в верхнее,
поскольку мы пока создаем простейшую модель, в которой человек,
однажды приобревший продукт, навсегда остается его потребителем, и
соответственно перехода из состояния Adopter
в состояние PotentialAdopter
пока что быть не должно.
Чтобы удалить переход, выделите его на диаграмме и нажмите Del.

Шаг 1.
Создание простейшей
агентной модели
Шаг
3. Настройка
запуска модели