[ The ECLiPSe Libraries | Reference Manual | Alphabetic Index ]

library(ic)

Hybrid integer/real interval arithmetic constraint solver

Predicates

?ExprX #< ?ExprY
ExprX is less than ExprY (with integrality constraints).
#<(?ExprX, ?ExprY, ?Bool)
Reified ExprX is less than ExprY (with integrality constraints).
?ExprX #= ?ExprY
ExprX is equal to ExprY (with integrality constraints).
#=(?ExprX, ?ExprY, ?Bool)
Reified ExprX is equal to ExprY (with integrality constraints).
?ExprX #=< ?ExprY
ExprX is less than or equal to ExprY (with integrality constraints).
#=<(?ExprX, ?ExprY, ?Bool)
Reified ExprX is less than or equal to ExprY (with integrality constraints).
?ExprX #> ?ExprY
ExprX is greater than ExprY (with integrality constraints).
#>(?ExprX, ?ExprY, ?Bool)
Reified ExprX is greater than ExprY (with integrality constraints).
?ExprX #>= ?ExprY
Reified ExprX is greater than or equal to ExprY (with integrality constraints).
#>=(?ExprX, ?ExprY, ?Bool)
ExprX is greater than or equal to ExprY (with integrality constraints).
?ExprX #\= ?ExprY
ExprX is not equal to ExprY (with integrality constraints).
?Vars :: ++Domain
Constrain Vars to have the domain Domain.
? < ?
No description available
<(?, ?, ?)
No description available
ic:(?ExprX =:= ?ExprY)
ExprX is equal to ExprY.
=:=(?, ?, ?)
No description available
ic:(?ExprX =< ?ExprY)
ExprX is less than or equal to ExprY.
=<(?, ?, ?)
No description available
ic:(?ExprX =\= ?ExprY)
ExprX is not equal to ExprY.
=\=(?, ?, ?)
No description available
? > ?
No description available
>(?, ?, ?)
No description available
ic:(?ExprX >= ?ExprY)
ExprX is greater than or equal to ExprY.
>=(?, ?, ?)
No description available
alldifferent(+Vars)
Constrains all elements of a list to be pairwise different.
delta(?Var, -Width)
Returns the width of the interval of Var.
get_ic_bounds(?Var, -Lo, -Hi)
Retrieve the current bounds of Var.
get_ic_domain_size(?Var, ?Size)
Size is the number of integer elements in the IC domain for Var
get_threshold(-Threshold)
Returns the current propagation threshold.
get_var_type(?Var, -Type)
Retrieve the type of a variable.
ic_constraints_number(?Var, ?N)
The number of IC constraints and suspended goals associated with the variable Var is N.
indomain(?Var)
Instantiates an integer IC variable to an element of its domain.
integers(?Vars)
Vars' domain is the integer numbers.
is_ic_var(?Term)
Succeeds iff Term is an IC variable.
labeling(+Vars)
Instantiates all variables in a list to elements of their domains.
locate(+Vars, ++Precision)
Locate solution intervals for Vars by splitting and search.
locate(+Vars, ++Precision, ++LinLog)
Locate solution intervals for Vars by splitting and search.
locate(+LocateVars, +SquashVars, ++Precision, ++LinLog)
Locate solution intervals for LocateVars, interleaving search with squashing.
max(+Vars, ?Max)
Constrains Max to be the largest element in Vars.
maxlist(+Vars, ?Max)
Constrains Max to be the largest element in Vars.
median(?Var, -Median)
Returns the median of the interval of the IC variable Var.
min(+Vars, ?Min)
Constrains Min to be the smallest element in Vars.
minlist(+Vars, ?Min)
Constrains Min to be the smallest element in Vars.
print_ic(?Var, -Printed)
Returns a representation of the IC variable Var suitable for printing.
reals(?Vars)
Vars' domain is the real numbers.
set_threshold(++Threshold)
Sets the propagation threshold.
set_threshold(++Threshold, +WakeVars)
Sets the propagation threshold with recomputation.
squash(+Vars, ++Precision, ++LinLog)
Refine the intervals of Vars by the squashing algorithm.

Reexports

reexport tr_ic_unify_goal_out / 2 from ic_kernel
reexport portray(_11370, tr_ic_unify_goal_out / 2, _11372) from ic_kernel
reexport ic_constraints
reexport ic_search

Description

The IC (Interval Constraint) library is a new hybrid integer/real interval arithmetic constraint solver. Its aim is to make it convenient for programmers to write hybrid solutions to problems, mixing together integer and real constraints and variables.

The integer constraints and variables are similar to those available in the finite domain library `fd'. The real constraints are similar to those available in the real interval arithmetic library `ria'. Constraints which are not specifically integer constraints can be applied to either real or integer variables (or a mix) seamlessly, and any real variable can be converted to an integer variable at any time by imposing an integrality constraint on it.

The intention is for the IC library to eventually replace the `fd', `ria' and `range' libraries (with a new symbolic solver library to provide the non-numeric functionality of `fd'). However, IC is currently a long way from being ready to do this. A number of key features are yet to be implemented. These include so-called "global" constraints, more support for optimisation and search, a proper low-level interface for interfacing to other solvers, and compatibility interfaces for existing code.

For more information, see the IC section of the constraint library manual or the documentation for the individual IC predicates.

The IC solver is included in this release in order to let users try out what has been done so far and give feedback. If you have any comments, questions, suggestions, etc., please let us know.

About


Generated from ic.eci on Wed May 15 03:41:40 2002