Моделирование рекламных кампаний

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

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

Создаем вспомогательную переменную

. Открываем структурную диаграмму класса Main двойным щелчком мыши по элементу Main в окне проект.

. Создаем переменную adColor класса Color.

Теперь мы должны внести небольшие изменения в анимацию модели. Мы хотим различать продукты по цвету: владельцев одного продукта мы будем отображать на анимации синими точками, а владельцев другого - красными. Области проведения рекламных кампаний также будут отображаться различными цветами в зависимости от рекламируемого продукта.

Изменим анимацию

. Откроем анимационную диаграмму, сделав двойной щелчок мышью по элементу animation в окне проект.

. Щелкаем мышью по лиловому кругу на анимационной диаграмме и выбираем переменную adColor в качестве цвета заливки фигуры (рис. 54).

 

Рис. 54 Общие свойства фигуры

 

3. Щелкаем мышью на анимационной диаграмме по фигуре agentShape. В поле Цвет заливки, вводим people.item(index.color) (рис. 55). Теперь цвет фигуры будет задаваться значением переменной агента adColor. Потенциальные покупатели продукта будут отображаться серым цветом, владельцы - красным или синим в зависимости от того, какой продукт они приобрели.

 

Рис. 55 Цвета заливки фигуры

 

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

Изменение действия таймера.

. Откроем структурную диаграмму класса Main двойным щелчком мыши по элементу Main в окне проект.

. Щелкаем мышью по значку таймера adTimer на структурной диаграмме.

. Изменим действие при срабатываниитаймера. Добавляем выделенные строки:

0.5? Color.blue :Color.red;(inti=0; i 0.5 ? Color.blue :Color.red;(inti=0; i<people.size(); i++) {p = people.item(i);(p.distance(adX,adY) <adRange )

p.adoption.fireEvent(adColor);

}

Теперь с равной вероятностью будут рекламироваться разные продукты.

Изменение стрейтчарта.

.Откроем диаграмму стрейтчарта двойным щелчком мыши по элементу adoption в окне проект. Нарисуем следующий стрейтчарт (рис. 56):

 

Рис. 56. Диаграмма стрейтчарта

 

. Добавляем сложное состояние, включающее в себя оба состояния стрейтчарта.

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

. Удаляем переход из состояния PotentialAdopter в состояние Adopter.

. Изменяем действие внутреннего перехода состояния Adopter. Заменяем строку p.adoption.fireEvent ("buy"); на строку p.adoption.fireEvent(color) (рис. 57);

 

Рис. 57 Изменение действия внутреннего перехода состояния Adopter

 

. Добавляем переход из сложного состояния в состояние Adopter. В окне свойства, задаем свойства перехода: переход должен срабатывать по сигналуColor и выполнять действиеcolor=(Color)getEvent() (рис. 58);

 

Рис. 58 Добавление перехода из сложного состояния в состояние Adopter

 

. Выделяем щелчком мыши состояние PotentialAdopter. Добавляем в Действия при входестрокуcolor = Color.lightGray (рис. 59);

 

Рис. 59 Добавляем в Действия при входестроку

 

Запустим модель щелчком мыши по кнопке панели инструментов запустить. Теперь модель будет изучать распространение сразу двух продуктов.

 

.Описание имитационных вычислительных экспериментов

 

Таблица 2. Описание переменных класса Проект

ИмяЗначениеОписаниеmodel(Main)getOwner()упрощает доступ к окружению (объекту класса Main) из кода объектов, моделирующих агентовisAdopterfalseс помощью этой переменной мы будем определять, является ли данный человек владельцем продукта, или нетx yUniform(300)координаты людей (варьируются от 0 до 300 согласно выбранной функции)color-переменная класса Javа определяет цвет, которым агент будет отображаться на анимации

.Анализ результатов вычислительных экспериментов

 

Модель описывает процесс распространения продукта. Изначально продукт никому не известен, и для того, чтобы люди начали его приобретать, он рекламируется. В итоге определенная доля людей приобретает продукт под воздействием рекламы (Ad_Effectiveness). Также люди приобретают продукт в результате общения с теми, кто этот продукт уже приобрел. Пока человек в сомнении (покупать или нет), он считается потенциальным покупателем(Potencial_Adopter), как только он определяется со своим выбором и приобретает продукт целенаправленно, он - полноценный покупатель.

При создании модели мызадаем определенные параметры, которые остаются для обоих экспериментов неизменными: рассматривается 1000 человек, из них каждый встречается с одной сотней человек в год (Contact_Rate=100).Среди всех этих факторов желение человека приобрести рекламируемый ему продукт = 0,015.

Моделирование приобретения продукта, то есть стадия перехода от потенциального покупателя к покупателю, идет 8 единиц модельного времени.

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

Агенты, координаты которы