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

Объект AgentBase также предоставляет механизм обмена сообщениями между агентами. Функции sendTo… используются для пересылки сообщений различного типа агентам той же популяции. При получении агентом сообщения, начинает выполняться код параметра OnReceive. В этом коде можно задать обработчик события получения сообщения, при этом сообщение будет доступно как встроенная переменная message (типа Object), а агент-отправитель сообщения – как переменная sender (типа ActiveObject).

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

2. Разработка имитационной модели жизненного цикла товара ООО «Стимул»

2.1 Краткая организационно-экономическая характеристика предприятия ООО «Стимул» и его деятельности

Общество с ограниченной ответственностью «Стимул» (далее ООО «Стимул») создано в 1995 году. Зарегистрировано советом учредителей в г. Брянске в 1995 году.Расположено в северо-восточной части города.Предприятие имеет 0,5 га площади, на которой расположено складское и торговое хозяйство, административно-управленческие помещения.

Целью деятельности предприятия является: получение прибыли путём использования имущества ООО «Стимул», осуществление производственно-хозяйственной, коммерческой и прочей деятельности, в порядке и в соответствии с действующим законодательством Российской федерации.Предметом деятельности ООО «Стимул» является:производство товаров народного потребления и предоставление платных услуг населению.

2.2 Разработка имитационной модели жизненного цикла товара ООО «Стимул»

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

· Создаем новый проект:

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

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

2. Укажем имя нового проекта Product Stimyl в поле редактирования Имя проекта.

5. Подтверждаем операцию, нажав кнопку ОК.

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

Рис. 1. Структурная диаграмма в центре рабочей области AnyLogic

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

Рис. 2. Создание нового класса активного объекта


Теперь добавим агентов в модель. Откроем структурную диаграмму класса Main, сделав двойной щелчок мышью по элементу Main в окне Проект. Перетащим мышью класс Person из окна Проект на структурную диаграмму класса Main. Назовем объект people. Зададим количество человек в модели. На вкладке Количество окна Свойства зададим Количество объектов: 1000. Автоматически создано 1100 экземпляров класса Person, каждый из которых будет представлять отдельного агента. Зададим характеристики агента. Характеристики агента задаются с помощью параметров класса. Все агенты обладают общей структурой, поскольку все они задаются объектами одного класса. Параметры же позволяют задавать характеристики индивидуально для каждого агента. Зададим подверженность человека влиянию рекламы. Откроем структурную диаграмму класса Person, сделав двойной щелчок мышью по элементу Person в окне Проект. В окне Свойства, кликаем мышью по кнопке Новый параметр. В появившемся диалоговом окне Параметр, задаем свойства параметра. Изменим имя параметра. В поле Имя введем Ad_Effectiveness. Зададим значение параметра. Введем 0.011 в поле По умолчанию.

Рис. 3. Подверженность человека влиянию рекламы


Рис. 4. Среднегодовое количество встреч человека

Зададим среднегодовое количество встреч человека. Аналогично создаем параметр Contact_Rate. Предположим, что человек в среднем встречается со 90 людьми в год. Введем в поле редактирования По умолчанию 90.

Зададим силу убеждения человека, влияющую на то, сколько людей он сможет убедить в необходимости купить продукт. Для этого создаем параметр Adoption_Fraction. Зададим значение 0.014.

Рис. 5. Сила убеждения человека

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

Когда поместили элемент на структурную диаграмму, этот элемент стал выбранным, и дальше изменили свойства элемента в окне Свойства. В дальнейшем для изменения свойств элемента нужно было вначале щелчком мыши выделить его на диаграмме или в окне Проект. Изменили имя переменной на model в поле редактирования Имя. Задали Тип переменной: Main. Main – это класс корневого объекта нашей модели. Задали начальное значение: (Main) getOwner(). Эта переменная понадобится нам, чтобы упростить доступ к окружению (объекту класса Main) из кода объектов, моделирующих агентов. Аналогично создадим переменную isAdopter: с помощью этой переменной мы будем определять, является ли данный человек владельцем продукта, или нет.

Зададим поведения агента Поведение агента задается визуально с помощью стейтчарта (диаграммы состояний). Для создания откроем структурную диаграмму класса Person, сделав двойной щелчок мышью по элементу Person в окне Проект. Кликнем мышью вначале по кнопке панели инструментов Стейтчарт, а затем по диаграмме. На диаграмме появится значок стейтчарта. Сделаем двойной щелчок мышью по этому значку. Автоматически откроется диаграмма со следующим стейтчартом рис 7.

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