/** * */ package vroom.common.heuristics.alns; import vroom.common.utilities.StatCollector.Label; import vroom.common.utilities.optimization.ISolution; import vroom.common.utilities.optimization.SAAcceptanceCriterion; /** * <code>ALNSSALogger</code> is a specialization of {@link ALNSLogger} that additionally logs the state of the * acceptance criterion, assumed to be a {@link SAAcceptanceCriterion} * <p> * Creation date: May 30, 2011 - 8:44:13 AM * * @author Victor Pillac, <a href="http://uniandes.edu.co">Universidad de Los Andes</a>-<a * href="http://copa.uniandes.edu.co">Copa</a> <a href="http://www.emn.fr">Ecole des Mines de Nantes</a>-<a * href="http://www.irccyn.ec-nantes.fr/irccyn/d/en/equipes/Slp">SLP</a> * @version 1.0 */ public class ALNSSALogger<S extends ISolution> extends ALNSLogger<S> { /** * Creates a new <code>ALNSSALogger</code> * * @param destDir * the destination dir for log files */ public ALNSSALogger(String destDir) { super(destDir); } @Override protected Object[] getAdditionalSolStats(ALNSCallbackEvent<S> e, S bestSol, S currentSol, S tmpSol) { return new Object[] { ((SAAcceptanceCriterion) e.getSource().getAcceptanceCriterion()).getTemperature() }; } @Override protected Label<?>[] getAdditionalSolLabels(AdaptiveLargeNeighborhoodSearch<?> alns) { return new Label<?>[] { new Label<Double>("sa_T", Double.class) }; } }