public void Solve() { // Initializes result reporting this.MySolverResults = new SolverResults(this.MyTEPMOOProblem.MyMOOName); this.MySolverResults.StartSolutionProcess(); // Builds the model try { if (AllPossibleTEPAlternatives == null) { AllPossibleTEPAlternatives = MyScenarioTEPModel.EnumerateAlternativeTransmissionExpansionPlans(); foreach (var alternative in AllPossibleTEPAlternatives) { alternative.EvaluateObjectives(); } } MOOAllPossibleTEPAlternatives = new BaseMultiObjectiveIndividualList(MyTEPMOOProblem); MOOAllPossibleTEPAlternatives.AddRange(AllPossibleTEPAlternatives); // Solves the model ParetoFront = MOOAllPossibleTEPAlternatives.BuildParetoEfficientFrontier(); } catch (Exception e) { this.MySolverResults.StopFailedSolutionProcessWithException(e); return; } // Finalizes result reporting this.MySolverResults.StopSuccessfulSolutionProcess(ParetoFront); }
private void RunBuildParetoFrontier() { MyParetoBuilder.Solve(); TepAlternativesInParetoFront = MyParetoBuilder.ParetoFront; AllPossibleTEPAlternatives = MyParetoBuilder.AllPossibleTEPAlternatives; }