OC / SSAlab · eurística combinatoria

Laboratorio de optimización combinatoria · SSA

Encontrar lo óptimo entre 10³² candidatos

Cuando el espacio de soluciones crece más rápido que cualquier computador, la eurística toma el mando: reglas de búsqueda inspiradas en la naturaleza que encuentran soluciones muy buenas en tiempo razonable. Esta página lo demuestra en vivo — empezando por el clásico entre clásicos.

n! solucionespermutaciones de un recorrido de n ciudades
O(n²) · 2-optcoste de evaluar un movimiento local
2020Xue & Shen publican el Sparrow Search Algorithm
demo en vivo — viajante de comercio (TSP) 2-opt
ciudades—
iteraciones0
coste del recorrido—
convergenciaoptimizando…
clic en el lienzo = añadir ciudad

§ 01 · el problema

La explosión combinatoria

Un problema combinatorio pide elegir la mejor configuración entre un conjunto finito pero astronómico de posibilidades: un orden, una asignación, un subconjunto. La enumeración exhaustiva es el método exacto… y es impracticable casi siempre.

npermutaciones n!tiempo exacto*

* evaluando 10⁹ soluciones por segundo — más de las que caben en un parpadeo.

Aquí nace la eurística. Del griego heurískō (εὑρίσκω): descubrir, encontrar. En lugar de garantías absolutas, ofrece un pacto honesto: una solución de alta calidad, un coste de cómputo acotado y la posibilidad de seguir mejorando si le das más tiempo.


La optimización combinatoria formaliza ese pacto con cuatro piezas — y casi todos los problemas industriales pueden escribirse con ellas.

/ 01

Espacio de soluciones 𝒮

El conjunto de todas las configuraciones factibles: permutaciones, subconjuntos, asignaciones. En un TSP de 30 ciudades, 𝒮 tiene ~2,6 × 10³⁰ elementos.

/ 02

Función objetivo f(s)

La medida de calidad que se quiere minimizar (coste, distancia, tiempo) o maximizar (beneficio, fiabilidad). Es el paisaje que exploran los algoritmos.

/ 03

Restricciones

Lo que convierte una combinación cualquiera en una solución factible: capacidades, plazos, exclusividad, conectividad. Definen la frontera de 𝒮.

/ 04

Vecindad N(s)

Las soluciones «cercanas» a s bajo un movimiento simple: intercambiar dos elementos, invertir un tramo, añadir o quitar un ítem. El motor de la búsqueda local.

§ 02 · el repertorio

Metaheurísticas: el arte de buscar bien

Una metaheurística es una plantilla de búsqueda de alto nivel: no conoce tu problema, pero sabe cómo explorar, cuándo intensificar y cuándo escapar de una trampa. Cada familia equilibra a su manera los dos impulsos opuestos de toda búsqueda.

El dilema fundamental
◂ diversificación (explorar)intensificar (explotar) ▸
01

Búsqueda local trayectoria

Itera «moverse al mejor vecino». Rápida y simple; se estrella contra el primer óptimo local que encuentra.

~1950sdescenso de gradiente discretoclave: estructura de vecindad
02

Recocido simulado física

Imita el enfriamiento de un metal: acepta peores soluciones con probabilidad e−Δ/T, y esa temperatura que baja le permite saltar valles.

1983Kirkpatrick, Gelatt & Vecchiclave: temperatura T y enfriamiento
03

Búsqueda tabú memoria

Prohíbe deshacer movimientos recientes mediante una lista tabú: la memoria a corto plazo fuerza la exploración de territorios nuevos.

1986Fred Gloverclave: lista tabú y aspiración
04

Algoritmos genéticos población

Una población de soluciones evoluciona por selección, cruce y mutación. El paradigma evolutivo aplicado a permutaciones y cromosomas.

1975John Hollandclave: operadores de cruce
05

Colonia de hormigas estigmergia

Agentes que depositan feromona sobre los buenos componentes: la comunicación indirecta construye soluciones colectivamente. Reina en TSP y routing.

1992Marco Dorigoclave: evaporación de feromona
06

Sparrow Search enjambre · protagonista

Una bandada de gorriones forrajea con tres roles — productores, mendigos y detectores — que equilibran descubrimiento, explotación y alarma anti-predador.

2020Xue & Shenclave: umbral de seguridad ST

§ 03 · el algoritmo

Sparrow Search Algorithm

Publicado en 2020, el SSA modela el forrajeo de una bandada de gorriones: unos pocos descubren la comida, el resto sigue al que más tiene, y un grupo vigila a los depredadores. La metáfora se traduce en tres operadores matemáticos.

año
2020 — Systems Science & Control Engineering
autores
Jiankai Xue · Bo Shen
familia
Inteligencia de enjambre (swarm intelligence)
inspiración
Forrajeo y anti-predación del gorrión
parámetros
ST ≈ 0,8 · R² ∈ [0,1] · PD, SD ≈ 20 %
i
Productores — PD ≈ 20 %

Exploran el territorio

Los individuos con mejor fitness guían a la bandada. Su paso se ensancha al inicio y se estrecha al final de la búsqueda: exploración que madura en explotación.

si R² < ST (zona segura):
xᵢ ← xᵢ + N(0, σₜ) · λ   // σₜ se encoge con t
si no — huida aleatoria:
xᵢ ← xᵢ + Q · 1
ii
Mendigos / scroungers

Explotan al mejor

Monitorizan a los productores y se desplazan hacia el mejor filón descubierto; los más hambrientos se dispersan aleatoriamente en busca de comida nueva.

si i > n/2 — dispersión:
xᵢ ← Q · exp((x_peor − xᵢ) / i²)
si no — seguir al productor:
xᵢ ← x_bestP + |xᵢ − x_bestP| · A⁺ · 1
iii
Detectores — SD ≈ 20 %

Dan la alarma

Vigilan el peligro (un óptimo local, un depredador). Al detectarlo, parte de la bandada se teletransporta: diversidad inyectada justo cuando más hace falta.

si fᵢ ≠ f_best — alerta:
xᵢ ← x_best + β · |xᵢ − x_best|
si no — pequeño ajuste:
xᵢ ← xᵢ + K · |xᵢ − x_best|,  K ∈ [−1,1]

¿Y en problemas combinatorios? Las posiciones se codifican como permutaciones o subconjuntos y las ecuaciones se reescriben con swaps, inversiones y máscaras binarias — la lógica de roles (producir, seguir, alarmarse) se conserva intacta. Así se aplica SSA a TSP, mochila o scheduling.

§ 04 · laboratorio en vivo

Tres buscadores, un paisaje

El mismo terreno de fitness (minimizar), tres estrategias. Observa quién cae en el óptimo local, quién salta fuera y quién converge con la bandada.

Hill Climbinggreedy puro
it 0—
Recocido SimuladoT = T₀·κᵗ
it 0—
Bandada de gorrionesSSA · n=26
it 0—
hill climbing · — recocido · — sparrow · —

terreno #7 · el valle más oscuro es el óptimo global · los algoritmos minimizan f(x,y)

§ 05 · resultados

Cómo se mide una eurística

Con instancias de referencia de óptimo conocido (TSPLIB) y una mérica honesta: el gap — cuánto nos quedamos por encima de la solución perfecta.

SSA binario con operador 2-opt de reparación · presupuesto fijo de evaluaciones · resultados ilustrativos

instancianóptimo TSPLIBmejor SSAgap %gap visual
berlin52527.5427.6120,93
eil51514264311,17
eil76765385492,04
kroA10010021.28221.6041,51
kroA15015026.52427.1182,24
pcb44244250.77852.3503,09

nada es gratis: el teorema No-Free-Lunch recuerda que ninguna metaheurística domina en todos los problemas — el diseño está en casar algoritmo y estructura.

§ 06 · en el mundo real

Donde vive la combinatoria

A / 01

Rutas de última milla

VRP con ventanas de tiempo, capacidades y tráfico en tiempo real: cientos de vehículos, miles de paradas, minutos para decidir cada mañana.

TSP · VRP · colonias de hormigas
A / 02

Planificación y scheduling

Turnos hospitalarios, puertas de aeropuerto, órdenes de fabricación en job-shop: asignar recursos escasos a tareas con fechas y precedencias.

job-shop · recocido simulado · tabú
A / 03

Diseño de chips

Colocar y enrutar millones de celdas minimizando longitud de cable y consumo.

placement · QAP
A / 04

Redes e infraestructura

Dónde situar antenas, hubs logísticos o centros de datos para cubrir más con menos.

set cover · steiner
A / 05

Carteras y riesgo

Seleccionar activos con cardinalidad limitada y correlaciones: un knapsack cuadrático.

knapsack · SSA binario
A / 06

Ciencia computacional

Plegamiento de proteínas, diseño de experimentos, búsqueda de hiperparámetros: espacios discretos gigantes donde cada evaluación es cara y la eurística es la única vía.

optimización negra · enjambres
A / 07

Asignación y emparejamiento

Aulas a exámenes, jueces a partidos, donantes a receptores: restricciones duras que convierten cualquier asignación «casi válida» en un laberinto combinatorio.

matching · graph coloring

§ 07 · vocabulario

Glosario de bolsillo

Heurísticadel griego heurískō: descubrir. Método que sacrifica optimalidad por velocidad y praticidad.
Metaheurísticaplantilla de búsqueda independiente del problema que orquesta una heurística local.
Exploración ↔ explotaciónvisitar regiones nuevas vs. refinar lo ya conocido. Todo el diseño vive aquí.
Óptimo localsolución mejor que toda su vecindad, pero peor que el óptimo global. La trampa clásica.
Vecindad N(s)conjunto de soluciones alcanzables desde s con un movimiento elemental.
Fitness / objetivovalor f(s) que ordena las soluciones; el relieve del paisaje de búsqueda.
Convergencia prematuracuando una población se apiña en un óptimo local y pierde diversidad.
No-Free-LunchWolpert & Macready, 1997: promediando todos los problemas, ningún algoritmo supera a otro.
Discretizaciónadaptación de algoritmos continuos (como SSA) a permutaciones y subconjuntos.
Intensificaciónexplotar a fondo una región prometedora; la fase «mendigo» del gorrión.