14
INTRODUCCIÓN A LAS TÉCNICAS HEURÍSTICAS UNIVERSIDAD DE CUENCA Escuela de Ingeniería Eléctrica Cuenca, Ecuador MATERIA: Investigación De Operaciones Nombres

Introduccion a Las Tecicas Heuristicas

Embed Size (px)

DESCRIPTION

analisis de las tecnicas heuristicas

Citation preview

MAESTRIA EN PLANIFICACIN Y GESTIN ENERGTICA

INTRODUCCIN A LAS TCNICAS HEURSTICAS2015

INTRODUCCIN A LAS TCNICAS HEURSTICAS

UNIVERSIDAD DE CUENCA

Escuela de Ingeniera ElctricaCuenca, Ecuador

MATERIA:

Investigacin De Operaciones

Nombres

Andrs pulla Romel Ulloa

Andrs Villa

2014/2015Introduccin a las tcnicas heursticas

Abstract

Este documento nos da a conocer tcnicas heursticas es decir procedimientos para resolver problemas de difcil solucin especialmente aquellos que surgen en aplicaciones del mundo real, as las principales ventajas de estas tcnicas es que son simples de entender y fciles de implementar, con lo que nos ahorran tiempo de formulacin y de computacin, producindonos soluciones aceptables, pero antes es necesario modelizar la realidad, es decir conocer la estructura de un modelo matemtico de optimizacin y distinguir los distintos tipos de modelos matemticos. Por lo que se podra decir que las tcnicas heursticas son un procedimiento sistemtico y lgico que nos lleva a acercarnos ms rpidamente a la solucin.INTRODUCCIONYa que la ingeniera est dirigida hacia aplicaciones de la vida real, nosotros como ingenieros necesitamos de investigacin con gran rigor matemtico para la optimizacin por lo que cuando se desea resolver un problema existen dos maneras bsicas de abordarlo, ya sea utilizando un mtodo exacto o de mtodos heursticos. Los mtodos exactos nos dan una solucin ptima del problema, utilizando algoritmos ya probados, sea el mtodo simplex o algoritmo de ramificacin y acotamiento. Sin embargo la mayora de problemas de la vida real no se pueden resolver con estos mtodos exactos, debido a su complejidad y el tiempo que necesitan para encontrar una solucin es muy elevado aumentando exponencialmente con el tamao del problema. Debido a esto los mtodos heursticos tienen un gran uso dentro de nuestro campo de la ingeniera ya que estos se limitan a proporcionar una buena solucin del problema, no necesariamente ptima como la de los mtodos exactos, pero el tiempo invertido en resolverlos es aceptable. En los problemas difciles de resolver modelados de la vida real, al resolverse por este mtodo encuentran muy buenas soluciones de forma rpida y eficaz.El xito de las tcnicas heursticas para resolver problemas de optimizacin de difcil solucin se da principalmente en aplicaciones del mundo real debido al tamao y complejidad de muchos problemas. Ya que son tiles para desarrollar planes que comprenden objetivos, en modelos de gran tamao, y en aquellos problemas que tienen relaciones complejas o no lineales que deben considerarse simultneamente en la programacin de actividades.En este documento abordamos conceptos bsicos de las tcnicas heursticas, de igual manera conceptos relacionados al mismo tema como son heurstica y metaheurstica, las ventajas y los inconvenientes de usar estas tcnicas, los tipos de metaheurstica, y principios de la bsqueda por entorno, el cual es muy importante para comprender el funcionamiento de heursticas ms avanzadas. Al final del documento, se presentan algunas conclusiones que dejan claros la importancia y el potencial de estas tcnicas dentro del campo de la ingeniera. Definicin de heurstica

La idea ms general del trmino heurstica est relacionada con la tarea de resolver inteligentemente problemas reales utilizando algunos principios y reglas aproximadas reduciendo el tiempo promedio consumido en la bsqueda de una solucin aceptable aunque no ptima.

Una definicin intuitiva es la propuesta por Zeneckis (1981):

Las heursticas son procedimientos simples basados en el sentido comn que se supone que obtendrn una buena solucin (no necesariamente la mejor) a un problema difcil de un modo sencillo y rpido.

En Investigacin de Operaciones, las tcnicas de programacin heurstica se utilizan cuando el problema es de gran tamao y complejidad. Las tcnicas heursticas buscan soluciones basadas en caractersticas de aceptabilidad ms que en reglas optimizadoras, la evaluacin de las tcnicas heursticas se hace por procedimientos inductivos ms que deductivos. Adems hay que tener en cuenta que programa heurstico se va a utilizar y la validacin del mismo.

Estos programas heursticos no son programas que se justifican por procedimientos analticos si no porque son probados experimentalmente. Una tcnica heurstica nos permite resolver problemas de optimizacin con buenas soluciones y con un costo computacional razonable. Estos mtodos heursticos nos permiten encontrar una solucin de alta calidad casi aproximada a la ptima, brindndonos soluciones muy buenas en la prctica, por lo que ha crecido mucho el inters dentro del estudio y aplicacin de procedimientos heursticos en Investigacin de Operaciones, pasando de ser considerados pobres herramientas a instrumentos fundamentales y, en muchos casos, imprescindibles para la resolucin prctica de un problema.

Una funcin heurstica es una correspondencia entre las descripciones de estados del problema hacia alguna medida de deseabilidad, normalmente representada por nmeros. Quiere decir que mensura cada estado del problema y dice qu tan cerca de la solucin ptima est. El propsito es el de guiar el proceso de bsqueda en la direccin que ms nos convenga por lo que nos dice qu camino tomar cuando hay ms de uno disponible. Cuanto ms exactamente estime la funcin heurstica los mritos de cada nodo del rbol (o grafo) que representa al problema, ms directo ser el proceso de solucin. En general, hay que hacer una ponderacin entre el costo de evaluacin de una funcin heurstica y el ahorro de tiempo de bsqueda que proporciona la funcin. La palabra heurstica proviene del griego Heurskein que significa hallar, inventar. La popularizacin del concepto se debe al matemtico George Plya, por su libro. En la cual hace mencin de cmo los matemticos llegan la solucin de problemas, este libro contiene la clase de recetas heursticas, como por ejemplo.

Si no consigues entender un problema, se tiene que dibujar un esquema.

Si no encuentras la solucin al problema, haz como si ya la tuvieras y mira qu puedes deducir de ella.

Si el problema es abstracto, prueba a examinar un ejemplo concreto.

Intenta abordar primero un problema ms general. Mientras que para Bartholdi y Platzman en 1988 define:

Una heurstica puede verse como un procesador de informacin que, deliberada, pero juiciosamente, ignora cierta informacin. Ignorando informacin, una heurstica se libra de gran parte del esfuerzo que debi haberse requerido para leer los datos y hacer clculos con ellos. Por otra parte, la solucin producida por tal heurstica, es independiente de la informacin ignorada, y de este modo no se ve afectada por cambios en tal informacin. Idealmente, se busca ignorar informacin que resulta muy caro colectar y mantener, esto es, computacionalmente caro de explotar y mantener, y que contribuye en poco a la precisin de la solucin.El uso de las Heursticas se aconseja cuando:

No existe un mtodo exacto de resolucin, o se requiere demasiado gasto computacional o de memoria.

No es necesario encontrar la solucin ptima, si no que nos basta con una solucin aproximada.

Los datos que tenemos son poco fiables, por lo que no tiene sentido el tratar de encontrar el resultado ptimo. Existen limitaciones de tiempo o de memoria en facilitarnos la respuesta.

Se va a utilizar como solucin inicial para un algoritmo exacto de tipo iterativo.

Si bien los resultados que se logran con una heurstica pueden no ser muy buenas en los peores casos, estos peores casos raramente ocurren en el mundo real. El intentar comprender por qu funciona una heurstica, o por qu no lo hace, normalmente sirve para profundizar en la comprensin del problema.

Si bien es cierto las heursticas son utilizadas en el mundo actual existen ciertas ventajas y desventajas en su aplicacin, las cuales quedan resumidas de la siguiente manera:Ventajas:

Flexibilidad frente al encorsetamiento de la investigacin operativa clsica.

Ms comprensibles e intuitivos que los mtodos exactos.

En algunas ocasiones encontrarn una solucin aceptablemente buena en un tiempo razonable.

El mtodo heurstico se utiliza como parte de un procedimiento global, proporciona una buena solucin inicial de partida.

El mtodo heurstico es ms flexible que un mtodo exacto, permitiendo, por ejemplo, la incorporacin de condiciones de difcil modelizacin.

Desventajas:

Imposible conocer la cercana con respecto del ptimo global de la solucin obtenida.

No garantizan que se encuentre una solucin, aunque existan soluciones.

Si encuentran una solucin, no se asegura que sta tenga las mejores propiedades.

Dependencia de la estructura del problema considerado y falta de habilidad para adaptarse a nuevas situaciones o modificaciones del problema de partida.

Fig1.ventajas de las tcnicas heursticasCundo utilizar las tcnicas heursticasEn los ltimos aos ha habido un crecimiento espectacular en el desarrollo de procedimientos heursticos para resolver problemas de optimizacin. Este hecho queda claramente reflejado en el gran nmero de artculos publicados en revistas especializadas.

Las razones por las que se utilizan mtodos heursticos adems de las ya antes mencionadas como es el caso de la resolucin de un problema difcil, el uso de un procedimiento heurstico en lugar de un procedimiento ptimo para resolver un problema, est especialmente indicado cuando:

1. El problema es de una naturaleza tal que no se conoce algn mtodo exacto para su resolucin.

2. Aunque existe un mtodo exacto para resolver el problema, su uso es computacionalmente muy costoso.

3. Se prefiere abordar, por medio de heursticas, una representacin ms ajustada del problema planteado que una versin menos realista de tal problema que pueda resolverse de forma exacta. Es decir, se prefiere resolver de forma aproximada un modelo ajustado a la realidad que resolver de forma exacta un modelo aproximado de la realidad. En este sentido, los mtodos heursticos son ms flexibles que los mtodos exactos, permitiendo la incorporacin de condiciones de difcil modelizacin.

4. Se desea aumentar la eficiencia de un procedimiento exacto. En ese caso un mtodo heurstico puede proporcionar una buena solucin inicial de partida o participa en un paso intermedio del procedimiento, como por ejemplo, las reglas de seleccin de variables de entrada en el mtodo simplex, o el establecimiento de cotas en el algoritmo de ramificacin y acotamiento.

5. Se tiene que resolver repetidas veces un mismo problema, probablemente con datos distintos. En estas circunstancias se requiere un procedimiento eficiente de resolucin que suministre de forma rpida una solucin suficientemente buena. Estas situaciones se presentan, por ejemplo, al tener que determinar diariamente valores de las variables de inters.

Inconvenientes de las tcnicas heursticas

A pesar de que las heursticas son una alternativa excelente para resolver problemas de difcil solucin, stas tambin adolecen de ciertas propiedades deseables. Un inconveniente de la gran mayora de los mtodos heursticos es su dependencia de la estructura del problema para el cual fue diseado, y su falta de habilidad para adaptarse a nuevas situaciones o modificaciones del problema de partida. As, usan propiedades de la regin factible y/o de la funcin objetivo o informacin a priori que hacen que los procedimientos sean vlidos slo bajo esas condiciones

A diferencia de los mtodos exactos, no existe un procedimiento conciso y preestablecido, independiente del problema. En los mtodos heursticos las tcnicas e ideas aplicadas a la resolucin de un problema son especficas de ste y aunque, en general, pueden ser trasladadas a otros problemas, han de particularizarse en cada caso.

Otro problema importante de los heursticos es su incapacidad para escapar de ptimos locales. Una solucin heurstica para un problema podra corresponder o estar muy cercana a un ptimo local y no a un ptimo global, ya que estos algoritmos pueden quedarse atrapados en una zona del espacio de soluciones.Para superar los inconvenientes que presentan los mtodos heursticos clsicos, durante los ltimos aos diferentes investigadores han estado trabajando en un tipo de procedimientos heursticos generales que pueden usarse para resolver una amplia variedad de problemas adaptando convenientemente los elementos que los definen y que permiten obtener mejores resultados. Tales procedimientos son las Metaheursticas.Clasificacin de las tcnicas heursticas Dentro de las tcnicas heursticas existen muchos mtodos de naturaleza muy diferente, cada uno diseado para ese problema en especfico sin posibilidad de generalizacin o aplicacin a otros problemas similares; por lo que es complicado dar una clasificacin completa. A continuacin se da a conocer una categora amplia de los mtodos heursticos ms conocidos:

a) Mtodos Constructivos:

Consisten en construir literalmente paso a paso una solucin del problema. Usualmente son mtodos deterministas y suelen estar basados en la mejor eleccin en cada iteracin. Estos mtodos han sido muy utilizados en problemas clsicos como el del viajante. Las heursticas de construccin son aquellas para las cuales se estudia su garanta de calidad. La mayora de las heursticas comunes (las que se nos ocurriran a nosotros), son heursticas de construccin.

Un representante de stos son los algoritmos greedy (golosos o devoradores). Dentro de este mtodo tambin existen los siguientes algoritmos: Vecino ms prximo, de insercin, rboles generadores y heursticos basados en ahorro.

b) Mtodos de Descomposicin:

El problema original se descompone en sub problemas ms sencillos de resolver, siendo el output del uno el input del otro, se debe tener en cuenta, aunque sea de manera general, que ambos pertenecen al mismo problema. De forma que al resolver los subproblemas obtengamos una solucin para el problema global, esto es conocido como el divide y vencers. Algunos autores diferencian entre mtodos de descomposicin (los subprogramas se resuelven en cascadas) y mtodos de particin (cuando los subprogramas son independientes entre s).

c) Mtodos inductivos:

La idea de estos mtodos es generalizar de versiones pequeas o ms sencillas al caso completo. Propiedades o tcnicas identificadas en estos casos ms fciles de analizar pueden ser aplicadas al problema completo.

d) Mtodos de Reduccin:

Consiste en identificar propiedades que se cumplen mayoritariamente por las buenas soluciones, es decir, se trata de identificar alguna caracterstica que presumiblemente deba poseer la solucin ptima e introducirlas como restricciones del problema. El objeto es restringir el espacio de soluciones simplificando el problema. El riesgo obvio es dejar fuera las soluciones ptimas del problema original. e) Manipulacin del modelo:

Se trata de simplificar el esquema terico para encontrar los valores de las variables de decisin con mayor facilidad, deduciendo, a partir de ella, la solucin del problema original. Como posibles estrategias se pueden ampliar o reducir el espacio de las opciones.

f) Mtodos de Bsqueda por entornos:

A diferencia de los mtodos anteriores, estos mtodos parten de una solucin factible inicial (obtenida quiz mediante otra heurstica) y, mediante alteraciones de esa solucin, van pasando de forma iterativa, y mientras no se cumpla el criterio de parada, a otras soluciones factibles de su entorno, almacenando la mejor de las alternativas visitadas.

A continuacin se describen las bsquedas por entornos ms usadas:

Bsqueda Aleatoria Pura: Generar aleatoriamente soluciones del problema hasta que se cumpla el criterio de parada. Devolver la mejor solucin encontrada.

Bsqueda Local: Dada una solucin inicial, determinar la mejor solucin vecina de sta. Si la nueva solucin es mejor que la inicial, continuar el proceso con ella. En caso contrario, finalizar la bsqueda. Devolver la mejor solucin encontrada.

Bsqueda Multiarranque: Aplicar bsquedas locales desde soluciones de inicio generadas aleatoriamente hasta que se cumpla el criterio de parada.

Bsqueda por entorno variable: Se parte de una solucin inicial y de un conjunto de entornos. Se aplica una bsqueda local con la estructura de entorno escogida hasta que se alcanza un ptimo local. Luego se genera aleatoriamente una solucin vecina del ptimo encontrado en la estructura. Se repite el proceso hasta alcanzar el nmero mximo de iteraciones en el conjunto de entornos.

Reglas de Parada

En cualquier procedimiento de bsqueda de soluciones para un problema dado, uno de los elementos ms importantes es el criterio de parada empleado. La regla de parada es responsable, en gran medida, del grado de eficiencia y eficacia del procedimiento de solucin. En ocasiones, el criterio de parada viene determinado por la bsqueda empleada.

Se obtienen criterios de parada ms eficaces al realizar un estudio del procedimiento, estudiar la funcin objetivo, estudiar la regin factible, analizar la evolucin de la bsqueda o evaluar las caractersticas de las soluciones obtenidas. g) Mtodos combinados:

Si bien todos los mtodos citados anteriormente han contribuido a ampliar nuestro conocimiento para la resolucin de problemas reales, los mtodos constructivos y los de bsqueda local constituyen la base de los procedimientos metaheursticos y son conocidos como mtodos combinados. Metaheursticas Las metaheursticas son estrategias inteligentes para disear o mejorar procedimientos heursticos generales con un alto rendimiento. El trmino fue introducido por Glover (1986) en el artculo que presenta las ideas bsicas de bsqueda tab. A partir de entonces, han surgido multitud de propuestas para disear buenos procedimientos para resolver ciertos problemas que, al ampliar su campo de aplicacin, han adoptado la denominacin de metaheursticas.

Segn Osman y Kelly nos dicen que:

Los procedimientos metaheursticos son una clase de mtodos aproximados que estn diseados para resolver problemas difciles de optimizacin combinatoria, en los que los heursticos clsicos no son efectivos. Los Metaheursticos proporcionan un marco general para crear nuevos algoritmos hbridos combinando diferentes conceptos derivados de los heursticos clsicos, la inteligencia artificial, la evolucin biolgica, sistemas neuronales y mecnica estadstica.

Mientras que para otros autores:

Una metaheurstica es un proceso iterativo que dirige y modifica las operaciones de otras heursticas subordinadas para producir soluciones de alta calidad. Puede manipular una solucin nica (completa o incompleta) o un conjunto de ellas en cada iteracin. El heurstico subordinado puede ser un procedimiento de alto (bajo) nivel, una simple bsqueda local o un mtodo de construccin.Las metaheuristicas se sitan por encima de las heursticas en el sentido que guan el diseo de stas. Por lo que al abordar un problema de optimizacin, se puede escoger cualquier metaheurstica para disear un algoritmo especfico que lo resuelva aproximadamente.Las metaheursticas han tenido un gran desarrollo y crecimiento desde sus comienzos hasta los ltimos aos. Ya que en el mundo real nos han permitido resolver una gran variedad de problemas teniendo mucho xito y en muchos de los casos siendo nica alternativa factible para encontrar una solucin de calidad en un tiempo razonable. En general, las metaheursticas se comportan como mtodos robustos y eficientes, por lo que hoy en da constituyen un rea importante de investigacin y aplicacin.

Dentro de la familia de las metaheursticas incluyen : procedimientos de memoria adaptativa; bsqueda tab; mtodos GRASP; recocido simulado; sistemas de hormigas; bsqueda por entornos variables; mtodos evolutivos entre los cuales se encuentran algoritmos genticos, estrategias evolutivas, bsqueda dispersa y algoritmos memticos; redes neuronales; mtodo de aceptacin por umbrales; y mtodos hbridos.

Fig2. Familia metaheurstica

Conclusiones

En este documento se da a conocer los mtodos heursticos ms conocidos, adems de las grandes ventajas frente a los mtodos exactos ya que son relativamente rpidos en sus tiempos de ejecucin y por ende se convierten en una gran alternativa cuando el tiempo para encontrar una solucin es la restriccin ms importante.

Las tcnicas heursticas son muy usadas ya que nos permiten resolver problemas complejos del mudo real, debido a que muchos problemas de decisin reales implican optimizar varios objetivos, como es el tiempo de clculo, precisin y la calidad del resultado.

Bibliografa:

[1] R. Z. R. M. &. J. L. Gonzales, ingenierias.uanl.mx, 2000. [En lnea]. Available: http://ingenierias.uanl.mx/9/pdf/9_Roger_Rios_et_al_Investigacion_de_oper.pdf. [ltimo acceso: 15 01 2015].

[2] I. I. y. P. L. Abdelmalik Moujahid, www.sc.ehu.es, 2003. [En lnea]. Available: http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t1s.pdf. [ltimo acceso: 10 01 2015].

[3] J. E. C. R. J. C. a. J. M. M. V. Jesus David Beltran, www.raycojorge.info, [En lnea]. Available: http://www.raycojorge.info/wp-content/uploads/2011/11/caepia03.pdf. [ltimo acceso: 10 01 2015].

[4] D. M. J. a. D. M. A. Mara Alejandra Quintero M., Mtodos heursticos para la, de Doctorado en Ciencias Aplicadas, Mrida, noviembre 2009.

4