Simulaciones interactivas: aprieta play y observa cómo cada algoritmo construye su solución paso a paso. Mismo problema (8 ejecutivos · 3 gerentes), distintas estrategias, distintos resultados según el régimen.
Este mini-problema está deliberadamente saturado (demanda 455 min en zona 1 vs 430 disponibles · 330 min en zona 2 vs 220) para que las diferencias entre métodos se hagan visibles. En el problema real del informe (370 × 49 con sobre-oferta de capacidad) los 4 enfoques convergen al mismo óptimo. El régimen del problema (saturado vs holgado) define qué método aporta valor.
Las cuatro simulaciones reportan los mismos KPIs. Si vienes directo aquí (sin haber leído el informe principal), esto es lo que significa cada uno:
Suma del valor $v_e$ de cada ejecutivo asignado. Es lo que el modelo busca maximizar.
$v_e = 1000 \cdot \#A_e + 100 \cdot \#B_e + 1 \cdot \#C_e$
Pesos elegidos para que 1 cliente A > 9 clientes B > 99 clientes C, alineado con la prioridad oficial.
Minutos al año que el ejecutivo $e$ requiere de su gerente para atender a todos sus clientes (suma de tiempos de venta + instrumentación + post-venta de cada producto).
En el mini-problema: entre 60 y 160 min.
$\rho_e = v_e / t_e$ — el valor por minuto que aporta el ejecutivo. La metodología Greedy ordena por esta cantidad.
A más densidad, más rentable es asignarlo cuando hay competencia por la capacidad.
Minutos disponibles del gerente $g$ para atender ejecutivos durante el año. Restricción dura: la suma de $t_e$ asignada nunca puede exceder $T_g$.
En el mini-problema: 180–250 min por gerente.
Prioridad comercial. A = más rentable, C = menos. La métrica oficial $x/y$ del problema cuenta solo A+B asignados.
Los pills ABC en los simuladores indican el mix de cada ejecutivo.
$H = -V + \lambda \cdot \text{exceso}^2$ es la energía del Hamiltoniano (negativo de V más penalización por sobrecapacidad). $T$ es la temperatura que controla la exploración.
Minimizar $H$ ≡ maximizar $V$ con factibilidad.
8 ejecutivos · 3 gerentes · 2 zonas · capacidades saturadas para que las diferencias entre métodos se hagan visibles.
La estrategia más simple: ordena ejecutivos por prioridad de cliente (A→B→C→score) y los recorre en orden, asignando cada uno al primer gerente compatible que aún tenga capacidad libre.
En vez de ordenar por #A, calcula la densidad ρ = v_e / t_e (valor por minuto) y la usa como prioridad. Para cada ejecutivo, en lugar del primer gerente compatible, elige el de menor capacidad libre suficiente (best-fit) — esto reduce fragmentación.
Resuelve el problema exactamente: explora un árbol de configuraciones binarias con branch & bound. Cada nodo es una decisión (asignar o no un par ejecutivo–gerente). Las ramas se podan cuando su cota superior ya está por debajo de la mejor solución encontrada — eso evita explorar trillones de combinaciones.
src/modelo_capacidad/models/milp.py.
Mapea el problema a un Ising spin glass con campo externo y minimiza la energía $H(\sigma)$ con una cadena MCMC. En cada paso propone un movimiento aleatorio (flip o swap), acepta con probabilidad $\min(1, e^{-\Delta H / T})$ y reduce $T$ progresivamente. Empieza caótico (acepta casi todo), termina determinista (acepta solo mejoras).
Para nuestro problema concreto (370 ejecutivos × 49 gerentes con sobre-oferta de capacidad), los cuatro convergen al mismo óptimo $x/y = 0.4076$. La elección depende del contexto operativo, no de la métrica.
Para este problema, el modelo más simple basta para producción. Los enfoques sofisticados (MILP, SA) son seguros conceptuales y diagnósticos: validan que la solución simple es óptima y revelan cuándo el problema cambia de naturaleza.
Más allá de los algoritmos en sí, las simulaciones permiten extraer insights estructurales sobre el problema de asignación con capacidad. Tres aprendizajes principales:
En este mini-problema saturado (demanda 1.6× la oferta), los métodos divergen. En el problema real (oferta 1.4× demanda), convergen. Antes de elegir algoritmo, mide el ratio demanda/oferta.
Si todos los ejecutivos tuvieran la misma densidad $v/t$, Greedy = Analítico. La varianza de $\rho_e$ mide cuánto valor agrega ordenar por densidad. Un coeficiente de variación < 0.1 dice "no vale la pena".
La curva de enfriamiento $\langle H\rangle(T)$ y la tasa de aceptación revelan la topología del paisaje energético. Si hay plateau largo + caída brusca → transición de fase. Si la aceptación cae monótonamente → no hay frustración. Esto no lo da MILP.
Las simulaciones no se eligen por su métrica final, se eligen por la pregunta que necesitas responder. En el problema real (informe principal) los 4 métodos producen el mismo $x/y = 0.4076$ — pero solo el SA te dice si esa solución es robusta a cambios de pesos, y solo el MILP te certifica que no hay otra asignación mejor.