Курсовая работа: Имитационное моделирование жизненного цикла товара на примере ООО "Стимул"

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

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

Рис. 7. Сейтчарт

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

эффективности рекламы продукта. Помимо функции экспоненциального распределения exponential(), AnyLogic предоставляет функции и других случайных распределений, таких как нормальное, равномерное, треугольное и т.д.

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

Создали две переменные: adopters и potential_adopters. Изменили стейтчарт. Открыли диаграмму стейтчарта, сделав двойной щелчок мышью по элементу statechart в окне Проект. Щелкнули мышью по состоянию PotentialAdopter. В окне Свойства, задали Действие при входе в состояние и Действие при выходе из этого состояния: при входе в состояние мы будем увеличивать на единицу значение переменной, подсчитывающей количество потенциальных потребителей продукта. При выходе из состояния мы будем уменьшать значение этой переменной. Для того чтобы подтвердить произведенное изменение, вызывали функцию setModified() объекта, моделирующего окружение. Кроме того, измерилои значение переменной isAdopter, чтобы показать, купил ли этот человек наш продукт (если да, то значение переменной равно true, если нет, то false). Аналогично задалисвойства состояния Adopter. Запустим модель. Построим проект с помощью кнопки панели инструментов Построить.

Теперь изучим динамику процесса. С помощью диаграмм можно понаблюдать за динамикой моделируемого процесса. Создадим диаграмму, отображающую динамику изменения числа потребителей и потенциальных потребителей продукта. Подготовили модель к запуску, щелкнув мышью по кнопке панели инструментов Выполнить шаг. Щелкнули мышью по кнопке панели инструментов Новая диаграмма. Появилось окно новой диаграммы. Выбрали переменные, которые должны быть отображены на диаграмме. Щелкнули правой кнопкой мыши по окну диаграммы и выбрали Содержимое диаграмм из контекстного меню. Появилось диалоговое окно Содержимое диаграммы. Добавили переменную potential_adopters, сделав двойной щелчок мышью по значку переменной root.potential_adopters в списке Переменные, параметры, наборы данных.

Рис. 8. Содержимое диаграммы

Аналогичным способом добавили переменную root.adopters. Затем изменили параметры диаграммы Подготовили модель к запуску. Выбрали Параметры диаграммы… из контекстного меню. В появившемся диалоговом окне задали временной диапазон диаграммы.

Рис. 9. Параметры диаграммы


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

Рис. 10. Диаграмма динамики моделируемого процесса

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

В основном люди приобретают новые продукты именно под влиянием убеждения своих знакомых; этот процесс чем-то похож на распространение эпидемии. Чтобы учесть влияние общения людей, внесем в модель небольшие изменения. Изменим стейтчарт. Откроем диаграмму стейтчарта adoption, сделав двойной щелчок мышью по элементу adoption в окне Проект. Добавим в состояние Adopter внутренний переход. Задаем таймаут, по которому происходит переход.

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

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

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

Рис. 12. Задание таймаута перехода

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

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


К-во Просмотров: 289
Бесплатно скачать Курсовая работа: Имитационное моделирование жизненного цикла товара на примере ООО "Стимул"