Enum Class StandardObjective
- All Implemented Interfaces:
Serializable, Comparable<StandardObjective>, Constable, ObjectiveFunction
These objectives can be used directly or as templates for custom objectives.
- Version:
- 1.0
- Author:
- ASMF
-
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E>Nested classes/interfaces inherited from interface ObjectiveFunction
ObjectiveFunction.Direction -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionMaximize liquid recovery (for separation processes).Maximize specific production (throughput per unit power).Maximize total feed throughput.Minimize total cooling duty.Minimize total heating duty.Minimize total power consumption (compressors + pumps).Minimize total energy consumption (power + heating + cooling). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ObjectiveFunctionmaximizeManifoldThroughput(String manifoldName) Create an objective for maximizing manifold throughput.static ObjectiveFunctionmaximizePumpEfficiency(String pumpName) Create an objective for maximizing pump efficiency.static ObjectiveFunctionmaximizePumpNPSHMargin(String pumpName) Create an objective for maximizing pump NPSH margin.static ObjectiveFunctionmaximizeStreamFlow(String streamName) Create an objective for a specific stream's flow rate.static ObjectiveFunctionminimizeCompressorPower(String compressorName) Create an objective for a specific compressor's power.static ObjectiveFunctionminimizeFIV_FRMS(String fivAnalyzerName) Create an objective for minimizing FRMS (Flow-induced vibration RMS) on a pipeline.static ObjectiveFunctionminimizeFIV_LOF(String fivAnalyzerName) Create an objective for minimizing FIV LOF (Likelihood of Failure) on a pipeline.static ObjectiveFunctionminimizeManifoldBranchLOF(String manifoldName) Create an objective for minimizing manifold branch LOF.static ObjectiveFunctionminimizeManifoldHeaderFRMS(String manifoldName) Create an objective for minimizing manifold header FRMS.static ObjectiveFunctionminimizeManifoldHeaderLOF(String manifoldName) Create an objective for minimizing manifold header LOF (Likelihood of Failure).static ObjectiveFunctionminimizeManifoldImbalance(String manifoldName) Create an objective for balancing manifold split ratios.static ObjectiveFunctionminimizeManifoldPressureDrop(String manifoldName) Create an objective for minimizing pressure drop across a manifold.static ObjectiveFunctionminimizeManifoldVelocityRatio(String manifoldName) Create an objective for keeping manifold header velocity below erosional limits.static ObjectiveFunctionminimizePipelineVibration(String pipelineName, String method, String supportArrangement) Create a pipeline FIV analyzer objective directly from a pipeline.static ObjectiveFunctionminimizePumpPower(String pumpName) Create an objective for a specific pump's power.static ObjectiveFunctionminimizeStreamFlow(String streamName, String unit) Create an objective for a specific stream's flow rate.static StandardObjectiveReturns the enum constant of this class with the specified name.static StandardObjective[]values()Returns an array containing the constants of this enum class, in the order they are declared.Methods inherited from class Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOfMethods inherited from interface ObjectiveFunction
evaluate, evaluateNormalized, getDirection, getName, getUnit
-
Enum Constant Details
-
MAXIMIZE_THROUGHPUT
Maximize total feed throughput. -
MINIMIZE_POWER
Minimize total power consumption (compressors + pumps). -
MINIMIZE_HEATING_DUTY
Minimize total heating duty. -
MINIMIZE_COOLING_DUTY
Minimize total cooling duty. -
MINIMIZE_TOTAL_ENERGY
Minimize total energy consumption (power + heating + cooling). -
MAXIMIZE_SPECIFIC_PRODUCTION
Maximize specific production (throughput per unit power). -
MAXIMIZE_LIQUID_RECOVERY
Maximize liquid recovery (for separation processes).
-
-
Constructor Details
-
StandardObjective
private StandardObjective()
-
-
Method Details
-
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
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 nameNullPointerException- if the argument is null
-
maximizeStreamFlow
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
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
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
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
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
Create an objective for a specific stream's flow rate.- Parameters:
streamName- name of the stream to minimizeunit- flow rate unit (e.g., "kg/hr", "Sm3/hr")- Returns:
- objective function
- Throws:
IllegalArgumentException- if streamName is null or empty
-
minimizeFIV_LOF
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
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 pipelinemethod- "LOF" for Likelihood of Failure, "FRMS" for RMS methodsupportArrangement- for LOF: "Stiff", "Medium stiff", "Medium", or other- Returns:
- objective function
- Throws:
IllegalArgumentException- if pipelineName is null or empty
-
maximizeManifoldThroughput
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
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
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
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
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
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
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
-