01 / 13
Halcón de Harris
FASE 2 — MODELO MATEMÁTICO

Visa Predict AI

Optimización triobjetivo de Green Cards
con Harris Hawks Optimization (MOHHO)

Yazmín Flores
Mat. 261548
Javier Rebull
Mat. 263483
Optimización Inteligente · Mtro. Raúl Gibrán Porras Alaniz · UACJ MIAAD 2026
02 / 13

El Problema y Nuestra Solución

El problema

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.

Nuestra solución: MOHHO

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.

HALCÓN
H ∈ ℝ105
Vector continuo
SPV
π = argsort(H)
Orden de prioridad
DECODER
xg = min(...)
Asignación factible
EVALUAR
(f₁, f₂, f₃)
3 objetivos
PARETO
>400 soluciones
No dominadas
03 / 13

El Impacto: Sistema Actual vs Optimización

Un solicitante de 🇮🇳 India que registró su petición hace 13 años aún espera su Green Card. El sistema actual no distingue urgencia ni equidad — solo orden de llegada.
Sistema Actual (FIFO)
122,460
visas asignadas de 140,000
Desperdicia 17,540 visas (f₃ = 17,540)
Utilización: 87.5%
Disparidad (brecha máx.): 12.64 años
MOHHO (Diseño) — Proyección
140,000
visas asignadas (escenario óptimo proyectado)
Mejor utilización: f₃ = 0 (100%)
Utilización: 100%
Disparidad: 2.38 años (−81.2%)

¿Por qué se desperdician visas con FIFO?

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.

04 / 13

21 Bloques de Países × 5 Categorías = 105 Grupos

📋 Origen de los datos

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).

REAL — 4 países oficiales USCIS EST — 17 países estimados (DHS Yearbook FY2023)

🌎 Los 21 bloques

REAL India (457K), China (74K), Filipinas (23K), México (19K)
EST Afganistán (101K), Irak (81K), Corea del Sur, Pakistán, Irán, Taiwán, Brasil, Canadá, Reino Unido, Nigeria, Japón, Bangladesh, Colombia, Alemania, Vietnam, Etiopía
EST Resto del Mundo — agrega ~175 países con demanda individual pequeña
¿Por qué 21 y no 200+? USCIS solo publica datos desagregados para 4 países. Los 17 restantes se estiman a partir del bloque "All Other" usando proporciones del DHS Yearbook. El bloque Resto del Mundo captura el remanente. Estos 21 bloques representan >99% de la demanda total. Cada bloque × 5 categorías EB = 105 variables de decisión.
05 / 13

Producto Entregable: Dashboard + Tabla de Asignación

Visa Predict AI — Dashboard Interactivo (Streamlit + Plotly)
>400
ESCENARIOS PARETO
140,000
VISAS OPTIMIZADAS
−81%
DISPARIDAD vs FIFO
ASIGNACIÓN — ESCENARIO EQUILIBRIO (21 países × 5 categorías)
EB-1
EB-2
EB-3
EB-4
EB-5
🇮🇳 India
8,500
8,000
7,100
1,500
520
🇨🇳 China
7,300
5,200
3,120
900
9,100
🇵🇭 Filipinas
300
187
22,040
314
50
🌍 +18 más...
Tabla completa: 21 filas × 5 columnas = 105 celdas (una por variable de decisión)

4 escenarios que entregamos

Mejor f₁ — prioriza a quienes más esperan (India, China)
Mejor f₂ — máxima equidad entre países
Mejor f₃ — 100% utilización de visas
Knee point — equilibrio (mejor compromiso entre los 3)

¿Cómo medimos la calidad? (HV)

El hipervolumen (HV) mide el “volumen” del espacio f₁×f₂×f₃ cubierto por el frente de Pareto respecto a un punto de referencia fijo. Mayor HV = mejor frente (más soluciones, más diversas, más cercanas al ideal). Se calcula para cada corrida independiente y se reporta como media ± desviación estándar (Zitzler & Thiele, 1999).
Cada escenario es una tabla de 21×5 con números enteros que suman ≤140,000 visas. El tomador de decisiones elige el compromiso que mejor se alinee con sus prioridades políticas. No entregamos un número — entregamos una asignación accionable.
06 / 13

Mapa de Soluciones: Frente de Pareto 3D

Cada punto es una forma válida de repartir 140,000 visas. Ninguno puede mejorar un objetivo sin empeorar otro.

f₁ — Carga de espera (años) →
← f₂ — Disparidad (años)
f₃ — Desperdicio ↑
FIFO ★
7.21 | 12.64 | 17,540
Mejor f₁
Mejor f₂
f₃=0 ✓
Mejor f₁ (espera)
7.186 años
f₂=10.74 | f₃=16,280
Mejor f₂ (equidad)
2.379 años
f₁=7.507 | f₃=8,664
Mejor f₃ (eficiencia)
0 visas
f₁=7.257 | f₂=9.361
¿Por qué >400 soluciones? Se planifican 30 corridas independientes (semillas distintas), cada una con un archivo Pareto de hasta 100 soluciones. Como cada semilla explora regiones diferentes del espacio ℝ105, al combinar los 30 archivos y filtrar dominancia cruzada, la diversidad entre corridas hace que >400 soluciones únicas sobrevivan como mutuamente no dominadas.
07 / 13

Los 3 Objetivos: min{f₁, f₂, f₃}

f₁

Carga de espera no atendida

De los que no reciben visa, ¿cuántos años de espera acumulan? Priorizar India (12 años) reduce f₁.

f₁(x) = Σg (ng − xg) · wg / Σg ng
ng = demanda del grupo g (solicitantes esperando)  |  xg = visas asignadas al grupo g  |  wg = años de espera del grupo g  |  (ng − xg) = personas que quedan sin visa
Ejemplo: India EB-2 tiene 331,561 solicitantes esperando 12 años. Si recibe 7,158 visas, los 324,403 restantes contribuyen 324,403 × 12 = 3.89M persona-años de carga sin atender. Minimizar f₁ prioriza dar visas a quienes más tiempo llevan esperando.
f₂

Máxima disparidad entre países

La brecha máxima de espera promedio entre cualquier par de países. Repartir equitativamente reduce f₂.

c = Σ xg·wg / Σ xg  →  f₂(x) = max |W̄c1 − W̄c2|
c = espera promedio ponderada del país c  |  c1, c2 = cualquier par de países  |  Si un país no recibe visas: W̄c = su espera máxima (castigo)
Ejemplo: Si India recibe visas con espera promedio de 12 años y Canadá de 0.5 años, la disparidad es |12 − 0.5| = 11.5 años. Minimizar f₂ busca que la espera ponderada sea lo más parecida entre todos los países.
f₃

Visas desperdiciadas

Visas que quedan sin asignar por choques entre topes. FIFO desperdicia 17,540. MOHHO logra f₃=0.

f₃(x) = V − Σg xg    (V = 140,000)
V = 140,000 visas EB anuales (constante legal)  |  Σ xg = total de visas efectivamente asignadas  |  f₃ = visas que quedan sin usar
f₃ = visas disponibles que quedan sin asignar. FIFO: f₃ = 17,540 (87.5% utilización). MOHHO proyectado: f₃ = 0 (100% utilización). Minimizar f₃ maximiza la utilización del presupuesto anual.

Tabla de variables y parámetros

xg
Variable de decisión: visas asignadas al grupo g (entero ≥ 0)
g
Grupo país-categoría (g = 1, ..., 105). Ej: g=1 es India-EB1, g=6 es China-EB1
ng
Parámetro: demanda del grupo g (peticiones aprobadas esperando visa, USCIS)
wg
Parámetro: años de espera del grupo g (wg = 2026 − fecha de prioridad, Visa Bulletin)
c
Espera promedio ponderada del país c (derivada de xg y wg)
V
Constante: 140,000 visas EB anuales (INA §201(d), fijo desde 1990)
Pc
Constante: 25,620 = 7% de 366,000 visas totales (tope por país, INA §202)
Kjeff
Derivado: tope efectivo por categoría EB-j después de spillover
08 / 13

6 Restricciones — Factibilidad por Construcción

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.

¿Qué es el decoder greedy? Recorre los 105 grupos en el orden que dicta la permutación π (salida del SPV). Para cada grupo g asigna: xg = min(ng, Vrest, Pc,rest, Kj,resteff) — el mínimo entre la demanda del grupo, las visas que quedan (R1), el cupo restante del país (R2) y el cupo restante de la categoría (R3). Como siempre toma el mínimo de todos los límites, es matemáticamente imposible violar R1–R5.
R1
Presupuesto anual. No dar más visas de las que existen.
Σ xg ≤ V = 140,000
V = presupuesto anual de visas EB (INA §201(d))  |  xg = visas asignadas al grupo g
R2
Tope por país (7%). Ningún país acapara todo. India: >50% demanda → máx 7%.
Σ xg:c ≤ Pc = 25,620 por país
Pc = 7% de 366,000 visas totales (INA §202)  |  xg:c = visas del grupo g que pertenece al país c
R3
Tope por categoría. EB-1 a EB-5 tienen cupos (ajustados por spillover EB-4/5→EB-1→EB-2→EB-3).
Σ xg:j ≤ Kjeff
Kjeff = tope efectivo de la categoría j tras recibir spillover  |  xg:j = visas del grupo g en la categoría j
R4
No dar de más. No puedes dar más visas de las que piden.
0 ≤ xg ≤ ng
ng = demanda del grupo g (peticiones aprobadas esperando)  |  Cada grupo recibe entre 0 y su demanda
R5
Enteros no negativos. No hay media visa.
xg ∈ ℤ≥0
Cada visa es un permiso real — la asignación debe ser un número entero (0, 1, 2, ...)
R6
FIFO interno. Dentro de cada grupo, los más antiguos primero.
Regla operativa post-optimización — no la impone el optimizador sino la implementación posterior
09 / 13

Codificación en 3 Capas + Ejemplo

Capa 1 — Halcón: El halcón tiene 105 valores en [0,1]. Los 6 operadores HHO mueven estos números. H = (0.72, 0.15, 0.91, 0.03, 0.58, ...)
Capa 2 — SPV: Se ordena de menor a mayor → permutación que define quién va primero. π = argsort(H) = (4, 2, 5, 1, 3, ...)
Capa 3 — Decoder: Recorre la permutación, asignando el máximo legal a cada grupo: xg = min(demanda, visas_restantes, cap_país, cap_categoría)

¿Qué contiene un individuo?

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.

¿Cómo se calcula el fitness?

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

10 / 13

Conexión: Metaheurística ↔ Modelo

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
¿Por qué 105 dimensiones? 21 países × 5 categorías EB = 105 grupos. Cada grupo es una combinación país-categoría (ej: India-EB2, México-EB3). El halcón tiene un número real por cada grupo → H ∈ ℝ105. Los operadores HHO mueven estos 105 números. Nunca tocan las visas directamente. El SPV convierte los 105 decimales en un orden de prioridad, y el decoder greedy traduce ese orden en 105 enteros (visas por grupo) que respetan R1–R5.
11 / 13

Ejemplo: ¿Cómo Se Ve UNA Solución?

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):

Ejemplo conceptual — valores ilustrativos que respetan R1–R5
País Demanda EB-1 EB-2 EB-3 EB-4 EB-5 Total
🇮🇳 India457,6888,5008,0007,1001,50052025,620
🇨🇳 China74,3347,3005,2003,1209009,10025,620
🇵🇭 Filipinas22,89130018722,0403145022,891
🇲🇽 México19,3722007305,4002,800509,180
🇰🇷 Corea del Sur8,0501,2003,0003,5002001508,050
🌐 Resto (16 países)16 países × 5 categorías = 80 variables48,639
TOTAL140,000
f₁ espera
7.257 años
f₂ disparidad
9.361 años
f₃ desperdicio
0 visas
Esto es lo que recibe el tomador de decisiones: una tabla de 21×5 con números enteros que suman ≤140,000 visas, respetando R1–R5. India y China alcanzan su tope (25,620) por R2. Filipinas recibe toda su demanda (22,891 < 25,620). f₃=0: se usaron todas las visas.
12 / 13

Proyecciones del Diseño y Validación del Modelo

Validación del diseño: Para verificar que el modelo está bien formulado, se proyectan los resultados esperados con los parámetros de diseño (50 halcones, 500 iteraciones, 30 corridas). Estas proyecciones muestran que el frente de Pareto es viable y que el FIFO actual es mejorable en los 3 objetivos. La implementación completa y análisis detallado se presentarán en la Fase 3.
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
¿Qué esperamos? Que el MOHHO genere un frente de Pareto donde ninguna solución domine a las demás en los 3 objetivos simultáneamente — validando el conflicto estructural. La validación piloto sugiere que es posible encontrar soluciones que mejoren al FIFO en espera, equidad y utilización de visas al mismo tiempo.
13 / 13

Conclusiones y Trabajo Fase 3

Conclusiones

✓ Modelo triobjetivo formulado con 105 variables, 3 funciones objetivo y 6 restricciones
✓ Las proyecciones del diseño estiman un frente de >400 soluciones Pareto-óptimas (0 dominadas)
✓ FIFO está estrictamente dominado en los 3 objetivos
✓ Soluciones que logran f₃=0 — 100% utilización de visas
✓ Factibilidad garantizada por construcción (decoder greedy, 0 violaciones)
✓ Diseño reproducible: 30 corridas planificadas con semillas, HV σ/μ proyectado = 1.6%

Fase 3 — Implementación

Dashboard interactivo (Streamlit + Plotly) con selector de escenarios, heatmap de asignación, Pareto 3D interactivo
Análisis de sensibilidad — efecto de cambiar N, T, ARCHIVE_SIZE
Comparación estadística — Wilcoxon rank-sum test de HV entre corridas
Escenarios "what-if" — ¿qué pasa si se elimina el tope del 7%?
Reporte LaTeX — resultados, figuras, convergencia, tabla de asignación final

“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

Referencias

[1] Heidari, A.A., Mirjalili, S., Faris, H., Aljarah, I., Mafarja, M., & Chen, H. (2019). Harris hawks optimization: Algorithm and applications. Future Generation Computer Systems, 97, 849–872. doi:10.1016/j.future.2019.02.028
[2] Bean, J.C. (1994). Genetic algorithms and random keys for sequencing and optimization. ORSA Journal on Computing, 6(2), 154–160.
[3] USCIS (2025). Approved I-140/I-360/I-526 Petitions Awaiting Visa Availability, FY2025 Q2.
[4] U.S. Department of State (2026). Visa Bulletin for April 2026, Final Action Dates for EB Cases.
[5] DHS (2024). Yearbook of Immigration Statistics, FY2023. Table 7: Persons Obtaining Lawful Permanent Resident Status by Country of Birth.
[6] Kusoglu, I.M. & Yüzgeç, U. (2020). Multi-objective Harris Hawks Optimization. Journal of Computational Design and Engineering, 8(3), 1003–1022.
[7] Deb, K., Pratap, A., Agarwal, S., & Meyarivan, T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput., 6(2), 182–197.
Yazmín Flores · Javier Rebull
MIAAD · UACJ · Optimización Inteligente 2026