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.