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