Multiobjective Optimisation with Evolutionary Algorithm - 1. 序言

多目标优化与单目标优化

优化问题广泛存在于我们的生活之中。当可利用的资源有限时,我们总想要用最有效率的方法来解决问题。从工程问题到科学研究,再到商业决策,都可以找到优化问题的影子。由此可见,优化问题是重要的。

当优化问题只拥有一个需要优化的目标时,就被称为单目标优化(Single-objective Optimisation)。这类问题的解决方法早在二战期间就已经被学者们进行研究。当优化问题具有多个需要优化的目标时,就被称为多目标优化(Multi-objective Optimisation)。事实上,我们的生活中广泛存在的优化问题大多是多目标优化。

不难看出,单目标优化是多目标优化的一个特例,多目标优化是单目标优化的广泛形式。但由于当时主流的优化算法的结构限制,人们常常将多目标优化转换为单目标优化后进行求解。这样的做法虽然在工程上是可行的,但很显然,它违背了我们对于多目标优化与单目标优化的关系的认识,即多目标优化是单目标优化的广泛形式。因此,将多目标优化看为单目标优化的简单延伸进行求解是片面的。

根本性的不同

抛开对于广泛形式的认知,在工程学上我们也可以找到多目标优化与单目标优化根本的不同。考虑这样一个问题:

在学校附近租一间单身公寓,不妨只考虑两个方面:1)距离研究室的距离;2)租金。

很显然,距离研究室的距离越近越好,租金越低越好。有这样两间公寓:A距离研究室1.5公里,租金2000元/月;B距离研究室5公里,租金1500元/月。如果只考虑租金,那么毫无疑问,B是最佳选项。但是对于一个富有的学生,租金显然不是他需要考虑的。对于他来说,选择距离研究室更近的A会更为合理。由此看出,当我们同时考虑距离与租金时,A和B中没有一个是更好的。

我们收集更多的房间信息,画在下面的坐标系中。观察这两个目标(距离与租金)时,我们发现距离越近的房间,租金越贵。两个目标之间存在着某种制约关系(trade-off)。对于图中这些点,我们只能说他们谁也不比谁更好。由于目标之间制约关系的存在,在某一个目标上的优越表现只能是源于对另一个目标的牺牲。这样我们就得到了两种优化的根本性差异:由于目标之间制约关系的存在,多目标优化通常具有多个最优解;而单目标目的优化(除去多峰性优化问题)则只具有一个最优解。

求解多目标优化的两种方法

尽管多目标优化具有多个最优解,但是很显然,一个人一次通常只会选择一个解,就像你不会同时租两间房子。因此,在一个实际的多目标优化问题中,通常含有两个部分:1)求解出多个最优解;2)利用某种方法筛选出一个最优解。

另一种方法,事实上最早人们就是使用这种方法,这是将问题转化为单目标优化进行求解。这是因为,一直以来的优化方法在一次运行中只能得到一个解。显然,这在多目标优化中不适用。常用的转化方式是基于偏好(preference-based)设置各个目标的权重并求和。事实上,不难发现多目标优化的多个最优解通常就是使用不同偏好设置转化而得的单目标问题的最优解。

但是,在一个实际问题当中,我们很难衡量出准确的偏好;或者,尽管我们衡量出了偏好,但是对于另一个用户,这种偏好就不再合适了。因此,基于偏好的方法是不准确的,主观的。相反,如果可以确切地论证一组偏好地准确性以及广泛适用性,我们就不需要将问题当作是多目标优化问题。

多目标优化与进化算法

约60年前,优化研究领域中诞生了重要的算法——进化计算。这是一种将生物进化过程加以建模,运用在优化问题上的方法(如:遗传算法)。与之前的优化算法相比,最大的不同在于,这是一种基于种群(拥有多个解的集团)的优化算法。

在单目标优化中,由于最优解只有一个,进化算法的种群中不同的个体将会收敛至同一个解,即全局最优解(理想状态下)。这一特征使得进化算法虽然拥有不易陷入局部最优的长处,但也被诟病为浪费了一定的计算资源。然而,在多目标优化中存在着多个最优解。因此,利用进化算法求解多目标优化时,不同的个体则会收敛至不同的最优解。与此同时,对于多目标优化问题而言,进化算法则可以在一次运行中获得多个解。多目标优化就这样与进化算法天然地结合在了一起。

多目标进化算法

注意到进化算法与多目标优化的良好相性,研究人员开发了一系列的进化算法。1984年,David Schaffer在他的博士论文中提出了vector-evaluated genetic algorithm(VEGA)。虽然在经过少许世代的运行后,VEGA可以得到一些制约的解,但是在经过大量世代的运行后,算法会收敛成为几个单独的最优解。1989年,David E. Goldberg利用了“优劣判定”的概念提出了短短10行的multiobjective evolutionary algorithm(MOEA)的描述。此后,研究者们基于MOEA提出了各种实现,如:MOGA,NSGA,NPGA,NSGA-II等。2007年,Zhang Qingfu提出了利用分解法的多目标进化算法MOEA/D。

引用文献

  1. Deb, Kalyanmoy. Multi-Objective Optimization Using Evolutionary Algorithms. John Wiley & Sons, Ltd, 2004.
  2. Deb, Kalyanmoy, et al. "A fast and elitist multiobjective genetic algorithm: NSGA-II." IEEE transactions on evolutionary computation 6.2 (2002): 182-197.
  3. Zhang, Qingfu, and Hui Li. "MOEA/D: A multiobjective evolutionary algorithm based on decomposition." IEEE Transactions on evolutionary computation 11.6 (2007): 712-731.

原文地址:https://www.cnblogs.com/heyif/p/10925245.html

时间: 2024-12-23 15:18:11

Multiobjective Optimisation with Evolutionary Algorithm - 1. 序言的相关文章

Evolutionary Computing: multi-objective optimisation

1. What is multi-objective optimisation [wikipedia]: Multi-objective optimization (also known as multi-objective programming, vector optimization, multicriteria optimization,multiattribute optimization or Pareto optimization) is an area of multiple c

[Evolutionary Algorithm] 进化算法简介

进化算法,也被成为是演化算法(evolutionary algorithms,简称EAs),它不是一个具体的算法,而是一个“算法簇”.进化算法的产生的灵感借鉴了大自然中生物的进化操作,它一般包括基因编码,种群初始化,交叉变异算子,经营保留机制等基本操作.与传统的基于微积分的方法和穷举方法等优化算法(具体介绍见博客[Math] 常见的几种最优化方法中的其他数学优化方法)相比,进化计算是一种成熟的具有高鲁棒性和广泛适用性的全局优化方法,具有自组织.自适应.自学习的特性,能够不受问题性质的限制,有效地

Evolutionary Computing: 5. Evolutionary Strategies

resource: Evolutionary computing, A.E.Eiben 1. What is Evolution Strategies (ES) Evolution strategies(ES) is another member of the evolutionary algorithm family. ES technical summary tableau 2. Introductory Example 2.1 Task minimimise f : Rn -> R 2.2

4. Review ——Evolutionary Computing

Resource:<Introduction to Evolutionary Computing> 1. What is an evolutionary algorithm? There are many different variants of evolutionary algorithms. The common underlying behind all these techniques is the same: given a population of individuals wi

启发式算法(Heuristic Algorithm)

背景: 李航的<统计学习方法>一书中提到:决策树算法通常采用启发式算法,故了解之 问题解答: 时间有限,这里也只是将算法和启发式算法的区别和简单发展摘录如下: 一.算法和启发式方法之间的差别很微妙,两个术语的意思也有一些重叠.就本书的目的而言,它们之间的差别就在于其距离最终解决办法的间接程度:算法直接给你解决问题的指导,而启发式方法则告诉你该如何发现这些指导信息,或者至少到哪里去寻找它们. 二.发展 40年代:由于实际需要,提出了启发式算法(快速有效). 50年代:逐步繁荣,其中贪婪算法和局部

matlab toolboxes 大全

MATLAB Toolboxes top (Top) Audio - Astronomy - BiomedicalInformatics - Chemometrics  - Chaos - Chemistry - Coding - Control - Communications - Engineering - Data Mining - Excel - FEM - Fuzzy - Finance - GAs - Graph - Graphics - Images - ICA - Kernel 

MOP tricks

MOP tricks 开新坑,未完待续 觉得有用的话,欢迎一起讨论相互学习~Follow Me Reference [1] Multiobjective Immune Algorithm with Nondominated Neighbor-Based Selection Some references have implied that MOEAs with small population size have difficulty in converging to the Pareto-op

Machine and Deep Learning with Python

Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstitions cheat sheet Introduction to Deep Learning with Python How to implement a neural network How to build and run your first deep learning network Neur

Awesome Machine Learning

Awesome Machine Learning  A curated list of awesome machine learning frameworks, libraries and software (by language). Inspired by awesome-php. If you want to contribute to this list (please do), send me a pull request or contact me @josephmisiti Als