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:
**kwargs
Pará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.**kwargs
Pará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 |
|