Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Optimización Heurística: Algoritmos de Colonia de Hormigas y Método Gomory, Guías, Proyectos, Investigaciones de Investigación de Operaciones

Una introducción a la optimización heurística, centrándose en los algoritmos de colonia de hormigas (aco) y el método gomory. Se explica el funcionamiento de estos métodos, se ilustran con ejemplos prácticos y se analizan sus aplicaciones en problemas de optimización combinatoria. Útil para estudiantes de ingeniería, informática y matemáticas que buscan comprender las técnicas de optimización heurística.

Tipo: Guías, Proyectos, Investigaciones

2023/2024

Subido el 03/02/2025

carmen-elizabeth-ramos-alamo-1
carmen-elizabeth-ramos-alamo-1 🇵🇪

1 documento

1 / 18

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
AÑO DE LA RECUPERACION Y CONSOLIDACION DE LA ECONOMIA PERUANA
Universidad Nacional de Piura
Facultad de Ingeniería Industrial, Escuela de Ingeniería Industrial
TEMA:
Presentación de Informe de Algoritmos de Optimización y Metaheurísticas
INTEGRANTES:
Arica Rodríguez, Jeshua Ricarte
Bazán Perez, Miguel Angel
Berru Mijahuanga, Mauricio
Lalupú Morales, Cristhian Fabián
Ortiz Llacsahuanga, Adrian Alonso
Ramos Alamo, Carmen Elizabeth
Rios Garcia, Keiner
Tomay Chunga, Yuber Abel
DOCENTE:
Castillo Burgos
CURSO:
Investigación de Operaciones I
FECHA:
03 de Febrero del 2025
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Vista previa parcial del texto

¡Descarga Optimización Heurística: Algoritmos de Colonia de Hormigas y Método Gomory y más Guías, Proyectos, Investigaciones en PDF de Investigación de Operaciones solo en Docsity!

“AÑO DE LA RECUPERACION Y CONSOLIDACION DE LA ECONOMIA PERUANA

Universidad Nacional de Piura

Facultad de Ingeniería Industrial, Escuela de Ingeniería Industrial

❖ TEMA:

Presentación de Informe de Algoritmos de Optimización y Metaheurísticas

❖ INTEGRANTES:

Arica Rodríguez, Jeshua Ricarte

Bazán Perez, Miguel Angel

Berru Mijahuanga, Mauricio

Lalupú Morales, Cristhian Fabián

Ortiz Llacsahuanga, Adrian Alonso

Ramos Alamo, Carmen Elizabeth

Rios Garcia, Keiner

Tomay Chunga, Yuber Abel

❖ DOCENTE:

Castillo Burgos

❖ CURSO:

Investigación de Operaciones I

❖ FECHA:

03 de Febrero del 2025

INDICE

  • I. METAHEURÍSTICAS EN OPTIMIZACIÓN
  • II. EL PROBLEMA DE VIAJANTE
  • III. OPTIMIZACIÓN HEURÍSTICA
  • IV. PROBLEMA DE PROGRAMACIÓN ENTERA.......................................................
  • V. MÉTODO GOMORY
  • VI. REFERENCIAS

II. EL PROBLEMA DE VIAJANTE

El problema del viajante (por sus siglas en inglés TSP) consiste en encontrar el camino

único más corto que, dada una lista de ciudades y las distancias entre ellas, visita todas

las ciudades una sola vez y regresa a la ciudad de origen.

Su origen no está claro. Un manual alemán para viajantes de 1832 menciona el

problema e incluye viajes de ejemplo por Alemania y Suiza, pero no cubre sus

matemáticas.

La primera formulación matemática fue realizada en el siglo XIX por W.R. Hamilton y

Thomas Kirkman. El juego icosiano de Hamilton era un rompecabezas recreativo basado

en encontrar un ciclo hamiltoniano, que en realidad es una solución al problema de TSP

en un grafo (nota: el TSP es el ciclo hamiltoniano de menor longitud en un grafo conexo).

El TSP se puede formular como un modelo de Programación Lineal Entera. Aunque se

conocen varias formulaciones para resolver este problema, dos de ellas son las más

destacadas: la propuesta por Miller, Tucker y Zemlin, y la propuesta por Dantzig,

Fulkerson y Johnson.

En teoría, estos métodos pueden devolver una solución óptima al problema, pero como

éste se considera un problema NP-difícil, pueden ser demasiado costosos tanto en

potencia de cálculo como en tiempo.

Con el fin de obtener buenas soluciones en un tiempo más corto, se ha realizado un gran

esfuerzo para intentar resolver este problema con una variedad de métodos heurísticos.

De todo este grupo de heurísticas, nos gustaría destacar las inspiradas en la

biología: Optimización por Colonia de Hormigas y Algoritmos Genéticos (GA).

Programación Lineal Entera

Como mencionamos, existen dos formulaciones principales para el TSP, el propuesto

Miller, Tucker y Zemlin (MTZ) y el Dantzig, Fulkerson y Johnson (DFJ). Aunque la

formulación DFJ es más fuerte, la formulación MTZ puede ser útil.

Formulación MTZ

La formulación matemática propuesta por Miller, Tucker y Zemlin es la siguiente:

Usando este conjunto, las dos variables y el parámetro, podemos formular el problema

como:

Sujeto a:

La primera y la segunda ecuación refuerzan el tipo de las diferentes variables, la tercera

y la cuarta ecuaciones aseguran que cada nodo sea alcanzado y abandonado solo una vez,

mientras que las dos últimas ecuaciones imponen que solo una ruta cruce todos los nodos.

Formulación DFJ

En la formulación propuesta por Dantzig, Fulkerson y Johnson partimos de la misma

variable x_ {ij} y parámetro c_ {ij}> 0 para que la formulación se pueda completar con:

Sujeto a:

Las tres primeras ecuaciones son las mismas que en la formulación anterior, y la nueva

restricción (la última) asegura que no haya sub-recorridos, por lo que la solución devuelta

es un recorrido único y no la combinación de recorridos más pequeños. Debido a que esto

conduce a un número exponencial de posibles restricciones, en la práctica se resuelve con

una generación de columnas retrasada.

En el siguiente gráfico podemos ver la solución óptima para un problema de 100 nodos.

Algoritmos Genéticos

Los Algoritmos Genéticos (GA) son heurísticos inspirados en el proceso de evolución

de los seres vivos. Cada solución es un cromosoma compuesto por genes que representan

los diferentes valores de las variables de la solución.

Comenzando con una población inicial, podemos hacer que las soluciones “evolucionen”

en iteraciones. El proceso consiste en seleccionar la mejor mitad de la población de la que

elegimos al azar pares de cromosomas (soluciones) para el apareamiento. En estos

apareamientos intercambiamos genes de ambas soluciones para generar nuevas

soluciones (hijos).

Después del proceso de apareamiento, aplicamos mutaciones al azar en los hijos

resultantes para explorar más a fondo el espacio de la solución.

Finalmente seleccionamos los mejores 50 individuos de la población (el inicial más los

hijos) y continuamos el proceso hasta que convergemos en una solución.

En la siguiente animación podemos ver cómo evoluciona el Algoritmo Genético para el

mismo problema de 100 puntos.

MODELO DE RED DEL NORTE PERUANO

Para diseñar un modelo de red de transporte para Perú basado en las ciudades principales

y aplicando conceptos de teoría de grafos, como el Problema del Viajante (TSP) , que

busca encontrar la ruta más corta que visita cada nodo (ciudad) exactamente una vez y

regresa al punto de inicio.

Proceso de Diseño:

  1. Definición de Nodos:

Utilizaré las principales ciudades de la costa, sierra y selva de Perú como nodos.

  1. Pesos en las Aristas:

Las distancias entre ciudades estarán basadas en rutas terrestres aproximadas. Si

no es posible una conexión directa, consideraré distancias aproximadas.

  1. Resolución del TSP:

Generaré una visualización con rutas optimizadas entre las ciudades para

minimizar la distancia total.

Procedimiento:

  1. Definición de Nodos:

Seleccioné las ciudades principales de la costa peruana: Tumbes, Piura,

Chiclayo, Trujillo, Lima, Ica, Arequipa y Tacna.

  1. Asignación de Aristas y Pesos:

Establecí las conexiones entre las ciudades mediante rutas con distancias

aproximadas en kilómetros, representadas por las siguientes aristas:

o Tumbes ↔ Piura: 270 km

o Piura ↔ Chiclayo: 210 km

o Chiclayo ↔ Trujillo: 210 km

o Trujillo ↔ Lima: 490 km

o Lima ↔ Ica: 300 km

o Ica ↔ Arequipa: 710 km

o Arequipa ↔ Tacna: 380 km

  1. El proceso se repite hasta encontrar una ruta aceptable.

Ejemplo práctico: Un conductor de Uber que recibe múltiples pedidos no espera a

calcular la mejor ruta posible para todos los viajes. En cambio, sigue un enfoque

heurístico:

  • Empieza con una ruta sugerida.
  • Si hay tráfico en una calle, prueba un camino alternativo.
  • A medida que avanza, ajusta la ruta en función del tráfico y los nuevos pedidos.

Este tipo de heurística se utiliza en aplicaciones como Google Maps o Waze, que

constantemente ajustan la mejor ruta de acuerdo con el tráfico en tiempo real.

3. Simulated Annealing (Enfriamiento Simulado) - Asignación de Horarios

Problem a: Una universidad debe asignar horarios de clases a profesores y estudiantes,

evitando conflictos como superposiciones de cursos en el mismo salón.

Cómo funciona la heurística:

  1. Se genera un horario inicial aleatorio.
  2. Se hacen pequeños cambios (como mover una clase a otro horario o cambiar un

aula).

  1. Si el cambio mejora el horario, se acepta.
  2. Si no mejora, puede aceptarse temporalmente con cierta probabilidad, para evitar

quedarse atrapado en una solución no óptima.

  1. A medida que avanza el proceso, se reducen los cambios aleatorios hasta

estabilizar una solución aceptable.

Ejemplo práctico:Imagina que una escuela tiene 20 clases y solo 10 aulas disponibles.

La asignación inicial de horarios podría tener conflictos (por ejemplo, dos clases

asignadas a la misma aula). En cada iteración, el algoritmo realiza ajustes hasta

encontrar un horario funcional, minimizando conflictos.

4. Heurística de Colonia de Hormigas - Diseño de Redes de Telecomunicaciones

Problema: Una empresa de telecomunicaciones necesita diseñar la mejor red de fibra

óptica para conectar diferentes ciudades con el menor costo posible.

Cómo funciona la heurística:

  1. Se simula un grupo de "hormigas" virtuales que buscan caminos entre ciudades.
  2. Cada hormiga deja una señal (feromonas) en las rutas que encuentra.
  3. Las rutas con más feromonas se vuelven más atractivas para otras hormigas.
  4. Con el tiempo, el sistema converge hacia la mejor ruta posible.

Ejemplo práctico: Este método se ha utilizado para diseñar redes de fibra óptica. En

lugar de analizar todas las combinaciones posibles, las "hormigas" digitales exploran

rutas y optimizan la mejor manera de conectar las ciudades con el menor costo.

IV. PROBLEMA DE PROGRAMACIÓN ENTERA

1

2

3 −−−−−−−−−− >

𝐹𝑢𝑛𝑐𝑖ó𝑛 𝑂𝑏𝑗𝑒𝑡𝑖𝑣𝑜

1

2

3

1

2

3

1

2

3

1

2

3

≥ 0 𝑦 𝑒𝑛𝑡𝑒𝑟𝑜𝑠 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑜𝑠 − − − −→ 𝑉𝑎𝑟𝑖𝑜𝑏𝑙𝑒𝑠 𝑑𝑒 𝑑𝑒𝑐𝑖𝑠𝑖ó𝑛

1

2

3 −−−−−−−−−− >

1

2

3

1

1

2

3

2

1

2

3

3

1

2

3

𝑆𝑖 𝑙𝑎 𝑟𝑒𝑠𝑡𝑟𝑖𝑐𝑐𝑖ó𝑛 𝑒𝑠 "<" 𝑙𝑎 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑑𝑒 𝑜ℎ𝑙𝑔𝑢𝑟𝑎 𝑠𝑒𝑟á 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎

𝑆𝑖 𝑙𝑎 𝑟𝑒𝑠𝑡𝑟𝑖𝑐𝑐𝑖ó𝑛 𝑒𝑠 "≥" 𝑙𝑎 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑑𝑒 𝑜ℎ𝑙𝑔𝑢𝑟𝑎 𝑠𝑒𝑟á 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑎

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑅

𝑆

1

5 2 1 1 0 0 15

𝑆

2

2 1 7 0 1 0 20

𝑆

3

1 3 2 0 0 1 25

𝑍 − 2 − 10 − 1 0 0 0 0

1

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑅

𝑆

1

5 2 1 1 0 0 15

𝑆

2

2 1 7 0 1 0 20

𝑆

3

1 3 2 0 0 1 25

𝑍 − 2 − 10 − 1 0 0 0

0

5 2

⁄ 2 2

⁄ 1 2

⁄ 1 2

⁄ 0 2

⁄ 0 2

⁄ 15 2

2

2

2

3

2

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑅

𝑆

1

5 2 1 1 0 0 15

𝑆

2

2 1 7 0 1 0 20

𝑆

3

1 3 2 0 0 1 25

𝑍 − 2 − 10 − 1 0 0 0

0

𝑆𝑜𝑙𝑢𝑐𝑖ó𝑛 Ó𝑝𝑡𝑖𝑚𝑎

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑅

𝑋

2

5 ⁄ 2 1 1 ⁄ 2 1 ⁄ 2 0 0 15 ⁄ 2

𝑆

2

− 1 ⁄ 2 0 13 ⁄ 2 − 1 ⁄ 2 1 0 25 ⁄ 2

𝑆

3

− 13 ⁄ 2 0 1 ⁄ 2 − 3 ⁄ 2 0 1 5 ⁄ 2

𝑍 23 0 4 5 0 0 75

V. MÉTODO GOMORY

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑅

𝑥

2

5 2

⁄ 1 1 2

⁄ 1 2

⁄ 0 0 15 2

𝑆

2

− 1 2

⁄ 0 13 2

⁄ − 1 2

⁄ 1 0 25 2

𝑆

3

− 13 2

⁄ 0 1 2

⁄ − 3 2

⁄ 0 1 5 2

𝑍 23 0 4 5 0 0 75

𝐸𝑙𝑒𝑔𝑖𝑚𝑜𝑠 𝑒𝑙 𝑣𝑎𝑙𝑜𝑟 𝑓𝑟𝑎𝑐𝑐𝑖𝑜𝑛𝑎𝑟𝑖𝑜 𝑚á𝑠 𝑝𝑒𝑞𝑢𝑒ñ𝑜

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑅

𝑥

2

5 2

⁄ 1 1 2

⁄ 1 2

⁄ 0 0 15 2

𝑆

2

− 1 2

⁄ 0 13 2

⁄ − 1 2

⁄ 1 0 25 2

𝑆

3

− 13 2

⁄ 0 1 2

⁄ − 3 2

⁄ 0 1 5 2

𝑍 23 0 4 5 0 0

75

𝑢𝑛𝑎 𝑣𝑒𝑧 𝑖𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑐𝑎𝑑𝑜 𝑒𝑙 𝑣𝑎𝑙𝑜𝑟 𝑚á𝑠 𝑝𝑒𝑞𝑢𝑒ñ𝑜 𝑠𝑒 𝑡𝑜𝑚𝑎 𝑑𝑒 𝑙𝑎 𝑡𝑎𝑏𝑙𝑎 𝑠𝑖𝑚𝑝𝑙𝑒𝑥 𝑡𝑜𝑑𝑎

𝑙𝑎 𝑟𝑒𝑠𝑡𝑟𝑖𝑐𝑐𝑖ó𝑛 𝑑𝑒 𝑙𝑎 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑒𝑙𝑒𝑔𝑖𝑑𝑎 𝑒𝑛 𝑒𝑠𝑡𝑒 𝑐𝑎𝑠𝑜 𝑡𝑒𝑛𝑒𝑚𝑜𝑠:

𝑦𝑎 𝑞𝑢𝑒 ℎ𝑒𝑚𝑜𝑠 𝑡𝑜𝑚𝑎𝑑𝑜 𝑡𝑜𝑑𝑎 𝑙𝑎 𝑟𝑒𝑠𝑡𝑟𝑖𝑐𝑖ó𝑛 𝑒𝑠 𝑛𝑒𝑐𝑒𝑠𝑎𝑟𝑖𝑜 𝑑𝑒𝑠𝑐𝑜𝑚𝑝𝑜𝑛𝑒𝑟

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑅

𝑥

2

5 ⁄ 2 1 1 ⁄ 2 1 ⁄ 2 0 0 15 ⁄ 2

𝑆

2

− 1 2

⁄ 0 13 2

⁄ − 1 2

⁄ 1 0 25 2

𝑆

3

− 13 2

⁄ 0 1 2

⁄ − 3 2

⁄ 0 1 5 2

𝑍 23 0 4 5 0 0 75

𝑒𝑙 𝑣𝑎𝑙𝑜𝑟 𝑚á𝑠 𝑒𝑞𝑢𝑒ñ𝑜 𝑐𝑜𝑛𝑠𝑖𝑑𝑒𝑟𝑎𝑛𝑑𝑜 𝑢𝑛 𝑣𝑎𝑙𝑜𝑟 𝑎𝑏𝑠𝑜𝑙𝑢𝑡𝑜.

8 𝑒𝑠 𝑒𝑙 𝑟𝑒𝑠𝑢𝑙𝑡𝑎𝑑𝑜 𝑚𝑒𝑛𝑜𝑟 𝑝𝑜𝑟 𝑡𝑎𝑛𝑡𝑜 𝑒𝑠𝑎 𝑐𝑜𝑙𝑢𝑚𝑛𝑎 𝑑𝑒 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑠𝑒𝑟á 𝑛𝑢𝑒𝑠𝑡𝑟𝑎 𝑐𝑜𝑙𝑢𝑚𝑛𝑎

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑆

4

𝑅

𝑥

2

5 2

⁄ 1 1 2

⁄ 1 2

⁄ 0 0 0 15 2

𝑆

2

− 1 2

⁄ 0 13 2

⁄ − 1 2

⁄ 1 0 0 25 2

𝑆

3

− 13 2

⁄ 0 1 2

⁄ − 3 2

⁄ 0 1 0 5 2

𝑆

4

− 1 / 2 0 − 1 / 2 − 1 / 2 0 0 1 − 1 / 2

𝑍 23 0 4 5 0 0 0 75

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑆

4

𝑅

𝑥

2

5 ⁄ 2 1 1 ⁄ 2 1 ⁄ 2 0 0 0 15 ⁄ 2

𝑆

2

− 1 2

⁄ 0 13 2

⁄ − 1 2

⁄ 1 0 0 25 2

𝑆

3

− 13 ⁄ 2 0 1 ⁄ 2 − 3 ⁄ 2 0 1 0 5 ⁄ 2

𝑆

4

− 1 / 2 0 − 1 / 2 − 1 / 2 0 0 1 − 1 / 2

𝑍 23 0 4 5 0 0 0 75

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑆

4

𝑅

𝑥

2

5 2

⁄ 1 1 2

⁄ 1 2

⁄ 0 0 0 15 2

𝑆

2

− 1 2

⁄ 0 13 2

⁄ − 1 2

⁄ 1 0 0 25 2

𝑆

3

− 13 2

⁄ 0 1 2

⁄ − 3 2

⁄ 0 1 0 5 2

𝑆

4

− 1 / 2

0 − 1 / 2 − 1 / 2

0 0 1 − 1 / 2

𝑍 23 0 4 5 0 0

0 75

𝑞𝑢𝑒𝑑𝑎 𝑒𝑛 𝑙𝑎 𝑖𝑛𝑡𝑒𝑟𝑠𝑒𝑐𝑐𝑖ó𝑛 𝑡𝑜𝑚𝑎𝑟𝑒𝑠 𝑒𝑠𝑒 𝑣𝑎𝑙𝑜𝑟 𝑝𝑎𝑟𝑎 𝑠𝑒𝑔𝑢𝑖𝑟 𝑟𝑒𝑠𝑜𝑙𝑣𝑖𝑒𝑛𝑑𝑜 𝑒𝑙 𝑒𝑗𝑒𝑟𝑐𝑖𝑐𝑖𝑜

𝑨𝒑𝒍𝒊𝒄𝒂𝒓 𝒏𝒖𝒆𝒗𝒂𝒎𝒆𝒏𝒕𝒆 𝒆𝒍 𝒎é𝒕𝒐𝒅𝒐 𝒔𝒊𝒎𝒑𝒍𝒆𝒙 :

𝑑𝑖𝑏𝑖𝑑𝑖𝑚𝑜𝑠 𝑙𝑎 𝑓𝑖𝑙𝑎 𝑝𝑖𝑣𝑜𝑡𝑒 𝑒𝑛𝑡𝑟𝑒 𝑒𝑙 𝑛ú𝑚𝑒𝑟𝑜 𝑝𝑖𝑣𝑜𝑡𝑒 𝑙𝑜 𝑞𝑢𝑒 𝑠𝑒𝑟í𝑎 𝑺

𝟒

2

2

3

3

2

2

3

Realizamos las operaciones y obtenemos lo siguiente:

*nota: el resultado se incluirá en X3 que es la columna que ingresa.

ya que nos quedan enteros en el resultado que es lo que se busca con el método de

gomory hemos culminado.

Por lo tanto, el resultado final es el siguiente:

𝟏

𝟐

𝟑

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑆

4

𝑅

𝑥

2

5 2

⁄ 1 1 2

⁄ 1 2

⁄ 0 0 0 15 2

𝑆

2

− 1 2

⁄ 0 13 2

⁄ − 1 2

⁄ 1 0 0 25 2

𝑆

3

− 13 2

⁄ 0 1 2

⁄ − 3 2

⁄ 0 1 0 5 2

𝑆

4

− 1 / 2 0 − 1 / 2 − 1 / 2 0 0 1 − 1 / 2

𝑍 23 0 4 5 0 0 0 75

𝑋

1

𝑋

2

𝑋

3

𝑆

1

𝑆

2

𝑆

3

𝑆

4

𝑅

𝑥

2

2

1 0 0

0 0 1 7

𝑆

2

  • 7 0 0 - 7 1 0 13 6

𝑆

3

  • 7 0 0 − 2 0 0 1 2

𝑋

3

1 0 1 1 0 0 - 2 1

𝑍 19 0 0 1 0 0 8 71