Агент-ориентированная имитационная модель стохастических бартерных взаимодействий в среде AnyLogic
Агент-ориентированная имитационная модель стохастических бартерных взаимодействий в среде AnyLogic
Аннотация
Код статьи
S207751800027094-2-1
Тип публикации
Статья
Статус публикации
Опубликовано
Авторы
Воронцов Илья Алексеевич 
Должность: лаборант
Аффилиация: Центральный экономико-математический институт РАН
Адрес: Российская Федерация, Москва
Аннотация

В данной статье впервые представлен подход к моделированию стохастических торгово-бартерных отношений с использованием системы AnyLogic. Разработанная агент-ориентированная модель позволяет исследовать торговые взаимодействия при различных параметрах внешней среды. В подобной модели каждый агент является независимым субъектом, способным заключать бартерные сделки с другими агентами. Особенностью предложенного подхода является детализированный (микроскопический) способ имитационного моделирования множественных взаимодействий между агентами с вычислением индивидуальной полезности от совершения каждой сделки и последующим вычислением значения функции совокупной (интегральной) полезности изучаемой многоагентной социально-экономической системы. В результате реализации такой модели были проведены численные эксперименты с помощью метода Монте-Карло, а также посредством варьирования значений управляющих параметров, т.е. при различном числе агентов, количестве предлагаемых продуктов, радиусе торгового взаимодействия и др. В результате проведенных численных экспериментов были выявлены важные зависимости между основными исходными параметрами и целевой функцией полезности. Также, модель, представленная в данной статье, имеет возможные направления дальнейшего исследования, которые включают учет дополнительных факторов и параметров в модели и их влияние на результаты бартерных сделок. Предложенная модель может быть использована для определения наилучших стратегий торговых взаимодействий при различных сценарных условиях.

Ключевые слова
агентное моделирование, имитационная модель, моделирование социально-экономических систем, бартерные взаимодействия, AnyLogic
Источник финансирования
Исследование выполнено за счет гранта Российского научного фонда (проект № 23-21-00012)
Классификатор
Получено
21.07.2023
Дата публикации
30.09.2023
Всего подписок
12
Всего просмотров
249
Оценка читателей
0.0 (0 голосов)
Цитировать Скачать pdf
Доступ к дополнительным сервисам
Дополнительные сервисы только на эту статью
1

Введение

Развитие компьютерных технологий дало самый существенный толчок для развития экономики за последний век. Еще в начале XX века невозможно было себе представить те возможности, которыми обладает экономика сейчас. Так, например, создание модели, которая сможет экспериментально сымитировать ситуацию и повторять её n-ое количество раз, было бы невероятно трудозатратным занятием, так как пришлось бы взаимодействовать с объектами материального мира в реальном времени. Но уже сейчас это возможно реализовать при помощи компьютера, беспрепятственно взаимодействуя с объектами виртуального мира. Более того, для имитации и исследования поведения сложных социально-экономических систем наиболее адекватным инструментом являются имитационные модели [13]. IT-технологии совершенствуются с каждым годом, а возможности имитационного моделирования совершенствуются вместе с ними, поэтому направление имитационного моделирования находится на острие науки, оттого говорить об актуальности данного направления развития экономической науки излишне.
2 Цель исследования – имитационное моделирование бартерных взаимодействий с использованием агент-ориентированного подхода. Задача исследования – изучить как влияют различные параметры, например радиус торгового взаимодействия и др. на целевые функции модели – полезность покупателей и продавцов.
3 Методологической основой исследования является среда имитационного моделирования – AnyLogic. Помимо агент-ориентированного моделирования, данная платформа имеет возможности реализации еще двух подходов имитационного моделирования: системной динамики и дискретно-событийного. Anylogic написана на языке Java и является кросс-платформенной [7]. В свою очередь эксперименты проводятся на основе метода варьирования параметров и метода Монте-Карло.
4 Имитационное моделирование – это симуляция процесса функционирования имитируемой системы. А имитационная модель – это программа, описывающая алгоритм осуществления процессов, отражающих моделируемый объект [1, 2, 9]. Одной из разновидностей имитационного моделирования – является агент-ориентированное моделирование [3, 9]. Агентно-ориентированное моделирование заключается в построении и исследовании процессов, создаваемых программируемым поведением отдельных агентов. Наиболее современным определением агент-ориентированной модели является определение данное в монографии В.Л. Макарова [10, 11, 12]: «классическая агентная модель представляет собой общество, состоящее из индивидуумов, созданных программным способом и взаимодействующих между собой в некоторой среде (например организация, социальная сеть, город, регион, страна или весь мир)». В роли агентов могут выступать люди, фирмы, совокупности предприятий, техника и даже природные явления, а агент-ориентированными моделями становиться целые общества, города и страны [8].
5

Описание модели

На первом этапе создания модели, был создан новый класс агента-индивидуума, внутри которого будет описан алгоритм поведения людей-участников бартерных взаимодействий. Суть состоит в том, что AnyLogic имеет две среды: Main (среда существования и взаимодействия агентов) и среду самого агента (внутри которого закладывается схема состояний и прочие параметры).
6

Рис. 1. Создание агента в AnyLogic

7 После прописывается поведение самого агента, в AnyLogic диаграмма состояний начинается с элемента Statechart (начало диаграммы состояний). Далее было создано дерево алгоритма состояний: в нашем случае агент может принимать два вида состояния: покупатель и продавец. За это отвечает элемент – состояние, который подписан конкретным состоянием агента. Это значит, что с самого начала запуска модели, при появлении агента, он, с определенной вероятностью, должен стать либо покупателем, либо продавцом. Поэтому был создан параметр, который за это отвечает – Вероятность_быть_продавцом, который задается случайным числом равномерного распределения от 0 до 1. Далее было связано начальное состояние агента с его последующим состоянием элементом transition (переход), в нем указано, что агент будет продавцом, при условии, что параметр Вероятность_быть_продавцом => 0,5; и покупателем при < 0,5 соответственно. Чтобы обеспечить смену ролей агентов со временем, были связаны два состояния взаимообратными переходами, которые по таймауту меняют состояния агентов. Так как нам, в последствии, будет необходимо иметь доступ к данным параметрам из верхней среды, сами параметры были заданы в среде Main, а внутри среды агента Person, дана ссылка на них. Для этого, в среде Main, были созданы сами параметры Время_на_смену_состояния (переход от продавца к покупателю) и Время_на_производство (переход от покупателя к продавцу) и элемент динамическая единица, которая называется соответственно. Динамическая единица является отражением параметра, и ей присваивается значение со ссылкой на параметр из внешней среды: main. Время_на_смену_состояния и main.Время_на_производство. Таким образом выполнена программная реализация состояния агентов модели в AnyLogic:
8

Рис. 2. Диаграмма состояния агента в AnyLogic

9 Далее были описаны механизмы создания агентов через элемент – event. В нем задается таймаут, с которым происходит событие. В нашем случае событием является появление агентов. Здесь мы указываем область появления агентов и радиус их взаимодействия.
10

Рис. 3. Программирование события появления агентов

11 После был реализован механизм взаимодействия агентов друг с другом с помощью раздела connections, внутри агента. Реализация взаимодействия проходит через систему сообщений: то есть агент посылает сообщение, и при совпадении нужных условий происходит взаимодействие и далее следует ответ. Для этого был разработан алгоритм принятия решения о покупке товара потребителем, с помощью источников [5, 6], где продемонстрирован алгоритм принятия решения на основе вычисления расстояния между предлагаемым и желаемым продуктом:
12 Disdistance=1P-1minpi~tk-di^tk,P-pi~tk-di^tk
13 где:
14 I=i1,i2,,iI – это набор индексов агентов, I – общее количество агентов; i^ – индексы покупателей, i~ – индексы продавцов i~,i^I ;
15 T=t1,t2,,tT – это набор моментов времени, T – общее число моментов времени;
16 P=p1,p2,,pP – это набор индексов продуктов, P – общее количество продуктов; pi~tk – индекс продукта, имеющегося у i-ого агента продавца, di^tk – индекс продукта, необходимого i-ому агенту покупателю.
17 Геометрический смысл данной функции вычисления расстояния – длина дуги числовой окружности с равномерно распределенными числами 1,2,,P в момент времени tk-1 [5,6].
18 Таким образом у нас имеется вычисленное расстояние между предлагаемым и желаемым продуктом в момент времени t. На основе которого агент дает оценку сделке по формуле:
19 γi^i~tk=1, если Disω0,если Dis>ω  [5, 6] где: ω – коэффициент контрактности, то есть коэффициент предельного несоответствия предлагаемого продукта желаемому, ω0 .
20 На основе полученной оценки будет совершаться сделка: при γi^i~tk=1 сделка происходит, при γi^i~tk=0 сделка не происходит. В случае, если сделка совершается, вычисляется полезность от совершенной сделки i-того агента в момент времени t:
21 uutility=(Dis+1)-ν-λr [5, 6]
22 где:
23 r – радиус взаимодействия агентов, находящийся в обратной зависимости от полезности ввиду увеличения условных издержек на преодоление большего расстояния.
24 ν,λ – коэффициенты, определяющие влияние издержек преодоления расстояния между целевым и приобретаемым продуктом, а также между покупателем и продавцом.
25 Исходя из значения функции полезности от сделки каждого i-того агента в момент времени t, формируется целевая функция полезности совокупности всех классов агентов [14]:
26 U=1Ii=1It=1Tui
27 совокупная полезность МСЭС1;
1. Многоагентная социально-экономическая система
28 Исходя из этих вводных, формируется следующая логическая схема обработки сообщения, которое поступает от противоположного по классу агента:
29

Рис. 4. Схема обработки сообщения

30 Взаимодействие происходит за счет параметров Желаемый_продукт и Предлагаемый продукт, которые задаются внутри агента, и событий Изменение_спроса и Изменение_предложения, которые по таймауту задают новые значения параметрам продуктов со значениями P=p1,p2,,pP . При выполнении условия, при котором расстояние между желаемым и предлагаемым продуктом меньше или равно коэффициенту контрактности, параметру Оценка_сделки присваивается значение 1 (по умолчанию значение параметра равно 0).
31 Далее, при выполнении условия, что Оценка_сделки равна 1, происходит сделка, в ходе которой агент продавец передает товар потребителю, а значит параметрам Желаемый_продукт и Предлагаемый_продукт присваивается значение 0, также параметры Полезность_продавца и Полезность_покупателя увеличиваются на значение функции полезности от сделки. Сама же функция общей полезности классов агентов продавцов и покупателей высчитывается благодаря статистике внутри класса Person.
32 Таким образом, мы получили целевую функцию, изменение влияния параметров на которую нас интересует в части проведения экспериментов.
33 Далее после отладки и запуска модели видно как агенты разного состояния появляются и взаимодействуют (через изображение пунктирных связей между ними).
34

Рис. 5. Взаимодействие агентов в среде модели

35 Таким образом, на примере простой модели бартерной торговли мы можем увидеть, как происходит построение агентно-ориентированной модели в среде AnyLogic. На этом этапе можно продолжать развивать модель далее: например AnyLogic имеет раздел элементы управления (в палитре элементов), который позволяет менять некоторые параметры прямо во время запуска модели, можно усложнить диаграмму состояний, разветвив ее или добавив еще множество любых параметров, можно интегрировать денежную систему через потоки и накопители (элементы системной динамики [4]) направив модель в другое русло, и так до бесконечности придумывать новые условия, уточняющие и усложняющие вашу модель.
36

Результаты численных экспериментов

37 С помощью подобной модели можно исследовать интересные закономерности или взаимосвязи параметров друг от друга, например: зависимость полезности продавцов и покупателей от радиуса взаимодействия.
38 С помощью эксперимента вариации параметров можно проследить чувствительность изменения значения целевой функции в зависимости от изменений каждого из параметров. Значения параметров в первом эксперименте: Время_на_производство товара – 4 дня
39 Время_на_смену_состояния – 10 дней
40 Радиус_взамодействия – от 1 до 100 пикселей (шаг 1 пиксель)
41 Вероятность_быть_продавцом – 0,5
42 Количество агентов ( I –) – 100 агентов
43 Количество продуктов ( P ) – 10 шт.
44 Коэффициент контрактности – 0,34 (максимальное расстояние 0,555)
45 ν = 1,32
46 λ = 0,002 (коэффициенты подобраны эмпирические исходя из заданных числовых значений параметров)
47

Рис. 6. Эксперимент вариации параметров

48 Значения параметров во втором эксперименте:
49 Время_на_производство товара – 4 дня
50 Время_на_смену_состояния – 10 дней
51 Радиус_взамодействия – от 1 до 100 пикселей (по равномерному распределению)
52 Вероятность_быть_продавцом – 0,5
53 Количество агентов ( I –) – 100 агентов
54 Количество продуктов ( P ) – 10 шт.
55 Коэффициент контрактности – 0,34
56 ν = 1,32
57 λ = 0,002
58

Рис. 7. Эксперимент Монте-Карло

59 Таким образом, мы видим, что, при заданных параметрах, полезность становится максимальной при радиусе равном 75 пикселей, где полезность равна 23,0224 условные единицы.
60

Заключение

В данной статье представлена многоагентная социально-экономическая система бартерных взаимодействий, особенностью которой является способ принятия решения о сделке агентами и вычисление функции совокупной полезности системы. На основе данных эксперимента варьирования параметров и метода Монте-Карло, с использованием имитационной модели, получены выводы, главным образом не противоречащие и не конфликтующие с логикой модели. На их основе выявлена важная зависимость между радиусом торгового взаимодействия и значением целевой функции полезности будущего потребления, в частности, при увеличении радиуса торгового взаимодействия больше чем на 75% (при 100 px – 100%) наблюдается уменьшение функции полезности, в то время как для достижения максимума функции полезности будущего потребления необходимо выбрать значение радиуса торгового взаимодействия в пределах точки, соответствующей ¾ от максимального радиуса и увеличить коэффициент контрактности до предельно возможного, то есть равного 0.555 у.е., что соответствует значению максимального расстояния между индексами товаров (при P = 10), тем самым увеличив вероятность торговых взаимодействий.
61 Также впервые выполнена реализация модели стохастических бартерных взаимодействий в AnyLogic и полученные результаты согласуются с результатами предыдущих работ [5, 6, 13, 14]. При этом, предложен более простой компьютерный инструментарий для сценарного анализа агентной модели бартерных взаимодействий в виде имитационной модели AnyLogic. Получен экспериментальный вывод о влиянии параметров радиуса взаимодействия на полезности покупателей и продавцов, что в будущем, расширив список управляющих параметров и углубив идею модели, позволит развить ее для подробных исследований бартерных взаимодействий.

Библиография

1. Акопов А.С. Имитационное моделирование. Учебник и практикум / Москва, 2014. Сер. 58 Бакалавр. Академический курс (1-е изд.). 2014.

2. Акопов А.С. Моделирование и оптимизация стратегий принятия индивидуальных решений в многоагентных социально-экономических системах с использованием машинного обучения // Бизнес-Информатика. 2023, Т. 17, № 2 DOI: 10.17323/2587-814X.2023.2.7.19

3. Акопов А.С., Хачатрян Н.К. Агентное моделирование. Учебно-методическое пособие / Москва, ЦЭМИ РАН. 2016.

4. Акопов А.С., Хачатрян Н.К. Системная динамика. Учебно-методическое пособие / Москва, ЦЭМИ РАН. 2014.

5. Бахтизин А.Р. Агент-ориентированные модели экономики. М.: Экономика, 2008

6. Бахтизин А.Р., Брагин А.В., Макаров В.Л. Современные программные средства агент-ориентированного моделирования // Искусственные общества. 2022, T. 17, № 4 DOI: 10.18254/S207751800023501-0 

7. Бахтизин А.Р., Макаров В.Л., Максаков А.А., Сушко Е.Д. Демографическая агент-ориентированная модель России и оценка ее применимости для решения практических управленческих задач // Искусственные общества. 2021, T. 16, № 2 DOI: 10.18254/S207751800015357-1 9. 

8. Макаров В.Л., Бахтизин А.Р., Эпштейн Д. Агент-ориентированное моделирование для сложного мира. Часть 1 // Экономика и математические методы. 2022, T. 58, № 1 DOI: 10.31857/S042473880018970-6 

9. Макаров В.Л., Бахтизин А.Р., Эпштейн Д. Агент-ориентированное моделирование для сложного мира. Часть 2 // Экономика и математические методы. 2022, T. 58, № 2 DOI: 10.31857/S042473880020009-8 

10. Макаров В.Л., Бахтизин А.Р., Эпштейн Дж. М. (2022): Агент-ориентированное моделирование для сложного мира / монография. –Москва: МАКС Пресс, 2022. – 88 с. ISBN 978-5-317-06764-9.

11. Окрепилов В.В., Макаров В.Л., Бахтизин А.Р., Кузьмина С.Н. Применение суперкомпьютерных технологий для моделирования социально-экономических систем // Экономика региона. 2015, № 2 (42)

12. Поспелов И. Г. Модель случайных продаж, Матем. заметки, 103:3 (2018), 445–459; Math. Notes, 103:3 (2018), 453–465 15.

13. Цыганков Н.С., Эльберг М.С. Имитационное моделирование. 2017

14. Akopov A.S., Beklaryan A.L., Zhukova A.A. Optimization of Characteristics for a Stochastic Agent-Based Model of Goods Exchange with the Use of Parallel Hybrid Genetic Algorithm. CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 23, No 2, Sofia 2023

Комментарии

Сообщения не найдены

Написать отзыв
Перевести