ble) {("i");
} (" n"); (0);
} creenciasInic (struct creencias * esp) {i; l [VARIABLES], u [VARIABLES]; (l, u); (i = 0; i L [i] = esp-> U [i] = MAXFLOAT;> l [i] = esp-> lp [i] = l [i];> u [i] = esp-> up [ i] = u [i];
}> raiz = (struct celda *) malloc (sizeof (struct celda));> raiz-> padre = NULL;> raiz-> hijo = NULL;> raiz -> profundidad = PROFUNDIDAD_MAX;
} poblacionInic (struct individuo * pobl, struct creencias * esp) {i, j; (i = 0; i lp [j], esp-> up [j]);
}
}
} violacionInic (float gmax []) {i; (i = 0; i
}
} violacion (struct individuo * ind, float gmax []) {i; v; (TRUSSPROBL) {;
}> viol = 0; (i = 0; i g [i]> 0 )? ind-> g [i]: 0;
} {= fabs (ind-> g [i]);
} (v> gmax [i]) {[i] = v;
}> viol + = v/gmax [i];
}
} actualizaCreencias (struct individuo * pobl, struct creencias * esp, int t) {aceptados [TOP + 3]; i, j, iinf, isup, dim, numHijo, sumando, celda, k = 20; sup, inf; celda * nodoAct; (t% k == 0) {(pobl); (i = 0; i
} (pobl [j]. variable [i]> sup) {= j; = pobl [j]. variable [i];
}
} ((inf l [i]) | | (pobl [iinf]. aptitud L [i] && pobl [iinf] . factible)) {(inf u [i]) {> l [i] = inf;> L [i] = pobl [iinf]. aptitud;
}
} ((sup> esp-> u [i]) | | (pobl [isup]. aptitud U [i] && pobl [isup] . factible)) {(sup> esp-> l [i]) {> u [i] = sup;> U [i] = pobl [isup]. aptitud;
}
}
} (& tiempo1); (esp-> raiz, pobl, esp); (& tiempo2); + = 1000 * (tiempo2.time - tiempo1.time) + tiempo2.millitm - tiempo1.millitm;
} (& tiempo1); (i = 0; i l [j] | | [i]. variable [j]> esp-> u [j]) {= -1;;
}
} (numHijo == -1) {[i]. celda = NULL;;
} (nodoAct = esp-> raiz; nodoAct-> d [0]! = -1; nodoAct = & (nodoAct-> hijo [numHijo])) {= 0; = 1; (j = 0; j d [j]; (pobl [i]. variable [dim]> (nodoAct-> lnodo [dim] + nodoAct- > unodo [dim])/2) {+ = sumando;
} + = sumando;
}