# go-GeneticAlgorithm **Repository Path**: ltaodream/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**: 0 - **Forks**: 1 - **Created**: 2022-05-23 - **Last Updated**: 2022-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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 | 变异率 |