Results 1  10
of
76
Algorithms for hybrid MILP/CP models for a class of optimization problems
 INFORMS Journal on Computing
, 2001
"... The goal of this paper is to develop models and methods that use complementary strengths of Mixed Integer Linear Programming (MILP) and Constraint Programming (CP) techniques to solve problems that are otherwise intractable if solved using either of the two methods. The class of problems considered ..."
Abstract

Cited by 65 (11 self)
 Add to MetaCart
The goal of this paper is to develop models and methods that use complementary strengths of Mixed Integer Linear Programming (MILP) and Constraint Programming (CP) techniques to solve problems that are otherwise intractable if solved using either of the two methods. The class of problems considered in this paper have the characteristic that only a subset of the binary variables have nonzero objective function coefficients if modeled as an MILP. This class of problems is formulated as a hybrid MILP/CP model that involves some of the MILP constraints, a reduced set of the CP constraints, and equivalence relations between the MILP and the CP variables. An MILP/CP based decomposition method and an LP/CPbased branchandbound algorithm are proposed to solve these hybrid models. Both these algorithms rely on the same relaxed MILP and feasibility CP problems. An application example is considered in which the leastcost schedule has to be derived for processing a set of orders with release and due dates using a set of dissimilar parallel machines. It is shown that this problem can be modeled as an MILP, a CP, a combined MILPCP OPL model (Van Hentenryck 1999), and a hybrid MILP/CP model. The computational performance of these models for several sets shows that the hybrid MILP/CP model can achieve two to three orders of magnitude reduction in CPU time.
Towards second and third generation webbased multimedia
 In WWW ’01: Proceedings of the 10th international conference on World Wide Web
, 2001
"... Copyright is held by the author/owner. ..."
Parallel Execution of Prolog Programs: A Survey
"... Since the early days of logic programming, researchers in the field realized the potential for exploitation of parallelism present in the execution of logic programs. Their highlevel nature, the presence of nondeterminism, and their referential transparency, among other characteristics, make logic ..."
Abstract

Cited by 61 (24 self)
 Add to MetaCart
Since the early days of logic programming, researchers in the field realized the potential for exploitation of parallelism present in the execution of logic programs. Their highlevel nature, the presence of nondeterminism, and their referential transparency, among other characteristics, make logic programs interesting candidates for obtaining speedups through parallel execution. At the same time, the fact that the typical applications of logic programming frequently involve irregular computations, make heavy use of dynamic data structures with logical variables, and involve search and speculation, makes the techniques used in the corresponding parallelizing compilers and runtime systems potentially interesting even outside the field. The objective of this paper is to provide a comprehensive survey of the issues arising in parallel execution of logic programming languages along with the most relevant approaches explored to date in the field. Focus is mostly given to the challenges emerging from the parallel execution of Prolog programs. The paper describes the major techniques used for shared memory implementation of Orparallelism, Andparallelism, and combinations of the two. We also explore some related issues, such as memory
Groups and Constraints: Symmetry Breaking during Search
 In Proceedings of CP02, LNCS 2470
, 2002
"... We present an interface between the ECL constraint logic programming system and the GAPcompu tational abstract algebra system. The interface provides a method for e#ciently dealing with large nu mbers of symmetries of constraint satisfaction problems for minimal programming e#ort. We als ..."
Abstract

Cited by 53 (13 self)
 Add to MetaCart
We present an interface between the ECL constraint logic programming system and the GAPcompu tational abstract algebra system. The interface provides a method for e#ciently dealing with large nu mbers of symmetries of constraint satisfaction problems for minimal programming e#ort. We also report an implementation of SBDSu sing the GAPECL interface which is capable of handling many more symmetries than previou s implementations and provides improved search performance for symmetric constraint satisfaction problems.
An Expert System for Analyzing Firewall Rules
, 2001
"... When deploying firewalls in an organization, it is essential to verify that the firewalls are configured properly. The problem of finding out what a given firewall configuration does occurs, for instance, when a new network administrator takes over, or a third party performs a technical security aud ..."
Abstract

Cited by 42 (0 self)
 Add to MetaCart
When deploying firewalls in an organization, it is essential to verify that the firewalls are configured properly. The problem of finding out what a given firewall configuration does occurs, for instance, when a new network administrator takes over, or a third party performs a technical security audit for the organization. While the problem can be approached via testing, nonintrusive techniques are often preferred. Existing tools for analyzing firewall configurations usually rely on hardcoded algorithms for analyzing access lists. In this paper we present a tool based on constraint logic programming (CLP) which allows the user to write higher level operations for, e.g., detecting common configuration mistakes. Our tool understands Cisco router access lists, and it is implemented using Eclipse, a constraint logic programming language. The problem of analyzing firewall configurations lends itself quite naturally to be solved by an expert system. We found it surprisingly easy to use logic statements to express knowledge on networking, firewalls, and common configuration mistakes, for instance. Using an existing generic inference engine allowed us to focus on defining the core concepts and relationships in the knowledge base. 1
The alldifferent Constraint: A Survey
, 2001
"... The constraint of difference is known to the constraint programming community since Lauriere introduced Alice in 1978. Since then, several strategies have been designed to solve the alldifferent constraint. This paper surveys the most important developments over the years regarding the alldifferent ..."
Abstract

Cited by 41 (1 self)
 Add to MetaCart
The constraint of difference is known to the constraint programming community since Lauriere introduced Alice in 1978. Since then, several strategies have been designed to solve the alldifferent constraint. This paper surveys the most important developments over the years regarding the alldifferent constraint. First we summarize the underlying concepts and results from graph theory and integer programming. Then we give an overview and an abstract comparison of different solution strategies. In addition, the symmetric alldifferent constraint is treated. Finally, we show how to apply costbased filtering to the alldifferent constraint.
Efficient constraint propagation engines
 Transactions on Programming Languages and Systems
"... This paper presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which p ..."
Abstract

Cited by 40 (6 self)
 Add to MetaCart
This paper presents a model and implementation techniques for speeding up constraint propagation. Three fundamental approaches to improving constraint propagation based on propagators as implementations of constraints are explored: keeping track of which propagators are at fixpoint, choosing which propagator to apply next, and how to combine several propagators for the same constraint. We show how idempotence reasoning and events help track fixpoints more accurately. We improve these methods by using them dynamically (taking into account current domains to improve accuracy). We define prioritybased approaches to choosing a next propagator and show that dynamic priorities can improve propagation. We illustrate that the use of multiple propagators for the same constraint can be advantageous with priorities, and introduce staged propagators that combine the effects of multiple propagators with priorities for greater efficiency. 1
Generic SBDD using computational group theory
 In Proceedings of CP’03
, 2003
"... Abstract. We introduce a novel approach for symmetry breaking by dominance detection (SBDD). The essence of SBDD is to perform ‘dominance checks ’ at each node in a search tree to ensure that no symmetrically equivalent node has been visited before. While a highly effective technique for dealing wit ..."
Abstract

Cited by 33 (9 self)
 Add to MetaCart
Abstract. We introduce a novel approach for symmetry breaking by dominance detection (SBDD). The essence of SBDD is to perform ‘dominance checks ’ at each node in a search tree to ensure that no symmetrically equivalent node has been visited before. While a highly effective technique for dealing with symmetry in constraint programs, SBDD forces a major overhead on the programmer, of writing a dominance checker for each new problem to be solved. Our novelty here is an entirely generic dominance checker. This in itself is new, as are the algorithms to implement it. It can be used for any symmetry group arising in a constraint program. A constraint programmer using our system merely has to define a small number (typically 2–6) of generating symmetries, and our system detects and breaks all resulting symmetries. Our dominance checker also performs some propagation, again generically, so that values are removed from variables if setting them would lead to a successful dominance check. We have implemented this generic SBDD and report results on its use. Our implementation easily handles problems involving 10 36 symmetries, with only four permutations needed to direct the dominance checks during search. 1
The design of ESSENCE: a constraint language for specifying combinatorial problems
 In: Proceedings of IJCAI07
, 2007
"... ESSENCE is a new formal language for specifying combinatorial problems in a manner similar to natural rigorous specifications that use a mixture of natural language and discrete mathematics. ESSENCE provides a high level of abstraction, much of which is the consequence of the provision of decision v ..."
Abstract

Cited by 31 (2 self)
 Add to MetaCart
ESSENCE is a new formal language for specifying combinatorial problems in a manner similar to natural rigorous specifications that use a mixture of natural language and discrete mathematics. ESSENCE provides a high level of abstraction, much of which is the consequence of the provision of decision variables whose values can be combinatorial objects, such as tuples, sets, multisets, relations, partitions and functions. ESSENCE also allows these combinatorial objects to be nested to arbitrary depth, thus providing, for example, sets of partitions, sets of sets of partitions, and so forth. Therefore, a problem that requires finding a complex combinatorial object can be directly specified by using a decision variable whose type is precisely that combinatorial object. 1
Kakuro as a Constraint Problem
"... In this paper we describe models of the logic puzzle Kakuro as a constraint problem with finite domain variables. We show a basic model expressing the constraints of the problem and present various improvements to enhance the constraint propagation, and compare alternatives using MILP and SAT solve ..."
Abstract

Cited by 30 (1 self)
 Add to MetaCart
In this paper we describe models of the logic puzzle Kakuro as a constraint problem with finite domain variables. We show a basic model expressing the constraints of the problem and present various improvements to enhance the constraint propagation, and compare alternatives using MILP and SAT solvers. Results for different puzzle collections are given. We also propose a grading scheme predicting the difficulty of a puzzle for a human and show how problems can be tightened by removing hints.