Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tutorial细节问题 #380

Open
Decade-rider opened this issue Aug 21, 2024 · 1 comment
Open

tutorial细节问题 #380

Decade-rider opened this issue Aug 21, 2024 · 1 comment

Comments

@Decade-rider
Copy link

在教程文档’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

希望可以及时更正文档,小白在上手时最容易被这些细节所困扰,流畅的第一次运行可以给小白增加学习的信心,谢谢

@geatpy-dev
Copy link
Owner

好的,感谢指正!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants