72 research outputs found
Propagators and Solvers for the Algebra of Modular Systems
To appear in the proceedings of LPAR 21.
Solving complex problems can involve non-trivial combinations of distinct
knowledge bases and problem solvers. The Algebra of Modular Systems is a
knowledge representation framework that provides a method for formally
specifying such systems in purely semantic terms. Formally, an expression of
the algebra defines a class of structures. Many expressive formalism used in
practice solve the model expansion task, where a structure is given on the
input and an expansion of this structure in the defined class of structures is
searched (this practice overcomes the common undecidability problem for
expressive logics). In this paper, we construct a solver for the model
expansion task for a complex modular systems from an expression in the algebra
and black-box propagators or solvers for the primitive modules. To this end, we
define a general notion of propagators equipped with an explanation mechanism,
an extension of the alge- bra to propagators, and a lazy conflict-driven
learning algorithm. The result is a framework for seamlessly combining solving
technology from different domains to produce a solver for a combined system.Comment: To appear in the proceedings of LPAR 2
Improvement of the Embarrassingly Parallel Search for Data Centers
International audienceWe propose an adaptation of the Embarrassingly Parallel Search (EPS) method for data centers. EPS is a simple but efficient method for parallel solving of CSPs. EPS decomposes the problem in many distinct subproblems which are then solved independently by workers. EPS performed well on multi-cores machines (40), but some issues arise when using more cores in a datacenter. Here, we identify the decomposition as the cause of the degradation and propose a parallel decomposition to address this issue. Thanks to it, EPS gives almost linear speedup and outperforms work stealing by orders of magnitude using the Gecode solver
Cardinality Reasoning for Bin-Packing Constraint: Application to a Tank Allocation Problem
International audienceFlow reasoning has been successfully used in CP for more than a decade. It was originally introduced by Régin in the well-known Alldifferent and Global Cardinality Constraint (GCC) available in most of the CP solvers. The BinPacking constraint was introduced by Shaw and mainly uses an independent knapsack reasoning in each bin to filter the possible bins for each item. This paper considers the use of a cardinal-ity/flow reasoning for improving the filtering of a bin-packing constraint. The idea is to use a GCC as a redundant constraint to the BinPacking that will count the number of items placed in each bin. The cardinality variables of the GCC are then dynamically updated during the propagation. The cardinality reasoning of the redundant GCC makes deductions that the bin-packing constraint cannot see since the placement of all items into every bin is considered at once rather than for each bin individually. This is particularly well suited when a minimum loading in each bin is specified in advance. We apply this idea on a Tank Allocation Problem (TAP). We detail our CP model and give experimental results on a real-life instance demonstrating the added value of the cardinality reasoning for the bin-packing constraint. This constraint enforces the relation L j = i (X i = j) · w i , ∀j. It makes the link between n weighted items (item i has a weight w i) and the m different capacitated bins in which they are to be put. Only the weights of the items are integers, the other arguments of the constraints are finite domain (f.d.) variables. Note that in this formulation, Lj is a variable which is bounded by the maximal capacity of the bin j. Without loss of generality we assume the item variables and their weights are sorted such that w i ≤ w i+1. Example: BinP acking([1, 4, 1, 2, 2], [2, 3, 3, 3, 4], [5, 7, 0, 3])
LocFaults: A new flow-driven and constraint-based error localization approach
International audienceWe introduce in this paper LocFaults, a new flow-driven and constraint-based approach for error localization. The input is a faulty program for which a counter-example and a postcondition are provided. To identify helpful informa-tion for error location, we generate a constraint system for the paths of the control flow graph for which at most k con-ditional statements may be erroneous. Then, we calculate Minimal Correction Sets (MCS) of bounded size for each of these paths. The removal of one of these sets of constraints yields a maximal satisfiable subset, in other words, a max-imal subset of constraints satisfying the post condition. To compute the MCS, we extend the algorithm proposed by Liffiton and Sakallah [21] in order to handle programs with numerical statements more efficiently. The main advantage of this flow-driven approach is that the computed sets of suspicious instructions are small, each of them being asso-ciated with an identified path. Moreover, the constraint-programming based framework of LocFaults allows mix-ing Boolean and numerical constraints in an efficient and straightforward way. Preliminary experiments are quite en-couraging. * This work was partially supported by ANR VAC-SIM (ANR-11-INSE-0004), ANR AEOLUS (ANR-10-SEGI-0013), and OSEO ISI PAJERO projects
On optimizing over lift-and-project closures
The lift-and-project closure is the relaxation obtained by computing all
lift-and-project cuts from the initial formulation of a mixed integer linear
program or equivalently by computing all mixed integer Gomory cuts read from
all tableau's corresponding to feasible and infeasible bases. In this paper, we
present an algorithm for approximating the value of the lift-and-project
closure. The originality of our method is that it is based on a very simple cut
generation linear programming problem which is obtained from the original
linear relaxation by simply modifying the bounds on the variables and
constraints. This separation LP can also be seen as the dual of the cut
generation LP used in disjunctive programming procedures with a particular
normalization. We study some properties of this separation LP in particular
relating it to the equivalence between lift-and-project cuts and Gomory cuts
shown by Balas and Perregaard. Finally, we present some computational
experiments and comparisons with recent related works
- …