Class LPProblemImpl1

  • All Implemented Interfaces:
    LPProblem, ConstrainedOptimProblem, OptimProblem
    Direct Known Subclasses:
    LPCanonicalProblem1, LPCanonicalProblem2, LPStandardProblem

    public class LPProblemImpl1
    extends Object
    implements LPProblem
    This is an implementation of a linear programming problem, LPProblem. For convenient construction, this implementation allows all forms of linear constraints:
    • greater-than-or-equal-to constraints: Agr * x ≥ bgr
    • less-than-or-equal-to constraints: Ale * x ≤ ble
    • equality constraints: Aeq * x = beq
    • box constraints (bounds): l ≤ x ≤ u
    By convention, if no bound is mentioned for a variable, x ≥ 0.
    • Constructor Detail

      • LPProblemImpl1

        public LPProblemImpl1​(Vector cost,
                              LinearGreaterThanConstraints greater,
                              LinearEqualityConstraints equal)
        Construct a general linear programming problem with only greater-than-or-equal-to and equality constraints.
        Parameters:
        cost - the objective function
        greater - the greater-than-or-equal-to inequality constraints
        equal - the equality constraints
    • Method Detail

      • nGreaterThanInequalities

        public int nGreaterThanInequalities()
        Get the number of greater-than-or-equal-to constraints.
        Returns:
        the number of greater-than-or-equal-to inequalities
      • nEqualities

        public int nEqualities()
        Get the number of equality constraints.
        Returns:
        the number of equality constraints
      • dimension

        public int dimension()
        Description copied from interface: OptimProblem
        Get the number of variables.
        Specified by:
        dimension in interface OptimProblem
        Returns:
        the number of variables.
      • c

        public ImmutableVector c()
        Description copied from interface: LPProblem
        Get the objective function.
        Specified by:
        c in interface LPProblem
        Returns:
        the objective function
      • A

        public ImmutableMatrix A()
        Description copied from interface: LPProblem
        Get the coefficients, A, of the greater-than-or-equal-to constraints A * x ≥ b.
        Specified by:
        A in interface LPProblem
        Returns:
        the coefficients of the greater-than-or-equal-to constraints
      • b

        public ImmutableVector b()
        Description copied from interface: LPProblem
        Get the values, b, of the greater-than-or-equal-to constraints A * x ≥ b.
        Specified by:
        b in interface LPProblem
        Returns:
        the values of the greater-than-or-equal-to constraints
      • Aeq

        public ImmutableMatrix Aeq()
        Description copied from interface: LPProblem
        Get the coefficients, Aeq, of the equality constraints Aeq * x ≥ beq.
        Specified by:
        Aeq in interface LPProblem
        Returns:
        the coefficients of the equality constraints
      • beq

        public ImmutableVector beq()
        Description copied from interface: LPProblem
        Get the values, beq, of the equality constraints Aeq * x ≥ beq.
        Specified by:
        beq in interface LPProblem
        Returns:
        the values of the equality constraints
      • isFree

        public boolean isFree​(int i)
        Description copied from interface: LPProblem
        Check whether xi is a free variable after handling the box constraints.
        Specified by:
        isFree in interface LPProblem
        Parameters:
        i - the index of a variable, counting from 1
        Returns:
        true if xi is free