Actualmente estoy trabajando en un proyecto (TSP) y estoy intentando convertir un pseudocódigo de recocido simulado en Java. He tenido éxito en el pasado al convertir pseudocódigo en código Java, sin embargo, no puedo convertir esto con éxito.Recocido simulado de Java del pseudocódigo
El pseudocódigo es:
T0(T and a lowercase 0) Starting temperature
Iter Number of iterations
λ The cooling rate
1. Set T = T0 (T and a lowercase 0)
2. Let x = a random solution
3. For i = 0 to Iter-1
4. Let f = fitness of x
5. Make a small change to x to make x’
6. Let f’ = fitness of new point
7. If f’ is worse than f then
8. Let p = PR(f’, f, Ti (T with a lowercase i))
9. If p > UR(0,1) then
10. Undo change (x and f)
11. Else
12. Let x = x’
13. End if
14. Let Ti(T with a lowercase i) + 1 = λTi(λ and T with a lowercase i)
15. End for
Output: The solution x
Si alguien me podría mostrar una marca de base en marcha de este en Java que estaría muy agradecido - Yo sólo parece que no puede averiguarlo!
Estoy trabajando en varias clases utilizando una serie de funciones (que no enumeraré ya que es irrelevante para lo que estoy preguntando). Ya tengo un método smallChange()
y una función fitness
. ¿Existe la posibilidad de que necesite crear varias versiones de dichos métodos? Por ejemplo, tengo algo como:
public static ArrayList<Integer> smallChange(ArrayList<Integer> solution){
//Code is here.
}
¿Podría posiblemente necesitar otra versión de este método que acepte parámetros diferentes? Algo a lo largo de las líneas de:
public static double smallChange(double d){
//Code is here.
}
Todo lo que necesita es una idea básica de cómo se vería cuando está escrito en Java - voy a ser capaz de adaptarlo a mi código una vez que sepa lo que debe ser similar en el sintaxis correcta, pero parece que no puedo superar este obstáculo en particular.
Gracias.
Mick
Aquí, también puede echar un vistazo a mi aplicación (parte de ella). Se mantiene muy genérico. http://stackoverflow.com/a/18657788/1809463 – mike