/** * */ package vroom.trsp.optimization.alns; import java.util.Set; import vroom.common.heuristics.alns.IDestroy; import vroom.common.heuristics.alns.IDestroy.IDestroyResult; import vroom.trsp.datamodel.TRSPSolution; /** * <code>TRSPDestroyResult</code> is an implementation of {@link IDestroyResult} that stores the results of a * {@link IDestroy#destroy(vroom.common.utilities.optimization.ISolution, vroom.common.utilities.optimization.IParameters, int) * destroy} operation in the form of a collection of removed requests * <p> * Creation date: May 13, 2011 - 1:35:47 PM * * @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 TRSPDestroyResult implements IDestroyResult<TRSPSolution> { private final Set<Integer> mRemovedRequests; /** * Creates a new <code>TRSPDestroyResult</code> * * @param remReq * the requests that were removed during the destroy operation */ public TRSPDestroyResult(Set<Integer> remReq) { mRemovedRequests = remReq; } @Override public boolean isNull() { return mRemovedRequests != null && !mRemovedRequests.isEmpty(); } /** * Returns the list of removed requests * * @return the list of removed requests */ public Set<Integer> getRemovedRequests() { return mRemovedRequests; } @Override public String toString() { return mRemovedRequests != null ? vroom.common.utilities.Utilities.toShortString(mRemovedRequests) : "[]"; } }