Шаг 3. Добавление ритейлера с некоторым начальным количеством продукта A

В этой фазе мы добавим первый (и фактически последний) элемент цепочки поставок для продукта A: накопитель ритейлера. У накопителя (элемента Системной динамики) будет определенное начальное значение (моделирующее начальное количество продукта), поэтому некоторые потребители смогут приобрести продукт. Мы изменим поведение потребителя так, что переход из состояния WantA в состояние UsesA будет возможен только если в накопителе будет хотя бы одна единица продукта. В результате перехода потребителя по данному переходу будет уменьшаться количество доступного товара. Это будет первым местом взаимодействия агентного и системно-динамического компонентов модели.

  1. Откройте редактор класса Main и добавьте накопитель RetailerStock. Задайте его начальное значение равным 100.

Это первый элемент Системной динамики в нашей модели. Мы создаем его в классе Main – на том же уровне иерархии, где мы создали вложенный объект, задающий популяцию агентов-потребителей.

  1. Перейдите в редакторе класса Consumer и измените свойства перехода BuyA: пусть теперь он Происходит При выполнении условия. Задайте Условие: get_Main().RetailerStockA >= 1 и Действие: get_Main().RetailerStockA--;

Таким образом мы реализуем механизм взаимодействия агентной части модели и системно-динамической: будучи в состоянии WantA потребитель постоянно отслеживает значение накопителя RetailerStockA; если накопитель содержит хотя бы один продукт, то переход происходит, и как результат, из накопителя "извлекается" одна единица товара. Обратите внимание, что поскольку накопитель находится на один уровень выше относительно того места, где задано поведение потребителя (в объекте Main, который содержит объекты потребителей), то вначале мы получаем доступ к объекту класса Main, и только затем – к самому накопителю, поэтому мы и используем префикс get_Main(), который "переносит" нас в контекст контейнера объекта типа Consumer - объект класса Main.


  1. Запустите модель в режиме виртуального времени.

Вы увидите, что 100 потребителей смогут приобрести продукт A, в то время, как остальные постепенно будут перекрашены в розовый цвет, поскольку запасы ритейлера скоро подойдут к концу, и многие потребители не смогут удовлетворить свою потребность в продукте.



Контрольная модель: AB Market and SD Supply Chain - Phase 3


          Шаг 2. Добавление простого поведения агента

          Шаг 4. Добавление СД цепочки поставок для продукта A