com_baeldung_algorithms_SimulatedAnnealingLongRunningUnitTest_java
com.baeldung.algorithms.ga.annealing.SimulatedAnnealing
public static double simulateAnnealing(double startingTemperature, int numberOfIterations, double coolingRate) {         System.out.println("Starting SA with temperature: " + startingTemperature + ", # of iterations: " + numberOfIterations + " and colling rate: " + coolingRate);         double t = startingTemperature;         travel.generateInitialTravel();         double bestDistance = travel.getDistance();         System.out.println("Initial distance of travel: " + bestDistance);         Travel bestSolution = travel;         Travel currentSolution = bestSolution;          for (int i = 0; i < numberOfIterations; i++) {             if (t > 0.1) {                 currentSolution.swapCities();                 double currentDistance = currentSolution.getDistance();                 if (currentDistance < bestDistance) {                     bestDistance = currentDistance;                 } else if (Math.exp((bestDistance - currentDistance) / t) < Math.random()) {                     currentSolution.revertSwap();                 }                 t *= coolingRate;             } else {                 continue;             }             if (i % 100 == 0) {                 System.out.println("Iteration #" + i);             }         }         return bestDistance;

 -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(double): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(double): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.io.PrintStream.println(java.lang.String): void -> java.util.ArrayList.isEmpty(): boolean -> java.util.Collections.shuffle(java.util.List): void -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(double): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.io.PrintStream.println(java.lang.String): void -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.lang.Math.exp(double): double -> java.lang.Math.random(): double -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(int): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.io.PrintStream.println(java.lang.String): void -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.lang.Math.exp(double): double -> java.lang.Math.random(): double -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.lang.Math.exp(double): double -> java.lang.Math.random(): double -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.lang.Math.exp(double): double -> java.lang.Math.random(): double -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.lang.Math.random(): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.set(int,java.lang.Object): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.util.ArrayList.size(): int -> java.util.ArrayList.get(int): java.lang.Object -> java.lang.Math.abs(int): int -> java.lang.Math.abs(int): int -> java.lang.Math.pow(double,double): double -> java.lang.Math.pow(double,double): double -> java.lang.Math.sqrt(double): double -> java.util.ArrayList.size(): int