align="justify">} NULL;
} selecciona (struct individuo * pobl) {c = TAMPOBL/2; i, j, contr, indmin; min; hayFactibles; (i = 0; (! pobl [i]. factible) | | (i <2 * TAMPOBL); i + +); = (i <2 * TAMPOBL)? 1: 0; (i = 0; i <2 * TAMPOBL; i + +) {[i]. Victorias = 0; (j = 0; j = i)? contr +1: contr; ((pobl [i]. factible && pobl [contr]. factible)) {(pobl [i]. aptitud
}
} {(! pobl [contr]. factible) {(pobl [i]. factible) {[i]. victorias + +;
} if (pobl [i]. viol
}
}
}
}
} (i = 0;! pobl [i]. factible && i <2 * TAMPOBL; i + +); (i <2 * TAMPOBL) {= pobl [i]. aptitud; = i; (; i <2 * TAMPOBL; i + +) {(pobl [i]. factible && pobl [i]. aptitud
}
} [indmin]. victorias = c + 1;
} (pobl, 2 * TAMPOBL, sizeof (struct individuo), & compVictorias);
} compVictorias (const void * ind1, const void * ind2) {dif; = ((struct individuo *) ind2) -> victorias - ((struct individuo *) ind1) -> victorias ; dif;
} nuevoInd (struct individuo * ind) {j; l [VARIABLES], u [VARIABLES]; (l, u); (j = 0; j variable [j] = rndreal (l [j], u [j]);
}
} extremos (int * indmin, int * indmax, struct individuo * pobl) {i, sumados = 0; min, max, med = 0.0; (i = 0;! pobl [i]. factible && i
* indmin = * indmax = i; (; i
* indmin = i; = pobl [i]. aptitud;
} (pobl [i]. aptitud> max) {
* indmax = i; = pobl [i]. aptitud;
} + = pobl [i]. aptitud; + +;
}
}
} {= min = pobl [0]. viol;
* indmin = * indmax = 0; (i = 0; i
* indmin = i; = pobl [i]. viol;
} (pobl [i]. viol> max) {
* indmax = i; = pobl [i]. viol;
} + = pobl [i]. aptitud; + +;
}
} = med/sumados;}
Висновок
У роботі був описаний алгоритм TS (Пошук з заборонами), а також наведені приклади адаптації алгоритму для вирішення проблем оптимізації.
За наведеними таблицями можна порівняти ефективність роботи алгоритму TS стосовно інших алгоритмам. Таким як: Імітація відпалу, k-...