Un modelo basado en algoritmos genéticos para planificación

Anuncio
Un modelo basado en algoritmos genéticos para planificación forestal y optimización de cortas
Victor Olaya Ferrero
Universidad de Extremadura
Centro Universitario de Plasencia
Escuela Tecnica de Ingenieria Forestal.
Avda Virgen Del Puerto s/n
10600, Plasencia, Caceres
[email protected]
Fernando Magdaleno Mas
Centro de Estudios de Técnicas Aplicadas
Área de Ingeniería Ambiental
CEDEX (Ministerio de Fomento)
c/ Alfonso XII, 3-5
28014 Madrid
Resumen
La estructuración de las labores relativas a ordenación de montes y planificación forestal se
vienen llevando a cabo en nuestro país bien mediante las técnicas propias de la investigación
operativa (programación lineal, etc.) o bien mediante otros planteamientos en general menos
complejos. La introducción de elementos pertenecientes al campo en desarrollo de la Inteligencia
Artificial, en particular en este caso los denominados Algoritmos Genéticos, pueden constituir una
nueva vía para la realización de las antedichas tareas de planificación. Estableciendo un paralelismo
entre éstas tareas y algunos problemas clásicos de índole no forestal resolubles ventajosamente
mediante el empleo de Programación Genética, el presente artículo presenta un caso posible del
empleo de dichas herramientas y planteamientos dentro del campo de la Ingeniería Forestal en
general, y la Ordenación de Montes en particular, ofreciendo nuevas perspectivas e incorporando
conceptos emergentes en la gestión de los recursos forestales.
Palabras clave: Planificación forestal, Inteligencia Artificial, Ordenación de Montes, Programación.
Introducción
El problema tradicional al que se enfrenta el gestor forestal en su tarea de ordenación de
montes es, en líneas generales y para la exposición los propósitos del presente artículo, el que se
refiere a la organización de un calendario de cortas y una estructuración y vertebración de un plan de
organización de las mismas, definiendo las características de éstas (Balt, 1999). El orden de dichas
cortas a lo largo de los distintos tranzones o el periodo comprendido entre ellas, junto con las
características propias de cada tranzón (superficie, existencias...), provocan diferencias en las
principales variables de interés para el gestor forestal según sea el plan de cortas especificado. La
maximización de algunas de esas variables, tales como las relacionadas con aspectos económicos de
la gestión forestal (VAN, etc.), puede llevarse a cabo mediante el empleo de técnicas de programación
lineal, tal y como se viene haciendo en nuestro país recientemente, y desde algunos a'nos atrás en otra
serie de países, presentándose en este artículo una nueva técnica para abordar el mismo problema
anterior, desde un punto de vista quizás más flexible, que con el tiempo tal vez permita una
optimización más completa de gran parte de las funcionalidades de los montes.
Algoritmos Genéticos. Conceptos Básicos.
Incluidos dentro de la Programación Genética, a su vez parte de las técnicas englobadas dentro
de la Inteligencia Artificial, los Algoritmos Genéticos representan una herramienta matemática bien
estudiada en la actualidad, cuya flexibilidad y potencia ha sido aplicada en numerosos campos, entre
ellos con particular énfasis en problemas de optimización combinatoria como el que aquí
tratamos. El origen de los mismos es reciente, siendo un concepto ideado en 1975 por John Holland, y
rápidamente potenciado por otros investigadores, pese a lo cual la madurez de la técnica es notable en
la actualidad.
En contraste con concepciones clásicas en la resolución de problemas y ecuaciones habituales,
en las que frecuentemente se obtiene la solución a los mismos de un modo único, los algoritmos
genéticos dotan de vida a las soluciones de modo que estas se constituyen como entes dinámicos que
paulatinamente van aproximándose hacia el optimo buscado. Expresándolo de una forma inicial
sencilla y fácilmente comprensible, podemos decir que los conceptos clásicos y por todos conocidos
de tanteos y aproximaciones sucesivas, son llevados un paso mas allá con la introducción del
planteamiento que reside tras la técnica de los algoritmos genéticos, en las que la evolución de dichas
aproximaciones se realiza de un modo activo basado en el comportamiento de las poblaciones
naturales.
En términos mas precisos, y tras esta sencilla introducción, pueden definirse los algoritmos
genéticos como un algoritmo de búsqueda basado en la mecánica de la selección natural y de la
genética natural. Combina la supervivencia del más apto entre estructuras de secuencias con un
intercambio de información estructurado, aunque aleatorizado, para constituir así un algoritmo de
búsqueda que tenga algo de las genialidades de las búsquedas humanas (Gol, 1989)
Las soluciones son, pues, elementos de naturaleza viva codificados de tal forma que puedan
asimilarse a patrones genéticos, los cuales pueden sufrir las mismas transformaciones y procesos que
el genoma de un ser vivo con el transcurso del tiempo, mecanismo que define por si mismo la
evolucion de la naturaleza.
Para la obtención del resultado, a partir de un conjunto soluciones arbitrarias (población), y
por supervivencia de las soluciones mejor adaptadas (las mas cercanas al optimo buscado), las cuales
se reproducen y mutan en cada generación, se obtienen a lo largo de sucesivas generaciones una
población de individuos óptimos (la solución buscada).
La evolución de la población hacia el óptimo viene impulsada por 3 mecanismos básicos (Gol,
1989)
•
•
•
Selección. En cada población tienen una probabilidad mayor de supervivencia aquellos
individuos mejor adaptados, en este caso aquellas soluciones que presenten una mejor valor de
la función a optimizar.
Cruce. La creación de nuevas soluciones que ocupen el lugar de las no supervivientes se lleva
a cabo a partir de la combinación de los cromosomas que representan las soluciones que han
sobrevivido, generándose así soluciones que mantienen la bondad de sus progenitores y
contribuyendo a la evolución de la población.
Mutación. Sobre los individuos generados (y según algunos autores también sobre los
progenitores), se introducen mutaciones aleatorias. Esto da lugar a individuos que pueden
alejarse de la línea dominante, pudiendo explorar nuevas áreas que quizás lleven a una mejor
solución o a la misma por una vía más rápida.
El control de la evolución de la población se regula a través de parámetros tales como la tasa
de mutación o el numero de individuos supervivientes, tratando de obtenerse valores que den lugar a
una mejor convergencia de las poblaciones hacia el óptimo.
Esta metodología no asegura la consecución de la mejor solución posible, pero al cabo de una
serie de generaciones suficiente, se puede garantizar la obtención de una solución correcta,
habitualmente la optima buscada.
El problema del viajante.
El problema del viajante (Travelling Salesman Problem en ingles, TSP de aquí en adelante),
tratado originalmente en el sigo XIX por Sir William Rowan Hamilton y Thomas Penyngton
Kirkman, representa una de las formulaciones clave más trabajadas históricamente en términos de
optimización, siendo su enunciado como sigue:
Sean un numero n de ciudades de las cuales se conoce la distancia entre cada dos de ellas
arbitrariamente. Determinar la ruta optima para recorrer las n ciudades efectuando un recorrido
mínimo.
La aparente sencillez del enunciado contrasta con la dificultad enorme de su resolución para
números de nodos no muy elevados, donde el problema pronto llega a ser intratable por métodos de
fuerza bruta, esto es, por el estudio de todas las soluciones posibles y la elección de la optima.
En términos que facilitarán una comprensión más inmediata de lo anterior, y prescindiendo de
la teoría matemática que reside tras este tipo de problemas, basta para definir la dificultad de
resolución de dichos problemas que bajo las condiciones del enunciado anterior, la resolución del
problema del viajante para únicamente 18 ciudades requeriría con las capacidades de proceso actuales
medias de un ordenador personal, un tiempo de más de un año de cálculo. Se necesitarían varios
siglos si el número de nodos pasa a ser de 24.
La historia reciente de la resolución de este problema comienza en 1954, con los trabajos para
un planteamiento con 49 ciudades por parte de Dantzig, Fulkerson y Johnson (Dan, 1954),
evolucionando posteriormente a mayores dimensiones en a'nos sucesivos y hasta nuestros días.
Curiosamente (o no tanto...), es este mismo Dantzig el desarrollador del hoy bien conocido método
del Simplex en programación lineal, usado en ordenación de montes con creciente frecuencia en los
últimos años, método en el que él mismo baso la antedicha solución original del TSP.
En la actualidad, y empleando muy diversos planteamientos, es factible la resolución del TSP
para problemas con varios miles de ciudades, planteamientos, sin embargo, que escapan al interés del
presente articulo pues, como se vera a continuación, no pueden hacerse corresponder con los
problemas de planificación forestal que pretenden resolverse con alguna de las antedichas técnicas.
De entre las metodologías aplicables a la resolución del TSP, entre las cuales se encuentra en
lugar muy destacado la propia programación lineal, los algoritmos genéticos juegan un papel
importante, pues son especialmente óptimos para la resolución de problemas de este tipo en los que
una solución por fuerza bruta se antoja completamente inviable. Los planteamientos de algoritmos
genéticos para la resolución del TSP son comunes y muy extendidos, con lo que se dispone de una
buena base teórica y un abundante material para su empleo en otros problemas que puedan asemejarse
en su concepto básico, como a continuación se tratará de plantear para el caso de la optimización de
cortas.
Adaptación a la gestión forestal.
Partiendo de la base anterior, se pueden establecer algunas similitudes entre el problema del
viajante y determinados problemas en gestión forestal, tales como la planificación de las cortas y la
maximización de los beneficios obtenidos de las mismas (o minimización de perdidas o efectos
negativos), acometidos éstos en general a partir de los conceptos propios de la investigación
operativa, en especial de la programación lineal y sus derivadas, como ya se ha comentado con
anterioridad.
Para comenzar, plantéese de modo muy sencillo el siguiente enunciado:
Sean un numero n de tranzones (o unidades de corta cualesquiera), cuyos beneficios (o perdidas) son
conocidos para cada año a en que pudiera efectuarse su corta o intervención. Calcular un recorrido
a través de los n tranzones maximizando (o minimizando) dichos beneficios (o perdidas).}
En apariencia el problema se asemeja notablemente al planteamiento introducido
anteriormente para el TSP, en cuanto que el valor asociado a la función que se pretende maximizar o
minimizar depende del recorrido realizado hasta ese punto y no es una característica fija de cada
unidad de corta, del mismo modo que la distancia a un ciudad depende de la ciudad anterior desde la
que se llegue. En efecto, el recorrido efectuado por los tranzones anteriores supone el transcurso de
unos periodos de tiempo a lo largo de los cuales el volumen de dicho tranzón varía, del mismo modo
que lo hace la edad del mismo, entre otros muchos factores. Ello puede suponer, considerando
únicamente estos dos factores por el momento, algunos hechos positivos como el aumento del
volumen maderable en la unidad de corta, o bien negativos como el envejecimiento excesivo o
defectivo de los mismos y la necesidad de realización de sacrificios de cortabilidad.
En otras palabras, se establece una similitud entre los tranzones y las ciudades, así como entre
el recorrido realizado por el gestor en la corta de las unidades y el del viajante en su visita a las
distintas ciudades; similitud que puede materializarse de igual modo sobre los planteamientos
encaminados a la solución del problema y la optimización de la función objetivo, a la par que permite
la reutilización en muy gran medida de aplicaciones y códigos desarrollados previamente para
abordar el problema del TSP desde la perspectiva de los algoritmos genéticos aquí presentada.
La intratabilidad del problema en planificación forestal por métodos comunes, se deduce rápidamente
del numero de nodos máximos de la red en ese caso, el cual, como se vio anteriormente, es muy
reducido debido al aumento exponencial de la complejidad del problema, suficientemente reducido
como para que el numero de unidades que se encuentran habitualmente en la planificación de un área
de gestión sea superior a dicho límite.
Sea θ la función a optimizar (de aquí en adelante, supóngase por comodidad que dicha
función debe ser maximizada, es decir, que representa una variable beneficiosa), tal que
θ = f (i1 , i2 , i3 ,..., in ) i ∈ N
donde i x es cada uno de los factores que se incluyen dentro de la función objetivo.
Si n=1, se tiene, obviamente, un problema de optimización monocriterio. Así, estableciendo
como función el VAN asociado a la corta de cada unidad en su a'no correspondiente, se puede
programar la optimización de dicho VAN, planteamiento muy frecuente en el empleo de
programación lineal dentro del ámbito de la gestión forestal.
No obstante, la introducción de nuevos parámetros en la función no presenta aparentemente
una dificultad mucho mayor, siendo así, en efecto, que puede aprovecharse notablemente el
planteamiento hasta ahora introducido para el desarrollo de optimizaciones multicriterio más
complejas y con un mayor numero de factores implicados.
La forma de la función θ no presenta ninguna restricción, pudiendo introducirse en ella
cuantos parámetros se deseen, reunidos bajo una única expresión que represente la bondad de una
determinada solución. Ello permite, como se infiere rápidamente, la reunión de magnitudes no
homogéneas en términos de unidades bajo la función, a cada una de las cuales le es imputada un peso
o una importancia de acuerdo a su expresión dentro de la función objetivo, pudiendo combinarse
parámetros de distinta naturaleza en una optimización, por ejemplo, de tipo económico que considere
otra serie de variables no relacionadas con aspectos económicos, e incluso variables de tipo
intangible.
Como ejemplo de lo anterior supóngase una optimización del VAN en la que, por motivos
estéticos relacionados con la conservación del paisaje, se intenta evitar la corta de tranzones
colindantes en años consecutivos o cercanos. Definiendo un parámetro i como el numero de tranzones
circundantes cortados en los últimos n años, e imputando un valor a ese parámetro dentro de la
función que lo equipare con el otro termino de la misma (el VAN) para su evaluación conjunta, se
puede definir una función objetivo compuesta, cuya optimización es resoluble en los mismos
términos que en el caso exclusivo del VAN enunciado algunas líneas atrás.
Obviamente, la equiparación de valores heterogéneos y la conjunción de estos en una sola
función es una tarea complicada y altamente cargada de subjetividad, escollo que sin duda puede
hacer de los planteamientos anteriores una mera herramienta teórica cuya aplicabilidad en el caso de
muchos parámetros considerados puede ser prácticamente nula. A pesar de lo anterior, y partiendo de
dichas ideas, se puede derivar una posibilidad de aplicación real y sencilla basada en forzar la
selección de soluciones de acuerdo a algunos parámetros, como se explica a continuación.
Considérese el ejemplo anterior de optimización del VAN y la consideración de evitar la corta
de zonas contiguas. Si bien resulta difícil la optimización conjunta de ambas variables (VAN y
distanciamiento espacial de cortas), sí puede atacarse el problema desde una perspectiva más sencilla
en términos de su resolución matemática, a la par que más lógica desde el punto de vista teórico y
desde la perspectiva habitual del gestor forestal: maximizar el VAN pero siempre evitando o
minimizando los da'nos medioambientales producidos (materializados en este caso como degradación
del paisaje). En este caso, y ya teniendo en consideración el hecho de que la solución al problema se
va a obtener mediante algoritmos genéticos, pueden codificarse valores de algunos parámetros que,
sin entrar a formar parte de la función objetivo, puedan mermar la capacidad de supervivencia de las
soluciones que contengan dichos valores no deseados del parámetros (independientemente del valor
de la función objetivo), eventualmente forzando la muerte de dichas soluciones. En términos del
propio algoritmo genético y su naturaleza, pueden considerarse estas situaciones desfavorables desde
un cierto punto de vista como enfermedades de las soluciones que impiden su evolución aunque éstas
se encuentren bien adaptadas en otro sentido.
Así, pueden evitarse situaciones en las que quizás el VAN se maximiza notablemente, pero
suponen una afección notable al medio. Ello permite una mejor conjunción de las distintas realidades
presentes en el monte, en mayor medida que con la aplicación de métodos de programación lineal,
más centrados en la naturaleza económica del problema y con las restricciones de la linealidad del
planteamiento, o las concepciones no optimizadoras, basadas mayormente en la propia selvicultura
del monte.
El planteamiento anterior, sin duda, implica una larga serie de posibilidades, tantas,
prácticamente, como funciones objetivo puedan plantearse, no siendo el objeto de este articulo el
detallar las metodologías de construcción de dichas funciones, sino únicamente presentar una vía de
solución a la optimización de las mismas y unas pautas introductorias para ello.
Resultados
Partiendo de los planteamientos anteriores, y apoyándose en librerías existentes para el trabajo
con algoritmos genéticos en lenguaje Java, se ha desarrollado una aplicación informática que permite
la resolución de problemas de optimización forestal clásicos mediante la aplicación directa de éstos.
En una primera fase, y empleando los datos de experiencias anteriores con dichas librerías para la
resolución de problemas paralelos como los comentados con anterioridad, se procede a la
modificación ligera del código de dichas librerías para adaptarlo a las funciones objetivo clásicas en
gestión forestal, en particular el VAN, así como a la lectura y manejo de la información característica
de las unidades de corta sobre las que se plantea la optimización. Los resultados obtenidos en este
apartado confirman los obtenidos mediante programación lineal, reafirmando la validez de las
formulaciones mediante algoritmos genéticos aun en el caso de optar por un planteamiento clásico.
En una segunda etapa, se han estudiado algunas de las alternativas posibles para la función
objetivo, introduciendo progresivamente otras variables en la misma, principalmente de carácter
económico, dejándose para otros estudios el trabajo con variables de carácter más heterogéneo, pues
su integración es, como se dijo, más compleja e incluso no exenta de cierta subjetividad. No
obstante, se ha probado mediante el empleo de esta aplicación informática el buen comportamiento
dentro de su ámbito de aplicación de las formulaciones planteadas, constituyendo un buen punto de
partida para futuros análisis y para una extensión y consolidación de estos métodos. La adaptación
posterior de dicha aplicación para la incorporación de soluciones no deseadas, forzando la muerte de
la mismas en su evolución hacia el óptimo, permite asimismo extender la solución del problema hacia
una optimización restringida, de gran interés en el área forestal, en cuanto que permite evitar
soluciones desfavorables desde un cierto punto de vista, siendo altamente beneficioso este hecho para
la modelización correcta de las múltiples realidades presentes en el monte.
Las pruebas, testeo y depuración del código anterior han sido realizadas mediante su
aplicación a los datos disponibles para el monte Mesas del Puerto, catalogado con el numero 148
dentro del Catalogo de Montes de Utilidad Publica, así como a una reducida batería de unidades
generadas de modo aleatorio mediante un nuevo y pequeño programa informático desarrollado a tal
efecto. El código ha quedado incorporado posteriormente, con carácter experimental, dentro de la
aplicación informática para ordenación de montes y gestión forestal MEIGAS (Meigas es un Entorno
Integrado de Gestión y Análisis Selvícola), sobre la cual, y aprovechando las mayores capacidades de
esta aplicación para el manejo de la información relativa a las unidades inventariales consideradas, se
han vuelto a comprobar los resultados ya obtenidos previamente. En este proceso, el código original
en Java ha sido reescrito en Visual Basic, con lo cual, independientemente de la futura e interesante
ampliación de las formulaciones multicriterio según lo ya comentado, ha quedado constituida una
base muy importante para la difusión y evolución de lo aquí desarrollado mediante otros trabajos. La
reutilización de este nuevo código podría dar lugar a la incorporación de estas ideas dentro de un
software con soporte para el mismo lenguaje tal y como ArcGIS, mediante el cual podrían aplicarse a
un buen numero de proyectos de ordenación cuyos datos se encuentran almacenados en los formatos
propios de este software.
Conclusiones
El empleo de algoritmos genéticos para la resolución de problemas de optimización
combinatoria es una realidad que puede adaptarse a los problemas que se plantean de forma general
en el ámbito de la gestión forestal. Sin suponer una clara ventaja sobre los métodos de optimización
habituales (programación lineal, especialmente), la introducción de nuevas concepciones puede dar
lugar a corto o medio plazo al desarrollo de planteamientos ventajosos basados en las mismas.
Igualmente, el aprovechamiento de algunas de las características diferenciadoras de esta
metodología frente a otras comunes en temas de optimización, se demuestra de gran interés y valor
para las cuestiones de planificación forestal, adaptándose en gran medida a la flexibilidad intrínseca
de la gestión forestal en sentido amplio y abriendo nuevos caminos para la mejora de las labores
propias de ésta.
Bibliografía
DIAZ BALTEIRO L; PRIETO RODRÍGUEZ, A. (1999) Invest. Agr.: Sist. Recur. For. Vol. 8 (1),
63-92.
GOLDBERG D. (1989), Genetic Algorithms in search, optimization and machine learning. Addison
Wesley. London
DANTZIG, G; FULKERSON, R; JOHNSON, S. (1954) Optimization strategies for solving the TSP.
Operations Research 2, 393-410.
Descargar