Surrogate-Based Agents for Optimization
For complex multidisciplinary optimization (MDO) problems (e.g. preliminary aircraft design considering the disciplines of of structures, controls, aerodynamics), the cost of optimization can be quite large, especially if the optimization includes uncertainty. In computer science, multi-agent systems solve complex problems by decomposing them into autonomous sub-tasks. A general definition posits a multi-agent system to be comprised of several autonomous agents with possibly different objectives that work toward a common task. In terms of optimization, a multi-agent system could solve decomposed problems such that the agents only know subproblems.
In our work, we developed a methodology to approximate complex, computationally expensive RBDO problems, and use the approximated problems to efficiently find a solution with a high level of accuracy. The process took advantage of multi-agent techniques. Each agent built a different surrogate and optimized it to find an optimum. In effect, this process creates surrogate-based agents. Each agent defined a different search process. Through cooperation (exchange of search points), the agents system defined high-level methodologies whose efficiency and robustness were studied.
The use of surrogates to replace expensive simulations and experiments in optimization has been well documented. To take advantage of parallel computing, many have proposed strategies for using multiple surrogates for optimization. Surrogate-based agents are related to multi-surrogates, but the reference to “agents” stresses the fact that agents can change strategies at runtime and their actions are asynchronous. There are several strategies that agents may employ:
- Agents solve the same problem with different strategies.
- Agents solve parts of the complete problem and have a synchronization strategy.
- Agents decide on a policy of sharing information (i.e., sending and receiving solutions to and from other agents).
- The design space is partitioned such that each agent has to search in a smaller subregion of the design space.
- Agents can be deleted if they are not found to be useful and vice versa, new agents can be created.