public void HorizintalFirstOrderGreedy() { SCPFirstOrderGreedy scpG = new SCPFirstOrderGreedy(); double cost = scpG.Execute(scpParser.Problem, false); TimeSpan elapsed = scpG.Elapsed; bool validity = SolutionValidity(); Assert.AreEqual(validity, true); }
public void VerticalFirstOrderGreedy() { SCPFirstOrderGreedy scpFOG = new SCPFirstOrderGreedy(); double cost = scpFOG.Execute(scpParser.Problem, true); TimeSpan elapsed = scpFOG.Elapsed; bool validity = SolutionValidity(); Assert.AreEqual(validity, true); Debug.Print("Cost:" + cost); }
public void DCFOG() { IConstructiveHeuristic fog = new SCPFirstOrderGreedy(); double cost = fog.Execute(scpParser.Problem); DestructiveConstructive dc = new DestructiveConstructive(); cost = dc.Execute(fog.Problem); ((SCP)scpParser.Problem).Solution = dc.OptimumSultion; TimeSpan elapsed = dc.Elapsed; bool validity = SolutionValidity(); Assert.AreEqual(validity, true); }
public void FOGSmartLocalSearch() { IConstructiveHeuristic grasp = new SCPFirstOrderGreedy(); double cost = grasp.Execute(scpParser.Problem); SmartLocalSearch scpLS = new SmartLocalSearch(); cost = scpLS.Execute(grasp.Problem); ((SCP)scpParser.Problem).Solution = scpLS.OptimumSultion; TimeSpan elapsed = scpLS.Elapsed; bool validity = SolutionValidity(); Assert.AreEqual(validity, true); }
public void BGreedySmartLocalSearch() { SCPFirstOrderGreedy scpFOG = new SCPFirstOrderGreedy(); double cost = scpFOG.Execute(scpParser.Problem); SmartLocalSearch scpBS = new SmartLocalSearch(); cost = scpBS.Execute(scpFOG.Problem); ((SCP)scpParser.Problem).Solution = scpBS.OptimumSultion; TimeSpan elapsed = scpBS.Elapsed; bool validity = SolutionValidity(); Assert.AreEqual(validity, true); }
public void Delta() { IConstructiveHeuristic fog = new SCPFirstOrderGreedy(); double cost = fog.Execute(scpParser.Problem); double delta = ((SCP)scpParser.Problem).Solution.Delta(((SCP)scpParser.Problem).Solution.Sets[1]); Assert.AreEqual(delta, 0.0); List <SCPSet> test = ((SCP)scpParser.Problem).Solution.Sets.Skip(3).ToList(); delta = ((SCP)scpParser.Problem).Solution.Delta(test); Assert.AreEqual(delta, 2); delta = ((SCP)scpParser.Problem).Solution.Delta(((SCP)scpParser.Problem).Solution.Sets); Assert.AreEqual(delta, 0.0); }
public void Benchmark2() { SCPParser parser = new SCPParser(); files.ForEach(file => { IOData.ReadFileToMatrix(parser, file); //IHeuristic h1 = new SCPGRASP(0.9, 1e-9); IHeuristic h1 = new SCPFirstOrderGreedy(); double cost = h1.Execute(parser.Problem); DestructiveConstructive dc = new DestructiveConstructive(); cost = dc.Execute(h1.Problem); ((SCP)scpParser.Problem).Solution = dc.OptimumSultion; TimeSpan elapsed = dc.Elapsed; Monitoring.Instance.Write("DCFOG " + file.Split('\\')[file.Split('\\').Count() - 1] + " " + cost.ToString() + " " + dc.Elapsed.ToString()); }); }