geatpy
geatpy copied to clipboard
tutorial细节问题
在教程文档’3.快速开始.pdf‘中2.2.1部分编写MyProblem.py中代码的缩进没有注意,以及在编写aimFunc函数时不能正常运行,经检查算法模板源码不是文中提到的“soea_DE_best_1_L_templet.py",而是”demo/soea_demo/soea_demo10/MyProblem.py“,此外aimFunc函数部分也存在不一致的地方,如下: aimfuc
def aimfuc(self, pop): # 目标函数,pop为传入的种群对象
Vars = pop.Phen # 得到决策变量矩阵
x1 = Vars[:, [0]] # 取出第一列得到所有个体的x1组成的列向量
x2 = Vars[:, [1]] # 取出第二列得到所有个体的x2组成的列向量
x3 = Vars[:, [2]] # 取出第三列得到所有个体的x3组成的列向量
# 计算目标函数值,赋值给pop种群对象的ObjV属性
pop.Objv = 4*x1 + 2*x2 + x3
# 采用可行性法则处理约束,生成种群个体违反约束程度矩阵
pop.CV = np.hstack([2*x1 + x2 - 1, # 第一个约束
x1 + 2*x3 - 2, # 第二个约束
np.abs(x1 + x2 + x3 - 1)]) # 第三个约束
evalVars
def evalVars(self, Vars): # 目标函数,pop为传入的种群对象
x1 = Vars[:, [0]] # 取出第一列得到所有个体的x1组成的列向量
x2 = Vars[:, [1]] # 取出第二列得到所有个体的x2组成的列向量
x3 = Vars[:, [2]] # 取出第三列得到所有个体的x3组成的列向量
# 计算目标函数值,赋值给pop种群对象的ObjV属性
f = 4*x1 + 2*x2 + x3
# 采用可行性法则处理约束,生成种群个体违反约束程度矩阵
CV = np.hstack([2*x1 + x2 - 1, # 第一个约束
x1 + 2*x3 - 2, # 第二个约束
np.abs(x1 + x2 + x3 - 1)]) # 第三个约束
return f, CV
希望可以及时更正文档,小白在上手时最容易被这些细节所困扰,流畅的第一次运行可以给小白增加学习的信心,谢谢
好的,感谢指正!