单目标和多目标问题(算法)有什么区别?为什么单目标求解出来是一个最优解,多目标求解出来是一个解集(多个解)呢?

首先顾名思义,单目标优化就是求解某一个目标的最大值或者最小值,多目标优化表示的是要确保多个目标(大于等于2)同时最大或者同时最小。

注意:上述对多目标的描述说的是同时,不是所谓的加权总和最大或者最小。因为区分多目标还是单目标看的是最终优化的目标个数,而不是初始的目标个数。

比如,优化一个双目标的问题,有的人将两个目标加权了,然后求加权结果的最优,这个时候实际上处理的是一个单目标问题,通过加权的方式将多目标转化为单目标了,这个时候就不是多目标优化了,这是很多初学者容易犯的错误。

254003-1.png

那标题上为什么说多目标优化求解出来的可能是一个解集(多个最优解)呢?这个就要牵扯到多目标比较解的优劣的方式了。由于上述的同时,只有当某一个解的多个目标都比另一个解的目标更优的时候,才能说第一个解比另一个解更好,这个有一个专有的名词叫做“支配”。也就是说,只有解A的每个目标都比解B更优的时候才能称作解A支配解B;如果并不是所有的解更优只有部分解更优的话,这个时候称呼解A和解B为非支配关系,此时它们的地位是同等的,谁都不比谁更好。所以在多目标求解到最后的时候,可能有很多解是非支配的关系,这个时候它们都是最优解,这些解组成的集合一般称呼为pareto解集。

下例的两个目标假设都求最小值:

254003-2.png





请前往:http://www.mark-to-win.com/TeacherV2.html?id=269