Borrados los comentarios de las cabeceras
Actualizada la cabecera de
MMDP:MMDP#busqueda_local_enfriamiento_simulado
Implementado el metodo MMDP:MMDP#busqueda_local_enfriammiento_simulado
Se han hecho privados una serie de metodos de MMDP

Los siguientes metodos ya eran privados en MMDP pero se ha hecho
que sean privados desde el codigo fuente en C, que es el lugar donde
han sido definidos. Los metodos afectados son:

MMDP:MMDP#busqueda_local_first_improvement
MMDP:MMDP#busqueda_local_best_improvement
MMDP:MMDP#busqueda_local_enfriamiento_simulado
MMDP:MMDP#grado_mejora_solucion
MMDP:MMDP#mejora_solucion
Realizados cambios menores en el metodo
MMDP:MMPD#busqueda_local_enfriamiento_simulado
Introducida una nueva implementación del enfriamiento simulado
Añadidas cabeceras de nuevos metodos
Implementado el metodo TSP::TSP#busqueda_local_enfriamiento_simulado
Reimplementado el metodo ES::ES#busqueda_local_enfriamiento_simulado

He vuelto a implementar el metodo
ES::ES#busqueda_local_enfriamiento_simulado ya que las implementaciones
anteriores no estaban bien realizadas (al final la solucion que
devolvian eran tan malas como una solución aleatoria).

Por suerte, la implementación actual del enfriamiento simulado en el TSP
si es correcta y funciona (por ahora) sin ningun problema
Merge branch 'TSP'
Se ha redefinido el metodo ES::ES#busqueda_local_enfriamiento_simulado

El algoritmo de busqueda local mediante la tecnica de enfriamiento
simulado ha sido re-escrito debido a que no funcionaba correctamente en
las versiones anteriores.

Ahora funciona perfectamente, siendo tan bueno como puede llegar a ser
el propio algoritmo de busqueda local por first improvement. El unico
problema es que este algoritmo es más lento, principalmente debido a la
metrica usada para medir la diversidad (diversidad minima).

El uso de esta metrica obliga a calcular la diversidad minima completa
en ciertos puntos del algoritmo (algo que no pasaria si se usase la
metrica de diversidad media), lo cual desemboca en que el tiempo
de respuesta crece mucho con soluciones grandes. Es por ello por lo
que he añadido al algoritmo original la capacidad de desechar el 30 % de
las alternativas validas al azar de manera que tenga que hacer
menos comprobaciones.

Como es obvio, al desechar más alternativas hay una menor posibilidad de
hallar la solucion optima, pero como el bucle se repite varias veces
este porcentaje no influye muy negativamente en la solucion final.
Añadido los informes del profesor
Añadido el informe de ejemplo del profesor
Reescrito para que se adapte al scrpit del profesor
Cambiadas las opciones de tipo para que sea coherentes con el desarrollo
realizado
Realizado un cambio menor en las cabeceras
Arreglado un error que ocurria al procesar los mejores valores conocidos
Ahora se usa el metodo drand48 de la biblioteca C por eficiencia
Ahora se realizan menos copias de la mejor solucion.

Se trata de minimizar todo lo que se puede la realización de copias de
la mejor solucion con el fin de poder acelerar el algoritmo
Actualizado el metodo TSP::TSP#grado_mejora_solucion

El metodo encargado de calcular el grado de mejora de la solucion
devuelve ahora un valor false si se intenta calcular la mejora que
existiria al cambiar alguno de los nodos que se encuentra en el extremo
de la solucion.

Esto se ha hecho así debido a que se presentan problemas cuando trato de
calcular los costes asociados a los extremos. Es probable que estos
problemas tengan algo que ver con la clase BasicTSP pero no tengo el
tiempo suficiente como para comprobarlo. No puedo tampoco dejar que se
calcule el coste completo de la solucion en esos casos debido a que
ralentiza mucho el algoritmo por lo tanto simplemente devueleve false y
el metodo que lo llamo pasa del resultado.

Los metodos de busqueda local por las tecnicas first improvement, best
improvement y enfriamiento simulado ya han sido actualizados