遗传算法| Python Geatpy库

本文介绍了Geatpy库的由来、用途,并通过带约束的单目标和多目标优化问题的Python程序实例,展示了如何使用这个高性能进化算法工具箱。Geatpy由华南农业大学等高校专家开发,适用于实际工程项目,提供初始化种群、选择、交叉、变异等功能,支持多目标优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 Geatpy库的由来

由华南农业大学、暨南大学、华南理工大学等一批大佬们研发的超高性能、通用性强、能够轻松应用到实际工程项目之中的、能让用户快速上手进化算法的工具箱(遗传算法工具箱),详情见官网http://geatpy.com/index.php/home/

2 Geatpy库的用途

Geatpy 是一个高性能实用型进化算法工具箱,提供了许多已实现的进化算法各项操作的函数,如初始化种群、选择、交叉、变异、多目标优化参考点生成、非支配排序、多目标优化 GD、IGD、HV 等指标的计算等等。

3 Geatpy库的案例

3.1 带约束的单目标优化问题

带约束的单目标优化问题

3.1.1 Python程序

问题描述程序
import numpy as np
import geatpy as ea

class MyProblem(ea.Problem):                # 继承Problem父类
    def __init__(self):
        name = 'MyProblem'                  # 初始化name(函数名称,可以随意设置)
        M = 1                               # 初始化M(目标维数)
        maxormins = [-1]                    # 初始化目标最小最大化标记列表,1:min;-1:max
        Dim = 3                             # 初始化Dim(决策变量维数)
        varTypes = [0] * Dim                # 初始化决策变量类型,0:连续;1:离散
        lb = [0,0,0]                        # 决策变量下界
        ub = [1,1,2]                        # 决策变量上界
        lbin = [1,1,0]                      # 决策变量下边界
        ubin = [1,1,0]                      # 决策变量上边界 # 调用父类构造方法完成实例化
        ea.Problem.__init__(self, name, M, maxormins, Dim, varTypes, lb, ub, lbin, ubin)

    def aimFunc(self, pop):                 # 目标函数,pop为传入的种群对象
        Vars = pop.Phen                     # 得到决策变量矩阵
    
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值