• 大小: 4KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-04
  • 标签: c++  GA  遗传算法  

资源简介

遗传算法的c++实现,代码量一般,使用方便。在求值优化时只需要将函数表达式改变即可。

资源截图

代码片段和文件信息

// 位向量求解函数最值程序
#include 
#include 
#include 
#include 
#include “bitvector.h“
using namespace std;

double f(double x)
{
    return cos(x) + sin(2 * x);
}

double f_value(double(* func)(double) const BitVector & arr int & N double a double b)
{
    double res m = 0.0;

    for(int j = 0; j < N; j++)
    {
        double k = j;
        m += arr[N - j - 1] * pow(2.0 k);
    }

    double x = a + m * (b - a) / (pow(2.0 N) - 1.0);
    res = func(x);
    return res;
}

double x_value(const BitVector & arr int & N double a double b)
{
    double m = 0.0;

    for(int j = 0; j < N; j++)
    {
        double k = j;
        m += arr[N - j - 1] * pow(2.0 k);
    }

    double x = a + m * (b - a) / (pow(2.0 N) - 1.0);

评论

共有 条评论