Class LinearConstraint

  • All Implemented Interfaces:
    java.io.Serializable

    public class LinearConstraint
    extends java.lang.Object
    implements java.io.Serializable
    A linear constraint for a linear optimization problem.

    A linear constraint has one of the forms:

    • c1x1 + ... cnxn = v
    • c1x1 + ... cnxn <= v
    • c1x1 + ... cnxn >= v
    • l1x1 + ... lnxn + lcst = r1x1 + ... rnxn + rcst
    • l1x1 + ... lnxn + lcst <= r1x1 + ... rnxn + rcst
    • l1x1 + ... lnxn + lcst >= r1x1 + ... rnxn + rcst
    The ci, li or ri are the coefficients of the constraints, the xi are the coordinates of the current point and v is the value of the constraint.

    Since:
    2.0
    See Also:
    Serialized Form
    • Constructor Detail

      • LinearConstraint

        public LinearConstraint​(double[] coefficients,
                                Relationship relationship,
                                double value)
        Build a constraint involving a single linear equation.

        A linear constraint with a single linear equation has one of the forms:

        • c1x1 + ... cnxn = v
        • c1x1 + ... cnxn <= v
        • c1x1 + ... cnxn >= v

        Parameters:
        coefficients - The coefficients of the constraint (left hand side)
        relationship - The type of (in)equality used in the constraint
        value - The value of the constraint (right hand side)
      • LinearConstraint

        public LinearConstraint​(RealVector coefficients,
                                Relationship relationship,
                                double value)
        Build a constraint involving a single linear equation.

        A linear constraint with a single linear equation has one of the forms:

        • c1x1 + ... cnxn = v
        • c1x1 + ... cnxn <= v
        • c1x1 + ... cnxn >= v

        Parameters:
        coefficients - The coefficients of the constraint (left hand side)
        relationship - The type of (in)equality used in the constraint
        value - The value of the constraint (right hand side)
      • LinearConstraint

        public LinearConstraint​(double[] lhsCoefficients,
                                double lhsConstant,
                                Relationship relationship,
                                double[] rhsCoefficients,
                                double rhsConstant)
        Build a constraint involving two linear equations.

        A linear constraint with two linear equation has one of the forms:

        • l1x1 + ... lnxn + lcst = r1x1 + ... rnxn + rcst
        • l1x1 + ... lnxn + lcst <= r1x1 + ... rnxn + rcst
        • l1x1 + ... lnxn + lcst >= r1x1 + ... rnxn + rcst

        Parameters:
        lhsCoefficients - The coefficients of the linear expression on the left hand side of the constraint
        lhsConstant - The constant term of the linear expression on the left hand side of the constraint
        relationship - The type of (in)equality used in the constraint
        rhsCoefficients - The coefficients of the linear expression on the right hand side of the constraint
        rhsConstant - The constant term of the linear expression on the right hand side of the constraint
      • LinearConstraint

        public LinearConstraint​(RealVector lhsCoefficients,
                                double lhsConstant,
                                Relationship relationship,
                                RealVector rhsCoefficients,
                                double rhsConstant)
        Build a constraint involving two linear equations.

        A linear constraint with two linear equation has one of the forms:

        • l1x1 + ... lnxn + lcst = r1x1 + ... rnxn + rcst
        • l1x1 + ... lnxn + lcst <= r1x1 + ... rnxn + rcst
        • l1x1 + ... lnxn + lcst >= r1x1 + ... rnxn + rcst

        Parameters:
        lhsCoefficients - The coefficients of the linear expression on the left hand side of the constraint
        lhsConstant - The constant term of the linear expression on the left hand side of the constraint
        relationship - The type of (in)equality used in the constraint
        rhsCoefficients - The coefficients of the linear expression on the right hand side of the constraint
        rhsConstant - The constant term of the linear expression on the right hand side of the constraint
    • Method Detail

      • getCoefficients

        public RealVector getCoefficients()
        Get the coefficients of the constraint (left hand side).
        Returns:
        coefficients of the constraint (left hand side)
      • getRelationship

        public Relationship getRelationship()
        Get the relationship between left and right hand sides.
        Returns:
        relationship between left and right hand sides
      • getValue

        public double getValue()
        Get the value of the constraint (right hand side).
        Returns:
        value of the constraint (right hand side)
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object