
lp_add_constraints(+Handle, +Constraints, ++Integers)

   Add new constraints to the solver Handle, possibly triggering it.

Arguments
   Handle              Handle to a solver state
   Constraints         A (possibly empty) list of equality or inequality constraints
   Integers            A (possibly empty) list of variables to be considered as integers in the problem

Type
   library(eplex)

Description

  Add new constraints (with possibly new variables) to a solver.
  NewIntegers is a list of variables that the external solver should
  consider as integers  The new constraints will be taken into
  account the next time the solver is run: if the new_constraint option of
  lp_demon_setup was turned on, then the solver will be invoked after the
  adding of the constraints, unless they are already satisfied.  The 
  constraints will be removed on backtracking.

  The constraints are normalised and simplified before being passed to
  the external solver. If any constraint is ground, they are tested for
  consistency.

  Note that variables in NewIntegers can be any problem variables. In
  previous versions of ECLiPSe, there was a restriction that the variables
  be new problem variables; this restriction has been removed.


 

Fail Conditions
   Any ground (no variable) or bound constraints (one variable) is self-inconsistent.

Resatisfiable
   no

Exceptions
     4 --- Handle, Constraints or Integers uninstantiated.
     5 --- Some constraint in Constraints is non-linear.
    40 --- Handle not valid: solver state had been destroyed by cleanup

See Also
   lp_demon_setup / 5, lp_add / 3, lp_add_constraints / 4, eplex_add_constraints / 2, $= / 2, $=< / 2, $>= / 2, =:= / 2, =< / 2, >= / 2
