Вы находитесь на странице: 1из 8

Ingeniera industrial

Una aproximacin a
la heuristica y metaheuristicas
Algo peor que no tener informacin disponible es tener mucha
informacin y no saber qu hacer con ella Annimo
Orlando de Antonio Surez*

Resumen
Cuando abordamos problemas cuyo espacio de posibles soluciones se nos facilita conocer, nuestra bsqueda se reduce a hallar un ptimo (un mximo o un
mnimo) que de una solucin al problema dadas unas restricciones. Sin embargo
existen problemas de optimizacin combinatoria complejos en diversos campos
como la economa, el comercio, la ingeniera, re-ingeniera de software, comunicaciones, la industria o la medicina, que a menudo son muy difciles de resolver
en la prctica y cuyo modelamiento matemtico Formulado coherentemente1,
no permite una solucin con las herramientas analticas al alcance. Por eso evaluando la complejidad actual generada en las instituciones y el mundo empresarial, as como la diversidad de fases en que se desarrolla el proceso de cambio
institucional, se hace necesario el desarrollo y uso de mtodos que permitan
el manejo de situaciones problmicas desde el conjunto de sus partes y desde
distintos puntos de vista. Debido a ese bajo rendimiento de los algoritmos exactos para muchos problemas, se han desarrollado un gran nmero de algoritmos
aproximados, que proporcionan soluciones de alta calidad para estos problemas
combinatorios (aunque no necesariamente la ptima) en un tiempo computacional breve; estos algoritmos incluyen las denominadas tcnicas heursticas y
Metaheursticas.
Palabras clave: Heursticas, Problemas Duros, Algoritmos, mejores soluciones,
procedimientos especiales.

Abstract
When we are discussing problems which have an easy space of possible solutions
to know, our search is reduced to find an optimal (A high point or a mnimum
point ) which gives a solution to the problem once some restrictions were given.
However there are complex problems of combinatorial optimization at various
fields like economy, the commerce, the engineering, re-engineering of software,
communications, the industry or the medicine, the fact that often they are very
difficult from resolving in practice and whose mathematical modeling Formulated coherently it does not allows a solution with the analytical tools near by the
hands.
Recibido: noviembre 3 de 2010
Aceptado: abril 18 de 2011
*
Ing Industrial con Maestria en Ing. Industrial de la Univ Distrital. Docente Facultad de
Ingeniera Industrial Universidad Antonio Nario. odeantonio@uan.edu.co

44

Universidad Antonio Nario

Because of that testing the actual complexity generated in the institutions and business world,
as the diversity in the phases in which de process of institutional change develops, it becomes
necessary the development and use of methods that allow the management of problematic
situations from the set of its parts and also from different point of views.
Because of that low performance of the exact algorithms for many problems, there has been developed multiple types of approximated algorithms, that provides high quality solutions for this
combinatorial problems (though not necessarily the optimal) in a short computational time,
these algorithms include the denominated heuristics techniques and metaheuristics.
Keywords: Heuristics, Hard Problems, algorithms, best solutions, special procedures.

Que son Heursticas


Heurstica es un concepto que viene desde la
Grecia clsica, originado de la palabra griega
heuriskein cuyo significado es encontrar o descubrir; segn la historia se deriva de eureka, famosa
exclamacin atribuida a Arqumedes.
Como se aprecia, etimolgicamente la heurstica se orienta al estudio del descubrimiento y la
invencin, (debidos a la reflexin y no al azar).
En consecuencia, todos los factores y elementos
no racionales que puedan jugar un papel en la
invencin y el descubrimiento deben quedar por
fuera de la heurstica. De esta forma podemos
relacionar la heurstica con la tarea de resolver
problemas inteligentemente utilizando la informacin disponible.
Aplicado el trmino heurstica en la Investigacin Operacional, este toma un significado ms
exigente, para ilustrar lo anterior se presenta las
siguiente definicin: Se califica de heurstico
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
situacin. Se usa el calificativo heurstico en contraposicin a exacto2.
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
teora de la complejidad tienen que ver con los

problemas de la clase NP de decisin, y corresponden a problemas a los cuales no podemos


garantizar encontrar una mejor solucin en un
tiempo polinmico razonable.
Es aqu donde los mtodos heursticos se convierten en procedimientos eficientes para encontrar buenas soluciones aunque no se pueda
comprobar que sean ptimas. En estos mtodos,
la rapidez del proceso (que siempre es menor que
el tiempo de una solucin por otros mtodos) es
tan importante como la calidad de la solucin
obtenida, Por tanto podemos usar mtodos heursticos cuando en un problema de optimizacin,
determinstico o no, se encuentren algunas de las
siguientes caractersticas:3
a. El problema es de una naturaleza tal que no
se conoce ningn mtodo exacto para su resolucin.

Vol. 1 No. 1 enero - junio de 2011

45

b. Aunque exista un mtodo exacto para resolver el problema, su uso es computacionalmente muy costoso o inviable.
c. El mtodo heurstico es ms flexible que un
mtodo exacto, permitiendo, por ejemplo, la
incorporacin de condiciones de dif cil modelizacin.
d. El modelo matemtico es demasiado grande,
demasiado NO lineal o demasiado complejo
desde el punto de vista lgico.
e. El asumir suposiciones o aproximaciones
para simplificar el problema, tiende a destruir
estructuras del modelo que son vitales en el
contexto del mundo real, haciendo la solucin no viable.
f. El mtodo heurstico se utiliza como parte
de un procedimiento global que garantiza el
ptimo de un problema. Existiendo dos posibilidades:
El mtodo heurstico proporciona una buena solucin inicial de partida.
El mtodo heurstico participa en un paso
intermedio del procedimiento, como ejemplo de esto est las reglas de seleccin de
la variable a entrar en la base en el mtodo
Simplex.

Un caso particular de los mtodos heursticos


es el anlisis 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 mnimo), el
cual, si se hace para un numero reducido de
ciudades a visitar resulta manejable, pero cuando este numero de ciudades se incrementa el
espacio de bsqueda de soluciones se hace de
muy dif cil manejo.

Clasificacin de los mtodos heursticos


Se han desarrollado muchos mtodos heursticos
de naturaleza muy diferente, en su gran mayora
diseados para problemas especficos sin posibilidad de generalizacin o aplicacin a otros problemas similares, por lo que es complicado hacer
una clasificacin adecuada, adems por que da
tras da, siguen apareciendo nuevos problemas,
lo que ha dado lugar a que se presenten muchas
propuestas de algoritmos para tratar de solucionarlos. Se presenta a continuacin algunas categoras en forma amplia y no excluyente, donde
se clasifican algunos de los mtodos heursticos
mas conocidos:
Mtodos de Descomposicin: El problema
original se descompone en sub-problemas mas
sencillos de resolver, teniendo en cuenta aunque
sea de manera general que todo pertenece al
mismo problema. Un ejemplo es la utilizacin
del principio de descomposicin o separacin
de variables complicantes, o descomposicin
lagrangiana.
Mtodos Inductivos: La idea de estos mtodos
es generalizar las propiedades o tcnicas identificadas en estos casos, ms fciles de analizar que
se pueden aplicar al problema completo.
Mtodos de Reduccin: 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 soluciones
ptimas del problema original.

46

Universidad Antonio Nario

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 agente viajero.
Mtodos de Bsqueda Local: A diferencia de
los mtodos anteriores, los procedimientos de
bsqueda o mejora local comienzan con una
solucin del problema y la mejoran progresivamente. El procedimiento realiza en cada paso
un movimiento de una solucin a otra con mejor valor. El mtodo finaliza cuando, para una
solucin, no existe ninguna solucin accesible
que la mejore. Un ejemplo clsico es el algoritmo
de Ramificacin y Poda (branch and bound) en
programacin dinmica.
Una importante ventaja que presentan las heursticas respecto a las tcnicas que buscan soluciones exactas es que, por lo general permiten
una mayor flexibilidad y robustez para el manejo
de las caractersticas del problema, por ello en
la aplicacin de mtodos heursticos nos enfocamos en los dos objetivos antes mencionados: En
generar una buena solucin inicial a un problema
complejo, y Dada una solucin inicial, el mtodo
heurstico participa en un paso intermedio del
procedimiento para tratar de mejorarla.
Cuando se resuelve un problema por mtodos
heursticos, como la optimalidad no est garantizada se debe de medir la calidad de los resultados, evaluando la eficiencia del algoritmo para
poder determinar su vala frente a otros. Para tal
fin un buen algoritmo heurstico debe de tener
las siguientes propiedades:
a. Ser eficiente. Que el esfuerzo computacional
sea realista y adecuado para obtener la solucin.
b. Ser bueno. La solucin debe de estar, en promedio, cerca del ptimo.
c. Ser robusto. La probabilidad de obtener una
mala solucin (lejos del ptimo) debe ser baja.
La calidad del heurstico se puede medir a travs
de diversos procedimientos, entre los que podemos contar los siguientes:

a. Comparacin con la solucin ptima.


Aunque normalmente se recurre al algoritmo
aproximado por no existir un mtodo exacto
para obtener el ptimo, o por ser ste computacionalmente muy costoso, en ocasiones
puede que dispongamos de un procedimiento
que proporcione el ptimo para un conjunto
limitado de ejemplos (usualmente de tamao
reducido). Este conjunto de ejemplos puede
servir para medir la calidad del mtodo heurstico.
Normalmente se mide, para cada uno de los
ejemplos, la desviacin porcentual de la solucin heurstica frente a la ptima, calculando
posteriormente el promedio de dichas desviaciones. Si llamamos (ch) al coste de la solucin
del algoritmo heurstico y (copt) al coste de la
solucin ptima de un ejemplo dado, en un
problema de minimizacin la desviacin porcentual viene dada por la expresin:
Ch

copt
copt

100

b. Comparacin con una cota. En ocasiones


el ptimo del problema no est disponible ni
siquiera para un conjunto limitado de ejemplos. Un mtodo alternativo de evaluacin
consiste en comparar el valor de la solucin

Vol. 1 No. 1 enero - junio de 2011

47

para el caso de minimizar). De esta forma se


garantiza que el valor de la mejor solucin
proporcionada por el procedimiento no dista
mas de () del valor ptimo del problema. En
cualquier caso, la mejor solucin encontrada
con estos procedimientos truncados proporciona una cota con la que contrastar el heurstico.
d. Comparacin con otros heursticos. Este es
uno de los mtodos ms empleados en problemas dif ciles (NP-duros) sobre los que se
ha trabajado durante tiempo y para los que se
conocen algunos buenos heursticos. Al igual
que ocurre con la comparacin con las cotas,
la conclusin de dicha comparacin est en
funcin de la bondad del heurstico escogido.

que proporciona el heurstico con una cota


del problema (inferior si es un problema de
minimizacin y superior si es de maximizacin).
Obviamente la bondad de esta medida depender de la bondad de la cota (cercana de
sta al ptimo), por lo que de alguna manera,
tendremos que tener informacin de lo buena
que es dicha cota. En caso contrario la comparacin propuesta no tiene demasiado inters.
c. Comparacin con un mtodo exacto truncado. Un mtodo enumerativo como el de
Ramificacin y Acotacin explora una gran
cantidad de soluciones, aunque sea nicamente una fraccin del total, por lo que los
problemas de grandes dimensiones pueden
resultar computacionalmente inabordables
con estos mtodos. Sin embargo, podemos
establecer un lmite de iteraciones (o de tiempo) mximo de ejecucin para el algoritmo
exacto. Tambin podemos saturar un nodo en
un problema de maximizacin cuando su cota
inferior sea menor o igual que la cota superior
global ms un cierto valor (), (anlogamente

48

Universidad Antonio Nario

e. Anlisis del peor caso. Uno de los mtodos que durante un tiempo tuvo bastante
aceptacin es analizar el comportamiento en
el peor caso del algoritmo heurstico; esto
es, considerar los ejemplos que sean mas
desfavorables para el algoritmo y acotar analticamente la mxima desviacin respecto
del ptimo del problema. Lo mejor de este
mtodo es que acota el resultado del algoritmo para cualquier ejemplo; sin embargo,
por esto mismo, los resultados no suelen ser
representativos del comportamiento medio
del algoritmo. Adems, el anlisis puede ser
muy complicado para los heursticos ms
sofisticados. Aquellos algoritmos que, para
cualquier ejemplo, producen soluciones cuyo
coste no se aleja de un porcentaje b del coste
de la solucin ptima, se llaman Algoritmos
-Aproximados.
Dentro de los aspectos crticos del diseo de
algoritmos esta la eleccin de la estructura; es
decir, el modo en el que se va a definir el problema y sus restricciones, pues de ello depender en
gran medida el xito del heurstico.

Qu son metaheursticas
En la bsqueda de mejores soluciones y de mayor
calidad, la investigacin en este campo en los ltimos veinticinco aos, ha centrado su atencin
en el diseo de tcnicas de propsito general

para orientar la construccin de soluciones en


las distintas heursticas. Estas tcnicas se llaman
comnmente metaheursticas y son estrategias
para disear y/o mejorar los procedimientos
heursticos orientados a obtener un alto rendimiento.

Precisa. Los pasos y fases de la metaheurstica


deben estar formulados en trminos concretos.

El trmino metaheurstica fue introducido por


Fred Glover en 1986 y desde entonces se han
presentado muchas propuestas de pautas para
disear mejores procedimientos de solucin
a problemas combinatorios. Los profesores
Osman y Kelly (1995) introdujeron la siguiente
definicin4: Los procedimientos Metaheursticos son una clase de mtodos aproximados
que estn diseados para resolver problemas de
dif cil optimizacin combinatoria, en los que los
heursticos clsicos no son efectivos.

Eficaz. La probabilidad de alcanzar soluciones


ptimas de casos realistas con la metaheurstica debe ser alta.

Los Metaheursticos proporcionan un marco


general para crear nuevos algoritmos hbridos,
combinando diferentes conceptos de diversos
campos como la gentica, la biologa, la inteligencia artificial, las matemticas, la f sica y la
neurologa, entre otras. Como en general, existe
previamente algn mtodo heurstico especfico
para el problema, la metaheurstica puede verse
como un marco de trabajo referido a algoritmos
que puede aplicarse a diversos problemas de
optimizacin (combinatoria) con pocos cambios
significativos. De hecho, las metaheursticas son
ampliamente reconocidas como una de las mejores aproximaciones para atacar los problemas de
optimizacin combinatoria.

Coherente. Los elementos de la metaheurstica deben deducirse naturalmente de sus


principios.

Eficiente. La metaheurstica debe realizar un


buen aprovechamiento de recursos computacionales: tiempo de ejecucin y espacio de
memoria.
General. La metaheurstica debe ser utilizable
con buen rendimiento en una amplia variedad
de problemas.
Adaptable. La metaheurstica debe ser capaz de adaptarse a diferentes contextos de
aplicacin o modificaciones importantes del
modelo.
Robusta. El comportamiento de la metaheurstica debe ser poco sensible a pequeas alteraciones del modelo o contexto de aplicacin.
Interactiva. La metaheurstica debe permitir
que el usuario pueda aplicar sus conocimientos para mejorar el rendimiento del procedimiento.
Mltiple. La metaheurstica debe suministrar
diferentes soluciones alternativas de alta calidad entre las que el usuario pueda elegir.

Evaluacin del rendimiento de los mtodo


Metaheursticos5
Las propiedades deseables que buscamos son
todas aquellas que favorezcan el inters prctico
y terico de las metaheursticas, sin embargo no
ser posible mejorar todas las propiedades a la
vez, dado que algunas son parcialmente contrapuestas. Una relacin de tales propiedades debe
incluir las siguientes 11:
Simple. La metaheurstica debe estar basada
en un principio sencillo y claro; fcil de comprender.

Vol. 1 No. 1 enero - junio de 2011

49

Autnoma. La metaheurstica debe permitir


un funcionamiento autnomo, libre de parmetros o que se puedan establecer automticamente.
La evaluacin del rendimiento de una metaheurstica debe atender tanto a la eficiencia como
a la eficacia de los procedimientos heursticos
obtenidos. Para validar la eficacia de una metaheurstica, stas deben afrontar con xito
problemas de un banco de casos para los que
se conozcan las soluciones. Si no se dispone
de estos casos, se deben construir recurriendo
a procesos de simulacin que se aproximen a
tales circunstancias. La eficiencia del mtodo
se contrasta experimentalmente en el empleo
de un tiempo computacional moderado (o al
menos razonable) para alcanzar xito en los
problemas considerados.

Algunos Mtodos Metaheursticos


Dado que las metaheursticas son estrategias
para disear y/o mejorar los procedimientos
heursticos, el tipo de metaheurstica estar en
funcin de qu tipo de heurstica se pretende
mejorar; sin embargo se pueden clasificar en6:
Metaheursticas Inspiradas en la f sica: Recocido Simulado (Simulated Annealing). - Esta
tcnica se considera como un algoritmo de
bsqueda. Esta inspirado en el proceso de calentamiento y posterior enfriamiento de un metal,
para obtener estados de baja energa en un slido.
Metaheursticas Inspiradas en la evolucin:
Son mtodos que van construyendo un conjunto
de soluciones a diferencia de los otros mtodos
que slo pasan de una solucin a otra en cada
iteracin. El procedimiento consiste en generar,
seleccionar, combinar y reemplazar un conjunto
de soluciones en la bsqueda de la mejor solucin7. Un ejemplo de metaheurstica evolutiva son
los Algoritmos Genticos; el investigador de la
Universidad de Michigan John Holland a fines
de los 60s desarroll esta tcnica que permiti
incorporarla a un programa, y su objetivo era
lograr que las computadoras aprendieran por
s mismas. A la tcnica que invent Holland se
le llam originalmente planes reproductivos,

50

Universidad Antonio Nario

pero se hizo popular bajo el nombre algoritmo


gentico tras la publicacin de su libro en 1975.
Esta tcnica se basa en los mecanismos de seleccin que utiliza la naturaleza, de acuerdo a
los cuales los individuos ms aptos de una poblacin son los que sobreviven, al adaptarse ms
fcilmente a los cambios que se producen en su
entorno. Hoy en da se sabe que estos cambios
se efectan en los genes de un individuo (unidad bsica de codificacin de cada uno de los
atributos de un ser vivo), y que sus atributos
ms deseables (por ejemplo, los que le permiten
adaptarse mejor a su entorno) se transmiten
a sus descendientes cuando ste se reproduce
sexualmente.
Metaheursticas Inspiradas en la biologa:
Una metaheurstica bio-inspirada relativamente
reciente es la Optimizacin basada en Colonias
de Hormigas (OCH) (Ant Colony Optimization,
ACO en ingls), Metaheurstica 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 qumica denominada feromona, la
repeticin de recorridos por los individuos establece el camino ms adecuado entre su nido y su
fuente de alimentos.

El mtodo consiste en simular computacionalmente la comunicacin indirecta que utilizan las


hormigas para establecer el camino ms corto,
guardando la informacin aprendida en una matriz de feromonas.

Referencias
1

Se considera que un problema est coherentemente formulado cuando se han definido


las posibles entradas, la forma de la solucin
y lo que se quiere lograr (la funcin objetivo),
aunque no haya un mtodo de solucin evidente.

Melin, Beln. Prez, Jos A. et al. Metaheursticas: una visin global. Inteligencia Artificial, Revista Iberoamericana de Inteligencia
Artificial. N.19 pp. 7-28 ISSN: 1137-3601.
AEPIA(2003). http://www.aepia.org/revista.

MART, RAFAEL. Procedimientos Metaheursticos en Optimizacin Combinatoria.


http://www.uv.es/~rmarti/

Osman, I.H. and Kelly, J.P. (eds.). MetaHeuristics: Theory and Applications, Boston
USA Ed. Kluwer Academic, (1996).

Melin, Beln. Prez, Jos A. et al. Metaheursticas: una visin global. Inteligencia
Artificial, Revista Iberoamericana de Inteligencia Artificial. N.19 pp. 7-28 ISSN: 11373601. AEPIA(2003). http://www.aepia.
org/revista.

Melin, Beln. Prez, Jos A. et al. Metaheursticas: una visin global. Inteligencia Artificial, Revista Iberoamericana de Inteligencia
Artificial. N.19 pp. 7-28 ISSN: 1137-3601.
AEPIA(2003). http://www.aepia.org/revista.

Daz, A., Glover, F., Ghaziri, H.M., et al,


Optimizacin Heurstica y Redes Neuronales. Madrid, Paraninfo, (1996).

Conclusiones
Los problemas del mundo real son de gran
complejidad, por lo que no pueden ser resueltos por mtodos analticos, es aqu donde el
uso de mtodos heursticos y mtodos heursticos para obtener soluciones aproximadas
facilita el encontrar mejores soluciones de
dichos problemas, dada su flexibilidad tanto
en recursos como en aplicabilidad.
Usadas como herramienta de anlisis las heursticas requerirn de una buena capacidad
de cmputo, sin embargo este requisito se
ve compensado por el cubrimiento del tema,
convirtindose al final en un ahorro significativo.
Para el manejo y uso de modelos heursticos
y Metaheursticos existe en el mercado software especializado con un muy buen poder de
anlisis.
Las soluciones heursticas y metaheursticas
son interactivas, facilitando al usuario el aportar conocimientos al modelo.

Vol. 1 No. 1 enero - junio de 2011

51

Вам также может понравиться