I recently read a call of papers from “Simulation Modeling Practice and Theory” journal (Elsevier) on “Simulation-Optimization of Complex Systems: Methods and Applications”. Coupling simulation and optimization tools is a very interesting topic and, in my opinion, multiagent approach is a promising research direction to tackle the underlying research issues.
Let’s take the case of optimizing a public transport network. The decision variables are, for instance, the frequencies of the lines (or the daily schedule of the buses, trains or tramways). If you find a model which is a good approximation of the system and can be efficiently tackled by an optimization procedure, you have your solution. However, you may require simulating the system for obtaining a good evaluation. For instance, simulation could help to determine the demand of each modes of transport (from a model of users’ behavior). In this case, the optimization procedure has to exploit a simplified model of the system to be efficient.
A potential way to combine simulation and optimization is given in the above figure. Note that this is not the only way to combine simulation and optimization. In this approach, the simulation works on a “complete” model of the system (the simulation model), and the optimization uses a simplified or partial model of the system (the optimization model).
In this configuration, the optimization procedure uses a set of parameters that approximates the system for a given solution (instance of decision variables that has been used by the simulation). These parameters may be a good approximation to evaluate the solutions that are close to the simulated solution, but new simulations are necessary to evaluate solutions that are significantly different to the simulated one. For instance, in our hypothetical case study, the simulation may determine the modal-choice for given frequencies of the lines. These fixed parameters of the modal-choice may remain a good approximation for small modifications of the frequencies. However, a new simulation is necessary to evaluate a solution with completely different frequencies of the lines, because these differences impact the modal-choice. In this combination of simulation and optimization, the simulation and optimization steps have to be repeated until a satisfactory solution based on a good approximation of the system is found.
A final word on agent approach for developing such a system. What are the interests of an agent approach in this context? Of course, parallel computation will be facilitated by agent approach, and if simulation or optimization procedures have been conceived as multiagent systems, an agent approach at a higher level may be valuable for a consistency in development tools. But another aspect, the “autonomy” of agents, deserves to be pointed out. I do not refer to the autonomy that may characterize intelligent agents, but rather the modularity (independence) of the system’s components. Agent oriented approach can support this modularity which is essential for developing such a complex combination between simulation and optimization. Conceiving such a system using a multiagent approach may support: the design and implementation of the interfaces between the agents (here the simulation and the optimization components) with a clear definition of roles, capacities, and interactions of agents; the management of asynchronous communications between the agents; and the integration of additional agents such as interface agent and data sources. As I said at the beginning, there are many perspectives.
Don’t hesitate to leave a comment or to send me additional resources for the blog.