Multi-objective optimization (or programming),[1][2] also known as multi-criteria or multi-attribute optimization, is the process of simultaneously optimizing two or more conflicting objectives subject to certain constraints.
Multiobjective optimization problems can be found in various fields: product and process design, finance, aircraft design, the oil and gas industry, automobile design, or wherever optimal decisions need to be taken in the presence of trade-offs between two conflicting objectives. Maximizing profit and minimizing the cost of a product; maximizing performance and mimimizing fuel consumption of a vehicle; and minimizing weight while maximizing the strength of a particular component are examples of multi-objective optimization problems.
If a multiobjective problem is well formed, there should not be a single solution that simultaneously minimizes each objective to its fullest. In each case we are looking for a solution for which each objective has been optimized to the extent that if we try to optimize it any further, then the other objective(s) will suffer as a result. Finding such a solution, and quantifying how much better this solution is compared to other such solutions (there will generally be many) is the goal when setting up and solving a multiobjective optimization problem.
Introduction
In mathematical terms, the multiobjective problem can be written as:
where is the -th objective function, and are the inequality and equality constraints, respectively, and is the vector of optimization or decision variables. The solution to the above problem is a set of Pareto points. Pareto solutions are those for which improvement in one objective can only occur with the worsening of at least one other objective. Thus, instead of a unique solution to the problem (which is typically the case in traditional mathematical programming), the solution to a multiobjective problem is a (possibly infinite) set of Pareto points.
A design point in objective space is termed Pareto optimal if there does not exist another feasible design objective vector such that for all , and for at least one index of , .
Solution Methods
- Constructing a single aggregate objective function (AOF)
This is perhaps the most intuitive approach to solving the multiobjective problem. The basic idea is to combine all of the objective functions into a single functional form, called the AOF. A well-known combination is the weighted linear sum of the objectives. One specifies scalar weights for each objective to be optimized, and then combines them into a single function that can be solved by any single-objective optimizer (such as SQP, pattern search etc.). Clearly, the solution obtained will depend on the values (more precisely, the relative values) of the weights specified. For example, if we are trying to maximize the strength of a machine component and minimize the production cost, and if we specify a higher weight for the cost objective compared to the strength, our solution will be one that favors lower cost over higher strength. The solutions obtained using the weighted sum are always Pareto optimal, but coming up with meaningful combinations of weights can be challenging.[3]
See also
References
- ^ Steuer, R.E. (1986). Multiple Criteria Optimization: Theory, Computations, and Application. New York: John Wiley & Sons, Inc. ISBN 047188846X.
- ^ Sawaragi, Y. (1985). Theory of Multiobjective Optimization (vol. 176 of Mathematics in Science and Engineering). Orlando, FL: Academic Press Inc. ISBN 0126203709.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ A. Messac, A. Ismail-Yahaya, and C. A. Mattson. The Normalized Normal Constraint Method for Generating the Pareto Frontier. Structural and Multidisciplinary Optimization, 25(2):86–98, 2003.
- ^ I. Das and J. E. Dennis. Normal-Boundary Intersection: A New Method for Generating the Pareto Surface in Nonlinear Multicriteria Optimization Problems. SIAM Journal on Optimization, 8:631–657, 1998.
- ^ K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation, 6(2):182–197, 2002.
Links
- ParadisEO is a powerful C++ framework dedicated to the reusable design of metaheuristics for multi-objective optimization.
- Practical multiobjective optimization
- jMetal jMetal is an object-oriented Java-based framework aimed at facilitating the development of metaheuristics for solving multi-objective optimization problems (MOPs).
- M.Ehrgott. Multicriteria optimization. Springer 2005. ISBN 978-3-540-21398-7