38 double min = 0, max = 0, a, I;
40 for (uint i = 1; i < p1->realValue.size(); i++) {
41 a = state_->getRandomizer()->getRandomDouble();
43 I = fabs(p1->realValue[i] - p2->realValue[i]);
45 if (p1->realValue[i] <= p2->realValue[i]){
46 min = p1->realValue[i] - I*alpha;
47 max = p2->realValue[i] + I*beta;
50 min = p2->realValue[i] - I*beta;
51 max = p1->realValue[i] + I*alpha;
53 ch->realValue[i] = min + a * (max - min);