解决Python中图形的多目标优化

Lucien S.

我正在尝试在大型图表上查找似乎是复杂且耗时的多目标优化。

这是问题所在:我想找到一个n顶点(n恒定为100)和m边(m可以改变)的图形,其中一组度量已优化:

  • 指标A必须尽可能高
  • 指标B必须尽可能低
  • 指标C必须尽可能高
  • 指标D必须尽可能低

我最好的猜测是选择GA。我对遗传算法不是很熟悉,但是我可以花一些时间来学习基础知识。从到目前为止的内容来看,我需要这样:

  1. 生成由m = random [1,2000](例如)边相互随机连接的n个节点的图的填充
  2. 在每个图上运行指标A,B,C,D
  3. 是否找到了最佳解决方案(如问题中所定义)?

如果是,那么完美。如果不:

  1. 选择最好的图
  2. 交叉
  3. 突变(随机添加或删除边?)
  4. 转到3。

现在,我通常使用Python进行小实验。DEAP(https://code.google.com/p/deap/)可以帮助我解决这个问题吗?如果是这样,我还有更多问题(尤其是在交叉和变异步骤上),但总之:这些步骤(在Python中,使用DEAP)是否足够容易在这里解释或总结?

如果需要,我可以尝试详细说明。干杯。

CmdNtrf

免责声明:我是DEAP首席开发人员之一。

您的个人可以用二进制字符串表示。每一位将指示两个顶点之间是否存在边。因此,您的个人将由n *(n-1)/ 2位组成,其中n是顶点数。要评估您的个体,您只需要根据个体基因型构建一个邻接矩阵。有关评估功能示例,请参见以下要点https://gist.github.com/cmd-ntrf/7816665

您的适应度将由4个目标组成,根据您所说的关于最小化和最大化每个目标的内容,适应度类将这样创建:

creator.create("Fitness", base.Fitness, weights=(1.0, -1.0, 1.0, -1.0)

交叉和变异运算符可以与OneMax示例中的相同。http://deap.gel.ulaval.ca/doc/default/examples/ga_onemax_short.html

但是,由于要执行多目标操作,因此需要一个多目标选择运算符,即NSGA2或SPEA2。最后,该算法必须是mu + lambda。有关多目标选择和mu + lambda算法的用法,请参见GA背包示例。http://deap.gel.ulaval.ca/doc/default/examples/ga_knapsack.html

因此,从本质上讲,要启动并运行,您只需在使用建议的评估功能时将onemax示例的一部分与背包合并即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用PyGMO进行多目标优化

来自分类Dev

使用遗传算法和MATLAB中的优化工具箱求解多目标函数

来自分类Dev

如何使用神经网络进行多目标优化?

来自分类Dev

许多目标中的相同扩展

来自分类Dev

在 GAMS 中求解多目标模型

来自分类Dev

如何在同一解决方案中从4.6.1项目引用多目标.NET Core类库?

来自分类Dev

使用NSGA2解决多目标概率时出现“ TypeError”。来自OpenMDAO 1.x中的pyopt-sparse

来自分类Dev

Python中的优化问题-如目标寻求

来自分类Dev

了解DoCPLEX多目标

来自分类Dev

多目标分配

来自分类Dev

在nsga2 R中设置多目标函数的约束

来自分类Dev

在SQL Server中的XML节点上进行多目标搜索

来自分类Dev

VStudio始终为引用的多目标项目编译所有TargetFrameworks,无论在Uno平台解决方案中为构建指定了什么头

来自分类Dev

在 Matlab 中解决优化

来自分类Dev

优化MiniZinc中的多个目标

来自分类Dev

如何解决python中的“注释非法目标”错误?

来自分类Dev

使用Python解决图形问题

来自分类Dev

如何在Python中使用DEAP绘制多目标Pareto边界

来自分类Dev

如何在Python中使用DEAP绘制多目标Pareto边界

来自分类Dev

命令行编译器(csc.exe)中的多目标

来自分类Dev

Keras中具有有限输出的多目标回归

来自分类Dev

支持向量机用于多目标分类

来自分类Dev

SQL Server多目标插入,是否存在?

来自分类Dev

用于Python线性优化的Lambda目标函数

来自分类Dev

近端政策优化中的目标功能

来自分类Dev

如何解决R中的简单优化

来自分类Dev

Python中的随机优化

来自分类Dev

优化Python中的树

来自分类Dev

Python中的搜索优化

Related 相关文章

热门标签

归档