
<script type="text/javascript">
<!--
document.write('<div id="oa_widget"></div>');
document.write('<script type="text/javascript" src="https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=undefined&type=result"></script>');
-->
</script>Summary: We present the clp(FD) system: a constraint logic programming language with finite domain constraints. We detail its implementation, and present an abstract instruction set for the constraint solver that can be smoothly integrated into the WAM architecture. It is based on the use of a single primitive constraint \(X\) in \(r\) that embeds the core propagation mechanism. Complex user constraints such as linear equations or inequations are compiled into \(X\) in \(r\) expressions that encode the propagation scheme chosen to solve the constraint. The uniform treatment of a single primitive constraint leads to a better understanding of the overall constraint-solving process, and allows three main general optimizations that encompass many previous particular optimizations of ``black-box'' finite domain solvers. Implementation results show that this approach combines both simplicity and efficiency. Our clp(FD) system is about four times faster than CHIP on average, with peak speedup reaching eight. We also show that, following the ``glass-box'' approach, clp(FD) can be naturally enhanced with various new constraints such as constructive disjunction, Boolean constraints, nonlinear constraints, and symbolic constraints.
constraint programming, constraint logic programming, finite domains, Logic, [INFO.INFO-SE] Computer Science [cs]/Software Engineering [cs.SE], clp(FD) system, [INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE], Logic programming, implementation, WAM
constraint programming, constraint logic programming, finite domains, Logic, [INFO.INFO-SE] Computer Science [cs]/Software Engineering [cs.SE], clp(FD) system, [INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE], Logic programming, implementation, WAM
| citations This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 112 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 1% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
