Once I introduce phasing, it will be possible to configure 2 or more sequential solver algorithms in planner, for example: Solver algorithm 1 = First Fit Decreasing (for initialization) Solver algorithm 2 = Simulated Annealing (after initialization) Solver algorithm 3 = Tabu search (when things get really hard)
I see 2 ways of naming these concepts. What do you consider better? Or do you see a better alternative? Alternative 1: A Solver has Phases There is only 1 Solver, with the .solve() method, which is external API. A Solver is constructed from a SolverConfiguration. The Solver has n Phases. A Phase is a solver algorithm implementation (for example tabu search). A Phase also has a .solve() method, but that's internal API. Alternative 2: A Planner has Solvers. There is only 1 Planner, with the .solve() method, which is external API. A Planner is constructed from a PlannerConfiguration. The Planner has n Solvers. A Solver is a solver algorithm implementation (for example tabu search). A Solver also has a .solve() method, but that's internal API. -- With kind regards, Geoffrey De Smet _______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev