Preguntas frecuentes acerca de la utilización de los algoritmos de diseño

La siguiente lista de preguntas frecuentes proporciona algunas sugerencias útiles para utilizar los algoritmos de diseño. Puede encontrar respuestas a las preguntas que surgen cuando se utiliza el paquete de diseño de gráficos.
Preguntas frecuentes sobre los algoritmos de diseño
Pregunta
Respuesta
He ejecutado el diseño y no pasa nada (no se mueve ningún nodo). ¿Por qué?
Una posibilidad es que los algoritmos de diseño que se proporcionan en el producto están diseñados para no hacer nada de forma predeterminada si no se ha producido ningún cambio en el gráfico desde la última vez que el diseño se ha ejecutado correctamente en el mismo gráfico. Un cambio significa que se ha movido un nodo, o que se ha añadido, eliminado o cambiado un nodo o enlace.
Puede forzar una nueva ejecución del diseño, aunque no se haya producido ningún cambio, llamando al método performLayout(force:Boolean = false, traverse:Boolean = false):int con un valor true para el argumento force.
Otra posibilidad es que durante la ejecución del diseño se haya producido un error o un caso especial. En primer lugar, debe comprobar si el método performLayout() ha generado un error. Si no se ha generado ningún error, recupere la propiedad code en la instancia del informe de diseño. Consulte este valor en la documentación de la clase de informes de diseño adecuada. (Para obtener más información, consulte Utilización de un informe de diseño de gráficos).
Con el algoritmo Force-directed en modalidad incremental, tras haber ejecutado el diseño una vez, no veo ningún movimiento, aunque utilice la opción de forzar diseño. ¿Por qué?
Es probable que la razón sea que el algoritmo ha alcanzado la convergencia la primera vez que se ha ejecutado el diseño. Cuando el diseño se vuelve a ejecutar, detecta que la convergencia ya se ha alcanzado y se detiene. Si realmente desea seguir trabajando, por ejemplo, para “desagrupar” una parte del gráfico, puede que tenga que mover uno o varios nodos para cambiar la configuración inicial. (El algoritmo depende de la configuración inicial).
Después de ejecutar el diseño, el gráfico aparece lejos de su posición inicial. ¿Por qué?
La mayoría de los algoritmos de diseño utilizan un parámetro región de diseño para controlar el tamaño y la posición del diseño. (Para obtener más información, consulte Región de diseño). Dependiendo del valor de este parámetro, los nodos pueden moverse lejos de sus posiciones iniciales.
Para saber si un algoritmo de diseño permite utilizar un parámetro región de diseño, consulte la documentación para ver si la clase de diseño sustituye el siguiente método de la clase base para que devuelva true:
Otros algoritmos tienen un mecanismo distinto con el que puede especificar la ubicación del diseño. Puede que el valor predeterminado del parámetro de posición sea tal que el gráfico se presente lejos de su posición inicial.
Al utilizar determinados algoritmos de diseño en ciertos gráficos, hay nodos que se solapan. ¿Por qué y qué puedo hacer para evitarlo?
Una posibilidad puede estar relacionada con las distintas formas que tienen los algoritmos de diseño de gestionar el tamaño de los nodos:
- Los algoritmos Diseño de árbol y jerárquico siempre evitan el solapamiento de los nodos. (El algoritmo Diseño de enlaces no mueve los nodos. Sólo cambia la forma de los enlaces de modo que las intersecciones y los solapamientos se reducen. El tamaño de los nodos se tiene en cuenta).
- El algoritmo Force-directed (con la opción “Respetar los tamaños de los nodos” habilitado) en muchos casos logra evitar los nodos que se solapan.
De cualquier forma, si el algoritmo de diseño admite el mecanismo de la región de diseño (consulte Región de diseño), intente aumentar el tamaño de la región de diseño. Por ejemplo, si el gráfico contiene cientos de nodos, no es razonable utilizar una región de diseño pequeña, como 600x600. No hay espacio suficiente para todos los nodos. Intente utilizar una región de diseño mayor, de 5000x5000, por ejemplo.
El tamaño óptimo de la región de diseño depende no sólo del número de nodos, sino también de su tamaño. Si los nodos son relativamente grandes con respecto al tamaño de la región de diseño, puede ser necesario ajustar algunos de los parámetros (por ejemplo, la longitud de enlace preferida para el Diseño Force-directed).
En algunas redes, hay dos (o más) subredes que no están conectadas. ¿Cómo afecta esto a los algoritmos de diseño?
Depende de la clase de diseño que utilice:
- ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout: este algoritmo admite gráficos no conexos, pero normalmente es mejor basarse en el parámetro “diseño de componentes conectados” automático. (Consulte Diseño de componentes conectados ).
- ibm_ilog.graphlayout.hierarchical.HierarchicalLayout y ibm_ilog.graphlayout.tree.TreeLayout: tienen soporte incorporado para gráficos no conexos. Opcionalmente, puede utilizar el soporte automático de la clase base. (Consulte Diseño de componentes conectados ).
- ibm_ilog.graphlayout.longlink.LongLinkLayout, ibm_ilog.graphlayout.shortlink.ShortLinkLayout, ibm_ilog.graphlayout.grid.GridLayout, ibm_ilog.graphlayout.random.RandomLayout: estos algoritmos admiten gráficos conexos y no conexos. Su comportamiento es el mismo para ambas categorías de gráficos.
Conocemos algunos atributos de la red (por ejemplo, sabemos cuál es el conmutador principal y cuál debe ser el centro). ¿El algoritmo de diseño tiene en cuenta esos atributos?
Depende del algoritmo de diseño.
- El Diseño circular le permite especificar información sobre la topología física de la red. Puede especificar qué nodos pertenecen al mismo clúster (en anillo o en estrella), el orden de los nodos en el clúster y qué nodo es el centro de un clúster en estrella.
- En el Diseño en árbol, puede especificar el nodo raíz.
- En el algoritmo Diseño jerárquico, puede especificar los índices de posición y los índices de nivel de los nodos, así como restricciones de posicionamiento relativo.
Si utilizo IBM ILOG Dojo Diagrammer en equipos distintos con un navegador diferente, a veces obtengo diseños distintos para el mismo gráfico y con los mismos parámetros. ¿Por qué?
1. Los equipos y navegadores distintos pueden ser más lentos o más rápidos. Si el algoritmo de diseño que utiliza detiene el cálculo cuando ha transcurrido el tiempo permitido especificado, un sistema o navegador más lento hace que el cálculo se detenga antes. Esto puede explicar los resultados diferentes. Puede pasar incluso con el mismo equipo y navegador si la carga del sistema aumenta. Tal vez tenga que aumentar la especificación de tiempo permitido cuando el diseño se ejecuta en un sistema más lento o un navegador diferente.
Utilizo los algoritmos Diseño de enlaces cortos y largos para diseñar los enlaces de una red de objetos gráficos.
Cuando varios enlaces se conectan con la misma cara de un nodo, se solapan, pero yo esperaba que respetaran el parámetro “desplazamiento de enlace” (o “tamaño de la cuadrícula”) del Diseño de enlaces.
¿Por qué?
Algunos parámetros dimensionales de los algoritmos de diseño deben elegirse en función del tamaño de los nodos. Es el caso de los parámetros “desplazamiento de enlace” y “distancia de bypass” para el Diseño de enlaces cortos, y del tamaño de la cuadrícula para el Diseño de enlaces largos. De hecho, sus valores predeterminados no son adecuados cuando los nodos son grandes. Comparados con este tamaño, los valores predeterminados de los parámetros son tan pequeños que parecen ser cero.
La solución es aumentar los valores de los parámetros dimensionales, teniendo en cuenta el tamaño de los nodos. Si distintos nodos tienen tamaños diferentes, puede utilizarse el tamaño medio o grande de los nodos para calcular los parámetros como una fracción de este tamaño.