public RouteSet ParallelRdVNDMultiStartPenalization(List <RouteSet> initialPool, Exploration expCondition, Random rdObj, double overloadFactor,
                                                            List <Func <RouteSet, Exploration, Random, RouteSet> > neighborhoods)
        {
            RandomVariableNeighborhoodDescentProcedure <RouteSet> vndProcedure = new RandomVariableNeighborhoodDescentProcedure <RouteSet>();

            return(ParallelMultiStartPenalization(expCondition, rdObj, overloadFactor, neighborhoods, vndProcedure, new NullParameters(), initialPool));
        }
        public RouteSet RdVNDMutiStartParallelShakingPenalization(List <RouteSet> initialPool, int reStarts, Exploration expCondition, Random rdObj, double overloadFactor,
                                                                  List <Func <RouteSet, Exploration, Random, RouteSet> > neighborhoods,
                                                                  List <Func <RouteSet, Random, RouteSet> > shaking)
        {
            RandomVariableNeighborhoodDescentProcedure <RouteSet> vndProcedure = new RandomVariableNeighborhoodDescentProcedure <RouteSet>();

            return(MultiStartParallelShakingPenalization(reStarts, expCondition, rdObj, overloadFactor, neighborhoods, shaking, vndProcedure, new NullParameters(), initialPool, false));
        }
        public RouteSet RdVNDBasicPenalization(RouteSet initial, Exploration expCondition, Random rdObj, double overloadFactor,
                                               List <Func <RouteSet, Exploration, Random, RouteSet> > neighborhoods)
        {
            OverloadFactor = overloadFactor;
            RandomVariableNeighborhoodDescentProcedure <RouteSet> vndProcedure = new RandomVariableNeighborhoodDescentProcedure <RouteSet>();

            return(vndProcedure.Solve(initial, neighborhoods, expCondition, GetCost, rdObj));
        }
        public List <RouteSet> RdVNDBuildSolutionPool(double alphaStep, int alphaPool, double overloadFactor, int shakings,
                                                      Exploration expCondition, Random rdObj,
                                                      List <Func <RouteSet, Exploration, Random, RouteSet> > neighborhoods,
                                                      List <Func <RouteSet, Random, RouteSet> > shakingProcedures)
        {
            RandomVariableNeighborhoodDescentProcedure <RouteSet> vndProcedure = new RandomVariableNeighborhoodDescentProcedure <RouteSet>();

            return(BuildSolutionPool(alphaStep, alphaPool, overloadFactor, shakings, expCondition, rdObj, neighborhoods, shakingProcedures, vndProcedure, new NullParameters()));
        }
        public RouteSet RdVNDSolve(double alphaStep, int alphaPool, double overloadFactor, int shakings,
                                   Exploration expCondition, Random rdObj,
                                   List <Func <RouteSet, Exploration, Random, RouteSet> > neighborhoods,
                                   List <Func <RouteSet, Random, RouteSet> > shakingProcedures,
                                   string gamsFolderPath)
        {
            RandomVariableNeighborhoodDescentProcedure <RouteSet> procedure = new RandomVariableNeighborhoodDescentProcedure <RouteSet>();

            return(Solve(alphaStep, alphaPool, overloadFactor, shakings, expCondition, rdObj, neighborhoods, shakingProcedures, gamsFolderPath, procedure, new NullParameters()));
        }
Example #6
0
        public RouteSet RdVNDHeuristicCGSolve(List <RouteSet> pool, Exploration expCondition, double overloadFactor, Random rdObj,
                                              List <Func <RouteSet, Exploration, Random, RouteSet> > neighborhoods,
                                              List <Func <RouteSet, Random, RouteSet> > shaking,
                                              string folderPath, int maxIterations,
                                              bool completePool, bool dualInfo)
        {
            RandomVariableNeighborhoodDescentProcedure <RouteSet> procedure = new RandomVariableNeighborhoodDescentProcedure <RouteSet>();

            return(HeuristicCGSolve(pool, expCondition, overloadFactor, rdObj, neighborhoods, shaking, procedure, new NullParameters(), folderPath, maxIterations, dualInfo, completePool, false));
        }