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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    980,81 Кб
  • Опубликовано:
    2012-06-02
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Министерство по науке и образованию РФ

Брянский государственный технический университет









Курсовой проект

на тему: «Моделирование рекламных кампаний»

Дисциплина: «Компьютерное моделирование социальных процессов и систем»



Выполнила: студентка гр. 08-Сц

________________ Кабанцова Е.В.

Проверил:

_______________ Шалимов П.Ю.



Брянск 2012

Задание на выполнение курсового проекта

Дисциплина: компьютерное моделирование социальных процессов и систем

Ст. гр. 08СЦ ФИО Кабанцова Е.В.

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

Дата выдачи задания: 27.03.2012

Срок сдачи проекта: 27.05.2012

Содержание записки:

Описание модели;

Применение модели в социологии;

Пооперационное описание разработки реализации модели в пакете Anylogic;

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

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

Использованные источники.

Преподаватель Шалимов П.Ю.

Содержание:

Введение

.     Описание модели

2.      Применение модели в социологии

.        Пооперационное описание разработки реализации модели в пакете Anylogic

3.1 Создание модели

.1.1 Создание проекта

.1.2 Создание агентов

3.1.3 Задание характеристик объекта

.1.4 Задание поведения агента

.1.5 Подсчет потребителей продукта

.1.6 Конфигурирование модели

.1.7 Изучение динамики процесса

.1.8 Учет влияния общения людей

.1.9 Моделирование повторных покупок

.1.10 Создание пространственной модели

.1.11 Создание анимации

.2 Улучшенная модель жизненного цикла продукта

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

.2.2   Изучение распространения нескольких продуктов

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

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

Использованные источники

Введение

рекламный моделирование anylogic

Первая модель рекламы, учитывающая ее воздействие на психику потребителя, стала известна на Западе в 1896 году. Ее автором был Э. Палмер. Он считал, что результатом воздействия рекламы является изменение психологического состояния потребителя. Если человека появилось желание купить товар, следовательно, реклама достигла своей цели. Согласно его мнению, в воздействии на психику потребителя существуют следующие этапы:

·внимание,

·интерес,

·мотив,

·желание,

·активность.

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

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

В данной работе представлена и поэтапно расписана модель рекламной кампании, проведен эксперимент, проанализированы полученные данные и сформулирован вывод. Все процессы смоделированы в программеAnyLogic.

.       
Описание модели

Социальное прогнозирование как исследование с широким охватом объектов анализа опирается на множество методов. При классификации методов прогнозирования выделяются основные их признаки, позволяющие их структурировать по: степени формализации; принципу действия; способу получения информации.

Степень формализации в методах прогнозирования в зависимости от объекта исследования может быть различной; способы получения прогнозной информации многозначны, к ним следует отнести: методы ассоциативного моделирования, морфологический анализ, вероятностное моделирование, анкетирование, метод интервью, методы коллективной генерации идей, методы историко-логического анализа, написания сценариев и т.д. Наиболее распространенными методами социального прогнозирования являются методы экстраполяции, моделирования и экспертизы.


Моделирование - это метод исследования объектов познания на их аналогах - вещественных или мысленных.

Аналогом объекта может быть, например, его макет, чертеж, схема и т.д. В социальной сфере чаще используются мысленные модели. Работа с моделями позволяет перенести экспериментирование с реального социального объекта на его мысленно сконструированный дубликат и избежать риска неудачного, тем более опасного для людей управленческого решения. Главная особенность мысленной модели и состоит в том, что она может быть подвержена каким угодно испытаниям, которые практически состоят в том, что меняются параметры ее самой и среды, в которой она (как аналог реального объекта) существует. В этом огромное достоинство модели. Она может выступить и как образец, своего рода идеальный тип, приближение к которому может быть желательно для создателей проекта.

Модель рекламной кампании, описанная в программеAnyLogic, поможет социологам и маркетологам, предварительно зная поведенческие принципы поведения людей, проанализировать как население будет воспринимать это нововведение; позволит сделать выводы.

.       
Применение модели в социологии

Реклама превратилась в институт общественной жизни в конце XIX века, когда возникли рекламные агентства, и реклама стала самостоятельным профессиональным видом деятельности. За сто лет своего функционирования реклама выросла в индустрию с миллиардными оборотами и развитой структурой, заполнив повседневность человека разнообразными рекламными сообщениями. Каждодневная жизнь человека современного общества пронизана телевизионными рекламными спотами, газетными и журнальными рекламными объявлениями, щитовой и наружной рекламой. Человек живет в рекламном пространстве и, конечно, испытывает колоссальное ее воздействие. На индивидуально-личностном уровне это воздействие является предметом исследования психологии. На социальном, обезличенном - социологии. Попытаемся описать круг проблем, которые составляют предметное поле социологии рекламы.

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

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

В первом случае объектом исследования выступает реклама как институт современного общества. Во втором - как правило, исследуется поведение людей с целью повышения эффективности рекламного воздействия. Если в первом случае мы имеем «рекламу в социологии», то во втором скорее нужно говорить о «социологии в рекламе».

Реклама в социологии. Главной проблемой социологии рекламы выступает влияние рекламы на общественную систему в социетальном восприятии и влияние общественной системы на рекламу в конкретно историческом аспекте. Это два аспекта одного и того же процесса. Первый аспект связан с пониманием того, как рекламные образы, создаваемые для продвижения товаров, услуг, идей влияют на само общество, как реклама меняет его культурные, нравственные устои; может ли реклама изменить общественную атмосферу или культурные парадигмы конкретного общества, или она призвана пропагандировать только то, что в обыденной жизни уже есть. Все эти вопросы, в их более широкой постановке - о роли коммуникативных институтов в общественной жизни, активно обсуждаются еще с начала ХХ-го столетия, когда средства массовой информации стали стремительно вторгаться в общественную жизнь. Нельзя сказать, что в настоящий момент эти вопросы нашли свое разрешение.

Вместе с тем нельзя не подчеркнуть и другой аспект проблемы взаимосвязи общества и рекламы, а именно влияния общественных процессов на функционирование рекламы как общественного института. Почему, например, в условиях функционирования советской общественной системы реклама как общественный институт практически отсутствовала, а возникновение зачатков рыночного общественного механизма привело к институционированию рекламы? Что происходит с рекламой в условиях кризиса общественной системы? Каким содержанием наполняется рекламное пространство в период политической нестабильности?

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

Несомненный интерес вызывают проблемы влияния рекламы на воспитательные и образовательные институты общества. И, конечно, рекламистов очень интересует, как изменения в образовательной сфере отразятся на функционировании отдельных видов рекламной практики: реклама на телевидении, в прессе, на радио и т.д.

Особо в этом ряду стоит проблема влияния рекламы на средства массовой информации, поскольку именно средства массовой информации являются основными носителями рекламы. Как, например, повлияет на изменение рекламной практики возникновение интерактивного телевидения? Или функциональное слияние телевизора и компьютера? Прогноз развития средств массовой информации как носителей рекламы очень важен, поскольку он позволяет прогнозировать развитие рекламного рынка, распределение и перераспределение финансовых потоков между различными субъектами рекламной индустрии.

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

Реклама существенным образом меняет восприятие мобильности в общественном сознании, перемещая эту проблему из сферы материального производства в сферу потребления.

.       
Пооперационное описание разработки реализации модели в пакете Anylogic

3.1 Создание модели

Для создания модели изучения миграции населения, сначала построим модель жизненного цикла продукта.

3.1.1 Создание проекта

Сначала создадим новый проект для модели.

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

.        Щелкаем мышью по кнопке выбрать и выбираем директорию, в которой будем хранить файл.

.        Указываем имя нового проекта слои населения. Вводим ProductLifeCycle в поле редактированияимя проекта. Щелкаем по кнопке ОК.

Новый проект создан. Мы видим структурную диаграмму (рис.1) в центре рабочей области программы AnyLogic.

Рис. 1 Структурная диаграмма проекта

.1.2 Создание агентов

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

. В появившемся диалоговом окне задаем имя нового класса Person (рис. 2)

Рис. 2. Диалоговое окно класса Person

Автоматически появилось окно структурной диаграммы класса Pеrson.

Добавим агенты в модель.

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

.        Перетаскиваем мышью класс Pеrson из окна проект на структурную диаграмму класса Main.

.        Называем объект people.

.        Задаем количество человек в нашей модели. На вкладке количество окна свойства задаем количество объектов - 1000. Автоматически будет создано 1000 экземпляров класса Pеrson, каждый из которых будет представлять отдельного агента.

.1.3 Задание характеристик объекта.

Задание подверженности человека влияния рекламы.

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

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

.        Изменим имя параметра. В поле имя вводим Ad_Effectiveness.

.        Задаем значение параметра, введем 0,011 в поле по умолчанию. Новый параметр добавлен в таблицу параметры.

Рис.4 Отображение класса Person

Задание среднегодового количества встреч.

.        Аналогично создаем параметр Contact_Rate.

6.      Предположим, что человек в среднем встречается со 100 людьми в год. Введем в поле редактирования по умолчанию 100 (рис.5).

Рис.5 Параметр переменной Contact_Rate

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

Задаем силу убеждения человека.

.        Создаем параметр Adoption_Fraction.

.        Задаем значение 0,015(рис 6)

Рис. 6 Параметр переменной Adoption_Fraction

Создание вспомогательных переменных.

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

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

.        Изменяем имя переменной. В окне свойства вводим model в поле редактирования имя (см. рис. 7).

.        Задаем тип переменной Main. Main - это класс корневого объекта нашей модели.

Рис. 7 Переменная model

5.      Задаем начальное значение (рис 8).

Рис. 8 Начальное значение переменной model

.        Аналогично создаем переменную isAdopter.

3.1.4 Задание поведения агента

Создание стрейтчарта.

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

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

.        Делаем двойной щелчок мышью по этому значку. Автоматически открывается диаграмма со следующим стрейтчартом (см. рис 9):

Рис. 9 Стрейтчартstate

.        В окне свойства задаем новое имя adoption.

.        Щелкаем мышью по состоянию state, нажимаемF2 и переименовываем состояние в PotentialAdopter. Это начальное состояние, о чем свидетельствует указатель начального состояния, направленный в это состояние. Если стрейтчарт будет находиться в этом состоянии, то это будет означать, что этом человек еще не купил продукт.

.        Рисуем следующий стрейтчарт (рис. 10):

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

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

.        В окне свойства выбираем по таймауту из выпадающего списка «происходит» и задаем таймаут (рис. 11)

Рис. 11 Задание таймаута transition

Время, через которое человек купит продукт, экспоненциально зависит от эффективности рекламы продукта.

.1.5 Подсчет потребителей продукта

Создание двух переменных.

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

.        Создаем переменную adopters(рис. 12).

Рис. 12. Переменная adopters

.        Создаем переменную potential_adopters

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

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

.        Щелкаем мышью по состоянию PotentialAdopter. В окне свойства задаем действие при входе в состояние и действие при выходе из этого состояния (рис. 14)

 

Рис. 14 Задание действия при входе и выходе

.        Аналогично задаем свойства состояния Adopter (рис. 15):

3.1.6 Конфигурирование модели

Задание основ модели.

.        В окне проект щелкаем мышью по эксперименту Simulation.

.        На вкладке дополнительные окна свойстваустанавливаем флажок стоп по времени. В поле редактирования справа вводим 8 (рис. 16). Модель остановится после того, как истекут 8 единиц модельного времени.

Рис. 16 Установка флажка «стоп по времени»

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

После того, как проект будет удачно построен, можем запустить модель, щелкнув мышью по кнопке панели инструментовзапустить. До этого момента мы работали в режиме редактирования пакета AnyLogic. Когда мы запустили модель, AnyLogic переключится в режим просмотра. В режиме просмотра мы можем управлять выполнением модели, строить графики переменных, динамически изменять значения параметров, и т.д.

.1.7 Изучение динамики процесса

Создание диаграммы

. Подготовим модель к запуску, щелкнув мышью по кнопке панели инструментов выполнить шаг

. Щелкаем мышью по кнопке панели инструментов Новая диаграмма. Появится окно новой диаграммы.

. Выбираем переменные, которые должны быть отображены на диаграмме. Щелкаем правой кнопкой мыши по окну диаграммы и выбираемСодержимоедиаграммыиз контекстного меню. Появится диалоговое окно Содержимое диаграммы.

. Добавляем переменную potential_adopters, сделав двойной щелчок мышью по значку переменной root.potential_adopters в списке переменные, параметры, наборы данных (рис. 17).

. Аналогичным способом добавляем переменную root.adopters.

. Щелкаем мышью по кнопке OK.

Изменение параметров диаграммы.

. Подготовим модель к запуску, щелкнув мышью по кнопке панели инструментов выполнить шаг.

. Щелкаем правой кнопкой мыши по окну диаграммы и выбираем параметры диаграммы (рис. 18)из контекстного меню. В появившемся диалоговом окне задаем временной диапазон диаграммы:

Теперь перезапускаем модель, поочередно щелкнув мышью по кнопкам панели инструментов перезапуститьизапустить (рис. 19). Диаграмма показывает, как изменяются переменные potential_adopters и adopters во время моделирования.

Рис. 19 Диаграмма динамики

.1.8 Учет влияния общения людей

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

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

. Добавляем в состояние Adopter внутренний переход (рис. 20).

Рис. 20 Добавление внутреннего перехода

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

. Задаем таймаут, по которому происходит переход(рис. 21):

Рис. 21 Переход по таймауту

Этот переход будет моделировать покупку продукта знакомым этого человека. То, насколько быстро этот владелец продукта сумеет убедить своего знакомого в необходимости покупки, будет зависеть от силы убеждения этого человека и от того, сколько знакомых он встречает за год.

. Задаем действие перехода (рис. 22):

Рис.22 Действие перехода

. Добавляем еще один переход из состояния PotentialAdopter в состояние Adopter (рис. 23):

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

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

.        На странице свойств перехода, в поле «происходит»выберемпо сигналу, и задаем вид сигнала (рис. 24):

Запустим модель щелчком мыши по кнопке панели инструментов запустить. Диаграмма будет иметь такой вид (рис. 25):

 

Рис. 25 Диаграмма учета влияния людей

Графики переменных представляют собой классические S-образные кривые.

3.1.9 Моделирование повторных покупок

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

Вначале мы зададим срок службы продукта.

Задаем средний срок службы продукта.

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


Рис. 26 Параметр переменной Discard_Time

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

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

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

. Задаем следующие свойства перехода (рис. 28):

Рис. 28 Свойство перехода

Мы закончили моделирование повторных покупок продукта. Запустим модель щелчком мыши по кнопке панели инструментов запуститьи с помощью диаграммы (рис. 29) проследим динамику изменения числа потребителей продукта.

Мы видим, что насыщение рынка в модели с повторными покупками не достигается.

.1.10 Создание пространственной модели.

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

Задание координат людей в пространстве

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

. Создаем переменные x и y типа real. Для обеих переменных задаемНачальное значение (рис. 30):

Рис. 30 Начальное значение переменных x и y

С помощью функции равномерного распределения uniform() мы помещаем человека в точку со случайно выбранными координатами от 0 до 300.

Создание функции, вычисляющей расстояние между людьми.

.        В окне проект, щелкаем правой кнопкой мыши по элементу Person и выбираем новая математическая функцияиз контекстного меню. В появившемся диалоговом окне задаем имя функции: distance (рис. 31).

.        В окне свойства, оставим выбранный по умолчанию тип возвращаемого значения функции.

Рис. 31 Функция distance

. Задаем аргументы, передающие функции координаты другого человека (рис. 32):

Рис. 32 Аргументы

.        Задаем выражение функции (рис. 33):

Рис. 33 Выражение функции

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

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

. Выделяем щелчком мыши внутренний переход состояния Adopter и измените действиеперехода (рис. 34):

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

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

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

.1.11 Создание анимации

Создание новой переменной

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

. Создаем переменную color типа Color. Color - это класс Java, позволяющий использовать часто используемые цвета (черный, синий, красный, голубой, желтый и т.д.), а также создавать любые другие.Эта переменная будет определять цвет, которым агент будет отображаться на анимации.

Анимация в AnyLogicрисуется на анимационной диаграмме.

Создание анимационной диаграммы

. Щелкаем правой кнопкой мыши по элементу Main в дереве модели и выберем новаяанимацияиз контекстного меню. В появившемся диалоговом окне задаем имя анимации модели: animation.

Автоматически появилась окно редактора анимации.

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

. Передвинем рамку анимационной области, чтобы она имела координаты (-20, -20), и изменим ее размер на (520, 340).

Теперь мы нарисуем анимацию наподобие показанной на рисунке ниже (рис.35)

Рис. 35 Анимация

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

Нарисуем границу исследуемой области

. Щелкаем мышью по кнопке панели инструментов Прямоугольник.

. Щелкаем левой кнопкой мыши рядом с точкой (-10, -10) и, не отпуская кнопку, переместим мышь в точку (310, 310).

Нарисуем на анимации агентов с помощью маленьких прямоугольников

. Щелкаем мышью по кнопке панели инструментов Прямоугольник.

. В окне СвойствазадамИмяпрямоугольника (рис. 36):

Рис. 36 Имя прямоугольника

. Задаем размер прямоугольника (рис. 37):

Рис. 37 размер прямоугольника

. Задаем количество анимационных объектов (рис. 38):

Рис. 38 Количество анимационных объектов

. Задаем местоположение фигур агентов на анимации (рис. 39):

Рис. 39 Местоположение фигур агентов на анимации

. Задаем цвет фигуры с помощью следующего выражения:

Это выражение проверяет, является ли человек владельцем продукта (анализируется значение булевской переменной isAdopter). Если да, то этот человек будет отображаться на анимации синей точкой, если нет - то серой.

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

. Щелкаем мышью по кнопке панели инструментов столбцовый индикатор.

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

. На вкладке общие окна свойства, изменим размер индикатора (рис. 41):

Рис. 41 Изменение размера индикатора

. На вкладке столбцовый индикатор окна свойства, выберем переменную, которую будет отображать этот индикатор (рис. 42):

Рис. 42 Переменная отображения индикатора

. Задаем максимальное отображаемое значение в поле максимум, изменим цвет индикации и сбросим флажок отображать шкалу (рис. 43).

Рис. 43 Задание параметров переменной

Добавим индикатор числа потребителей

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

. Щелкаем правой кнопкой мыши по диаграмме и выберем вставить из контекстного меню. Новый индикатор появится на диаграмме. Расположим его правее индикатора численности потенциальных потребителей продукта.

. Выберем adopters в качестве переменной, которую отображает индикатор и изменим цвет индикации.

Добавление подписи к индикаторам

. Щелкаем мышью по кнопке панели инструментов текст.

. Поместим текстовую метку на диаграмму, щелкнув мышью под левым индикатором.

. Задаем текст, который будет отображаться в текстовом поле. В поле редактирования текст, расположенном на вкладке текст окна свойства, введем PotentialAdopters.

. Изменим шрифт текста. Щелкаем мышью по кнопке выбрать, и в появившемся диалоговом окне установим шрифт TimesNewRoman размером 8.

. Аналогично поместим метку Adopters под правым индикатором.

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

Добавление элементов управления

. Щелкаем мышью по кнопке панели инструментов бегунок.

. Поместим бегунок на диаграмму, щелкнув мышью над индикаторами.

. На вкладке общие окна свойства, изменим размер элемента управления (рис 44):

Рис. 44 Изменение размера элемента управления

. На вкладке бегунок окна свойства, выберем переменную, значение которой будем изменять с помощью этого элемента управления (рис. 45)

Рис. 45 Переменная элемента управления

. Задаем минимальные и максимальные значения бегунка (рис. 46):

Рис. 46 Задание максимального значения бегунка

. Поместим на анимацию три метки: DiscardTime - под бегунком, 0.5 у левого края бегунка и 2.5 - у правого.

Теперь мы хотим исследовать моделируемый процесс в течение более длительного времени, поэтому сделаем так, чтобы наша модель работала бесконечно.

Удаление условия остановки модели

. В окне проект, щелкнем мышью по элементу Simulation.

. На вкладке дополнительные окна свойства, сбросим флажок стоп по времени.

Мы закончили создание анимации. Запустим модель щелчком мыши по кнопке запустить (рис. 47). Мы увидим анимацию наподобие показанной на рисунке ниже:

Рис. 47 Анимация

Включение режима сглаживания

. Щелкаем мышью по кнопке панели инструментов настройки анимации. В появившемся диалоговом окне, установим флажок сглаживание (рис. 48).

Рис.48 Режим сглаживания

Мы можете изменять скорость выполнения модели с помощью кнопок панели инструментов уменьшить скорость и увеличить скорость.

.2 Улучшенная модель жизненного цикла продукта

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

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

Создаем новые переменные.

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

. Создаем переменную adX типа real.

. Создаем переменную adY типа real.

. Создаем переменную adTime типа real. Задаем Начальное значение: -1.

. Создайте переменную adRange типа real. Задаем Начальное значение: 50.

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

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

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

. Щелкаем по кнопке панели инструментов таймер, а затем по диаграмме класса. Называем таймер adTimer.

. Нам нужно, чтобы таймер срабатывал несколько раз, поэтому проверим, чтобы был установлен флажок циклический (рис. 49).

Рис. 49 Настройка таймера

. Задаем таймаут (рис. 50):

Рис. 50 Задание таймаута

. Задаем действие при срабатывании (рис. 51):

Рис. 51 Задание действия при срабатывании

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

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

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

. Удалим переход из состояния PotentialAdopter в состояние Adopter (переход с таймаутом exponential(adEffect)), выделив его щелчком мыши и нажав delete.

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

Нарисуем круг

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

. Щелкнем мышью по кнопке панели инструментов овал, затем щелкнем по анимационной диаграмме. Задаем следующие свойства фигуры (рис.52):

Рис. 52 Свойства фигуры

Местоположение круга на диаграмме определяется переменными adX и adY, хранящими координаты центра области проведения текущей кампании. Круг будет виден в течение 0.2 единиц модельного времени после момента проведения кампании.

. Щелкаем по закладке овал окна свойства и задаем радиусы овала с помощью созданной ранее переменной adRange (рис. 53):

Рис. 53 Задание свойств фигуры

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

.2.2 Изучение распространения нескольких продуктов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

adX = uniform( adRange, 300 - adRange );= uniform( adRange, 300 - adRange );= getTime();= uniform() > 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) из кода объектов, моделирующих агентов

isAdopter

false

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

x y

Uniform(300)

координаты людей (варьируются от 0 до 300 согласно выбранной функции)

color

переменная класса Javа определяет цвет, которым агент будет отображаться на анимации


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

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

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

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

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

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

Если на одной территории собирается более 100 агентов одного вида (цвета), то на анимации образуется общность (круг красного или синего цвета).

Использованные источники

1. Гуц А. К., Математические модели социальных систем: Учебное пособие. - Омск: Омск. гос. ун-т, 2000. - 256 с.

. Добреньков В.И., Кравченко А.И. Методы социологического исследования: Учебник. - М.: ИНФРА-М, 2006

. Заславская Т.И. Современное российское общество: Социальный механизм трансформации: Учеб. пособие. - М.: Дело, 2009.

. Коробицын В. В., Гуц А. К. Программное обеспечение MEP для моделирования эволюционных и социальных процессов // Вестник Омского университета. Омск, 1999. Вып. 2..

5. Учебное пособие по агентному моделированию; XJ Technologies Company Ltd AnyLogic@xjtek.com <http://www.xjtek.com/products/anylogic>.

. Юдина Т.Н. Социология миграции: Учебное пособие для вузов. М: Академический Проект, 2006. - 272 с.


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