Show / Hide Table of Contents

    Class Objective

    Represents an objective function.

    Inheritance
    System.Object
    Objective
    Inherited Members
    System.Object.ToString()
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    Namespace: OPTANO.Modeling.Optimization
    Assembly: Optimization.dll
    Syntax
    [Serializable]
    public class Objective : IHaveName

    Constructors

    Objective(Expression, String, ObjectiveSense, Int32, Double, Nullable<Double>, Nullable<Double>)

    Initializes a new instance of the Objective class.

    Declaration
    public Objective(Expression expression, string name = "", ObjectiveSense sense = ObjectiveSense.Minimize, int priorityLevel = 0, double weight = 1, double? relativeTolerance = default(double? ), double? absoluteTolerance = default(double? ))
    Parameters
    Type Name Description
    Expression expression

    The expression.

    System.String name

    The name.

    ObjectiveSense sense

    The sense.

    System.Int32 priorityLevel

    The priority Level. The higher the level, the earlier this objective will be considered during hierarchical optimization.

    All objectives with the same level will be combined, using the weighted average.

    System.Double weight

    The weight for computing the weighted average.

    System.Nullable<System.Double> relativeTolerance

    The relative Tolerance.

    This tolerance is used during multi-objective optimization when the model becomes infeasible due to numerical problems in the second (or later) priority stages. The quality conservation constraint for this objective will be relaxed by the maximum of absoluteTolerance and |z| * relativeTolerance in order to (hopefully) restore feasibility.

    System.Nullable<System.Double> absoluteTolerance

    The absolute Tolerance.

    This tolerance is used during multi-objective optimization when the model becomes infeasible due to numerical problems in the second (or later) priority stages. The quality conservation constraint for this objective will be relaxed by the maximum of absoluteTolerance and |z| * relativeTolerance in order to (hopefully) restore feasibility.

    Properties

    AbsoluteTolerance

    Gets or sets the absolute tolerance during hierarchical optimization.

    Tolerance is used during multi-objective optimization when the model becomes infeasible due to numerical problems in the second (or later) priority stages. The quality conservation constraint for this objective will be relaxed by AbsoluteTolerance in order to (hopefully) restore feasibility.

    Declaration
    public double? AbsoluteTolerance { get; set; }
    Property Value
    Type Description
    System.Nullable<System.Double>

    Can return NULL.

    Exceptions
    Type Condition
    System.ArgumentException

    Requires value >= 0.

    Expression

    Gets or sets the Expression of this objective.

    Declaration
    [DataMember]
    public Expression Expression { get; set; }
    Property Value
    Type Description
    Expression

    IsLinear

    Returns true iff the Expression is not null and IsLinear.

    Declaration
    public bool IsLinear { get; }
    Property Value
    Type Description
    System.Boolean

    Name

    Gets the unique name of this objective.

    Declaration
    [DataMember]
    public string Name { get; set; }
    Property Value
    Type Description
    System.String

    PriorityLevel

    Gets or sets the priority level for multiobjective optimization.

    All Objectives with the same PriorityLevel are grouped together and combined, using the specified Weight.

    During the solution process, the Objectives are ordered descending by PriorityLevel. In each iteration, the current Objective z (which can be a combination of several Objectives in a priority level) is optimized. Then, a Constraint is added to the Model which ensures that z >= z* for all further optimizations of Objectives in lower PriorityLevels.

    Declaration
    public int PriorityLevel { get; set; }
    Property Value
    Type Description
    System.Int32

    RelativeTolerance

    Gets or sets the relative tolerance during hierarchical optimization.

    Tolerance is used during multi-objective optimization when the model becomes infeasible due to numerical problems in the second (or later) priority stages. The quality conservation constraint for this objective will be relaxed by RelativeTolerance * |optValue| in order to (hopefully) restore feasibility.

    Declaration
    public double? RelativeTolerance { get; set; }
    Property Value
    Type Description
    System.Nullable<System.Double>

    Can return NULL.

    Sense

    Gets or sets the sense of this objective.

    Declaration
    [DataMember]
    public ObjectiveSense Sense { get; set; }
    Property Value
    Type Description
    ObjectiveSense

    Weight

    Gets or sets the weight for this objective for multiobjective optimization.

    During a multiobjective optimization, all Objectives in the same PriorityLevel are summed up with respect to their Weight.

    I.e. z' = (w1 * z1 + w2 * z2 + ... wk * zk).

    Declaration
    public double Weight { get; set; }
    Property Value
    Type Description
    System.Double

    Extension Methods

    ReflectionHelper.GetFieldValue(Object, String)
    ReflectionHelper.SetFieldValue(Object, String, Object)
    ExtensionMethods.Clone<T>(T)
    ExtensionMethods.ThrowIfArgumentIsNull<T>(T, String)
    Back to top Copyright © OPTANO GmbH generated with DocFX
    Privacy Policy | Impressum – Legal Notice