В текущей модели доля контактов потребителей продукта с потенциальными потребителями, которая приводит к продажам продукта, полагается постоянной. На самом деле она изменяется, поскольку спрос на наш продукт зависит от текущего времени года. Продукт пользуется наибольшим спросом летом, в то время как зимой спрос на товар резко падает, за исключением небольшого предпраздничного периода в декабре. Давайте и промоделируем теперь сезонную цикличность спроса.
Предположим, что у нас есть экспериментальные данные того, как изменяется средний спрос на продукт в течение года. Мы добавим эти данные в нашу модель с помощью табличной функции. Табличная функция – это функция, заданная в табличной форме, которая может быть сделана непрерывной с помощью интерполяции и экстраполяции.
Задание кривой спроса с помощью табличной функции
из палитры Системная динамика
на диаграмму класса Main.
Закончив задание функции, Вы можете посмотреть, как она выглядит, с помощью графика предварительного просмотра функции на странице ее свойств:

Теперь мы хотим промоделировать то, как спрос на продукт влияет на количество людей, приобретающих продукт под влиянием общения с владельцами продукта. Для этого мы создадим специальную функцию и заменим параметр AdoptionFraction вспомогательной переменной, значение которой будет вычисляться согласно этой функции.
Задайте функцию
из палитры Основная
на диаграмму класса Main.Это выражение вычисляет номер текущего месяца и передает его табличной функции demand.
Табличная функция возвращает значение спроса на продукт для данного
месяца. В заключение, для получения значения доли людей, покупающих
продукт под влиянием общения, значение спроса делится на коэффициент
преобразования.
Функция floor() является одной из набора математических функций, которые AnyLogic предоставляет пользователям, наряду с такими, как sin, cos, exp, и т. д. Вводя выражения, Вы можете пользоваться Мастером подстановки кода, в котором все доступные в данном контексте функции присутствуют наряду с другими элементами модели, переменными, аргументами функций и т.д.
Ну и наконец нужно будет заменить константу вспомогательной переменной, значение которой определяется нашей функцией.
Замените параметр
AdoptionFraction
вспомогательной переменной
Запустите модель. Вы увидите, что теперь поведение модели колеблется около точки равновесия в силу того, что теперь колеблются значения и потока приобретения, и потока прекращения использования продукта.

Контрольная модель: Bass Diffusion - Phase 4