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.