================== Algoritmos de Ruta ================== En el corazón de Pathfinder se encuentra un sistema de enrutamiento que calcula caminos óptimos en función de las restricciones del escenario. Antes de utilizar un algoritmo de enrutamiento, Pathfinder necesita crear el :ref:`Mapa de Resistencia `, donde las resistencias individuales de las capas se combinan en una única imagen. La resolución de esta imagen viene dada por la :ref:`resolución del proyecto `. .. image:: ./images/resistanceMapConcept.jpg :align: center :width: 95% *Fuente de la imagen: Geography, Remote Sensing and GIS lesson – LyfSkill, Universität zu Köln*. El Problema de Enrutamiento =========================== El objetivo de todos los algoritmos de enrutamiento es encontrar un camino para atravesar el mapa de resistencia desde el punto de Inicio hasta el punto de Final (quizás con :ref:`puntos intermedios ` adicionales), de manera que la suma de todas las resistencias a lo largo del camino sea mínima. Los resultados de los algoritmos de enrutamiento son: * Un :ref:`mapa de corredores ` que resume la información sobre la posible localización de caminos óptimos. * Una o más líneas poligonales que describen los :ref:`caminos óptimos `. Elección del Algoritmo ====================== Dependiendo de la licencia adquirida por la compañía, se puede disponer de más de un algoritmo a escoger. En el panel de :ref:`opciones del escenario ` es posible escoger el algoritmo a ejecutar, entre las opciones disponibles. .. image:: ./images/routingAlgorithm.jpg :align: center :width: 40% Rápido con Una Ruta ******************* Es la opción por defecto, y las más rápida de calcular. En este caso se genera un único camino óptimo por escenario, buscando la trayectoria de menor resistencia en el mapa de corredores y, por tanto, cruzando las áreas más brillantes de este mapa. .. image:: ./images/algorithmFast.jpg :align: center :width: 60% Avanzado con Una Ruta ********************* Esta opción es equivalente al Rápido con Una Ruta y probablemente no estará disponible para la mayoría de usuarios, ya que se utiliza solamente para pruebas. Avanzado con Varias Rutas ************************* Esta version del algoritmo genera varios caminos posibles que son mínimos locales de resistencia. Las rutas resultantes son significativamente diferentes entre ellas y pueden utilizarse para analizar soluciones alternativas. .. image:: ./images/algorithmMulti.jpg :align: center :width: 50% En este caso aparecerán varios caminos en la sección de *Resultados/Caminos* del panel derecho, cada uno con su propia estimación de coste, y pueden ser coloreados y visualizados independientemente. .. image:: ./images/algorithmMultiList.jpg :align: center :width: 40% .. _pylon_spotting: Optimización Torres (Beta) ************************** Los algoritmos avanzados que calculan una o varias rutas óptimas tienen versiones que además optimizan la posición y ángulo de las torres utilizadas en líneas de transmisión eléctricas, de forma que las torres se coloquen en las posiciones de menor resistencia y se eviten ángulos grandes. Con estos algoritmos podemos :ref:`configurar opciones ` para conseguir el efecto deseado: * Definir la importancia relativa de la resistencia de los arcos del camino comparados con la resistencia en la posición de las torres. * Definir importancia relativa de la minimización de los ángulos comparada con la minimización de la resistencia. * Controlar cuánto puede el camino desviarse de la línea recta que va del Inicio al Final. * Especificar un *ángulo maximo* entre los cables del tramo previo y siguiente en cada torre. * Permitir saltos sobre áreas prohibidas. .. note:: *Los valores por defecto probablemente deshabilitan la optimización por ángulo. Si desea utilizar esta función, compruebe con su administrador que se han configurado los valores adecuados.* Como ejemplo, compare estos resultados (los parámetros deben configurarse en las :ref:`opciones de torres `): .. image:: ./images/algorithmPylon.jpg :align: center :width: 90% .. image:: ./images/algorithmPylon2.jpg :align: center :width: 75% .. note:: *Debido a los recursos adicionales requeridos para ejecutar este algoritmo, puede fallar en proyectos grandes. Se recomienda reducir lo más posible la diferencia entre la distancia mínima y máxima*. .. _explore_algorithm: Pathfinder Explore (Beta) ========================= Pathfinder 3.2 incluye un nuevo algoritmo, Pathfinder Explore, que puede utilizarse como un algoritmo de enrutado estándar y también para resolver problemas específicos como el cálculo de rutas que combinan secciones aéreas y túneles (ver más abajo). .. image:: ./images/exploreAlgo.jpg :align: center :width: 40% Algunas ventajas de este algoritmo son: * Un menor **uso de memoria** y un excelente rendimiendo con grandes áreas. * Generación de muchas **rutas alternativas**. Por defecto este número es de seis, pero en algunos casos (ver el geoproceso de Túneles más abajo) puede ser configurado. * Extensible con **restricciones** complejas y múltiples mapas de resistencia. Como la evaluación de las resistencias (función de coste) está claramente separada del motor del algoritmo, este puede extenderse para considerar criterios geométricos específicos (por ejemplo, limites a la pendiente o restricciones complejas en los cruces) y también para usar varios mapas de resistencia como entrada, describiendo los costes que afectan a diferentes tecnologías alternativas, de manera que puede escogerse la más apropiada para cada segmento de la ruta. Compare los resultados de los algoritmos Rápido, con Posicionamiento de Torres y Explore. .. image:: ./images/corridorsAndPaths.jpg :align: center :width: 90% Pueden ahora probar este nuevo método de cálculo de rutas y darnos sus impresiones al respecto. .. _forbidden_areas: Áreas Prohibidas ================ El uso de áreas prohibidas (valor FB) es una característica importante de lso algoritmos de optimización de Pathfinder. Sin embargo, debe ser utilizadas con cuidado, ya que imponen restricciones severas a la búsqueda de una ruta. Como vemos en las siguiente imágenes, los algoritmos evitan las áreas prohibidas mientras es posible (ver el desvío en la parte norte), a menos que no haya otra opción que cruzarlas para hallar un camino (ver zona al sur). .. image:: ./images/forbiddenFast.jpg :align: center :width: 60% En la mayoría de los casos, el camino puede cruzar el área prohibida solo si las torres pueden quedar fuera: .. image:: ./images/forbiddenCross1.jpg :align: center :width: 60% .. image:: ./images/forbiddenCross3.jpg :align: center :width: 60% **Si se desea evitar estrictamente que la línea cruce por encima de las áreas prohibidas, deberán usarse los algoritmos con optimizatión de torres, desactivando la opción "between points allowed" (permitido cruzar entre puntos) en las** :ref:`opciones avanzadas`. .. image:: ./images/notCrossingFB.jpg :align: center :width: 60% .. note:: *Los algoritmos avanzados (en beta) pueden fallar cuando intentan encontrar un camino óptimo con la presencia de áreas prohibidas, ya que los giros bruscos que implican pueden causar problemas.* .. note:: *Se recomienda evitar el uso de zonas prohibidas para grandes elementos lineales, como carreteras, ríos, etc. Use un valor grande de resistencia en su lugar.* Pros y Contras ============== La siguiente tabla resume algunos de los pros y contras de usar cada algoritmo: .. list-table:: *Algorithm comparison* :widths: 10 30 30 30 :header-rows: 1 * - Algoritmo - Rendimiento - Optimizaciones - Sugerido para * - Gilytics fast - Rápido y bastante ligero. - Resistencia total. Evita áreas prohibidas pero "recorta esquinas". - Resultados rápidos, estricta agrupación dé líneas, una sola opción por escenario. * - Optimización torrres - Lento, limitación de memoria para proyectos grandes. - Resistencia total. Posición de torres. Restricciones de ángulos y áreas prohibidas. - Restricciones precisas en proyectos pequeños. * - Explore - Rápido y ligero. - Resistencia total. Restricciones más relajadas para las torres, ángulos y áreas prohibidas. Opción de "ancho de corredor". - Proyectos grandes. Múltiples opciones de camino. Usado por los geoprocesos de enrutado combinado. Respecto a la reversibilidad de los resultados al cambiar el orden de Inicio y Final, véase esta :ref:`nota `. .. include:: footer.rst