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

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

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

            return(vndProcedure.Solve(initial, neighborhoods, expCondition, GetCost, rdObj));
        }
        public List <RouteSet> BuildSolutionPool(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)
        {
            VariableNeighborhoodDescentProcedure <RouteSet> vndProcedure = new VariableNeighborhoodDescentProcedure <RouteSet>();

            return(BuildSolutionPool(alphaStep, alphaPool, overloadFactor, shakings, expCondition, rdObj, neighborhoods, shakingProcedures, vndProcedure, new NullParameters()));
        }
        public RouteSet ShakingPenalization(RouteSet initial, int reStarts, Exploration expCondition, Random rdObj, double overloadFactor,
                                            List <Func <RouteSet, Exploration, Random, RouteSet> > neighborhoods,
                                            List <Func <RouteSet, Random, RouteSet> > shaking)
        {
            VariableNeighborhoodDescentProcedure <RouteSet> vndProcedure = new VariableNeighborhoodDescentProcedure <RouteSet>();

            return(ShakingPenalization(initial, reStarts, expCondition, rdObj, overloadFactor,
                                       neighborhoods, shaking, vndProcedure, new NullParameters()));
        }
        public RouteSet Solve(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)
        {
            VariableNeighborhoodDescentProcedure <RouteSet> procedure = new VariableNeighborhoodDescentProcedure <RouteSet>();

            return(Solve(alphaStep, alphaPool, overloadFactor, shakings, expCondition, rdObj, neighborhoods, shakingProcedures, gamsFolderPath, procedure, new NullParameters()));
        }
Exemplo n.º 7
0
        public RouteSet HeuristicCGSolve(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)
        {
            VariableNeighborhoodDescentProcedure <RouteSet> procedure = new VariableNeighborhoodDescentProcedure <RouteSet>();

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