Next: Other Libraries
Up: Introduction
Previous: Repair
  Index
Subsections
There are two libraries supporting linear constraint solving. The
first eplex provides an interface to external linear
programming packages.
It offers flexibility and scalability, but may
require a license for the external software.
The second clpqr can support infinite precision, but is less
efficient and scalable and offers fewer facilities.
eplex supports a tight integration [3] between
external linear solvers (CPLEX [12] and XPRESS [19])
and ECLiPSe.
Constraints as well as variables can appear in both the external
linear solver and other ECLiPSe solvers.
Variable bounds are automatically passed from the ECLiPSe range
solver to the external solver.
Optimal solutions and other solutions can be returned to ECLiPSe as
required.
Search can be carried out either in ECLiPSe or in the external solver.
The clpqr library offers two implementations of the Simplex
method for solving linear constraints [11].
One version uses rationals and
is exact. The other version uses floats.
This library employs public domain software, and can be used for small
problems (with less than 100 variables).
This library handles any user-defined piecewise linear function as a
constraint closely integrated with eplex. It offers better
pruning than the standard handling of piecewise linear constraints
in the external solvers [1].
For scheduling applications where the cost is dependent on each start
time, a combination of solvers can be very powerful.
For example, we can use finite domain
propagation to reason on
resources and linear constraint solving to reason on cost [4].
The probing_for_scheduling library supports such a combination,
via a similar user interface to the cumulative constraint mentioned
above.
Next: Other Libraries
Up: Introduction
Previous: Repair
  Index
Warwick Harvey
2004-08-07