小弟的作业遇到了一点瓶颈问题,求高手进来帮帮忙,感激不尽!!!
这是一个评价函数,是我作业里的其中一个子函数,但有一个约束条件不知道怎么加,求高手指导!!void evaluate(void)
{
int mem;
int i,j;
double x[NVARS]; //+1 ?
for (mem = 0; mem < POPSIZE; mem++) //种群规模:POPSIZE=50;
{
for (i = 0; i < NVARS; i++) //变量数:NVAR=8;
{
x[i] = population[mem].gene[i];
}
population[mem].fitness=0;
P_Q(x, u); //将r[8]代入潮流;
for(j=0;j<9;j++)
{ //就是在这里加上约束条件,{if *(u+j)>1.1 population[mem].fitness+=1 if *(u+j)<0.9 population[mem].fintness ???怎么加?小弟老是弄不了,求高手???
population[mem].fitness += (1.1-(*(u+j)))*(1.1-(*(u+j)));
}
// cout<<"Data: "<<population[mem].fitness;
/*population[mem].fitness= (1.1-u[0] )*(1.1-u[0]) + (1.1-u[1])*(1.1-u[1]) + (1.1-u[2])*(1.1-u[2]) + (1.1-u[3])*(1.1-u[3])
+ (1.1-u[4])*(1.1-u[4]) + (1.1-u[5])*(1.1-u[5]) + (1.1-u[6])*(1.1-u[6]) + (1.1-u[7])*(1.1-u[7])
+ (1.1-u[8])*(1.1-u[8]);*/
}
}