Agent-Based Simulation Model of Stochastic Barter interactions in AnyLogic Software Simulation Environment
Table of contents
Share
QR
Metrics
Agent-Based Simulation Model of Stochastic Barter interactions in AnyLogic Software Simulation Environment
Annotation
PII
S207751800027094-2-1
Publication type
Article
Статус публикации
Published
Authors
Ilya Vorontsov 
Occupation: laboratory assistant
Affiliation: Central Economics and Mathematical Institute RAS
Address: Russian Federation, Moscow
Abstract

This article presents for the first time an approach to modeling stochastic trade and barter relations using the AnyLogic software environment. The developed agent-oriented model allows us to study trading interactions under various parameters of the external environment. In such a model, each agent is an independent entity capable of entering into barter transactions with other agents. A feature of the proposed approach is a detailed (microscopic) method for simulating multiple interactions between agents with the calculation of individual utility from each transaction and the subsequent calculation of the value of the aggregate (integral) utility function of the multi-agent socio-economic system under study. As a result of the implementation this model, numerical experiments were carried out using the Monte Carlo method, as well as by varying the values of the control parameters, i.e. with a different number of agents, the number of products offered, the radius of trade interaction, etc. As a result of the conducted numerical experiments, important dependencies between the main initial parameters and the target utility function were revealed. Also, the model presented in this article has possible directions for further research, which include taking into account additional factors and parameters in the model and their impact on the results of barter transactions. The proposed model can be used to determine the best strategies for trading interactions under various scenario conditions.

Keywords
agent-based modeling, simulation model, modeling of socio-economic systems, barter interactions, AnyLogic
Received
21.07.2023
Date of publication
30.09.2023
Number of purchasers
12
Views
251
Readers community rating
0.0 (0 votes)
Cite Download pdf
Additional services access
Additional services for the article
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. Получен экспериментальный вывод о влиянии параметров радиуса взаимодействия на полезности покупателей и продавцов, что в будущем, расширив список управляющих параметров и углубив идею модели, позволит развить ее для подробных исследований бартерных взаимодействий.

References

1. Akopov A.S. Imitatsionnoe modelirovanie. Uchebnik i praktikum / Moskva, 2014. Ser. 58 Bakalavr. Akademicheskij kurs (1-e izd.). 2014.

2. Akopov A.S. Modelirovanie i optimizatsiya strategij prinyatiya individual'nykh reshenij v mnogoagentnykh sotsial'no-ehkonomicheskikh sistemakh s ispol'zovaniem mashinnogo obucheniya // Biznes-Informatika. 2023, T. 17, № 2 DOI: 10.17323/2587-814X.2023.2.7.19

3. Akopov A.S., Khachatryan N.K. Agentnoe modelirovanie. Uchebno-metodicheskoe posobie / Moskva, TsEhMI RAN. 2016.

4. Akopov A.S., Khachatryan N.K. Sistemnaya dinamika. Uchebno-metodicheskoe posobie / Moskva, TsEhMI RAN. 2014.

5. Bakhtizin A.R. Agent-orientirovannye modeli ehkonomiki. M.: Ehkonomika, 2008

6. Bakhtizin A.R., Bragin A.V., Makarov V.L. Sovremennye programmnye sredstva agent-orientirovannogo modelirovaniya // Iskusstvennye obschestva. 2022, T. 17, № 4 DOI: 10.18254/S207751800023501-0 

7. Bakhtizin A.R., Makarov V.L., Maksakov A.A., Sushko E.D. Demograficheskaya agent-orientirovannaya model' Rossii i otsenka ee primenimosti dlya resheniya prakticheskikh upravlencheskikh zadach // Iskusstvennye obschestva. 2021, T. 16, № 2 DOI: 10.18254/S207751800015357-1 9. 

8. Makarov V.L., Bakhtizin A.R., Ehpshtejn D. Agent-orientirovannoe modelirovanie dlya slozhnogo mira. Chast' 1 // Ehkonomika i matematicheskie metody. 2022, T. 58, № 1 DOI: 10.31857/S042473880018970-6 

9. Makarov V.L., Bakhtizin A.R., Ehpshtejn D. Agent-orientirovannoe modelirovanie dlya slozhnogo mira. Chast' 2 // Ehkonomika i matematicheskie metody. 2022, T. 58, № 2 DOI: 10.31857/S042473880020009-8 

10. Makarov V.L., Bakhtizin A.R., Ehpshtejn Dzh. M. (2022): Agent-orientirovannoe modelirovanie dlya slozhnogo mira / monografiya. –Moskva: MAKS Press, 2022. – 88 s. ISBN 978-5-317-06764-9.

11. Okrepilov V.V., Makarov V.L., Bakhtizin A.R., Kuz'mina S.N. Primenenie superkomp'yuternykh tekhnologij dlya modelirovaniya sotsial'no-ehkonomicheskikh sistem // Ehkonomika regiona. 2015, № 2 (42)

12. Pospelov I. G. Model' sluchajnykh prodazh, Matem. zametki, 103:3 (2018), 445–459; Math. Notes, 103:3 (2018), 453–465 15.

13. Tsygankov N.S., Ehl'berg M.S. Imitatsionnoe modelirovanie. 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

Comments

No posts found

Write a review
Translate