/** * */ package vroom.optimization.online.jmsa.vrp; import vroom.common.modeling.dataModel.IRoute; import vroom.optimization.online.jmsa.IActualRequest; import vroom.optimization.online.jmsa.IScenario; import vroom.optimization.online.jmsa.components.ComponentManager; import vroom.optimization.online.jmsa.components.RequestValidatorBase; /** * Creation date: Mar 4, 2010 - 11:25:00 AM<br/> * <code>VRPRequestValidatorBase</code> is a base implementation of {@link RequestValidatorBase} for VRP problems * * @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 VRPRequestValidatorBase extends RequestValidatorBase { /** * Creates a new <code>VRPRequestValidatorBase</code> * * @param componentManager */ public VRPRequestValidatorBase(ComponentManager<?, ?> componentManager) { super(componentManager); } @Override public boolean isScenarioCompatible(IScenario scenario, IActualRequest request) { scenario.acquireLock(); for (IRoute<?> r : (VRPScenario) scenario) { if (r.canAccommodateRequest(((VRPActualRequest) request).getWrappedObject())) { return true; } } scenario.releaseLock(); return false; } }