Introduction

# Chapter 1 Introduction

This manual documents the major ECLiPSe libraries. They are enabling tools for the development and delivery of planning and scheduling applications. Since this is an area of active research and new developments, these libraries are subject to technical improvements, addition of new features and redesign as part of our ongoing work.
In this section we shall briefly summarize the constraint solvers that are available as ECLiPSe libraries. No examples are given here - each solver has its own documentation with examples for the interested reader.

- Suspended Goals: suspend
- Finite Domains: ic
  - Integer Domain
  - Symbolic Domain: ic_symbolic
  - Global Constraints: ic_global
  - Scheduling Constraints
- Sets
- Intervals
- User-Defined Constraints
  - Generalised Propagation: propia
  - Constraint Handling Rules
- Repair
- Linear Constraints
  - External Linear Solvers: eplex
  - clpqr
  - Piecewise Linear: eplex_relax
  - Probing for Scheduling
- Other Libraries

1
  Note that the global flag coroutine has a similar effect: it causes the arithmetic comparisons as well as many other built-in predicates to delay until they are sufficiently instantiated
2
  There is also an older implementation, the fd library, whose use is deprecated
3
  There is also an older implementation, the conjunto library, which is generally less efficient, but implements sets of symbolic elements as well as integer sets
4
  The ic library replaces the old ria interval solver, and covers most of the functionality of the finite domain solver fd