Está en la página 1de 31

INVESTIGACION (TECNICAS HEURISTICAS Y METAHEURISTICAS)

Realizado por: Univ. ALEXANDER CRISTIAN RODRIGUEZ LENIZ

RESUMEN.

Son llamadas técnicas heurísticas, aquellas que proponen estrategias que guían el
descubrimiento, es decir la búsqueda de la solución de un problema mediante
la creatividad y el pensamiento lateral o pensamiento divergente; actualmente existen
varias heurísticas específicas para un determinado problema, estas heurísticas nos dan
soluciones satisfactorias, sin embargo cuando un problema no tiene una heurística
específica, se puede recurrir a la metaheurística que nace de la heurística, Son una
familia de algoritmos aproximados de propósito general. Suelen ser procedimientos
iterativos que guían una heurística subordinada de búsqueda, combinando de forma
inteligente distintos conceptos para explorar y explotar adecuadamente el espacio de
búsqueda.

Este trabajo presenta los conceptos básicos de los métodos o técnicas heurísticas y
metaheurísticas, así también algunos ejemplos como ser: algoritmos genéticos, redes
neuronales, recocido simulado y búsqueda tabú y así también como sus aplicaciones en
el campo de la ingeniería civil.

INTRODUCCION.

En los problemas de optimización podemos encontrar diferentes soluciones, pero


discriminadamente se busca encontrar la mejor. De manera más precisa, estos
problemas se pueden expresar como encontrar el valor de unas variables de decisión
para los que se minimiza o maximiza una determinada función objetivo. El valor de las
variables en ocasiones suele estar sujeto a ciertas restricciones. Podemos encontrar una
gran cantidad de problemas de optimización, tanto en la industria como en la ciencia.
Existen problemas de optimización de fácil solución como los problemas lineales pero
usualmente se relacionan con problemas tipo NP-Hard. Este tipo de problemas son
difíciles de resolver porque no existe un método capaz de garantizar la mejor solución en
un tiempo razonable. Son un ejemplo de problemas NP-Hard el QAP, el Flowhop Problem
(FSP) o el problema del vendedor viajero (TSP – Travel Salesman Problem). Los

pág. 1
problemas de asignación cuadrática trata de asignar n instalaciones a una cantidad de
localizaciones con un costo asociado a cada una de ellas. Este costo depende de las
distancias y flujos entre las instalaciones, además de que puede existir un costo adicional
por instalar cierta facilidad en cierta localización específica. El objetivo es buscar aquella
combinación que minimice el costo total. A modo de ejemplo podemos encontrar
situaciones tan comunes en las que se requiera resolver problemas de este tipo como
pueden ser el diseño de circuitos eléctricos o sistemas de telecomunicaciones para
determinar el mejor emplazamientos de conexiones, circuitos y microchips. De la misma
manera sucede en terminales aeroportuarias para minimizar el desplazamiento de los
usuarios entre conexiones de vuelos. Este concepto se puede trasladar a centros
comerciales o diseños por ejemplo de salas de hospitales y como ubicar los diferentes
servicios de rayos X, análisis de sangre, etc. En cada momento aparecen nuevas
situaciones con problemas difíciles que deben ser resueltos y por tanto se han
desarrollado diferentes métodos o algoritmos resolutivos. Estos métodos pueden ser
exactos o aproximados. En el caso de algoritmos exactos, siempre encuentran la solución
óptima al problema pero en muchos casos, el tiempo de procesado puede ser inviable ya
que no se resuelven en tiempo polinomial. Debido a esta razón, se han ideado métodos
aproximados denominados heurísticas. Las heurísticas provienen del término griego
“heuriskein” que significa encontrar. Estos procedimientos buscan encontrar una buena
solución que puede no ser la óptima en tiempos eficientes. Existen bastantes algoritmos
heurísticos, normalmente se clasifican en función de si son algoritmos constructivos,
algoritmos de mejora o de trayectoria y algoritmos de poblaciones o evolutivos.

Los algoritmos constructivos parten de una solución inicial vacía y van añadiéndole
componentes hasta construir una solución. En el caso del QAP se basa en asignar
localidades iterativamente basadas en ciertas heurísticas como la regla del vecino más
próximo. Entre las heurísticas constructivas encontramos el método GRASP o la
optimización basada en colonias de hormigas. La búsqueda basada en trayectorias parte
de una solución inicial e iterativamente tratan de reemplazarla por otra solución de su
vecindario con mejor calidad. Estos algoritmos efectúan un estudio local del espacio de
búsqueda y analizan el entorno de la solución actual para decidir cómo continuar el
recorrido de la búsqueda. Pueden permitir movimientos de empeoramiento de la solución

pág. 2
actual a la vez que también permiten modificar la estructura de entornos o vecindarios.
En el caso de algoritmos multiarranque se permite comenzar una nueva búsqueda a partir
de otra solución inicial. Aquí se encuentran métodos como la búsqueda tabú o el recocido
simulado. Las heurísticas de poblaciones evolucionan una población de soluciones
iterativamente mediante una técnica probabilística. Se basan en comportamientos
naturales basados en la reproducción como la evolución de las especies de Darwin. Al
igual que en la naturaleza el individuo se adapta al entorno, la solución candidata es el
individuo. Las metaheurísticas son un método heurístico para resolver un tipo de
problema computacional general, usando los parámetros dados por el usuario sobre unos
procedimientos genéricos y abstractos de una manera que se espera eficiente. Las
metaheurísticas generalmente se aplican a problemas que no tienen un algoritmo o
heurística específica que dé una solución satisfactoria. A veces, también se aplica cuando
no es posible implementar ese método óptimo específico. El motivo principal es que
suelen ser menos eficientes que las heurísticas específicas. Cabe decir, que la mayoría
de las metaheurísticas tienen como objetivo los problemas de optimización combinatoria
como es el caso del problema QAP. De entre todos estos tipos de heurísticas, en este
proyecto se estudiarán los Algoritmos Genéticos pertenecientes al grupo de algoritmos
de poblaciones. Redes neurales que crea modelos artificiales que solucionen problemas
difíciles de resolver mediante técnicas algorítmicas convencionales. Una meta heurísticas
de reconocido simulado que es el resolver un problema combinatorio se resume a
encontrar la “mejor” y “´optima” solución dentro de un conjunto finito o contablemente
infinito de alternativas y Búsqueda Tabú es una metaheurística que guía un
procedimiento heurístico de búsqueda local en la búsqueda de optimalidad global
La justificación de este proyecto es analizar los métodos heurísticos propuestos aplicados
al problema de asignación cuadrática para intentar encontrar buenas soluciones,
preferiblemente las óptimas de los problemas propuestos.

DESARROLLO.

Para el desarrollo de la investigación procederemos desde el origen del nombre la opinión


de y la perspectivas de varios autores y el desarrollo de tema.

pág. 3
Que son Heurísticas

“Heurística” es un concepto que viene desde la Grecia clásica, originado de la palabra


griega heuriskein cuyo significado es encontrar o descubrir; según la historia se deriva de
eureka, famosa exclamación atribuida a Arquímedes. Como se aprecia,
etimológicamente la heurística se orienta al estudio del descubrimiento y la invención,
(debidos a la reflexión y no al azar) .En consecuencia, todos los factores y elementos no
racionales que puedan jugar un papel en la invención y el descubrimiento deben quedar
por fuera de la heurística. De esta forma podemos relacionar la heurística con la tarea de
resolver problemas inteligentemente utilizando la información disponible. Aplicado el
término heurística en la Investigación Operacional, este toma un significado más exigente, para
ilustrar lo anterior se presenta las siguiente definición: “Se califica de heurístico a un procedimiento
para el que se tiene un alto grado de confianza en que encuentra soluciones de alta calidad con
un coste computacional razonable, aunque no se garantice su optimalidad o su factibilidad, e incluso,
en algunos casos, no se llegue a establecer lo cerca que se está de dicha situación. Se usa
el calificativo heurístico en contraposición a exacto. Los problemas altamente complejos
son “difíciles de resolver “y se les denomina Problemas NP, se clasifican en conjuntos o
clases de complejidad (L, NL, P, P Completo, NP, NP Completo, NP Duro...). La mayor
parte de los problemas en teoría de la complejidad tienen que ver con los problemas de
la clase NP de decisión, y corresponden a problemas a los cuales no podemos garantizar
encontrar una mejor solución en un tiempo polinómico razonable. Es aquí donde los
métodos heurísticos se convierten en procedimientos eficientes para encontrar “buenas
soluciones” aunque no se pueda comprobar que sean óptimas. En estos métodos, la
rapidez del proceso (que siempre es menor que el tiempo de una solución por otros
métodos) están importante como la calidad de la solución obtenida, Por tanto podemos
usar métodos heurísticos cuando en un problema de optimización, determinístico o no,
se encuentren algunas de las siguientes características

a. El problema es de una naturaleza tal que no se conoce ningún método exacto


para su resolución

pág. 4
b. El método heurístico es más flexible que un método exacto, permitiendo, por
ejemplo, la incorporación de condiciones de difícil modelización.

c. El modelo matemático es demasiado grande, demasiado NO lineal o


demasiado complejo desde el punto de vista lógico.

d. El asumir suposiciones o aproximación es para simplificar el problema, tiende


a destruir estructuras del modelo que son vitales en el contexto del mundo real,
haciendo la solución no viable.

e. E l método heurístico se utiliza como p a r t e de un procedimiento global que


garantiza el óptimo de un problema. Existiendo dos posibilidades:

• El método heurístico proporciona una buena solución inicial de partida.

• El método heurístico participa en un paso intermedio del procedimiento, como


ejemplo de esto está las reglas de selección dela variable a entrar en la base en el método
Simplex.

Un caso particular de los métodos heurísticos es el análisis de recorrido del


agente viajero o TSP (Un agente viajero debe visitar n ciudades, comenzando
y finalizando en su propia ciudad. Conociendo el coste de ir de una ciudad a
otra, determinar el recorrido de coste mínimo), el cual, si se hace para un número
reducido de ciudades a visitar resulta manejable, pero cuando este número de
ciudades se incrementa el espacio de búsqueda de soluciones se hace de muy
difícil manejo.

Clasificación de los métodos heurísticos

Se han desarrollado muchos métodos heurísticos de naturaleza muy diferente, en su gran


mayoría diseñados para problemas específicos sin posibilidad de generalización o
aplicación a otros problemas similares, por lo que es complicado hacer una clasificación
adecuada por tal razón Se presenta a continuación algunas categorías en forma amplia
y no excluyente, donde se clasifican algunos de los métodos heurísticos más conocidos:

pág. 5
Métodos de Descomposición:

El problema original se descompone en sub-problemas más sencillos de resolver,


teniendo en cuenta aun quesea de manera general que todo pertenece al mismo
problema. Un ejemplo es la utilización del principio de descomposición o separación de
variables complican tés, o descomposición lagrangiana.

Métodos Inductivos:

La idea de estos métodos es generalizar las propiedades o técnicas identificadas en


estos casos, más fáciles de analizar que se pueden aplicar al problema completo.

Métodos de Reducción:

Consiste en identificar propiedades que se cumplen mayoritariamente por las buenas


soluciones e introducirlas como restricciones del problema. El objeto es restringir el
espacio de soluciones simplificando el problema. El riesgo obvio es dejar fuera las
solución es óptimas del problema original.

Métodos Constructivos:

Consisten en construir literalmente paso a paso una solución del problema. Usualmente
son métodos deterministas y suelen estar basados en la mejor elección en cada iteración.
Estos métodos han sido muy utilizados en problemas clásicos como el del agente viajero.

Métodos de Búsqueda Local:

A diferencia delos métodos anteriores, los procedimientos de búsqueda o mejora local


comienzan con una solución del problema y la mejoran progresivamente. El
procedimiento realiza en cada paso un movimiento de una solución a otra con
mejor valor. El método finaliza cuando, para una solución, no existe ninguna solución
accesible que la mejore. Un ejemplo clásico es el algoritmo de Ramificación y Poda
(branch and bound ) en programación dinámica.

Qué son metaheurísticas

pág. 6
En la búsqueda de mejores soluciones y de mayor calidad, la investigación en este campo
en los últimos veinticinco años, ha centrado su atención en el diseño de técnicas de
propósito general

Para orientar la construcción de soluciones en las distintas heurísticas. Estas técnicas se


llaman comúnmente metaheurísticas y son estrategias para diseñar y/o mejorar los
procedimientos heurísticos orientados a obtener un alto rendimiento. El término
metaheurística fue introducido por Fred Glover en 1986 y desde entonces se han
presentado muchas propuestas de pautas para diseñar mejores procedimientos de
solución a problemas combinatorios. Los profesores Osman y Kelly (1995) introdujeron
la siguiente definición “Los procedimientos Metaheurísticos son una clase de métodos
aproximados que están diseñados para resolver problemas de difícil optimización
combinatoria, en los que los heurísticos clásicos no son efectivos ”.Los Metaheurísticos
proporcionan un marco general para crear nuevos algoritmos híbridos, combinando
diferentes conceptos de diversos campos como la genética, la biología, la inteligencia
artificial, las matemáticas, la física y la neurología, entre otras. Como en general, existe
previamente algún método heurístico específico para el problema, la metaheurística
puede verse como un marco de trabajo referido a algoritmos que puede aplicarse a
diversos problemas de optimización (combinatoria) con pocos cambios significativos. De
hecho, las metaheurísticas son ampliamente reconocidas como una de las mejores
aproximaciones para atacar los problemas de optimización combinatoria.

Evaluación del rendimiento del método Metaheurísticos

Las propiedades deseables que buscamos son todas aquellas que favorezcan el interés
práctico y teórico de las metaheurísticas, sin embargo no será posible mejorar todas las
propiedades a la vez, dado que algunas son parcialmente contrapuestas. Una relación
de tales propiedades debe incluir las siguientes características

- Simple La metaheurística debe estar basada en un principio sencillo y claro; fácil


de comprender.
- Precisa Los pasos y fases de la metaheurística deben estar formulados en
términos concretos.

pág. 7
- Coherente Los elementos de la metaheurística deben deducirse naturalmente de
sus principios.
- Eficaz La probabilidad de alcanzar soluciones óptimas de casos realistas con la
metaheurística debe ser alta.
- Eficiente La metaheurística debe realizar un buen aprovechamiento de recursos
computacionales: tiempo de ejecución y espacio de memoria.
- General La metaheurística debe ser utilizable con buen rendimiento en una
amplia variedad de problemas.
- Adaptable La metaheurística debe ser capaz de adaptarse a diferentes contextos
de aplicación o modificaciones importantes del modelo.
- Robusta El comportamiento de la metaheurística debe ser poco sensible a
pequeñas alteraciones del modelo o contexto de aplicación.
- Interactiva La metaheurística debe permitir que el usuario pueda aplicar sus
conocimientos para mejorar el rendimiento del procedimiento.
- Múltiple La metaheurística debe suministrar diferentes soluciones alternativas de
alta calidad entre las que el usuario pueda elegir
- Autónoma La metaheurística debe permitir un funcionamiento autónomo, libre de
parámetros o se puedan establecer automática.

Algunos Métodos Metaheurísticos

Dado que las metaheurísticas son estrategias para diseñar y/o mejorar los
procedimientos heurísticos, el tipo de metaheurística estará en función de qué tipo de
heurística se pretende mejorar; sin embargo se pueden clasificar en

Metaheurísticas Inspiradas en la física:

Recocido Simulado (Simulated Annealing). Esta técnica se considera como un algoritmo


de búsqueda. Está inspirado en el proceso de calentamiento y posterior enfriamiento de
un metal, para obtener estados de baja energía en un sólido.

Metaheurísticas Inspiradas en la evolución:

Son métodos que van construyendo un conjunto de soluciones a diferencia de los otros
métodos que sólo pasan de una solución a otra en cada iteración. El procedimiento

pág. 8
consiste en generar, seleccionar, combinar y reemplazar un conjunto de soluciones en la
búsqueda de la mejor solución

Metaheurísticas Inspiradas en la biología:

Una metaheurística bioinspirada relativamente reciente es la Optimización basada en


Colonias de Hormigas (OCH) (“Ant Colony Optimization”,ACO en inglés), Metaheurística que
se inspira en el comportamiento estructurado de las colonias de hormigas donde
individuos muy simples de una colonia se comunican entre sí por medio de una sustancia
química denominada feromona, la repetición de recorridos por los individuos establece el
camino más adecuado entre su nido y su fuente de alimentos El método consiste en
simular computacionalmente la comunicación indirecta que utilizan las hormigas para
establecer el camino más corto, guardando la información aprendida en una matriz de
feromonas

Ya con toda lo indicado sobre la heurística y metaheuritica se procederá a desarrollar las


técnicas a ser utilizadas.

1. Algoritmo Genético

Un ejemplo de metaheurística evolutiva son los Algoritmos Genéticos; el investigador de


la Universidad de Michigan John Holland a fines de los 60s desarrolló esta técnica que
permitió incorporarla a un programa, y su objetivo era lograr que las computadoras
aprendieran por sí mismas. A la técnica que inventó Holland se le llamó originalmente
“planes reproductivos” pero se hizo popular bajo el nombre “algoritmo genético” tras la
publicación de su libro en 1975. Esta técnica se basa en los mecanismos de selección
que utiliza la naturaleza, de acuerdo a los cuales los individuos más aptos de una
población son los que sobreviven, al adaptarse más fácilmente a los cambios que se
producen en su entorno. Hoy en día se sabe que estos cambios se efectúan en los genes
de un individuo (unidad básica de codificación de cada uno de los atributos de un ser
vivo), y que sus atributos más deseables (por ejemplo, los que le permiten adaptarse
mejor a su entorno) se transmiten a sus descendientes cuando éste se reproduce
sexualmente.

Funcionamiento

pág. 9
Los algoritmos genéticos (AG) funcionan entre el conjunto de soluciones de un problema
llamado fenotipo, y el conjunto de individuos de una población natural, codificando la
información de cada solución en una cadena, generalmente binaria, llamada cromosoma.
Los símbolos que forman la cadena son llamados genes. Cuando la representación de
los cromosomas se hace con cadenas de dígitos binarios se le conoce como genotipo.
Los cromosomas evolucionan a través de iteraciones, llamadas generaciones. En cada
generación, los cromosomas son evaluados usando alguna medida de aptitud. Las
siguientes generaciones (nuevos cromosomas), son generadas aplicando los operadores
genéticos repetidamente, siendo estos los operadores
de selección, cruzamiento, mutación y reemplazo.

Un algoritmo genético puede presentar diversas variaciones, dependiendo de cómo se


aplican los operadores genéticos (cruzamiento, mutación), de cómo se realiza
la selección y de cómo se decide el reemplazo de los individuos para formar la nueva
población. En general, el pseudocódigo consiste de los siguientes pasos:

 Inicialización: Se genera aleatoriamente la población inicial, que está constituida por


un conjunto de cromosomas los cuales representan las posibles soluciones del
problema. En caso de no hacerlo aleatoriamente, es importante garantizar que dentro
de la población inicial, se tenga la diversidad estructural de estas soluciones para
tener una representación de la mayor parte de la población posible o al menos evitar
la convergencia prematura.
 Evaluación: A cada uno de los cromosomas de esta población se aplicará la función
de aptitud para saber cómo de "buena" es la solución que se está codificando.
 Condición de término: El AG se deberá detener cuando se alcance la solución
óptima, pero esta generalmente se desconoce, por lo que se deben utilizar otros
criterios de detención. Normalmente se usan dos criterios: correr el AG un número
máximo de iteraciones (generaciones) o detenerlo cuando no haya cambios en la
población. Mientras no se cumpla la condición de término se hace lo siguiente:
 Selección: Después de saber la aptitud de cada cromosoma se procede a elegir
los cromosomas que serán cruzados en la siguiente generación. Los cromosomas
con mejor aptitud tienen mayor probabilidad de ser seleccionados.

pág. 10
 Recombinación o cruzamiento: La recombinación es el principal operador
genético, representa la reproducción sexual, opera sobre dos cromosomas a la
vez para generar dos descendientes donde se combinan las características de
ambos cromosomas padres.
 Mutación: Modifica al azar parte del cromosoma de los individuos, y permite
alcanzar zonas del espacio de búsqueda que no estaban cubiertas por los
individuos de la población actual.
 Reemplazo: Una vez aplicados los operadores genéticos, se seleccionan los
mejores individuos para conformar la población de la generación siguiente.
Ya con los explicado de cómo funciona los algoritmos genéticos no queda de lado que
es también aplicable al campo de la ingeniería civil lo cual es el objetivo del estudio y la
investigación de este ´proyecto para lo cual en un artículo encontrado en la investigación
hace un marco comparativo en el área de la estructura usando algoritmos genéticos en
el cual lo aplica (DISEÑO OPTIMO DE VIGAS DE CONCRETO REFORZADO
MEDIANTE ALGORITMOS GENÉTICOS) diseño óptimo de columnas de concreto
reforzado haciendo uso de una técnica de inteligencia artificial basada en los mecanismos
de la selección natural, y que se conoce como el algoritmo genético. De tal forma, se
desarrolló una metodología que permite eliminar el ajuste de parámetros del algoritmo
genético (i.e., tamaño de población, porcentajes de mutación y cruza, y número máximo
de generaciones) y se incorporó en un sistema que genera diseños óptimos de vigas de
concreto en tiempos muy cortos y con un alto grado de confiabilidad. Un prototipo de
dicho sistema se encuentra actualmente en período de prueba, a fin de que pueda
emplearse como una herramienta seria de diseño en aplicaciones del mundo real dentro
de poco tiempo.
El diseño de vigas de concreto reforzado juega un papel primordial en la ingeniería civil
por su uso tan extendido en nuestro país. Tradicionalmente este proceso se efectúa de
forma iterativa, tal y como se ilustra en la Figura 1, asumiendo el peso propio de la viga
a la que se le desea diseñar la sección. Posteriormente, se determina su momento
resistente para checar si corresponde al momento flexionante aplicado. Este proceso se
repite una y otra vez, gastándose una cantidad considerable de tiempo, hasta que se
encuentra una sección apropiada. En dicho proceso suele ser difícil hacer que el

pág. 11
momento resistente de la sección corresponda con el momento actuante total aplicado,
incluyendo el producido por el peso propio de la viga, el cual puede ser substancial en
muchos casos. De tal forma, el diseño de una viga no sólo es lento, sino que además
tiene una carencia total de economía, puesto que lo único que nos interesa es encontrar
cualquier sección que se acomode a las condiciones establecidas, sin siquiera considerar
la posibilidad de hacerla lo más barata posible.

pág. 12
Como se puede observar en la figura 3 el proceso de diseño óptimo usando Algoritmo
Genético se mostrara un ejemplo

Diseñar una viga de concreto reforzado simplemente apoyada de costo mínimo, cuya
longitud es de 10 m, y soporta una carga muerta uniforme de 15 kN/m y una carga viva
uniforme de 20 kN/m. La resistencia del concreto es f'c = 30 MPa, y la del acero es fy =
300 MPa. El costo unitario del acero es de $0.72/kg, el del concreto $64.5/m3 y el del
recubrimiento $2.155/m². Asumir un espesor de recubrimiento r = 0.10. El peso unitario
del concreto es de 2323 kg/m3, y el factor de reducción de capacidad es de 0.90.

pág. 13
Los resultados obtenidos se muestran en la Tabla 2. Como puede verse la representación
de punto flotante produjo los mejores resultados, y la de códigos de Gray, los peores.
Nuestro diseño final para este ejemplo se muestra en la Figura 4, y tiene una altura total
de 95.125, lo cual es alrededor del 1% más que la del diseño de Chakrabarty. Esta
pequeña diferencia se debe al hecho de que el modelo de Chakrabarty considera el área
de refuerzo de acero como una variable, pese a que éste es un parámetro que depende
de la sección de la viga, y no puede tomar cualquier valor arbitrario. Por otra parte, los
costos del acero, el concreto y el recubrimiento representan el 47.80%, 41.50% y 10.70%,
que corresponden casi de forma exacta con los obtenidos por Chakrabarty. La
representación de punto flotante fue la única utilizada en todos los demás experimentos,
puesto que es la que proporcionó los mejores resultados en general.

pág. 14
Debe hacerse una importante observación antes de mostrar más ejemplos. Nuestro
modelo tiene más restricciones que el de Chakrabarty para hacerlo más realista. Por
ejemplo, nosotros requerimos que la relación de peraltes (x3/x2) se encuentre entre 0.25
y 0.6, lo cual es una práctica común usada por los ingenieros civiles. Esta restricción no
es meramente empírica, sino que tiene un fundamento teórico. Estos límites nos permiten
tener una cantidad "razonable" de acero de refuerzo en nuestros diseños, de tal forma
que podamos garantizar una buena adherencia entre el acero y el concreto, y que
podamos proporcionar un buen control de la deflexión de la viga. Puesto que Chakrabarty
no impone esta restricción en su modelo, algunos de sus resultados mostrados a
continuación la violarán.

Tabla 3: Comparación del uso de programación geométrica (Chrakrabarty [2]) con el


Algoritmo Genético (AG) usando representación de punto flotante (PF), para b=20 cm.
Observe cómo el diseño de Chakrabarty no cumple con la restricción de relación de
peraltes, porque x3/x2=0.20.
2. Redes Neuronales
Las redes neuronales artificiales son dispositivos computacionales compuestos por una
cantidad de unidades de procesamiento interconectadas. Cada una de ellas retiene
información localmente y es capaz de realizar simples cálculos. La red en conjunto tiene

pág. 15
la habilidad de responder frente a estímulos de entrada y producir las respuestas
correspondientes, además puede adaptarse a diferentes situaciones aprendiendo de la
experiencia.
2.1 Aproximación de la respuesta del sistema
Existen muchos algoritmos de redes neuronales artificiales entre los cuales se
encuentra el de “Red Neuronal Multicapa”. Este comprende los siguientes elementos
básicos: una capa de neuronas de entrada, una o varias capas de neuronas
intermedias u ocultas y una capa de neuronas de salida. Son las capas ocultas las que
cumplen un rol fundamental en el entrenamiento de la red. Gracias a las mismas la red
puede modelar relaciones no lineales entre las variables de entrada y de salida. En la
figura 1 se muestra un esquema de la arquitectura de la red implementada en este
trabajo.

Las neuronas de la capa de entrada


sólo reciben información, es decir los
datos de entrada del problema, y la transmiten a las neuronas de la capa oculta. Estas
procesan esta información y obtienen resultados parciales que luego son transmitidos a
las neuronas de la capa siguiente, de salida. Estas últimas son las que producen las
predicciones de la red.
2.2. Entrenamiento de la red
El primer paso es definir la arquitectura de la red, es decir el número de capas ocultas y
el número de neuronas por capa. En este trabajo se utiliza una sola capa intermedia y
una capa de salida con una única neurona, es decir que cada red solo se utiliza para

pág. 16
obtener un único resultado a partir de la información de entrada. El número de neuronas
de la capa de entrada resulta de la cantidad de variables de entrada mas una neurona,
que puede tener un valor máximo de 50.
Para seleccionar las combinaciones de los valores de las variables de entrada que se
utilizarán para entrenar la red, se aplica la teoría de diseño de experimentos. Además,
durante el entrenamiento, los coeficientes de peso w se optimizan proporcionalmente a
unas derivadas que tienden a valores pequeños cuando el valor absoluto de los
coeficientes crece, por lo que se escalan las variables de entrada a un rango de actuación
entre –1.0 y 1.0 para agilizar el entrenamiento.
2.3. APLICACIONES
Datos de la estructura
Para el entrenamiento de la red se utiliza un sistema estructural con comportamiento no
lineal, de tres pisos bajo acciones dinámicas de terremotos. Se considera un grado de
libertad por piso y la masa concentrada por piso. En la figura 2 se muestra el sistema
utilizado.

3.

pág. 17
Como variables intervinientes en el problema se consideraron la masa m por piso, la
rigidez a corte k de cada nivel con su resistencia Fy , y la aceleración pico del suelo
aG. Se utilizó el registro del acelerograma de Kobe (1995), el cual fue escalado para
los diferentes valores de aG. En la tabla 1 se resumen los datos de las variables.

2.4. Casos considerados


Utilizando la técnica de diseño de experimentos descripta en el punto 3, se generaron
405 combinaciones de las variables considerando distintos sectores en cada una de ellas.
Para cada una de las 405 combinaciones se obtuvo el desplazamiento máximo del último
piso, la distorsión de piso máxima y el corte basal con un programa de análisis dinámico
no MECOM 2005 – VIII Congreso Argentino de Mecánica Computacional 806 lineal
con el método de los elementos finitos. Además se agregaron nuevas combinaciones con
aceleraciones del suelo nulas para contar también con valores objetivos nulos. Se
entrenaron distintas redes, una para cada uno de los resultados, para distintas
situaciones. Se consideraron las siguientes variantes:
a) Número máximo de neuronas de la capa intermedia (NEUMAX): 20 y 30
b) Número de ciclos de entrenamiento (NITES): 15 y 50.
c) Constante del número de iteraciones para minimización del error (NITET): 5000 y
50000. Para verificar la aproximación de la respuesta de la red se realizaron nuevas
combinaciones de las variables dentro del rango de actuación de las mismas y se
calcularon para cada una de estas el desplazamiento máximo del último piso, la distorsión
máxima y el corte basal con el mismo programa de análisis no lineal como se explicó

pág. 18
anteriormente. Luego utilizando las redes entrenadas se obtuvieron las predicciones de
las mismas. Se detallan a continuación algunas de las situaciones estudiadas.
2.5. Resultados
Se analiza la variación del error generalizado (total) respecto a las variantes
consideradas. En la figura 3 se presentan como ejemplo los resultados referidos a la
red neuronal que representa el desplazamiento máximo del último piso, para las
siguientes situaciones:
- Caso 1 : NITES = 15, NITET = 5000
- Caso 2 : NITES = 50, NITET = 50000

3. Reconocido Simulado

El recocido simulado se define como un método de búsqueda por entornos, caracterizado


por un criterio de aceptación de soluciones vecinas —ver más adelante— que se adapta
a lo largo de su ejecución. Es una de las metaheurísticas más aplicadas en optimización
combinatoria e inclusive se ha combinado con otras estrategias heurísticas y
metaheurísticas. Fue propuesto por Kirkpatrick, Gelatt y Vecchi en 1983, e inicialmente
se creó para minimizar funciones de costo; pero también se utiliza ampliamente en
problemas de maximización.

Asimismo, está inspirado en el proceso de recocido de sólidos, el cual utiliza un


procedimiento que va disminuyendo la temperatura, con lo cual se modifica la estructura

pág. 19
del material. El enfriamiento debe hacerse de manera lenta para obtener configuraciones
moleculares resistentes. Cada etapa del enfriamiento tiene asociada una energía y una
configuración del material determinadas (figura 2).

Figura 2. Configuraciones de un sólido aplicando recocido simulado

3.1. Metodología del recocido simulado

El pseudocódigo del recocido simulado se presenta en la figura 3 En él se muestran el


bloque de búsqueda local (conocido como Ciclo de Metrópolis) y el “mecanismo de
escape” (criterio de aceptación de Boltzmann).

El algoritmo comienza con una solución inicial (S0), para la cual se calcula el valor o costo
f(S0) (lo que se quiere optimizar). A esta solución se le hacen modificaciones, conocidas
como “perturbaciones”, en donde a la solución inicial (S0) se le cambia la configuración,
obteniendo así una solución vecina (S1) en las iteraciones sucesivas.

En cada iteración hay un conjunto de soluciones vecinas; cualquiera de ellas puede ser
la nueva solución y es aceptada como buena si consigue reducir la función de costo. Al
conjunto de soluciones vecinas (Sn) derivadas de una solución inicial se le conoce como
“vecindad” o “entorno”, por el concepto de proximidad o vecindad entre las soluciones.

La intención es que cada vez que se modifique la solución, esta reduzca o maximice su
costo para poder obtener una solución final optimizada; si el costo de la solución
perturbada reduce el valor de la solución vecina, dicho costo se asigna a la solución
inicial:

(So) (S)

pág. 20
Pero no siempre sucede así. Algunas soluciones vecinas tendrán un costo mayor que la
solución anterior, por lo cual es necesario emplear un criterio de aceptación conocido
como función de probabilidad de Boltzmann:

Esta función es aplicada para poder “escapar” de óptimos locales. Si se va a maximizar,


se elimina el signo menos. La función trabaja de la forma siguiente: se obtiene un número
aleatorio entre 0 y 1, y se calcula el valor de la función de Boltzmann. Si el valor del
número aleatorio es mayor que el de Boltzmann, se desecha esa solución. En caso
contrario, se acepta como una solución buena y este costo se le asigna a la solución
inicial: (S0) = (S). Hacer esto permite buscar la solución del problema en otro espacio de
soluciones. Se sugiere revisar el pseudocódigo mostrado en la figura 3 para comprender
mejor este paso, en la parte descrita como criterio de Boltzmann.

Figura 3. Pseudocódigo del algoritmo de recocido simulado

pág. 21
3.2. Aplicaciones del Método

La aplicación del recocido simulado es muy variada dentro de los campos de la


ingeniería: en logística, producción, transporte, mecánica, electrónica, entre otros. se han
realizado investigaciones aplicando este algoritmo.

La metodología de trabajo es muy similar: se inicia con una propuesta de solución con
un “costo inicial”, que puede ser determinado por unidades de tiempo, longitud, dinero,
peso, distancias, entre otros, dependiendo del problema a tratar y del resultado esperado
después de aplicar el algoritmo de recocido simulado. De ahí se obtiene una solución
que maximiza o minimiza el costo de inicio. A continuación se presentan dos plicaciones
del recocido simulado:

1. En el área de materiales. El acero micro aleado tiene una gran demanda en la


industria aeroespacial y otras de alta tecnología. Debe cumplir con ciertas características
en su composición química para ciertas aplicaciones y usos. Por tal motivo, es necesario
diseñar y fabricar materiales con los requerimientos solicitados y probar si son
adecuados para la función a realizar. Lo anterior implica desarrollar una amplia cantidad
de configuraciones posibles que cumplan con las exigencias solicitadas.

Para verificar si el material cumple con lo requerido, hay que realizar pruebas
experimentales (con materiales de ensayo), lo cual resulta muy costoso por tratarse de
pruebas de tipo destructivo.

Una aplicación consiste en encontrar la mejor configuración de elementos de un acero


micro aleado, que ofrezca una mejor resistencia mecánica, es decir, maximizar dicha
resistencia. Para esto, el recocido simulado recibe como parámetro de entrada (solución
inicial) la composición química, el tamaño de grano y los precipitados, y devuelve una
configuración con los valores que dan el mejor resultado en resistencia. La mejor solución
encontrada fue la que se obtuvo. Para este caso, los valores más altos son de
σ y MPa=562.1482, y los valores iniciales son de σ y MPa=0.

pág. 22
Al aplicar el algortimo se logra un ahorro en cuanto a reactivos y material empleado,
porque se reduce el número de ensayos a realizar para obtener la configuración que
cumpla con las características solicitadas por el cliente.

2. En el área de hidráulica. El problema del árbol de expansión mínima (formulado por


Otakar Borukva en 1926) se aplica en diferentes áreas de redes, como las hidráulicas,
eléctricas, de comunicaciones, entre otras, en las que se requiere minimizar costo,
longitud, cantidades, distancia u otras medidas. Pero el diseño de una red hidráulica es
muy costoso. Por ello es necesario aplicar métodos para encontrar posibles soluciones
de forma eficiente. La aplicación del recocido simulado a este problema nos permite
encontrar el mejor diseño con el costo mínimo.

Concluyendo, el algoritmo de recocido simulado tiene una vasta aplicación en muchos


tipos de problemas de la vida real y es uno de los más utilizados con muy buenos
resultados

4. Búsqueda Tabú

4.1. Definición y propiedades de la búsqueda tabú.- La búsqueda tabú se basa en


principios de Inteligencia Artificial y nos permite resolver problemas combinatorios de
gran complejidad. Su metaheurística guía una búsqueda local muy enfocada hacía el
óptimo. Para conseguirlo, se basa en evitar que la búsqueda se estanque en mínimos
locales a favor de encontrar el óptimo global. Esto se consigue a través del concepto de
memoria extraído de la inteligencia artificial. Es decir, dirige la búsqueda teniendo en
cuenta los movimientos anteriores siendo una búsqueda inteligente. L búsqueda tabú se
basa en la técnica de búsqueda local cuyo algoritmo es el siguiente:
1 - Seleccionar una solución del conjunto de soluciones
2 - Seleccionar un vecino tal que mejore el coste inicial
3a - Si no existe uno mejor, es un óptimo local.
3b - Si no, guardar solución y volver al punto 2.
1. Repetir hasta condición final.

pág. 23
En definitiva, la búsqueda tabú es una combinación de búsqueda local con un mecanismo
de memoria a corto plazo cuyos elementos clave son:
 Restricciones Tabú: restringir la búsqueda al clasificar ciertos movimientos como
prohibidos (tabú), para evitar caer en soluciones recientemente generadas.
Concepto que se conoce como ciclado de la búsqueda que son bucles en que la
solución no avanza.

 Criterio de aspiración: liberar la búsqueda por medio de una función de memoria a


corto plazo (olvido estratégico).

4.2. La lista tabú


La lista tabú es una lista en el contexto computacional, donde se registran aquellas
soluciones o atributos de soluciones que no deben ser elegidas. Computacionalmente
este tipo de listas se conocen como pilas. Una forma sencilla de construir una lista tabú
consiste en que cada vez que se realiza un movimiento, se introduce su inverso (si se
pasó de x0 a x1, el inverso es x1 a x0) en una lista circular, de forma que los elementos
de dicha lista están penalizados durante un cierto tiempo. El tiempo dependerá del
tamaño de la lista. A mayor tamaño más tiempo permanecerán los movimientos
restringidos en la lista ya que estos no se eliminan hasta que no se ha llenado el resto de
posiciones libres. En principio, un movimiento que está en la lista tabú no será aceptado
hasta que desaparezca de ella, y aunque aparentemente fuera mejor solución que la
solución actual. Esto no es del todo cierto y se permiten excepciones en caso de mejorar
la solución pero con ciertas restricciones. Más adelante trataremos estos casos
específicos. La lista tabú se compone de los movimientos realizados recientemente. Sin
embargo esta propiedad implica que la lista tabú también se compone entonces de:

 De las soluciones visitadas recientemente.

 De los atributos o características que tenían las soluciones visitadas.


4.3. La memoria en la búsqueda tabú
La búsqueda tabú se caracteriza porque utiliza una estrategia basada en el uso de
estructuras de memoria para escapar de los óptimos locales, en los que se puede caer

pág. 24
al “moverse” de una solución a otra por el espacio de soluciones. Las estructuras de
memoria usadas son de dos tipos:
 Explicita: Cuando la solución se almacena de manera completa, se registran
soluciones de elite visitadas durante la búsqueda. por ejemplo {x1,x5,x7} donde
las xi son soluciones ocurridas en iteraciones anteriores. Una extensión de esta
memoria explícita registra vecindarios altamente atractivos pero inexplorados de
las soluciones de elite (que dan un óptimo local).

 De atributos: Se guarda información acerca de ciertos atributos de las soluciones


pasadas, para propósitos de orientación de la búsqueda. Este tipo de memoria
registra información acerca de los atributos o características que cambian al
moverse de una solución a otra. En definitiva su propósito es guiar la búsqueda
4.4. Búsqueda tabú aplicada al problema QAP
Desde hace tiempo, se han llevado a cabo numerosas investigaciones para adaptar una
búsqueda tabú eficiente para solucionar el problema de asignación cuadrática. La
búsqueda tabú, juntamente con el recocido simulado han sido dos de las heurísticas sin
hibridar que mejores resultados han dado. Por mejores, debemos matizar que se tratan
de métodos sencillos de implementar con reducidos parámetros y muy robustos. Son
robustos porque han proporcionado buenas soluciones y con rendimientos de CPU
bastante ajustados. El primer parámetro a definir para el problema del QAP, es el
concepto de vecindario. La heurística debe realizar una serie de movimientos para
obtener una nueva solución. Todo ello, evaluando dentro del vecindario, los movimientos
que proporcionan mejores soluciones. En el caso de que no haya movimientos que
mejoren la solución, se escogerá aquel menos perjudicial, es decir, el que menos la
degrade. Para evitar que los movimientos retrocedan y se estanquen en un óptimo local,
se debe diseñar eficientemente el parámetro tabú y como éste parámetro impediría
ciertos movimientos interesantes, a su vez definir un criterio de aspiración para evitar ese
problema.
4.5. Aplicación del método en la Ingeniería Civil
A continuación se mostrara un ejemplo utilizando el método de Búsqueda Tabú aplicado
en la ingeniera civil para esto se seguirá el siguiente proceso

pág. 25
Se presenta un ejemplo con el sistema de Garver modificado [3]. Existen dos plantas
térmicas (GT1 y GT3) y una hidráulica (GH6). La planta hidráulica GH6A entra en el año
2 y GH6B entra a operar en el año 3 (Figura 7). Los datos de demanda total del sistema
se muestran en la tabla 1, los datos para cuatro series hidrológicas equiprobables se
muestran en la tabla 2 y los datos de capacidad de cada planta y el precio de generación
térmica (igual para todos los años) en la tabla 3. Los datos de embalse y turbinamiento
asociado a cada central hidráulica se muestran en la tabla 4. DMX, DMD, y DMN
representan escenarios de demanda máxima, media y mínima respectivamente. Al
realizar todas las combinaciones posibles resultan 12 escenarios.

pág. 26
El problema fue resuelto con un algoritmo de Búsqueda Tabú implementado en Matlab
6.5 y los resultados obtenidos fueron comparados con los obtenidos usando el solver de

pág. 27
optimización de programación entera mixta de GAMS denominado XPRESS. En la tabla
5 se muestran los resultados obtenidos en GAMS para un escenario de demanda máxima
y la serie hidrológica 2:

La tabla 6 muestra los resultados obtenidos en Matlab usando Búsqueda Tabú bajo las
mismas condiciones anteriores.

El valor de la función objetivo corresponde al costo total de operación durante los 3 años
de estudio. En ambos casos se utilizó un equivalente anual de 8760 horas (la función
objetivo multiplicada por 8760). Varios solvers de programación entera de GAMS fueron
utilizados (BARON, BDMLP, CPLEX, MOSEK, OSL, XA, XPRESS), solo XPRESS, XA y
MOSEK alcanzan la solución obtenida utilizando búsqueda tabú, también se presentó el
caso de óptimos alternativos como se muestra en las tablas anteriores. Los demás
solvers llegaron a soluciones óptimas locales. Todos los escenarios fueron simulados y
los costos de operación se resumen en la tabla 7.

pág. 28
El proceso muestra como el algoritmo de búsqueda tabú puede obtener soluciones de
igual o incluso de mejor calidad que las obtenidas con el solver XPRESS de GAMS. El
escenario 12 tiene un costo operativo de cero. Esto se debe a que toda la demanda
durante los tres períodos de estudio se atendió con generación hidráulica.
El algoritmo de Búsqueda Tabú implementado en este documento es sensible al punto
de arranque. Para este caso se inicializó el algoritmo, en todos los escenarios, tomando
volúmenes iniciales iguales a un 60 % de las afluencias esperadas cada año. Con este
criterio se logró una convergencia en la mayoría de los casos sobre 30 iteraciones.

Análisis y opinión personal sobre la investigación realizada


Con todo lo investigado anteriormente sobre la técnicas Heurísticas y Metaheuristicas
en los cuales se encuentran los (los algoritmos Genéticos, Redes neuronales,
Reconocido Simulado y Búsqueda Tabú) podemos indicar a opinión personal que estos
temas son muy importante dentro el campo de la Ingeniería mas precisamente dentro la
Ingeniería Civil ya estos y con lo investigación pude observar que estos son una mayor
investigación de cada tema por tanto en este trabajo se trató de mostrar poco todo lo que
abarca las técnicas heurísticas y Metaheurísticas en todo lo investigado pude observa
que estos método son muy interesante para poder aplicarlo en el área de la ingeniería
estructural en la hidráulica sanitaria con vial porque van dando resultado más efectivos y
concretos podría hablar sobre lo investigado indicando el tema en si es muy interesante

pág. 29
y que en este documento se investigó pude observar la muchas investigación que se
realizó en distintas universidades tratando acoplarlo estos métodos y los buenos
resultados que dan

BIBLIOGRAFIA

 Sallán Leyes, J. M. (2010). Metaheurísticas aplicadas al problema QAP.


Estudio y experiencia computacional.
 Pérez López, J. R. (2005). Contribución a los métodos de optimización
basados en procesos naturales y su aplicación a la medida de antenas en
campo próximo. .Universidad de Cantabria. Depto. Ing. de
Comunicaciones.
 Díaz, A., Glover, F., Ghaziri, H.M., Gonzalez, J.L., Laguna, M, Moscato, P.
y Tseng, F.T. (1996), Optimización Heurística y Redes Neuronales,
Paraninfo, Madrid.
 Fernández-Baños Marín, I. (2003). Programación de la secuencia de
fabricación en una máquina, con tiempos de preparación variables,
mediante la aplicación de Algoritmos Genéticos. 138 páginas.
ETSEIB(UPC).
 Möller, O., Rubinstein, M. “Confiabilidad de sistemas estructurales bajo
acciones sísmicas”, Mecánica Computacional, AMCA, Vol. XXIII, 499-514
(2004).
 Público. Wikipedia, la enciclopedia libre. http://es.wikipedia.org
 Antonio Hernando Escobar Zuluaga, Alejandro Garces, January 2005,
Aplicación del algoritmo de búsqueda tabú al problema
dedespachohidrotérmico.Recuperado:https://www.researchgate.net/public
ation/43070769_APLICACION_DEL_ALGORITMO_DE_BUSQUEDA_TA
BU_AL_PROBLEMA_DE_DESPACHO_HIDROTERMICO
 Jesús del Carmen Peralta Abarca, Jazmín Yanel Juárez Chávez, Beatriz
Martínez Bahena, Aplicación de recocido simulado en problemas de

pág. 30
optimización combinatoria,
Recuperado:http://inventio.uaem.mx/index.php/inventio/article/view/47/60
 Francisco Herrera, (Diciembre 10, 2009), Introducción a los Algoritmos
Metaheurísticos Recuperado de:
https://sci2s.ugr.es/sites/default/files/files/Teaching/OtherPostGraduateCo
urses/Metaheuristicas/Int-Metaheuristicas-CAEPIA-2009.pdf
 F. Duque Largo, junio de 2011, Una aproximación a la heuristica y
metaheuristicas Recuperado de: https://normasapa.in/

pág. 31

También podría gustarte