**2. Agent-based modeling and simulation**

Agent-based modeling and simulation (ABMS) can be defined in very diverse disciplines like artificial intelligence, complexity science, game theory, etc. [3, 4]. ABMS provides a suitable simulation modeling technique for the analysis of complex systems and emergent phenomena in biological systems, social sciences, economy, management systems, etc. [5, 6]. ABMS is a computational model implemented as computer simulation in which there are individual entities and their behaviors and interactions. It focuses on rules and interaction among the individuals or components of the real system. In the ABMS, the systems are characterized by the autonomous and independent entities known as agents performing some kind of behaviors (action and interactions) in the simulation environment [7]. In the literature, it is possible to see many examples of agent-based modeling in the different fields including traffic control, biomedical research, ecology, energy analysis, etc. [4].

ABMS has advantage of creating a model compared to traditional approaches. No any set of formulas or mathematical equations are needed to build an agent-based model. ABMS focuses on the rules that will determine the behaviors of agents [8]. In order to develop an agent-based model, firstly, it must be understood how to design and implement the model. In other words, the scenario of a real system must determine the limitations of the model. Some questions must be answered to initialize the model design, like what the agents should be in the model, what the agents' environment is, how to interact with each other and environment, how to define the rules determined the behaviors of agents, what are roles of the agents in the model, etc. [9].

There are some simulation software toolkits to perform ABMS [10]. Toolkits can facilitate to manage the simulation process. One of the most popular toolkits in the literature is Repast Simphony supported by libraries of predefined methods and functions [11, 12].
