Optimización · Matemáticas

Optimización entera y combinatoria

Modelar y resolver problemas de decisión discreta con relajación lineal, ramificar-y-acotar y cortes, leyendo el gap como resultado profesional.

Optimización entera y combinatoria

Decidir es entero Cuando la respuesta correcta es "3 camiones", el relajado LP que sugiere 2.7 no se remata con una redondeadita: la integridad cambia la geometría y la dificultad del problema.

Muchas decisiones son discretas: abrir o cerrar una planta, asignar una tarea, elegir un subconjunto. La optimización entera (IP) y su caso binario agregan a un modelo lineal la condición de que ciertas variables tomen valores enteros. El resultado es una clase de problemas muchísimo más expresiva y, en general, NP-dura.

De la relajación a la cota

Quitar la condición de integridad produce la relajación lineal: su óptimo, para un maximiza, es una cota superior del entero óptimo. Esa cota es el ancla del campo: sin ella no habría forma de saber cuán bueno es una solución factible encontrada por heurística.

Diagrama de cuatro bandas: los problemas combinatorios típicos; el modelado con variables binarias, big-M y restricciones lógicas; el relajado LP que entrega la cota; y la caja de herramientas ramificar-y-acotar, planos de corte, heurísticas y gap.
El relajado LP acota; ramificar-y-acotar cierra la brecha entre la cota y la mejor solución entera.

Modelar decisiones discretas

Ramificar y acotar

El algoritmo maestro es ramificar y acotar: resolver el relajado, elegir una variable fraccionaria y ramificar el problema en dos subproblemas con cotas opuestas; podar cuando la cota del subproblema no mejora a la mejor solución entera conocida. La fuerza bruta se convierte en una búsqueda con tijeras: la calidad del relajado y de las heurísticas decide cuántas ramas sobreviven.

Planos de corte y los dos motores

Los planos de corte añaden restricciones válidas que recortan la relajación sin tocar los enteros. Los solucionadores modernos mezclan ramificar-y-acotar con cortes y heurísticas, y por eso reportan gap: la distancia relativa entre mejor cota y mejor solución factible. Un gap de 1.5 por ciento con una solución de mil millones de pesos es un resultado profesional, no un fracaso.

El zoo de modelos clásicos

La dualidad cota-factible es lo que hace riguroso al campo.
ConceptoQué da
Relajación linealcota del óptimo entero
Rama acotadabúsqueda podada por cotas
Corteaprieta la relajación sin excluir enteros
Gapcuánto falta para certificar optimalidad

Errores frecuentes

Ejemplo resuelto: mochila por ramificación

  1. Plantear el relajado lineal y resolver: da la cota superior.
  2. Elegir la variable de decisión fraccionaria y crear dos ramas con cotas opuestas.
  3. Resolver cada rama; si su cota no supera a la mejor entera, podarla.
  4. Cuando una rama da una solución entera factible, actualizar la mejor conocida.
  5. Terminar cuando el gap entre cota global y mejor entera sea aceptable.

¿Para qué sirve en la realidad?

Cada noche, cadenas retail y aerolíneas resuelven modelos enteros con millones de variables para reabastecer, tripular y programar. Los solucionadores (de código abierto o comercial) son infraestructura crítica de la logística moderna.

En un problema de maximización entera, ¿qué papel cumple la relajación lineal?

La mejor solución entera factible encontrada por heurística siempre coincide con el óptimo del relajado lineal.

La distancia relativa entre la mejor cota y la mejor solución entera factible se llama del solucionador.

Clasifica cada pieza según dónde vive en el flujo de un modelo entero.

Modelado
Acotar
Cortar ramas

Une cada problema clásico con su forma.

Vocabulario entero

Quitar la integridad para acotar
relajación lineal
Búsqueda podada por cotas
ramificar y acotar
Restricción válida que recorta la relajación
plano de corte
Si se abre, entonces puede despachar
restricción big-M
Distancia cota-factible al entregar
gap aceptable

Optimización entera

# Entero y combinatorio
## Modelos
### mochila
### asignación
### rutas
### localización
## Relajación
### cota superior
### cortes
## Algoritmo
### ramificar
### acotar
### podar
## Práctica
### big-M
### gap y heurísticas

Ramificar y acotar (Wikipedia)
El algoritmo maestro con sus reglas de poda y selección de ramas.

Programación entera (Wikipedia)
Formulación, relajación y resolución de modelos con variables enteras.

Debes programar 60 rutas de reparto con ventanas de tiempo. ¿Qué variables binarias y qué continuidad modelarías, cómo obtendrías una cota inicial sin solucionador comercial y qué gap considerarías aceptable para publicar el plan nocturno?