前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MTO变量缩放与统一决策空间

MTO变量缩放与统一决策空间

作者头像
演化计算与人工智能
发布2020-08-14 11:16:56
4030
发布2020-08-14 11:16:56
举报

CIHS1

  • 在CIHS1问题中,或者以CIHS1问题举例,第一维度是[-1,1]之间,第2-50维度是[-100,100]之间。最优点取第一维0-1之间,而后49维度取0。这意为着第一维是控制多样性而后49维控制者收敛。
  • MTO优化的特点是将所有任务的决策变量缩放到一个统一的空间,这个空间可以是[-N,N]或者[0,1].但是要保证所有变量的范围是相等的。在jmetal的标准测试集中这一步是必须的,因为在有double vars[] = scaleVariables(solution);//将决策变量基因型转化为表现型这个函数,无论是其是第一维还是后几维无论是控制收敛还是多样的变量都会将其还原到问题原来的范围。
  • 这意味着如果将第一维仍然约束到-1,1而后几维约束到-100,100.这样在缩放的时候就会产生问题,无论统一空间是多少还是不使用统一空间。因为在评价函数中统一决策空间的用法已经写死了。因此,使用只有统一决策空间初始化并且把在进化时的变量控制在统一空间中才是 正确的 ,例如:如果统一空间是0-1,则所有变量都约束到0-1,而不论原来的范围,因为scaleVariable函数都会将其还原。

示例1

  • 首先是一个NSGA-II的例子,将决策空间到-100-100,其结果较好!
  • 但是仔细观察其决策变量,你会发现其还是用的-100,100的统一空间进行评价而没有单独控制变量的范围,如果按照问题集原来的标准,这个解的第一维度早就已经 越界了
  • 横轴表示第一维,-100到100的空间,其实已经越界了

示例2

  • 其次仍然是一个NSGA-II的例子,但是此时将其决策空间缩放到0-1之间,其结果任然很好!,这是NSGA-II,但是已经有实验证明某些算法其实是对统一空间的范围在某些算例中敏感的。 即[0,1]和[-100,100]的决策空间对算法性能影响较大,主要还是进化算子和选择策略以及是否对不同维度变量范围敏感决定的
  • 但是仔细观察其决策变量,你会发现其还是用的[0,1]的统一空间进行评价而不是变量原来的范围,如果按照问题集原来的标准,这个解的2-49维度的最优值应该落在0处,而不是0.5.
  • 小学二年级学过(0-100)/(100-(-100))=0.5 0.5*(1-0)+0=0.5 意思就是 [-100,100]中的最优点0.5就是[0,1]空间中的0.5

示例3

  • 举个错误的例子,如果使用[-100,100]的统一空间即有语句
代码语言:javascript
复制
      problemSet.setUnifiedLowerLimit(-100);
      problemSet.setUnifiedUpperLimit(100);

但是变量还是约束在原来的范围,即第一维还是控制在在0-1之间 ,这种方式其实没有运用到统一决策空间,而是传统的算法。但是由于scaleVariable函数在评价解时的默认缩放效果。最终会收敛到一个点。这是因为多样性是靠第一维进行维持的,空间在[-100 - 100],[0,1]只是取了很小的一个子集,就好像前沿上的一个小点一样。全部缩成了一团。即使你的算法跑的很好,由于统一决策空间评价的关系,算法也会显得很烂!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrawSky 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CIHS1
  • 示例1
  • 示例2
  • 示例3
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档