Métodos heurísticos de optimización geométrica
Iluminación óptima de polígonos

Por: Adolfo Luis Fernández García-Redondo
email: aluisf@wanadoo.es

  2. Manual de manejo de la interfaz de usuario

    2.2 Método de la Fuerza Bruta

 

   Partamos del polígono introducido como se muestra en la figura 1. Como indica la flecha hemos elegido el método heurístico ‘Fuerza Bruta’, basta con pulsar sobre esas marcas para seleccionar un método u otro.
    En este método se puede configurar el número de puntos aleatorios que queremos que genere el algoritmo dentro del polígono para efectuar el cálculo de su polígono de visibilidad, a mayor número de puntos es más probable encontrar la posición más óptima pero ello conlleva un mayor tiempo de cálculo tanto por la generación de puntos aleatorios como de su polígono de visibilidad.


Fig. 1 Polígono introducido para ser calculado por el método de Fuerza Bruta

 

    En nuestro caso deseamos que se generen 500 puntos aleatorios (Fig 1. Indicación ‘a’), por defecto si no se cambia se generaran 5 puntos aleatorios. Se controla que sólo se puedan introducir números, en el caso de introducirse una letra o algún carácter distinto a un número el applet avisará y no permitirá continuar con el cálculo. El apartado que aparece debajo donde pone ‘Generados’ (Fig. 1. Indicación ‘a’) nos servirá de información cuando nos encontremos en el proceso de cálculo para ver como va progresando. En una primera fase del método heurístico se generarán tanto puntos aleatorios como hayamos introducido y veremos como un contador va aumentando hasta alcanzar el valor que hayamos introducido. En una segunda fase del método se procede al cálculo de cada uno de los polígonos de visibilidad de esos puntos aleatorios generados. Mientras se realiza el cálculo de los polígonos de visibilidad la etiqueta que muestra ‘Generados’ pasa a mostrar ‘Calculados’ para que tengamos conocimiento de cómo va el proceso de cálculo. Si en algún momento durante el proceso de cálculo de los polígonos de visibilidad se encontrase un punto con el que se obtiene el 100% de visibilidad del polígono original desde ese punto aleatorio el proceso se detendría al no poder encontrar una posición más óptima que esa. Durante todo este proceso en el apartado ‘ESTADO’ (Fig. 1. Indicación ‘b’) se nos mostrará información de la fase en la que se muestra el método (generando puntos o calculando polígonos de visibilidad).
    Ahora debemos de pulsar sobre el botón ‘Calcular’ para que se inicie el proceso de cálculo. Observaremos como va avanzando el contador de ‘Generados’ y después como empieza a calcular los polígonos de visibilidad de los puntos aleatorios generados. En la siguiente figura se muestra el resultado final tras la pulsación del botón ‘Calcular’.

   


Fig 2. Imagen mostrada una vez finalizado el proceso de cálculo.

 

    Todos los puntos aleatorios generados serán mostrados en azul y el punto óptimo será mostrado en morado junto con su polígono de visibilidad en azul, Fig 2. En la parte inferior del applet veremos que los datos de las áreas han cambiado, por una parte se muestra el área del polígono original introducido por el usuario y después el área iluminada del polígono desde ese punto que ha seleccionado el algoritmo como óptimo. Tambien se incluye un porcentaje de iluminación del área original y la iluminada. Según lo mostrado hemos conseguido encontrar un punto que ilumina del 72,0730% del polígono introducido por nosotros. En el apartado de ‘ESTADO’ se muestra el texto ‘Calculo finalizado’ una vez que éste ha concluido.

    Si marcamos la opción de ‘Muestra Pol. Visib.’ Situada en la parte superior del applet Lo obtenido será lo mostrado en la figura 3. Como se puede observar el resultado queda algo más confuso pues el resto de los otros polígonos de visibilidad de los puntos también es mostrado en color gris en este caso para diferenciarlo del más óptimo que es mostrado en azul.

 
Fig. 3 Imagen mostrada tras el marcado de la opción de ‘Muestra Pol. Visib.’