Pravesh Jain
Pravesh Jain

Reputation: 4288

Optaplanner : View intermediate score

Is there a way keep track of the score from time to time while the solver is running?

I currently instantiate my solver as follow

SolverFactory solverFactory = SolverFactory.createFromXmlResource("solver/SolverConfig.xml");
Solver solver = solverFactory.buildSolver();
solver.addEventListener(new SolverEventListener() {
    @Override
    public void bestSolutionChanged(BestSolutionChangedEvent event) {
        logger.info("New best score : " + event.getNewBestScore().toShortString());
    }
});
solver.solve(planningSolution);

This way I am able to see the logs every time the best score changes.

However, I would like to view the score after every 100 steps or after every 10 seconds. Is that possible?

Upvotes: 1

Views: 68

Answers (1)

Geoffrey De Smet
Geoffrey De Smet

Reputation: 27312

If you turn on DEBUG (or TRACE) logging, you'll see it. If you want to listen to it in java, that's not supported in the public API, but there's PhaseLifecycleListener in the internal implementation that has no backward compatibility guarantees...

Upvotes: 2

Related Questions