Artificial Intelligence · FIB-UPC

Desastres IA

Búsqueda local en un modelo de ayuda en desastres: helicópteros rescatan grupos en centros en un orden optimizado. Compara hill climbing vs simulated annealing — se ejecuta completamente en tu navegador.

Búsqueda Local
AIMA · Java + Python
📋
Estado
Cola ordenada de grupos por helicóptero
🔀
SWAP
Intercambia dos grupos de posición
📊
Puntuación
H2 = suma del tiempo de todos los helicópteros
🔍
Búsqueda
HC escala · SA explora con saltos aleatorios

Esquema del problema

Base AH0, H1Base BH2Centro 0Centro 1Centro 2H0H2orden de rescate →

Helicópteros salen de bases y sirven a centros en un orden optimizado. Los grupos tienen tamaños y prioridades. Capacidad: 15 personas por viaje, 10 min de descanso entre salidas.

Funciones heurísticas

H1
Mezcla de makespan (tiempo máx de heli) y tiempo total, ponderado para repartir carga
H2usada en la demo
Minimiza la suma de tiempos de finalización de todos los helicópteros
H3
H1 + penalización por grupos prioritarios rescatados tarde (urgencia)

Operadores sucesores

SWAPGENERALREDUCIDOSWAP + GENERALSWAP + REDUCIDOEstocástico

6 funciones sucesoras en Java (DesastresSuccessorFunction1–6). La demo usa SWAP. Pasa el ratón para más detalles.

Ejecutar demo

HC / SA · 7 grupos · 3 helicópteros · se ejecuta en el navegador

Cómo funciona: Distribución 2D aleatoria (con semilla) con 2 bases y 7 grupos. Colores = helicóptero asignado. HC elige el mejor vecino SWAP hasta estancarse; SA a veces acepta peores movimientos para escapar de mínimos locales.