Enum Class StandardObjective

java.lang.Object
java.lang.Enum<StandardObjective>
neqsim.process.util.optimizer.StandardObjective
All Implemented Interfaces:
Serializable, Comparable<StandardObjective>, Constable, ObjectiveFunction

public enum StandardObjective extends Enum<StandardObjective> implements ObjectiveFunction
Standard optimization objectives commonly used in process optimization.

These objectives can be used directly or as templates for custom objectives.

Version:
1.0
Author:
ASMF
  • Enum Constant Details

    • MAXIMIZE_THROUGHPUT

      public static final StandardObjective MAXIMIZE_THROUGHPUT
      Maximize total feed throughput.
    • MINIMIZE_POWER

      public static final StandardObjective MINIMIZE_POWER
      Minimize total power consumption (compressors + pumps).
    • MINIMIZE_HEATING_DUTY

      public static final StandardObjective MINIMIZE_HEATING_DUTY
      Minimize total heating duty.
    • MINIMIZE_COOLING_DUTY

      public static final StandardObjective MINIMIZE_COOLING_DUTY
      Minimize total cooling duty.
    • MINIMIZE_TOTAL_ENERGY

      public static final StandardObjective MINIMIZE_TOTAL_ENERGY
      Minimize total energy consumption (power + heating + cooling).
    • MAXIMIZE_SPECIFIC_PRODUCTION

      public static final StandardObjective MAXIMIZE_SPECIFIC_PRODUCTION
      Maximize specific production (throughput per unit power).
    • MAXIMIZE_LIQUID_RECOVERY

      public static final StandardObjective MAXIMIZE_LIQUID_RECOVERY
      Maximize liquid recovery (for separation processes).
  • Constructor Details

    • StandardObjective

      private StandardObjective()
  • Method Details

    • values

      public static StandardObjective[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static StandardObjective valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • maximizeStreamFlow

      public static ObjectiveFunction maximizeStreamFlow(String streamName)
      Create an objective for a specific stream's flow rate.
      Parameters:
      streamName - name of the stream to maximize
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if streamName is null or empty
    • minimizeCompressorPower

      public static ObjectiveFunction minimizeCompressorPower(String compressorName)
      Create an objective for a specific compressor's power.
      Parameters:
      compressorName - name of the compressor
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if compressorName is null or empty
    • minimizePumpPower

      public static ObjectiveFunction minimizePumpPower(String pumpName)
      Create an objective for a specific pump's power.
      Parameters:
      pumpName - name of the pump
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if pumpName is null or empty
    • maximizePumpEfficiency

      public static ObjectiveFunction maximizePumpEfficiency(String pumpName)
      Create an objective for maximizing pump efficiency.
      Parameters:
      pumpName - name of the pump
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if pumpName is null or empty
    • maximizePumpNPSHMargin

      public static ObjectiveFunction maximizePumpNPSHMargin(String pumpName)
      Create an objective for maximizing pump NPSH margin.

      NPSH margin = NPSHa / NPSHr. Higher values indicate more cavitation safety.

      Parameters:
      pumpName - name of the pump
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if pumpName is null or empty
    • minimizeStreamFlow

      public static ObjectiveFunction minimizeStreamFlow(String streamName, String unit)
      Create an objective for a specific stream's flow rate.
      Parameters:
      streamName - name of the stream to minimize
      unit - flow rate unit (e.g., "kg/hr", "Sm3/hr")
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if streamName is null or empty
    • minimizeFIV_LOF

      public static ObjectiveFunction minimizeFIV_LOF(String fivAnalyzerName)
      Create an objective for minimizing FIV LOF (Likelihood of Failure) on a pipeline.

      LOF values: <0.5 (low risk), 0.5-1.0 (medium risk), >1.0 (high risk). Minimizing LOF reduces vibration-induced fatigue failure risk.

      Parameters:
      fivAnalyzerName - name of the FlowInducedVibrationAnalyser measurement device
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if fivAnalyzerName is null or empty
    • minimizeFIV_FRMS

      public static ObjectiveFunction minimizeFIV_FRMS(String fivAnalyzerName)
      Create an objective for minimizing FRMS (Flow-induced vibration RMS) on a pipeline.

      FRMS measures vibration intensity. Lower values indicate safer operation.

      Parameters:
      fivAnalyzerName - name of the FlowInducedVibrationAnalyser measurement device
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if fivAnalyzerName is null or empty
    • minimizePipelineVibration

      public static ObjectiveFunction minimizePipelineVibration(String pipelineName, String method, String supportArrangement)
      Create a pipeline FIV analyzer objective directly from a pipeline.

      This creates a temporary FlowInducedVibrationAnalyser and evaluates it. For repeated optimization, prefer adding the analyzer to the process and using minimizeFIV_LOF().

      Parameters:
      pipelineName - name of the PipeBeggsAndBrills pipeline
      method - "LOF" for Likelihood of Failure, "FRMS" for RMS method
      supportArrangement - for LOF: "Stiff", "Medium stiff", "Medium", or other
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if pipelineName is null or empty
    • maximizeManifoldThroughput

      public static ObjectiveFunction maximizeManifoldThroughput(String manifoldName)
      Create an objective for maximizing manifold throughput.
      Parameters:
      manifoldName - name of the manifold
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if manifoldName is null or empty
    • minimizeManifoldPressureDrop

      public static ObjectiveFunction minimizeManifoldPressureDrop(String manifoldName)
      Create an objective for minimizing pressure drop across a manifold.

      Calculates the maximum pressure drop from any inlet to the mixed outlet.

      Parameters:
      manifoldName - name of the manifold
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if manifoldName is null or empty
    • minimizeManifoldImbalance

      public static ObjectiveFunction minimizeManifoldImbalance(String manifoldName)
      Create an objective for balancing manifold split ratios.

      Returns the standard deviation of split ratios. Lower values indicate more balanced distribution.

      Parameters:
      manifoldName - name of the manifold
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if manifoldName is null or empty
    • minimizeManifoldHeaderLOF

      public static ObjectiveFunction minimizeManifoldHeaderLOF(String manifoldName)
      Create an objective for minimizing manifold header LOF (Likelihood of Failure).

      LOF values: <0.5 (low risk), 0.5-1.0 (medium risk), >1.0 (high risk). This uses the manifold's built-in FIV calculations based on header geometry and flow.

      Parameters:
      manifoldName - name of the manifold
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if manifoldName is null or empty
    • minimizeManifoldBranchLOF

      public static ObjectiveFunction minimizeManifoldBranchLOF(String manifoldName)
      Create an objective for minimizing manifold branch LOF.
      Parameters:
      manifoldName - name of the manifold
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if manifoldName is null or empty
    • minimizeManifoldHeaderFRMS

      public static ObjectiveFunction minimizeManifoldHeaderFRMS(String manifoldName)
      Create an objective for minimizing manifold header FRMS.

      FRMS measures vibration intensity. Lower values indicate safer operation.

      Parameters:
      manifoldName - name of the manifold
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if manifoldName is null or empty
    • minimizeManifoldVelocityRatio

      public static ObjectiveFunction minimizeManifoldVelocityRatio(String manifoldName)
      Create an objective for keeping manifold header velocity below erosional limits.

      Returns the ratio of header velocity to erosional velocity. Values >0.8 indicate risk.

      Parameters:
      manifoldName - name of the manifold
      Returns:
      objective function
      Throws:
      IllegalArgumentException - if manifoldName is null or empty