Class BatchStudy.BatchStudyResult

java.lang.Object
neqsim.process.util.optimization.BatchStudy.BatchStudyResult
All Implemented Interfaces:
Serializable
Enclosing class:
BatchStudy

public static class BatchStudy.BatchStudyResult extends Object implements Serializable
Results of a batch study.
Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • studyName

      private final String studyName
    • totalCases

      private final int totalCases
    • results

      private final List<BatchStudy.CaseResult> results
    • startTime

      private Instant startTime
    • endTime

      private Instant endTime
    • successCount

      private int successCount
    • failureCount

      private int failureCount
  • Constructor Details

    • BatchStudyResult

      BatchStudyResult(String studyName, int totalCases)
  • Method Details

    • addResult

      void addResult(BatchStudy.CaseResult result)
    • complete

      void complete()
    • getSuccessfulResults

      public List<BatchStudy.CaseResult> getSuccessfulResults()
      Gets all successful results.
      Returns:
      list of successful results
    • getBestCase

      public BatchStudy.CaseResult getBestCase(String objectiveName)
      Gets the best case for a given objective.
      Parameters:
      objectiveName - the objective to optimize
      Returns:
      the best case result
    • exportToCSV

      public void exportToCSV(String filePath) throws IOException
      Exports results to CSV.
      Parameters:
      filePath - output file path
      Throws:
      IOException - if write fails
    • exportToJSON

      public void exportToJSON(String filePath) throws IOException
      Exports results to JSON format.
      Parameters:
      filePath - output file path
      Throws:
      IOException - if write fails
    • toJson

      public String toJson()
      Converts results to a JSON string.
      Returns:
      JSON representation
    • getParetoFront

      public List<BatchStudy.CaseResult> getParetoFront(String objective1, String objective2)
      Gets the Pareto-optimal front for two objectives.

      A case is Pareto-optimal if no other case is better in both objectives.

      Parameters:
      objective1 - first objective name (to minimize)
      objective2 - second objective name (to minimize)
      Returns:
      list of Pareto-optimal cases
    • getSummary

      public String getSummary()
      Gets study summary.
      Returns:
      formatted summary
    • getTotalCases

      public int getTotalCases()
    • getSuccessCount

      public int getSuccessCount()
    • getFailureCount

      public int getFailureCount()
    • getAllResults

      public List<BatchStudy.CaseResult> getAllResults()