# go-GeneticAlgorithm **Repository Path**: Yinyuliao/go-genetic-algorithm ## Basic Information - **Project Name**: go-GeneticAlgorithm - **Description**: go 语言的遗传算法实现 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2021-07-28 - **Last Updated**: 2023-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: Go语言, 遗传算法 ## README ### 遗传算法 *支持自定义的适应度函数注入* ### 使用方法 ```go mainPro := ga.MainProcess{} mainPro.F = fitness mainPro.Run(240, 3, 1000, 50, -3.048, 3.048, 99.99, 0.015) =============================================================== func fitness(c *ga.Chromosome) float64 { } ``` fitness 是自定义的适应度函数; 先定义一个处理对象,然后定义处理对象的适应度函数。 最后运行遗传算法 ```go func (m *MainProcess) Run(num, length, maxLoop, keep int64, min, max, stopFitness, r float64) ``` run 函数的参数 | 参数 | 说明 | | ----------- | ---------------------- | | num | 种群数量 | | length | 染色体长度 | | maxLoop | 最大迭代的代数 | | keep | 每次迭代保留的种群数量 | | min | 染色体的最小数值 | | max | 染色体的最大数值 | | stopFitness | 停止运行的适应度数 | | r | 变异率 |