首页 > 代码库 > Evolutionary Computing: multi-objective optimisation

Evolutionary Computing: multi-objective optimisation

1. What is multi-objective optimisation

[wikipedia]: Multi-objective optimization (also known as multi-objective programmingvector optimizationmulticriteria optimization,multiattribute optimization or Pareto optimization) is an area of multiple criteria decision making, that is concerned with mathematical optimization problems involving more than one objective function to be optimized simultaneously. Multi-objective optimization has been applied in many fields of science, including engineering, economics and logistics (see the section on applications for detailed examples) where optimal decisions need to be taken in the presence of trade-offs between two or more conflicting objectives. Minimizing cost while maximizing comfort while buying a car, and maximizing performance whilst minimizing fuel consumption and emission of pollutants of a vehicle are examples of multi-objective optimization problems involving two and three objectives, respectively. In practical problems, there can be more than three objectives.

For a nontrivial multi-objective optimization problem, there does not exist a single solution that simultaneously optimizes each objective. In that case, the objective functions are said to be conflicting, and there exists a (possibly infinite) number of Pareto optimal solutions. A solution is called nondominated, Pareto optimal, Pareto efficient or noninferior, if none of the objective functions can be improved in value without degrading some of the other objective values. Without additional subjective preference information, all Pareto optimal solutions are considered equally good (as vectors cannot be ordered completely). Researchers study multi-objective optimization problems from different viewpoints and, thus, there exist different solution philosophies and goals when setting and solving them. The goal may be to find a representative set of Pareto optimal solutions, and/or quantify the trade-offs in satisfying the different objectives, and/or finding a single solution that satisfies the subjective preferences of a human decision maker (DM).

 

2. Your first multi-objective optimisation

Download and install jMetal. Follow the case study in Section 3.3 from the jMetal user manual (available from the jMetal website). Run NSGA-II for 10.000 generations on the benchmark functions ZDT 2 and ZDT 3 with population sizes 10, 100, and 1000. Visualise the six final populations.

Evolutionary Computing: multi-objective optimisation