Inicio · Parte 12 — Optimización matemática y computacional
población → selección → cruce → mutación → nueva población
elitismo: conservar los k mejores intactos
coste: sin gradiente, muchas evaluaciones de f
Los algoritmos evolutivos mantienen una población de soluciones candidatas y la hacen evolucionar por selección, recombinación y mutación. No necesitan gradiente ni continuidad, solo poder evaluar la función objetivo, y eso los hace aplicables donde los métodos basados en derivadas no llegan.
Su ventaja aparece en funciones multimodales, con muchos mínimos locales. La función de Rastrigin, con su rejilla de mínimos, atrapa al descenso de gradiente en el primer valle que encuentre. Una población dispersa explora simultáneamente muchas regiones y la selección concentra el esfuerzo donde hay señal.
El elitismo es un detalle de implementación con efecto grande: conservar intactos los mejores individuos garantiza que el óptimo encontrado no se pierda por azar en la siguiente generación. Sin él, el algoritmo puede empeorar entre generaciones y la convergencia deja de ser monótona.
El precio es el número de evaluaciones. Donde el descenso de gradiente necesita cientos, un evolutivo necesita decenas de miles, porque cada generación evalúa la población entera. La regla práctica es clara: si hay gradiente fiable, usarlo. Los evolutivos son para cuando no lo hay —búsqueda de arquitecturas, hiperparámetros discretos, simuladores como caja negra— o cuando la multimodalidad es severa.
Algoritmo evolutivo sobre Rastrigin en dos dimensiones.
función: Rastrigin 2D, mínimo global en (0,0) con f = 0
población 60, generaciones 120, elitismo 12
generación mejor f
1 2,468792
20 0,183441
60 0,004127
120 0,000062
mejor solución: (0,001375 ; 0,005583)
Rastrigin tiene un mínimo local aproximadamente en cada
punto de coordenadas enteras. El descenso de gradiente
desde un punto aleatorio se queda en el más cercano.
Coste: 60 × 120 = 7 200 evaluaciones de f
para un problema de 2 variables.
Optimización evolutiva: sin gradiente, sobre una función multimodal.
python classes/part-12-optimizacion-matematica-y-computacional/259-optimizacion-evolutiva/lab.py
compmath run 259
funcionpoblaciongeneracioneselitismohistorialmejor_solucionmejor_valorminimo_globalsin_gradientecoste{
"funcion": "Rastrigin 2D (multimodal)",
"poblacion": 60,
"generaciones": 120,
"elitismo": 12,
"historial": [
{
"generacion": 1,
"mejor_f": 2.4687917
},
{
"generacion": 20,
"mejor_f": 0.02333569
},
{
"generacion": 60,
"mejor_f": 0.00655742
},
{
"generacion": 120,
"mejor_f": 0.00655742
}
],
"mejor_solucion": [
0.001375,
0.005583
]
}
Búsqueda de arquitecturas neuronales, ajuste de hiperparámetros discretos, diseño de ingeniería con simuladores y optimización de funciones no derivables.
AdamW es el optimizador por defecto del entrenamiento moderno; entender su actualización explica el weight decay, el warmup y el gradient clipping.
9783662448748 verificado en International ISBN Agency (2026-08-19).10.1162/106365601750190398 verificado en Crossref (2026-08-19).