📄 fonxy01.cpp
字号:
#include "Genetik_R.hpp"
//------------------------------------------------------------------
// **** min f(x,y)=0.5*x^2+x*y^2
// **** subject to x*y^2=10, -2*x^2+y/3<=0, x,y>=0
//------------------------------------------------------------------
double fonXY (double v[])
{
double f,g,h,w,
x=v[0],
y=v[1];
f=0.5*x*x+x*y*y;
g=-2.0*x*x+y/3.0;
h=x*y*y-10;
w=pow(max(0.0,g),2);
return f+1.0e3*(w+h*h);
}
void main()
{
double xLimit[2]={10.0,10.0}; // Upper Limites
double nLimit[2]={0.0,0.0}; // Lower Limites
Genetik minFonXY //Create an object of type Genetik
(
fonXY, //Fitness
2, //Variables
60, //Population
0.85, //Crossover probability
0.05, //Mutation probability
0.99, //Win probability in tournament
5.0, //Mutation parameter
xLimit, //Upper lim.
nLimit //Lower lim.
);
minFonXY.runGa(500,50); //Run for 500 generation
//Print each 50 generation
cin.get();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -