Constraint Lingo: towards high-level constraint programming

2004 ◽  
Vol 34 (15) ◽  
pp. 1481-1504 ◽  
Author(s):  
Raphael Finkel ◽  
Victor W. Marek ◽  
Miros?aw Truszczy?ski
10.29007/7ths ◽  
2018 ◽  
Author(s):  
Steve Prestwich ◽  
S. Armagan Tarim ◽  
Roberto Rossi

Constraint Programming is a powerful and expressive framework for modelling and solving combinatorial problems. It is nevertheless not always easy to use, which has led to the development of high-level specification languages. We show that Constraint Logic Programming can be used as a meta-language to describe itself more compactly at a higher level of abstraction. This can produce problem descriptions of comparable size to those in existing specification languages, via techniques similar to those used in data compression. An advantage over existing specification languages is that, for a problem whose specification requires the solution of an auxiliary problem, a single specification can unify the two problems. Moreover, using a symbolic representation of domain values leads to a natural way of modelling channelling constraints.


2011 ◽  
Vol 12 (1-2) ◽  
pp. 127-156 ◽  
Author(s):  
JOACHIM SCHIMPF ◽  
KISH SHEN

AbstractECLiPSe is a Prolog-based programming system, aimed at the development and deployment of constraint programming applications. It is also used for teaching most aspects of combinatorial problem solving, for example, problem modelling, constraint programming, mathematical programming and search techniques. It uses an extended Prolog as its high-level modelling and control language, complemented by several constraint solver libraries, interfaces to third-party solvers, an integrated development environment and interfaces for embedding into host environments. This paper discusses language extensions, implementation aspects, components, and tools that we consider relevant on the way from Logic Programming to Constraint Logic Programming.


Constraints ◽  
2020 ◽  
Vol 25 (3-4) ◽  
pp. 319-337 ◽  
Author(s):  
Mark Wallace ◽  
Neil Yorke-Smith

AbstractThe cyclic hoist scheduling problem (CHSP) is a well-studied optimisation problem due to its importance in industry. Despite the wide range of solving techniques applied to the CHSP and its variants, the models have remained complicated and inflexible, or have failed to scale up with larger problem instances. This article re-examines modelling of the CHSP and proposes a new simple, flexible constraint programming formulation. We compare current state-of-the-art solving technologies on this formulation, and show that modelling in a high-level constraint language, MiniZinc, leads to both a simple, generic model and to computational results that outperform the state of the art. We further demonstrate that combining integer programming and lazy clause generation, using the multiple cores of modern processors, has potential to improve over either solving approach alone.


10.29007/m767 ◽  
2018 ◽  
Author(s):  
Maria Andreina Francisco ◽  
Pierre Flener ◽  
Justin Pearson

Automata allow many constraints on sequences of variables to be specified in a high-level way for constraint programming solvers. An automaton with accumulators induces a decomposition of the specified constraint into a conjunction of constraints with existing inference algorithms, called propagators. Towards improving propagation, we design a fully automated tool that selects, in an off-line process, constraints that are implied by such a decomposition. We show that a suitable problem-specific choice among the tool-selected implied constraints can considerably improve solving time and propagation, both on a decomposition in isolation and on entire constraint problems containing the decomposition.


2017 ◽  
Vol 5 (1) ◽  
pp. 92-115
Author(s):  
Siamak Layeghy ◽  
Farzaneh Pakzad ◽  
Marius Portmann

In this paper, we introduce SCOR (Software-defined Constrained Optimal Routing), a new Software Defined Networking (SDN) Northbound Interface for QoS routing and traffic engineering. SCOR is based on constraint-programming techniques and is implemented in the MiniZinc modelling language. It provides a powerful, high-level abstraction layer, consisting of 10 basic constraint-programming predicates. A key feature of SCOR is that it is declarative, where only the constraints and utility function of the routing problem need to be expressed, and the complexity of solving the problem is hidden from the user, and handled by a powerful generic solver. We show that the interface (set of predicates) of SCOR is sufficiently expressive to handle all the known and relevant QoS routing problems. We further demonstrate the practicality and scalability of the approach via a number of example scenarios, with varying network topologies, network sizes and number of flows.


2019 ◽  
Vol 66 ◽  
Author(s):  
Gilles Pesant

The distinctive driving force of constraint programming to solve combinatorial problems has been a privileged access to problem structure through the high-level models it uses. From that exposed structure in the form of so-called global constraints, powerful inference algorithms have shared information between constraints by propagating it through shared variables’ domains, traditionally by removing unsupported values. This paper investigates a richer propagation medium made possible by recent work on counting solutions inside constraints. Beliefs about individual variable-value assignments are exchanged between contraints and iteratively adjusted. It generalizes standard support propagation and aims to converge to the true marginal distributions of the solutions over individual variables. Its advantage over standard belief propagation is that the higher-level models featuring large-arity (global) constraints do not tend to create as many cycles, which are known to be problematic for convergence. The necessary architectural changes to a constraint programming solver are described and an empirical study of the proposal is conducted on its implementation. We find that it provides close approximations to the true marginals and that it significantly improves search guidance.


2020 ◽  
Vol 34 (09) ◽  
pp. 13685-13688
Author(s):  
Alex Lucía Mattenet ◽  
Ian Davidson ◽  
Siegfried Nijssen ◽  
Pierre Schaus

Constraint Programming (CP) is a powerful paradigm for solving combinatorial problems. In CP, the user creates a model by declaring variables with their domains and expresses the constraints that need to be satisfied in any solution. The solver is then in charge of finding feasible solutions—a value in the domain of each variable that satisfies all the constraints. The discovery of solutions is done by exploring a search tree that is pruned by the constraints in charge of removing impossible values. The CP framework has the advantage of exposing a rich high-level declarative constraint language for modeling, as well as efficient purpose-specific filtering algorithms that can be reused in many problems. In this work, we harness this flexibility and efficiency for the Block Modeling problem. It is a variant of the graph clustering problem that has been used extensively in many domains including social science, spatio-temporal data analysis and even medical imaging. We present a new approach based on constraint programming, allowing discrete optimization of block modeling in a manner that is not only scalable, but also allows the easy incorporation of constraints. We introduce a new constraint filtering algorithm that outperforms earlier approaches. We show its use in the analysis of real datasets.


Author(s):  
Gilles Pesant

The distinctive driving force of constraint programming (CP) to solve combinatorial problems has been a privileged access to problem structure through the high-level models it uses. We investigate a richer propagation medium for CP made possible by recent work on counting solutions inside constraints. Beliefs about individual variable-value assignments are exchanged between contraints and iteratively adjusted. Its advantage over standard belief propagation is that the higher-level models do not tend to create as many cycles, which are known to be problematic for convergence. We find that it significantly improves search guidance.


Author(s):  
Siamak Layeghy ◽  
Farzaneh Pakzad ◽  
Marius Portmann

In this paper, we introduce SCOR (Software-defined Constrained Optimal Routing), a new Software Defined Networking (SDN) Northbound Interface for QoS routing and traffic engineering. SCOR is based on constraint-programming techniques and is implemented in the MiniZinc modelling language. It provides a powerful, high-level abstraction layer, consisting of 10 basic constraint-programming predicates. A key feature of SCOR is that it is declarative, where only the constraints and utility function of the routing problem need to be expressed, and the complexity of solving the problem is hidden from the user, and handled by a powerful generic solver. We show that the interface (set of predicates) of SCOR is sufficiently expressive to handle all the known and relevant QoS routing problems. We further demonstrate the practicality and scalability of the approach via a number of example scenarios, with varying network topologies, network sizes and number of flows.


Sign in / Sign up

Export Citation Format

Share Document