Реферати українською » Экономико-математическое моделирование » Імітаційне моделювання життєвого циклу товару на прикладі ТОВ "Стимул"


Реферат Імітаційне моделювання життєвого циклу товару на прикладі ТОВ "Стимул"

класу активного об'єкта


Тепер додамо агентів в модель. Відкриємо структурну діаграму класу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.

>Рис. 6.Сейтчарт

У вікні Властивості, поставимо нове Ім'ястейтчарта: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.


>Рис. 14. Перехід зі стануPotentialAdopter до стануAdopter

Цей перехід спрацьовуватиме за сигналом, який генеруватися внутрішнім переходом стануAdopter. На сторінці властивостей переходу, на полі Відбуваєтьсявиберали За сигналом, і поставили вид Сигналу. На сторінці властивостей переходу, на полі Відбувається вибрали За сигналом, і поставили вид Сигналу. Запустили модель клацанням миші по кнопці панелі інструментів Запустити.

Діаграма матиме такий її різновид:

>Рис. 15. Діаграма обліку впливу спілкування людей

Тепер змоделюємо повторних покупок. Створена модель не враховує те, що згодом продукт то, можливо витрачено чи завітати у непридатність, що викликає необхідність її повторного придбання.Смоделируем повторні купівлі, вважаючи, що споживачі продукту знову стають потенційними споживачами, коли продукт, купленому ними, стає непридатний. Спочатку поставимо термін їхньої служби продукту. І тому відкрийте структурну діаграму класуMain, зробивши подвійний щиголь мишею по елементуМain з вікна Проект. Створюємо параметрDiscard_Time. Нехай середній термін їхньої служби продукту дорівнює півтора року і. Зробимо параметр глобальним.

>Рис. 16.Параметр термін їхньої служби продукту

>Изменимстейтчарт. Відкриємо діаграмустейтчарта подвійним клацанням миші по елементуadoption з вікна Проект. Додамо перехід із стануAdopter до стануPotentialAdopter.Задим такі властивості переходу:

>Рис. 17. Властивості переходу із стануAdopter до стануPotentialAdopte

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


>Рис. 18. Діаграма динаміки зміни числа споживачів

Тут бачимо, що насичення ринку на моделі з повторними покупками не досягається. Створимо просторову модель. Тепер зробимо модель просторової, аби поставити місця проживання людей. Відкриємо структурну діаграму класуPerson, зробивши подвійний щиголь мишею по елементуPerson з вікна Проект. Створимо перемінні x і y типу real. Для обох змінних задаємо початкова значення:uniform(300).С допомогою функції рівномірного розподілуuniform() поміщаємо людини у точку зі випадково обраними координатами від 0 до 300. Далі створюємо функцію,вичисляющую відстань для людей. У вікні Проект, клацніть правої кнопкою миші по елементуPerson і вибираємо Нова математична функція… з контекстного меню. У який з'явився діалоговому вікні задаємо ім'я функції:distance. У вікні Властивості, залишіть обраний за умовчанням типвозвращаемого значення функції. Ставимо аргументи, передають функції координати іншу людину:

>Рис. 19. Аргументи, передають функції координати іншу людину


Ставимо вираз функції:

>Рис. 20. Вислів функціїsqrt()

Функціяsqrt() є визначеною функцієюAnyLogicTM.

>Изменимстейтчарт. Відкриємо діаграмустейтчартаadoption, зробивши подвійний щиголь мишею по елементуadoption з вікна Проект. Виділимо клацанням миші внутрішній перехід стануAdopter і змінимо Дія переходу:

>Рис. 21. Зміни дії переходу

Люди спілкуватимуться ні з будь-якими своїми знайомими, незалежно від місця проживання, лише з тими, хто поблизу. Запустимо модель.

Створимо анімацію для моделі. Тепер потрібно створити наочну візуалізацію досліджуваного процесу.AnyLogicTM дозволяє створювати інтерактивну анімацію із можливістю зміни параметрів системи з ходу моделювання процесу.

Спочатку створимо зміну, яка знадобиться нам для анімації агента. Відкриємо структурну діаграму класуPerson, зробивши подвійний щиголь мишею по елементуPerson з вікна Проект. Створюємо змінуcolor типуColor змінна визначатиме колір, яким агент вказуватиметься на анімації. Анімація вAnyLogicTM малюється на анімаційної діаграмі. Створюємо анімаційну діаграму.Щелкнем правої кнопкою миші по елементуMain в дереві моделі і виберемо Нова анімація… з контекстного меню. У який з'явився діалоговому вікні поставимо ім'я анімації моделі:animation. Автоматично з'явиться вікно редактора анімації.Изменим розмір анімації.Передвинем рамку анімаційної області, щоб вона мала координати (-20, -20), і зміните воно на (520, 340). Необхідно показати на анімації людей, що у досліджуваній галузі. Це вказуватиметься їх точками різних кольорів, залежно від цього, придбали вони продукт, або ще немає.

>Нарисуем кордон досліджуваній галузі.Щелкните мишею по кнопці панелі інструментівПрямоугольник.Щелкнем лівої кнопкою миші поруч із точкою (-10, -10) і відпускаючи кнопку,переместим миша в точку (310, 310).Нарисуем на анімації агентів з допомогою маленьких прямокутників.Щелкнем мишею по кнопці панелі інструментівПрямоугольник. У вікні Властивості, поставимо Ім'я прямокутника:agentShape.

>Рис. 22.Анимационная область


Поставимо розмір прямокутника: ширина – 3, висота – 3. Поставимо Кількість анімаційних об'єктів. Поставимо місце розташування постатей агентів на анімації. Поставимо колір то з допомогою наступного висловлювання. Цей вислів перевіряє, чи є людина власником продукту (аналізується значеннябулевской перемінноїisAdopter). Якщо можна, ця людина вказуватиметься на анімації синьої точкою, якщо ні - то сірої.

Тепер додамо на анімацію індикатори, з допомогою яких будемо відстежувати, скільки людей набуло продукт, а скільки – немає. Додамо індикатор числа потенційних споживачів продукту.Щелкнем мишею по кнопці панелі інструментівСтолбцовий індикатор.Поместим індикатор на анімацію, клацнувши мишею праворуч від прямокутника досліджуваній галузі. Навкладке Загальні вікна Властивості, змінимо розмір індикатора: x – 350, у – 80, ширина – 30, висота 200. НавкладкеСтолбцовий індикатор вікна Властивості, вибирали зміну, яку відображати цей індикатор:positional_adopters.

Поставимо максимальне відображуване значення на полі Максимум, змінимо колір індикації і скинемо прапорецьОтображать шкалу. Додамо індикатор числа споживачів. Додамо підписи до індикаторами. Додамо елемент управління.

Тепер хочемо досліджуватимоделируемий процес у впродовж понад багато часу, тому зробимо те щоб наша модель працювала нескінченно.Удалим умова зупинки моделі. У вікні Проект, клацніть мишею по елементуSimulation. Навкладке Додаткові вікна Властивості, скинули прапорець Зачекайте за часом. Тепер закінчили створення анімації.Запускаем модель клацанням миші по кнопці.


>Рис. 23. Анімація моделі


3. Аналіз результатів виконання завдання

Технологія системного моделювання – основа цілеспрямованої діяльності, сенс якого у забезпеченні можливості ефективного виконання на ЕОМ досліджень функціонування складної системи.

Імітаційна модель – специфічне, складне програмне виріб, її розробка має проводитися із застосуванням високотехнологічних систем моделювання. Дії дослідника організуються всіх етапах імітаційного моделювання, починаючи з вивчення предметної області й виділеннямоделируемой проблемної ситуації та закінчуючи побудовою і реалізацією планів машинних експериментів і обробкою результатів.

Аналіз означає, як змінюється вихідна змінна Y при невеликих змінах різних параметрів моделі чи його входів X.

>Величини параметрів систематично варіюються у деяких які становлять інтерес межах (>ХminХmax) бачимо вплив цих варіацій на ті характеристики системи (>YminYmax). Якщо за незначних змінах величин деяких параметрів результати змінюються дуже, це основу витрати великої кількості часу та коштів для одержання точніших оцінок. І навпаки, якщо кінцеві результати за зміни величин параметрів в межах не змінюються, то подальше експериментування у цьому напрямі даремно і невиправдано. Тому дуже важливо визначити рівень чутливості результатів щодо вибраних на дослідження величин параметрів.

Дослідження чутливості попередня процедурою перед плануванням експерименту, і дозволяє визначити стратегію планування експериментів на імітаційної моделі.

Процедури верифікації івалидации власне імітаційної моделі і її програмного коду вимагають проведення широкого спектра тестовихимитационних експериментів відповідно до сценаріями, розробленим у процесі як тактичного, і стратегічного планування.

Стратегічне планування спрямоване влади на рішення завдань аналізу чутливості імітаційної моделі й визначення комбінації які оптимізують досліджувану систему параметрів.

Тактична планування дозволяє краще визначитися з умовами проведення кожного прогону у межах складеного плану експерименту, і стосується питань ефективності і визначенням способів

Схожі реферати:

Навігація