|
Создание пространственной модели ⇐ ПредыдущаяСтр 8 из 8 Сделаем нашу модель более реалистичной, допустив возможность обще- ния только тех людей, которые находятся друг от друга на расстоянии, не пре- вышающем 25 километров. Свойства формирования сетей контактов агентов, как и многие другие свойства агентной модели, задаются в объекте среда. 1. Откройте диаграмму класса Main. Выделите на диаграмме объект environment , задающий настройки среды, в которой обитают агенты. 2. На странице свойств Дополнительные измените тип сети контактов (рис. 55). Выберите Согласно расстоянию из выпадающего списка Тип сети и введите 25 в расположенном ниже поле Радиус соединения. Рис. 55
Люди будут общаться не с любыми своими знакомыми, вне зависимости от места их проживания, а только с теми, кто живет поблизости. 3. Измените диаграмму состояний агента. Откройте диаграмму клас- са Person. Измените свойства внутреннего перехода состояния Adopter (рис. 56). Здесь в качестве значения последнего аргумента метода send исполь- зуется специальная константа RANDOM_CONNECTED. Теперь этот переход посылает сообщение случайно выбранному знакомому этого человека.
Рис. 56
4. Запустите модель и посмотрите, как изменилась динамика приобрете- ния продукта. Убедитесь, что теперь агенты соединены только с теми, которые находятся от них на расстоянии, не превышающем 25 единиц, а сам процесс распространения продукта происходит медленнее. Моделирование повторных покупок Промоделируем повторные покупки, полагая, что потребители продукта снова становятся потенциальными потребителями, когда продукт, который они приобрели, становится непригоден. 1. Задайте средний срок службы продукта. Откройте структурную диа- грамму класса Main и создайте параметр DiscardTime (рис. 57). Пусть средний срок службы продукта равен одному году. Рис. 57
2. Измените стейтчарт агента. Добавьте переход из состояния Adopter в состояние PotentialAdopter (рис. 58).
Рис. 58
Задайте свойства перехода как показано на рис. 59. Рис. 59
3. Удалите условие остановки модели по времени и запустите модель. С помощью диаграммы проследите динамику изменения числа потребителей продукта. На диаграмме видно, что насыщение рынка в модели с повторными покупками не достигается. Создание анимации AnyLogic позволяет создавать интерактивную анимацию с возможностью изменения параметров системы по ходу моделирования процесса. Для создания анимации добавим в модель необходимые переменные. 1. Откройте структурную диаграмму класса Person. Cоздайте вспомогательную переменную isAdopter; тип переменной – boolean; начальное значение – false. С помощью данной переменной будем определять, является ли данный человек владельцем продукта или нет. 2. Откройте структурную диаграмму класса Main и создайте две перемен- ные: переменную adopters с начальным значением 0 и переменную potadopters с начальным значением 0. Эти переменные будем использовать для подсчета численности покупателей и потенциальных покупателей. 3. Откройте диаграмму стейтчарта и внесите изменения. Щелкните мыш- кой по состоянию. В окне свойств состояния PotentialAdopter задайте Действие при входе Main.potadopters++; isAdopter= false; и Действие при выходе из этого состояния: Main.potadopters--; При входе в состояние увеличивается на единицу значение переменной, подсчитывающей количество потенциальных потребителей продукта. При вы- ходе из состояния уменьшается значение этой переменной. Кроме того, изменя- ется значение переменной isAdopter, чтобы показать, купил ли этот человек наш продукт (если да, то значение переменной равно true, если нет, то false). 4. Задайте свойства состояния Adopter (рис. 60). Рис. 60
5. Нарисуйте анимацию, как показано на рис. 61. Для этого добавьте Столбцовый индикатор числа потенциальных потребителей продукта (коор- динаты: (350, 80), ширина – 30, высота – 200; переменная, которую будет ото- бражать этот индикатор – potadopters; максимальное отображаемое значение – 1000, цвет индикации – желтый; сбросьте флажок Отображать шкалу). Аналогичным образом добавьте Столбцовый индикатор числа потреби- телей (можно использовать копирование). Расположите его правее выше опи- санного индикатора, измените соответствующие свойства: переменную для отображения, цвет индикации.
Рис. 61
Добавьте подписи к индикаторам Potential Adopters и Adopters, установи- те шрифт Times New Roman размером 8. Добавьте элемент управления Бегунок, с помощью которого будем изме- нять срок службы продукта (координаты: (330, 10), ширина – 150, высота – 30; переменная, значение которой будет изменяться с помощью этого элемента управления, – DiscardTime; минимальные и максимальные значения бегунка – 0.5 и 2). Поместите под бегунком три метки: Discard Time – под бегунком, 0.5 – у левого края бегунка и 2 – у правого. 6. Запустите модель. 7. Проанализируйте характеристики модели по своему варианту. Сделай- те выводы.
Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|