
geatpy库笔记
「已注销」
这个作者很懒,什么都没留下…
展开
-
geatpy库模板moea_nsga2_templet求解多目标问题
帕累托前沿个数得到的是目标函数值及对应的关系,变量的最优值没显示出来。代码(aimfuc.py)import numpy as npdef aimfuc(x, LegV): # 定义目标函数 x1 = x[:, 0] x2 = x[:, 1] fun1 = (x1 - x2) ** 2 + x1 fun2 = x1 ** 2 - x2 return [np.vstack([f...原创 2018-12-16 12:44:22 · 4364 阅读 · 10 评论 -
gaetpy库模板sga_permut_templet简单应用
sga_new_permut_temple改进的单目标编程模板(排列编码)。排列编码即每条染色体的基因都是无重复正整数的编码方式。为什么使用排列编码二进制编码和实数编码等传统方法在个体间交叉、变异操作中存在通道数目发生改变的局限性。问题max=2*x1+3*x2;x1+2*x2<=8;4*x1<=16;4*x2<=12;代码(aimfuc)import n...原创 2018-12-05 15:31:53 · 414 阅读 · 0 评论 -
gaetpy库模板sga_new_permut_templet简单应用
sga_new_permut_temple改进的单目标编程模板(排列编码)。排列编码即每条染色体的基因都是无重复正整数的编码方式。为什么使用排列编码二进制编码和实数编码等传统方法在个体间交叉、变异操作中存在通道数目发生改变的局限性。问题max=2*x1+3*x2;x1+2*x2&amp;lt;=8;4*x1&amp;lt;=16;4*x2&amp;lt;=12;代码(aimfuc)import n...原创 2018-12-05 15:27:51 · 428 阅读 · 0 评论 -
geatpy库模板sga_mps_real_templet简单应用
问题max=2*x1+3*x2;x1+2*x2&lt;=8;4*x1&lt;=16;4*x2&lt;=12;代码(aimfuc)import numpy as npdef aimfuc(Phen, LegV): x1 = Phen[:, [0]] x2 = Phen[:, [1]] f = 2 * x1 + 3 * x2 # 约束条件 idx1 = np.where(...原创 2018-12-05 14:54:40 · 658 阅读 · 6 评论 -
geatpy库模板sga_new_real_templet简单应用
代码(aimfuc)通过sga_real_templet的简单应用了解了实值编码。现在使用sga_new_real_templet模板实现一个简单的应用。geatpy库的new模板与非new模板的区别,就是增加了精英保留机制。import numpy as npdef aimfuc(Phen, LegV): x = Phen[:, [0]] f = x + 10 * np.sin...原创 2018-12-04 23:00:40 · 1000 阅读 · 4 评论 -
geatpy模板sga_real_templet简单应用
实值编码[1]实值编码遗传算法(RCGA)的染色体空间和问题解空间是同一个空间,较好的解决了二进制编码遗传算法(BCGA)存在的求解精度和冗余代码等问题。代码(aimfuc)import numpy as npdef aimfuc(Phen, LegV): x = Phen[:, [0]] f = x + 10 * np.sin(5 * x) + 7 * np.cos(4 * ...原创 2018-12-04 12:43:48 · 838 阅读 · 1 评论 -
geatpy模板sga_new_code_templet添加约束
描述之前实现了geatpy模板sga_new_code_templet的简单应用,现在在此基础上,通过惩罚函数,实现添加约束,求解一个简单的线性规划问题,最后用Lingo验证一下。用Lingo写的模型如下:model:max=2*x1+3*x2;x1+2*x2&lt;=8;4*x1&lt;=16;4*x2&lt;=12;endLingo结果: Global optim...原创 2018-12-02 12:09:50 · 1272 阅读 · 0 评论 -
geatpy脚本编程
代码求解问题:max = x+10sin(5x)+7cos(4x)0&amp;amp;amp;amp;amp;lt;=x&amp;amp;amp;amp;amp;lt;=10import numpy as npimport geatpy as gaimport timedef aimfunc(Phen, LegV): x = np.array([Phen[:,0]]).T #取第一列解码后的值,即变量1的解码值 f = x + 1原创 2018-11-24 01:26:38 · 1156 阅读 · 1 评论 -
geatpy模板sga_new_code_templet简单应用
geatpy库链接创建一个目标函数创建一个目标函数脚本文件,保存为aimfuc.py,用于接口的实现。代码如下:import numpy as npdef aimfuc(Phen,LegV): x = Phen[:,[0]] f = x + 10*np.sin(5*x) + 7*np.cos(4*x) return [f,LegV]使用sga_new_code_templet...原创 2018-11-23 23:51:50 · 1002 阅读 · 1 评论