Class LinearConstraint
java.lang.Object
org.apache.commons.math3.optim.linear.LinearConstraint
- All Implemented Interfaces:
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
- Since:
- 2.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final RealVectorCoefficients of the constraint (left hand side).private final RelationshipRelationship between left and right hand sides (=, <=, >=).private static final longSerializable version identifier.private final doubleValue of the constraint (right hand side). -
Constructor Summary
ConstructorsConstructorDescriptionLinearConstraint(double[] lhsCoefficients, double lhsConstant, Relationship relationship, double[] rhsCoefficients, double rhsConstant) Build a constraint involving two linear equations.LinearConstraint(double[] coefficients, Relationship relationship, double value) Build a constraint involving a single linear equation.LinearConstraint(RealVector lhsCoefficients, double lhsConstant, Relationship relationship, RealVector rhsCoefficients, double rhsConstant) Build a constraint involving two linear equations.LinearConstraint(RealVector coefficients, Relationship relationship, double value) Build a constraint involving a single linear equation. -
Method Summary
Modifier and TypeMethodDescriptionbooleanGets the coefficients of the constraint (left hand side).Gets the relationship between left and right hand sides.doublegetValue()Gets the value of the constraint (right hand side).inthashCode()private voidDeserialize the instance.private voidSerialize the instance.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerializable version identifier.- See Also:
-
coefficients
Coefficients of the constraint (left hand side). -
relationship
Relationship between left and right hand sides (=, <=, >=). -
value
private final double valueValue of the constraint (right hand side).
-
-
Constructor Details
-
LinearConstraint
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 constraintvalue- The value of the constraint (right hand side)
-
LinearConstraint
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 constraintvalue- 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 constraintlhsConstant- The constant term of the linear expression on the left hand side of the constraintrelationship- The type of (in)equality used in the constraintrhsCoefficients- The coefficients of the linear expression on the right hand side of the constraintrhsConstant- 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 constraintlhsConstant- The constant term of the linear expression on the left hand side of the constraintrelationship- The type of (in)equality used in the constraintrhsCoefficients- The coefficients of the linear expression on the right hand side of the constraintrhsConstant- The constant term of the linear expression on the right hand side of the constraint
-
-
Method Details
-
getCoefficients
Gets the coefficients of the constraint (left hand side).- Returns:
- the coefficients of the constraint (left hand side).
-
getRelationship
Gets the relationship between left and right hand sides.- Returns:
- the relationship between left and right hand sides.
-
getValue
public double getValue()Gets the value of the constraint (right hand side).- Returns:
- the value of the constraint (right hand side).
-
equals
-
hashCode
-
writeObject
Serialize the instance.- Parameters:
oos- stream where object should be written- Throws:
IOException- if object cannot be written to stream
-
readObject
Deserialize the instance.- Parameters:
ois- stream from which the object should be read- Throws:
ClassNotFoundException- if a class in the stream cannot be foundIOException- if object cannot be read from the stream
-