Материалы тренинга по AnyLogic. Решение на уровне модели мир без риска мир без риска реальный мир Мир моделей Реальный мир Решение Проблема
Скачать 12.33 Mb.
|
Д Ц щелкните по ссылке Другие цвета из выпадающего списка Цвет заливки и выберите нужный Вам цвет из диалога Цвета. Замените Действие при входе состояния на Д р д person.setFillColor(silver); Таким образом мы изменяем цвет презентации (фигурки человечка) на серебряный (silver) для того, чтобы отразить З изменение его состояния на презентации. Здесь person это имя фигуры презентации потребителя, созданной мастером создания моделей. Аналогично измените свойства нижнего состояния : Имя: Действие при входе person.setFillColor(limeGreen); © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 390 Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Измените свойства перехода Удалите переход 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 391 Переход ведущий из состояния PotentialUser в состояние Переход, ведущий из состояния PotentialUser в состояние, будет моделировать покупку продукта под влиянием рекламы. Назовите его Ad. Сделайте этот б переход срабатывающим с интенсивностью AdEffectiveness. Такой тип перехода является ничем иным, как переходом срабатывающим по истечении как переходом, срабатывающим по истечении стохастического таймаута. Значение таймаута вычисляется согласно экспоненциальному распределению отдельно для каждого агента в момент перехода диаграммы в состояние PotentialUser. Поэтому каждому потребителю потребуется свое время на принятие решения о покупке, потребуется свое время на принятие решения о покупке, но при этом в среднем задень продукт будет приобретать 1% потенциальных потребителей. й Удалите переход, ведущий из нижнего в верхнее состояние, поскольку на данном этапе мы полагаем срок службы продукта бесконечными поэтому однажды службы продукта бесконечными поэтому однажды купивший продукт человек остается его пользователем навсегда 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 392 Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Выделите объект и переименуйте его в Задайте Имя и Условие статистической функции статистической функции Откройте страницу Статистика Задайте еще одну функцию Статистика Щелкните по кнопке 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 393 Откройте диаграмму класса Main и переименуйте реплицированный р д р у р у р ц р объект, моделирующий потребителей, в consumers. Мы хотим в каждый момент времени знать, сколько человек уже приобрели продукт. Для этого мы зададим функции, которые будут вычислять р ду Д д д фу ц , р уду количество потребителей и потенциальных потребителей продукта ‐ Вначале задайте функцию для подсчета потенциальных потребителей. Для этого перейдите на страницу свойств Статистика реплицированного Др др цу С аса р ц р объекта и щелкните по кнопке Добавить ф‐ю сбора статистики. Мы хотим итерироваться по всем агентам для того, чтобы узнать, сколько из них находятся в состоянии PotentialUser. Функция типа Кол‐во делает из них находятся в состоянии PotentialUser. Функция типа Кол во делает именно это она итерируется по агентами подсчитывает, для скольких агентов выполняется заданное условие. Назовите эту функцию NPotential. Введите item.statechart.isStateActive(Consumer.PotentialUser); в качестве условия функции Здесь item это текущий агент statechart имя его условия функции. Здесь item – это текущий агент, statechart – имя его диаграммы состояний, isStateActive() – метод, возвращающий текущее состояние диаграммы, а PotentialUser – имя состояния, заданного в классе агента, поэтому мы и добавляем префикс из имени этого класса Consumer. Задайте еще одну функцию сбора статистики. Назовите ее NUser и сделайте так, чтобы она подсчитывала агентов, удовлетворяющих Условию мы рекомендуем скопировать готовую строку из элемента NPotential и немного ее подправить 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 394 Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Добавьте временную Передвиньте фигурку человечка сюда Добавьте временную диаграмму с накоплением 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 395 На диаграмме Main передвиньте фигурку человечка На диаграмме Main передвиньте фигурку человечка (то есть, презентацию вложенного объекта consumers) в точку (у ( , ) Добавьте временную диаграмму с накоплением для визуализации динамики изменения численностей визуализации динамики изменения численностей владельцев и потенциальных владельцев продукта. Добавьте два элемента данных для отображения на Добавьте два элемента данных для отображения на диаграмме с заголовком Users и цветом limeGreen и consumers.NPotential() с заголовком ц и цветом. Здесь мы вызываем статистические функции NUser и NPotential, созданные нами на прошлом шаге. • Сконфигурируйте масштаб и частоту обновления диаграммы, как показано на слайде выше 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 396 Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Щелкните по элементу элементу Выберите дни Перейдите на Выберите Нет Перейдите на вкладку Модельное время Выберите Нет 2002-2011 ООО Экс Джей Текнолоджис», Откройте свойства эксперимента Откройте свойства эксперимента Simulation:Main. На странице свойств Модельное время смените Единицы модельного времени на дни и выберите в Единицы модельного времени на дни и выберите в поле Остановить Нет. Н й О б С й На странице свойств Основные выберите Случайное начальное число (уникальные прогоны. Поскольку наша модель стохастическая (источником случайного поведения является переход Ad в диаграммах состояний потребителей срабатывающий диаграммах состояний потребителей, срабатывающий с заданной интенсивностью, то результаты моделирования будут зависеть от начального числа др уду генератора случайных чисел. Выбрав Случайное начальное число мы говорим Anylogic, чтобы для каждого прогона использовались различные последовательности случайных чисел. © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 398 Рынок. Фаза 1. Шаг Рынок. Фаза 1. Шаг Запустите модель Увеличьте скорость выполнения модели до до 512x © 2002-2011 ООО Экс Джей Текнолоджис», Запустите модель Запустите модель. Вы увидите, что численность людей, приобретших изучаемый нами продукт (они отображаются на презентации зеленым цветом, постоянно растет таким образом сказывается эффект рекламы продукта. В конце концов все люди приобретут наш продукт. В конце концов все люди приобретут наш продукт 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 400 Рынок. Фаза 1. Вопросы Рынок. Фаза 1. Вопросы 1 Перечислите элементы созданные мастером. Перечислите элементы, созданные мастером создания модели. Опишите заданное по умолчанию поведение созданного с помощью мастера агента. В чем была причина добавления блока Среда? б б. Опишите, как работает переход, срабатывающий с заданной интенсивностью. 5. Расскажите, как можно добавить агентам возраст обновлять этот возрасти в итоге возраст, обновлять этот возрасти в итоге построить график среднего возраста агентов 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 401 © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 402 Рынок. Фаза Рынок. Фаза На этом этапе создания модели мы промоделируем то, На этом этапе создания модели мы промоделируем то, как люди общаются друг с другом и попутно убеждают друг друга в необходимости приобретения нашего дру дру а еоб од ос р обре е а е о продукта. Предположим что в среднем человек общается с • Предположим, что в среднем человек общается с одним своим знакомым вдень. Вовремя общения владельцы продукта могут влиять на потенциальных потребителей. Если владелец б продукта общается с потенциальным владельцем, то вследствие этого общения последний приобретет товар Ad ti F ti 0 с вероятностью AdoptionFraction=0.01 © 2002-2011 ООО Экс Джей Текнолоджис», В текущей модели люди приобретают продукт только В текущей модели люди приобретают продукт только под влиянием рекламы. На самом деле, рекламный эффект играет значительную роль только в момент эффект играет значительную роль только в момент выпуска продукта на рынок. В дальнейшем все большую роль будет играть общение людей с теми большую роль будет играть общение людей с теми своими знакомыми, которые этот продукт уже приобрели. В основном люди приобретают новые приобрели. В основном люди приобретают новые продукты именно под влиянием убеждения своих знакомых 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 404 Рынок. Фаза 2. Шаг Рынок. Фаза 2. Шаг Значение по умолчанию Значение по умолчанию 0.01 © 2002-2011 ООО Экс Джей Текнолоджис», Откройте диаграмму класса Откройте диаграмму класса Consumer. Добавьте параметр ContactRate. Он будет задавать среднее число людей, с которыми человек общается в течение дня Добавьте параметр AdoptionFraction. Этот параметр Др р p р р будет задавать силу убеждения человека, определяющую долю общавшихся с владельцем продукта людей, которая приобретет этот продукт под влиянием общения с ним 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 406 Рынок. Фаза 2. Шаг Рынок. Фаза 2. Шаг Нарисуйте переход Нарисуйте переход Измените Измените свойства перехода 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 407 Нарисуйте переход внутри состояния User. Он должен лежать внутри состояния поскольку внутренние и внешние переходы ведут себя по‐ состояния, поскольку внутренние и внешние переходы ведут себя по разному Этот переход будет срабатывать с Интенсивностью Мы могли бы моделировать вообще все AdoptionFraction. Мы могли бы моделировать вообще все контакты (в этом случае интенсивность была бы равна ContactRate). Номы знаем, что не все контакты будут успешными, то есть приведут к покупке продукта. Поэтому мы моделируем только успешную долю контактов, б фф делая их более редкими путем умножения интенсивности на коэффициент силы убеждения В действии перехода потребитель случайно выбирает одного из своих б б !) знакомых (необязательно потенциального потребителя) и посылает ему сообщение “Buy it!” то есть, "Купи) Внутренние переходы Внутренние переходы • Внутренним переходом является такой переход, который находится внутри состояния, и чьи начальная и конечная точки лежат на границе этого состояния. Поскольку внутренний переход не покидает состояние, и действия, которые должны выполняться при выходе из этого состояния и входе в него, не выполняются. © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 408 Рынок. Фаза 2. Шаг Рынок. Фаза 2. Шаг Откройте страницу свойств Агент класса Введите здесь 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 409 Перейдите на страницу свойств Агент класса ‐ Перейдите на страницу свойств Агент класса. Введите в поле Действие при получении сообщения введите statechart сообщения введите На предыдущем шаге мы сделали так, что теперь человек й б в нашей модели периодически общается со своими знакомыми, посылая им убеждающее в б б необходимости приобретения нашего продукта сообщение “Buy Теперь когда человек получит сообщение от какого‐то своего знакомого, он будет направлять это сообщение в свою диаграмму состояний. Наследующем шаге мы добавим в диаграмму состояний еще один переход, который будет нужным нам образом реагировать на получение такого сообщения 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 410 Рынок. Фаза 2. Шаг Рынок. Фаза 2. Шаг Нарисуйте переход Измените свойства перехода 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 411 Нарисуйте еще один переход, ведущий из состояния Нарисуйте еще один переход, ведущий из состояния в состояние User. Назовите его WOM. Этот переход будет моделировать приобретение продукта Этот переход будет моделировать приобретение продукта под воздействием общения со знакомым. Он будет срабатывать, когда диаграмма состояний этого агента о учи сообщение "Buy it!" ( о ес ь "Ку и) ору о о получит сообщение "Buy it!" то есть, "Купи) от другого агента ‐ своего знакомого. Если в момент получения такого сообщения будет активным состояние PotentialUser, то б й U будет произведен мгновенный переход в состояние User. Чтобы этот переход срабатывал при получении сообщения на странице свойств этого перехода выберите из сообщения, на странице свойств этого перехода выберите из списка Происходит При получении сообщения. Теперь нам нужно указать, что переход будет срабатывать р у у , р д уд р только при получении сообщения соответствующего содержания. Для этого выберите Тип сообщения String, выберите ниже опцию Если сообщение равно и введите выберите ниже опцию Если сообщение равно и введите "Buy it!" в расположенном ниже поле. © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 412 Рынок. Фаза 2. Шаг Рынок. Фаза 2. Шаг Запустите модель Запустите модель Благодаря общению людей друг с другом процесс друг с другом процесс приобретения продукта проходит намного быстрее 2002-2011 ООО Экс Джей Текнолоджис», Запустите модель Запустите модель. Вы можете заметить, что процесс насыщения рынка р ц щ р происходит теперь намного быстрее. График динамики приобретения продукта представляет собой р р р дур д классическую образную кривую – динамика процесса в чем‐то напоминает динамику распространения заболевания. © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 414 Рынок. Фаза 2. Вопросы Рынок. Фаза 2. Вопросы Где в модели учитывается вероятность. Где в модели учитывается вероятность приобретения продукта. Получаемые агентом сообщения первым делом обрабатываются: делом обрабатываются (1) в его диаграмме состояний) на закладке свойств Агент д) в Java коде Об В б. Объясните, как Выбудете подсчитывать количество агентов, находящихся в определенном состоянии 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 415 © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 416 Рынок. Фаза Рынок. Фаза В этой фазе мы промоделируем повторные покупки В этой фазе мы промоделируем повторные покупки продукта. • Соз а а о ее ае о о о соре ее Созданная модель не учитывает того, что со временем продукт может прийти в негодность, что вызовет необходимость приобретения ему замены Мы необходимость приобретения ему замены. Мы промоделируем повторные покупки, полагая, что потребители продукта снова становятся потребители продукта снова становятся потенциальными потребителями, когда продукт, который они приобрели становится непригоден который они приобрели, становится непригоден. • Предположим, что средний срок службы нашего продукта ‐ 1 год 2002-2011 ООО Экс Джей Текнолоджис», Это очень простая фаза Поскольку по истечении Это очень простая фаза. Поскольку по истечении определенного срока службы продукта его владельцу придется покупать ему замену мы добавим переход из придется покупать ему замену, мы добавим переход из состояния User обратно в состояние PotentialUser, который будет срабатывать по истечении постоянного который будет срабатывать по истечении постоянного таймаута, задаваемого параметром Discard Time. Задав такой переход, мы ограничим время нахождения в такой переход, мы ограничим время нахождения в состоянии User временем Discard Time. © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 418 Рынок. Фаза 3. Шаг Рынок. Фаза 3. Шаг Добавьте параметр DiscardTime © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 419 Добавьте параметр DiscardTime Этот параметр будет Добавьте параметр DiscardTime. Этот параметр будет задавать средний срок службы нашего продукта. Мы полагаем, что срок службы продукта примерно равен одному году равен одному году. © 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 420 Рынок. Фаза 3. Шаг Рынок. Фаза 3. Шаг Нарисуйте переход Измените свойства перехода 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 421 Нарисуйте еще один переход ведущий из состояния User в Нарисуйте еще один переход, ведущий из состояния User в состояние PotentialUser. Назовите его Discard. Этот переход будет моделировать прекращение использования продукта уд др р р щ р ду потребителем. Сделайте так чтобы этот переход срабатывал по истечению Сделайте так, чтобы этот переход срабатывал по истечению таймаута, определяемого параметром DiscardTime. Обратите внимание что переход Contact не будет Обратите внимание, что переход Contact не будет сбрасывать таймаут этого перехода, поскольку он является внутренним переходом состояния, и считается, что при его у р р д , , р срабатывании управление не покидает состояния User. Мы закончили моделирование повторных покупок продукта Мы закончили моделирование повторных покупок продукта. Теперь каждый продукт служит только в течение определенного времени, по истечении которого возникает определенного времени, по истечении которого возникает необходимость в приобретении ему замены 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru 422 Рынок. Фаза 3. Шаг Рынок. Фаза 3. Шаг Запустите модель Запустите модель Теперь будут возникать периоды неполного насыщения рынка 2002-2011 ООО Экс Джей Текнолоджис», Запустите модель и проследите за динамикой Запустите модель и проследите за динамикой приобретения продукта. После того, как рынок будет насыщен (то есть, каждый изучаемый нами потребитель приобретет наш продукт, Вы можете наблюдать периоды неполного насыщения рынка, вызванные прекращением использования продукта потребителями 2002-2011 ООО Экс Джей Текнолоджис», www.xjtek.ru |