多目标遗传算法

本文最早发表于本人博客:http://www.gotoli.us/?p=1773

很多优化问题是多目标优化问题,目标之间一般都是互相冲突的。比如在公路路线设计中,需要兼顾至少两个目标:1)路线经过多的居民点,方便大家出行,2)路线尽量少经过居民点附近,减少土地征用和房屋拆迁费用。在遗传算法出现之后,有人提出了各种方法将遗传算法应用于多目标优化。多目标遗传算法按照选择方法可以分为两种类型:基于线性加权和基于Pareto排序。

1)基于线性加权的多目标遗传算法

这种算法的思路很简单,将多目标按照线性加权的方式转化为单目标,然后应用传统遗传算法求解,如下公式所示

其中w_i表示第i个目标的权重,f_k表示归一化之后的第i个目标值。我们很容易知道,这类方法的关键是怎么设计权重。比如,Random Weight Genetic Algorithm (RWGA) 采用随机权重的方式,每次计算适应度都对所有个体随机地产生不同目标的权重,然后进行选择操作。 Vector-Evaluated Genetic Algorithm (VEGA) 也是基于线性加权的多目标遗传算法。如果有K个目标,VEGA 会随机地将种群分为K个同等大小子种群,在不同的子种群按照不同的目标函数设定目标值,然后再进行选择操作。VEGA 实质上是基于线性加权的多目标遗传算法。VEGA 是第一个多目标遗传算法,开启了十几年的研究潮流。

2)基于Pareto排序的多目标遗传算法

基于线性加权的多目标遗传算法给大家的感觉怪怪的,并不是真正多目标优化的实质。那么什么是真正的多目标优化。Pareto 在1986 年提出 Pareto 支配概念,其定义为:假设两个解决方案 I1 和 I2,对所有目标而言,I1 均优于 I2,则我们称 I1 支配I2。若 I1 没有被其他解所支配,则 I1 称为 Pareto 解。Pareto 解的集合被称为Pareto front。真正的多目标优化应该求解出Pareto front,选择Pareto front中的解应该提交人工解决。基于Pareto 排序的多目标遗传算法便是致力求解出 Pareto front。Multi Objective Genetic Algorithm (MOGA)、 Non -dominated Sorting Genetic Algorithm (NSGA) 和 improved Non-dominated Sorting Genetic Algorithm (NSGA-II) 都是常用的基于 Pareto 排序的多目标遗传算法。

基于 Pareto 排序的多目标遗传算法首先要解决的是适应度函数设计问题。MOGA 采用的适应度函数fitness(I) = 1 + nq(I),其中nq(I)表示被个体 I 支配的个体数量。NSGA 和 NSGA-II 再采用另外一种计算适应度函数的方法

  step 1: 令i=1
  step 2: 在种群 P 中找到所有不支配其他个体的个体,将它们的适应度设为i;
  step 3: 令i = i + 1
  step 4: 将step2中找到的个体从种群删除。如果种群不为空,则重新从step2开始执行;否则结束。

上面两种适应度函数都能够挖掘种群中 Pareto 支配关系,效果如下图所示(左边的图表示 NSGA 和 NAGA-II 的适应度函数,右边的图是 MOGA 的适应度函数)。


基于Pareto排序的多目标遗传算法还有另一个关键点:我们要找的是 Pareto 解的集合,而不是一个 Pareto 解,因此我们需要鼓励多样性。不同算法有不同鼓励多样性的手段。MOGA 和 NSGA 采用的多样性方法被称为 fitness sharing 。fitness sharing 方法首先用下面的公式计算不同个体之间的距离。


其中f_k{max}表示目前找到的最大k目标值,同理可知f_k{min}。对于个体 I ,我们可以计算它的 niche count (求高手翻译,这个是啥玩意?)

再用个体的 niche count 调整个体的适应度

NSGA-II采用的是另一种被称为 crowding distance 的方法。个体 I 的crowding distance 用 cd(I) 表示。适应度值为i的个体用集合F_i表示。对于每个集合F_i,我们执行如下操作:

  step 1:对于每一个目标k, 我们按照目标值从小到大将集合F_i中个体排序;
  step 2:假设集合 F_i 中个体有l个,则cd_k(I(1,k))和cd_k(I(l,k))等于无限,其他
  其中 I[i,k]表示按照第k个目标值排在第i位的个体。
  step 3:计算cd(I) = \sum_{k=1}^{K}cd_k(I)。

计算得到每个个体的 crowding distance 之后,我们不用它去调整适应度,而是用了一种别样的选择方法。我们随机选择两个个体。如果两个适应度不同,则选择适应度大的个体;如果适应度相同,则选择 crowding distance 大的个体。下图就是 fitness sharing 和 crowding distance 的示意图(左边图表示 fitness sharing, 右边图表示 crowding distance)。


自1985年VEGA发表之后,Fonseca、Deb 和 Goldberg 等大神引领着研究者们为了更好的多目标遗传算法贡献自己的聪明才智,引发了一波研究潮流。时光荏苒,岁月如梭。几十年过去了,转眼到了 2000 年后,多目标遗传算法的坑大部分被填完,研究基本定型,便很难看到有影响力的多目标遗传算法研究了。一篇 2006 年综述对十几年来的研究成果进行总结,算是给多目标遗传算法的研究画上了一句号。潮起了十几年又潮落了。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,816评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,729评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,300评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,780评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,890评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,084评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,151评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,912评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,355评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,666评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,809评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,504评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,150评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,121评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,628评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,724评论 2 351

推荐阅读更多精彩内容

  • Funda T, El-Kassaby YA (2012) Seed orchard genetics. CAB ...
    董八七阅读 877评论 0 2
  • 多目标优化问题详解 2017年9月2日byxyjisaw 生活中 ,许多问题都是由相互冲突和影响的多个目标组成。人...
    jacke121阅读 5,067评论 0 3
  • 本文最早发表在本人博客:http://www.gotoli.us/?p=1518 我们接着上面的例子。上面例子是一...
    algorithmdog阅读 7,298评论 2 13
  • 外环路外,仰万古长空, 不见昨日望月。 伫听蝉鸣,戚戚满别情。 误几回,路际识君车, 争知我,凝思凌乱。 两度春秋...
    四月天天阅读 478评论 0 3
  • A.打开终端 打印代码: B. 更换ruby镜像: 终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你...
    Mominglaile阅读 418评论 0 0