Recocido simulado
La búsqueda de recocido simulado la podemos importar:
1 | |
SimulatedAnnealing (Clase recocido simulado)
- logger. Diccionario con información relacionada a la búsqueda con las siguientes llaves:
best_individual.Mejor individuo encontrado.best_f.El valor obtenido de la función objetivo deindividual.temperature.Temperatura inicial que se actualizará cada iteración.
- f. Función objetivo.
- Constraints. Lista de restricciones del problema. Las restricciones deben ser funciones que retornan True o False, indicando si cumple dicha restricción.
-
__init__. Inicializa la clase.
Argumentos:
function.Función objetivo.constraints.Lista con las restricciones del problema.
Valor de retorno:
- Ninguno.
-
optimize. método principal, realiza la ejecución empleando la metaheurística llamada
SimulatedAnnealing.Argumentos:
Init.Solución inicial, se admite un arreglo de numpy o una función que retorne un arreglo de numpy.IniTemperature.Valor de punto flotante que indica con que temperatura inicia la búsqueda.eps.Valor de punto flotante que indica con que temperatura termina la búsqueda.**kwargs.Parámetros externos a la búsqueda.
Valor de retorno:
- Ninguno
-
update_temperature. Función que decrementa la temperatura.
Argumentos:
**kwargsParámetros externos a la búsqueda.
Valor de retorno:
- La nueva temperatura.
Funciones que se deben sobreescribir
-
get_neighbor. Genera una solución realizando una variación aleatoria en la solución actual.
Argumentos:
x.Arreglo de numpy representando a la solución actual.**kwargsParámetros externos a la búsqueda.
Valor de retorno:
- Arreglo de numpy representando la solución generada.
Ejemplo
Para emplear la búsqueda se debe crear una clase nueva que herede todos los métodos de SimulatedAnnealing, por ejemplo:
1 2 3 4 5 6 7 | |