import domain.annealing.SimulatedAnnealing; import domain.ant_colony.AntColonyOptimization; import domain.binary.algorithm.AbstractGeneticAlgorithm; import domain.binary.algorithm.AlgorithmEngine; import domain.binary.algorithm.CustomGeneticAlgorithm; import domain.binary.algorithm.SimpleGeneticAlgorithm; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("Run algorithm:"); System.out.println("1 - Simulated Annealing"); System.out.println("2 - Simple Genetic Algorithm"); System.out.println("3 - Ant Colony"); int decision = in.nextInt(); switch (decision) { case 1: System.out.println("Optimized distance for travel: " + SimulatedAnnealing.simulateAnnealing(10, 10000, 0.9995)); break; case 2: AbstractGeneticAlgorithm ga = new SimpleGeneticAlgorithm( 15, 0.5, 0.025, 5, true, "1011000100000100010000100000100111001000000100000100000000001111" ); AlgorithmEngine.start(ga); break; case 3: AntColonyOptimization antColony = new AntColonyOptimization(21); antColony.startAntOptimization(); break; default: System.out.println("Unknown option"); break; } in.close(); } }