• No se han encontrado resultados

Experimentos y Resultados Finales

5.3. Hiperheurística General Una vez realizado el proceso de entrenamiento, el cual tiene una duraciуn cercana

5.4.4. Experimentos Tipo IV: Comparación de Hiperheurísti­ cas

En los experimentos anteriores se utilizу sуlo una hiperheurнstica para solucionar los problemas, por lo que se comparу su desempeсo contra las heurнsticas de bajo nivel. En esta serie de experimentos, la intenciуn es comparar los tres mejores individuos de la generaciуn para evaluar quй tanto varia la calidad de las diferentes hiperheurнsticas evolucionadas en una misma poblaciуn. La hiperheurнstica general utilizada en los ex-

perimentos anteriores nuevamente es considerada para estos experimentos y es llamada hiperheurística 1. Los dos siguientes individuos segun su aptitud en la población final son llamados hiperheurística 2 e hiperheurística 3, respectivamente.

Para evaluar la calidad de las tres hiperheurísticas se utiliza el esfuerzo medio para los tres conjuntos utilizados en los experimentos anteriores. De esta forma, la figura 5.7 presenta el esfuerzo medio de las tres hiperheurísticas para el conjunto de entrenamiento.

A partir de los resultados presentados, se observa con claridad que las hiper- heurísticas 1 y 2 tienen un desempeño similar. Ambas hiperheurísticas resuelven las instancias con prácticamente el mismo esfuerzo medio. La tercer hiperheurística tiene un desempeño menos eficiente, ya que el esfuerzo medio es mayor que las otras dos hiperheurísticas. Los problemas de las clases B1, B3 y B3 son particularmente com- plicados para la hiperheurística 3, ya que es donde presenta los peores resultados. Se observa en la gráfica que la hiperheurística 1 es mejor en términos de esfuerzo medio que los otros dos individuos de la población.

El mismo proceso descrito anteriormente se realizó para el conjunto de prueba I y se presenta en la figura 5.8. El desempeño de las hiperheurísticas 3 es similar que en el caso anterior. Nuevamente, la hiperheurística 1 representa en términos de esfuerzo

Figura 5.7: Esfuerzo medio de bъsqueda de los tres mejores individuos de la poblaciуn para el conjunto de entrenamiento. medio la mejor alternativa de las tres opciones disponibles aunque la hiperheurнstica 2 es tambiйn, altamente competitiva. Figura 5.8: Esfuerzo medio de bъsqueda de los tres mejores individuos de la poblaciуn para el conjunto de prueba I. Finalmente, la figura 5.9 muestra el esfuerzo medio de las tres hiperheurнsticas para el conjunto de prueba II. Las tres hiperheurнsticas tienen prбcticamente el mismo desempeсo para las clases C3, C4 y C5. Para las clases C1 y C2 queda claro que la hiperheurнstica 1 es mejor que los otros dos individuos de la poblaciуn.

5.5. Discusión General

En este trabajo se presenta un modelo evolutivo para general hiperheurнsticas para el ordenamiento dinбmico de variables en CSPs. El modelo hace uso de ciertas caracterнsticas del las instancias de los CSPs para representar el estado del problema y

Figura 5.9: Esfuerzo medio de bъsqueda de los tres mejores individuos de la poblaciуn para el conjunto de prueba II. mediante un algoritmo genйtico, el modelo aprende a relacionar un estado del problema con una heurнstica de bajo nivel que deberб aplicarse. Es muy importante aclarar al lector que los experimentos presentados en este trabajo provienen de los mejores resultados obtenidos de mъltiples ejecuciones del al-

goritmo genético. El esfuerzo computacional requerido para la ejecución del software que genera las hiperheurísticas generales es muy grande. Se requieren en promedio más de 110 horas para ejecutar 100 ciclos con una población de 20 individuos si se utilizan exclusivamente problemas difíciles durante la fase de entrenamiento; el tiem- po disminuye significativamente si la dificultad de los problemas se reduce. De igual forma, una vez obtenida la hiperheurística general se debe verificar el desempeño de dicha hiperheurística y este proceso también consume demasiado tiempo. Evaluar una hiperheurística con el conjunto de entrenamiento y prueba I requiere, en promedio, 14 y 11 horas respectivamente. El conjunto de prueba II se evalúa en aproximadamente seis horas en la mayoría de los casos. La evaluación de la hiperheurística general es un proceso largo cuyo tiempo se incrementa debido a la dificultad de los problemas y a la implementación de las heurísticas de bajo nivel en el sistema.

Definitivamente la implementación de las heurísticas de bajo nivel es un factor que inside directamente en el tiempo de resolución de los problemas. Algunas heurísticas, como E(N), Rho y Kappa requieren que se calculen los subproblemas para determinar aquél que minimiza o maximiza un determinado valor, y esto hace que la selección de la siguiente variable a instanciar requiera más esfuerzo computacional que en otras heurísticas.

5.6. Resumen

En este capнtulo se presentaron los experimentos y resultados que permiten demos-

trar las fortalezas y debilidades del modelo utilizado. Las hiperheurísticas generadas por el modelo evolutivo presentado producen resultados competitivos, que requieren el mismo número de verificaciones de consistencia que el mejor resultado de las heurísticas simples para una gran cantidad de instancias. Estos resultados son todavía más prome- tedores si se comparan con el resultado promedio de las heurísticas de bajo nivel ya que se observar una disminución significativa en el número de verificaciones de consistencia para casi todas las instancias.

Capítulo 6

Conclusiones

En este capнtulo se presentan las conclusiones y contribuciones derivadas de es-

ta investigación, así como también se presentan algunas sugerencias para extender el trabajo presentado en este documento.

6.1. Conclusiones

La investigación realizada en esta tesis se enfocó en la demostración de la factibi- lidad de generar hiperheurísticas para el ordenamiento dinámico de variables en CSPs mediante un modelo evolutivo, de forma que estas hiperheurísticas proporcionen un mecanismo competitivo para la solución de una gran variedad de instancias de CSPs.

Para la obtención de las hiperheurísticas mencionadas en el párrafo anterior se utilizó un modelo de entrenamiento basado en un AG con cromosomas de longitud va- riable. La estructura de los cromosomas representa conjuntos de reglas que determinan que heurística de ordenamiento de variables debe utilizarse ante determinado estado del problema. El mejor individuo después del proceso de entrenamiento representa la hiperheurística general obtenida con el modelo. Esta hiperheurística fue utilizada para resolver cada una de las instancias presentadas en este trabajo. Además, en la segunda serie de experimentos no sólo el mejor individuo fue utilizado para resolver todas las instancias, sino que los tres mejores individuos fueron utilizados, esto con la finalidad de presentar resultados más generales que involucrasen también el aspecto de la evolución en general de la población.

Los resultados muestran que el modelo es capaz de generar hiperheurísticas com- petitivas, que logran en un gran número de instancias una reducción al número de ve- rificaciones de consistencia obtenido por el mejor resultado de las heurísticas simples. Sin embargo, es necesario reconocer que así como se presentan casos muy alentadores, también hay instancias para las cuales el desempeño es realmente malo, utilizando un número mucho mayor de verificaciones que la mejor heurística. Estos resultados no deben quitarle mérito al modelo, ya que la comparación se realiza contra el mejor re- sultado de las heurísticas simples, cuyo resultado no siempre es obtenido por la misma

heuristica. Cuando las hiperheurнsticas se compararon contra el resultado promedio, la hiperheurнstica luce como una alternativa atractiva para resolver una gran cantidad de instancias de CSPs de forma eficiente.

6.2. Contribuciones

Esta investigaciуn contribuye a enriquecer el conocimiento acerca de los modelos de generaciуn de hiperheurнsticas para el ordenamiento dinбmico de variables en CSPs. Ademбs, presenta una comparaciуn clara entre el desempeсo del mejor resultado de las heurнsticas de bajo nivel y las hiperheurнstcas generadas mediante el modelo. De forma mбs especнfica, las contribuciones de este trabajo son: • Diseсar e implementar una herramienta para la resoluciуn de CSPs usando el algoritmo backtracking simple y Forward Checking.

• Diseсar e implementar una herramienta para la generaciуn de hiperheurнsticas generales para ordenar dinбmicamente variables en CSPs.

• Comprobar la efectividad del modelo basado en un algoritmo genйtico con cro-

mosomas de longitud variable para la generación de hiperheurísticas para el or- denamiento dinámico de variables en CSPs.

• Proporcionar una representación apropiada de los estados del problema y la for- ma de codificar en el cromosoma la información de las reglas que componen la hiperheuristica.

• Desarrollar una función de evaluación adecuada para el modelo en su fase de entrenamiento.

• Implementar las diferentes heuristicas de bajo nivel para el ordenamiento dinámi- co de variables que se presentan en este trabajo.

• Presentar información acerca de los resultados derivados del uso de hiperheurísti- cas para el ordenamiento dinámico de variables en diversas instancias de CSPs. Con base en los resultados obtenidos es posible concluir que el modelo basado en un algoritmo genético con cromosomas de longitud variable es una alternativa viable para la generación de hiperheurísticas para el ordenamiento dinámico de variables para resolver de forma competitiva diferentes instancias de CSPs.

6.3. Trabajo Futuro

Documento similar