📄 simeqs.cpp
字号:
#include "Genetik_R.hpp" // Header files,
// Genetik class,
// Chromosome class,
// Randoms
//------------------------------------------------------------------
// **** Nonlinear sim. equations
// **** Answer --> X={1,2,3}
//------------------------------------------------------------------
double simEqs (double x[])
{
double f1,f2,f3,
x1=x[0],
x2=x[1],
x3=x[2];
f1 = x1+exp(x1-1.0)+pow(x2+x3,2)-27.0;
f2 = exp(x2-2.0)/x1+x3*x3-10.0;
f3 = x3+sin(x2-2.0)+x2*x2-7.0;
return (f1*f1+f2*f2+f3*f3); //Least square
}
void main()
{
double xLimit[3]={10.0,10.0,10.0}; // Upper limits
double nLimit[3]={0.01,0.01,0.01}; // Lower limits
Genetik eqs //Create Genetik object eqs
(
simEqs, //Objective or fitness function
3, //Number of variables
100, //Population size
0.85, //Probability of crossover
0.05, //Probability of mutation
0.95, //Probability of win
5.0, //Mutation parameter
xLimit, //Upper limits
nLimit //Lower limits
);
eqs.runGa(100,20); //Run 100 generations
//Print each 20 generation
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -