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));
        }