• 大小: 21KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-16
  • 语言: C/C++
  • 标签: CMA-ES  

资源简介

CMA-ES算法的C++包,里面有简单的使用说明注释,以及一个简单的函数拟合举例

资源截图

代码片段和文件信息

/**
 * @file example1.cpp
 * Very short example source code. The purpose of the example codes is to be
 * edited/extended.
 */

#include 
#include 
#include “cmaes.h“

/**
 * 例子:拟合y=2*x+1
 */

double x_t[15] = {123456789};
double y_t[15] = {35791113151719};


/**
 * fitfun拟合函数(损失函数)
 */
double fitfun(double const *x int N)
{
    double sum = 0;
    for(int i=0; i<9; i++)
    {
        sum+=((x[0]*x_t[i]+x[1]) - y_t[i])*((x[0]*x_t[i]+x[1]) - y_t[i]);
    }
    return sum;
}


int main(int char**)
{
    CMAES evo;
    double *arFunvals *const*pop *xfinal*xx;

    /**
     * 这里设置参数个数,目前为2
     */
    const int dim = 2;   //
    double xstart[dim];
    for(int i=0; i    double stddev[dim];
    for(int i=0; i    Parameters parameters;

    parameters.init(dim xstart stddev);
    arFunvals = evo.init(parameters);

    std::cout << evo.sayHello() << std::endl;


    while(!evo.testForTermination())
    {
        pop = evo.samplePopulation();
        for (int i = 0; i < evo.get(CMAES::Lambda); ++i)
            arFunvals[i] = fitfun(pop[i] (int) evo.get(CMAES::Dimension));
        evo.updateDistribution(arFunvals);
        xx = evo.getNew(CMAES::XMean);
        /**
         * xx为中间的参数值,可在此判断准确率
         */
    }
    std::cout << “Stop:“ << std::endl << evo.getStopMessage();
    evo.writeToFile(CMAES::WKResume “resumeevo1.dat“);
    /**
     * xfinal为拟合的参数最终结果
     */
    xfinal = evo.getNew(CMAES::XMean);
    for(int i=0; i    std::cout<
    delete[] xfinal;

    return 0;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-07 10:09  CMAES\
     文件       51429  2013-08-02 05:00  CMAES\cmaes.h
     文件        1831  2018-05-07 10:08  CMAES\example.cpp
     文件       10456  2013-08-02 05:00  CMAES\parameters.h
     文件        1795  2013-08-02 05:00  CMAES\random.h
     文件        2338  2013-08-02 05:00  CMAES\timings.h
     文件         993  2013-08-02 05:00  CMAES\utils.h

评论

共有 条评论

相关资源