Optimización triobjetivo de Green Cards
con Harris Hawks Optimization (MOHHO)
EE.UU. emite 140,000 Green Cards de empleo al año, pero 868,098 personas esperan en cola. La demanda supera la oferta 6.2×.
El sistema actual (FIFO) atiende por orden de llegada. India lleva 12 años esperando en EB-2, mientras países con poca demanda reciben visas en meses. Además desperdicia 17,540 visas por choques entre topes.
Aplicamos Harris Hawks Optimization (Heidari et al., 2019, 5,000+ citas), un algoritmo bio-inspirado en la caza cooperativa de halcones. Solo 2 parámetros: población (N) e iteraciones (T).
6 operadores (2 exploración + 4 explotación con vuelo de Lévy) generan miles de asignaciones candidatas. Las que no son superadas por ninguna otra en los 3 objetivos forman el frente de Pareto — un mapa de compromisos óptimos entre espera, equidad y utilización. El tomador de decisiones elige el que mejor se alinee con sus prioridades.
FIFO procesa las solicitudes más antiguas primero. India EB-2 y EB-3 tienen fechas muy antiguas, así que se procesan primero y agotan el límite por país de India (25,620). Cuando FIFO llega a India EB-1, India ya está llena. La categoría EB-1 tiene plazas disponibles pero los países con mayor demanda ya están al tope.
MOHHO resuelve esto: al reordenar el procesamiento, puede asignar las 140,000 visas completas (100% utilización) mientras mejora la equidad entre países.
Demanda (ng): USCIS, Approved Petitions Awaiting Visa Availability,
FY2025 Q2 (marzo 2025). Beneficiarios principales.
Fechas de prioridad (dg): Visa Bulletin abril 2026, Departamento de Estado.
Topes legales: INA §201(d) y §202(a)(2).
Cada punto es una forma válida de repartir 140,000 visas. Ninguno puede mejorar un objetivo sin empeorar otro.
De los que no reciben visa, ¿cuántos años de espera acumulan? Priorizar India (12 años) reduce f₁.
La brecha máxima de espera promedio entre cualquier par de países. Repartir equitativamente reduce f₂.
Visas que quedan sin asignar por choques entre topes. FIFO desperdicia 17,540. MOHHO logra f₃=0.
El decoder greedy garantiza R1–R5 automáticamente. No se necesitan penalizaciones ni funciones de castigo. Cualquier permutación que genere el halcón produce una asignación factible por diseño.
Un vector de 105 números reales entre 0 y 1. No es una asignación directa — es un código que el SPV+Decoder traduce a una tabla de 21×5 con visas enteras que respeta R1–R5. Toda permutación produce una solución factible.
1. Tomar H del halcón
2. SPV → permutación π
3. Decoder → asignación x (105 enteros)
4. Calcular f₁, f₂, f₃ sobre x
5. Si no es dominada → entra al archivo Pareto
| HHO (Naturaleza) | Modelo matemático | Función en el problema |
|---|---|---|
| 🦅 Halcón | H ∈ ℝ105 | Vector que el SPV+Decoder traduce en asignación de visas |
| 🐇 Presa (líder) | Solución no dominada | Se elige del archivo Pareto por crowding distance — zonas poco densas del frente |
| Energía E | 2·E₀·(1−t/T) | |E|≥1 → exploración (asignaciones nuevas) · |E|<1 → explotación (refinar buenas) |
| Ops 1-2 | Exploración global | Probar asignaciones radicalmente diferentes (saltos grandes en ℝ105) |
| Ops 3-4 | Asedio (explotación) | Variaciones pequeñas sobre buenas soluciones (convergencia) |
| Ops 5-6 + Lévy | Picada + saltos largos | Escapar de óptimos locales — saltos raros que descubren zonas inexploradas del frente |
| Archivo | Frente Pareto (cap 100) | Guarda las mejores soluciones no dominadas en 3D. Se poda por crowding distance |
Supongamos que el halcón genera una permutación que prioriza utilización completa (f₃=0). El decoder produciría una asignación como esta (extracto ilustrativo de 6 países):
| País | Demanda | EB-1 | EB-2 | EB-3 | EB-4 | EB-5 | Total |
|---|---|---|---|---|---|---|---|
| 🇮🇳 India | 457,688 | 8,500 | 8,000 | 7,100 | 1,500 | 520 | 25,620 |
| 🇨🇳 China | 74,334 | 7,300 | 5,200 | 3,120 | 900 | 9,100 | 25,620 |
| 🇵🇭 Filipinas | 22,891 | 300 | 187 | 22,040 | 314 | 50 | 22,891 |
| 🇲🇽 México | 19,372 | 200 | 730 | 5,400 | 2,800 | 50 | 9,180 |
| 🇰🇷 Corea del Sur | 8,050 | 1,200 | 3,000 | 3,500 | 200 | 150 | 8,050 |
| 🌐 Resto (16 países) | — | 16 países × 5 categorías = 80 variables | 48,639 | ||||
| TOTAL | 140,000 | ||||||
| Solución | f₁ espera | f₂ disparidad | f₃ desperdicio | Veredicto |
|---|---|---|---|---|
| Mejor f₁ | 7.186 | 10.744 | 16,280 | Prioriza urgencia |
| Mejor f₂ | 7.507 | 2.379 | 8,664 | Prioriza equidad |
| Mejor f₃ | 7.257 | 9.361 | 0 | 100% utilización |
| FIFO (actual) | 7.214 | 12.638 | 17,540 | Mejorable |
“It is important to find not just one Pareto-optimal solution, but as many as possible, because any two such solutions constitute a trade-off and decision makers are in a better position to make a choice when many trade-off solutions are available.”
— K. Deb, Multi-Objective Optimization Using Evolutionary Algorithms, Wiley, 2001