Пример #1
0
        /// <summary>
        /// Retourne la borne inférieure de la solution par le sismplex
        /// </summary>
        /// <param name="sol">Solution</param>
        /// <returns>Borne inférieure</returns>
        private double evaluateSolutionSimplRelax(CVRPSolution sol)
        {
            double total = getFixedCost(sol);                                                                                   //On calule la distance fixée

            if (sol.freeVars.Count > 1)
            {
                BoundSimplex rbTSPSolver = new BoundSimplex(data, logger, sol);                 //On initilialise le solveur simplex
                total += rbTSPSolver.solve();                                                   //On détermine la borne inférieure des variables libres
            }
            return(total);
        }
Пример #2
0
        private double evaluateSolutionSimplRelax(TSPSolution sol)
        {
            double total = getFixedCost(sol);

            if (sol.freeVars.Count > 1)
            {
                BoundSimplex rbTSPSolver = new BoundSimplex(data, logger, sol);

                total += rbTSPSolver.solve();
            }

            return(total);
        }