13 research outputs found
Models and Strategies for Variants of the Job Shop Scheduling Problem
Recently, a variety of constraint programming and Boolean satisfiability
approaches to scheduling problems have been introduced. They have in common the
use of relatively simple propagation mechanisms and an adaptive way to focus on
the most constrained part of the problem. In some cases, these methods compare
favorably to more classical constraint programming methods relying on
propagation algorithms for global unary or cumulative resource constraints and
dedicated search heuristics. In particular, we described an approach that
combines restarting, with a generic adaptive heuristic and solution guided
branching on a simple model based on a decomposition of disjunctive
constraints. In this paper, we introduce an adaptation of this technique for an
important subclass of job shop scheduling problems (JSPs), where the objective
function involves minimization of earliness/tardiness costs. We further show
that our technique can be improved by adding domain specific information for
one variant of the JSP (involving time lag constraints). In particular we
introduce a dedicated greedy heuristic, and an improved model for the case
where the maximal time lag is 0 (also referred to as no-wait JSPs).Comment: Principles and Practice of Constraint Programming - CP 2011, Perugia
: Italy (2011
Solving the Resource Constrained Project Scheduling Problem with Generalized Precedences by Lazy Clause Generation
The technical report presents a generic exact solution approach for
minimizing the project duration of the resource-constrained project scheduling
problem with generalized precedences (Rcpsp/max). The approach uses lazy clause
generation, i.e., a hybrid of finite domain and Boolean satisfiability solving,
in order to apply nogood learning and conflict-driven search on the solution
generation. Our experiments show the benefit of lazy clause generation for
finding an optimal solutions and proving its optimality in comparison to other
state-of-the-art exact and non-exact methods. The method is highly robust: it
matched or bettered the best known results on all of the 2340 instances we
examined except 3, according to the currently available data on the PSPLib. Of
the 631 open instances in this set it closed 573 and improved the bounds of 51
of the remaining 58 instances.Comment: 37 pages, 3 figures, 16 table
Why Cumulative Decomposition Is Not as Bad as It Sounds
International Conference on Principles and Practice of Constraint Programming (CP
Job Shop Scheduling with Setup Times and Maximal Time-Lags: A Simple Constraint Programming Approach
Ordonnancement de tùches sous contraintes sur des métiers à tisser
Dans une usine de production de textile, il y a des mĂ©tiers Ă tisser. Ces mĂ©tiers Ă tisser peuvent ĂȘtre configurĂ©s de diffĂ©rentes façons. Des tĂąches doivent ĂȘtre exĂ©cutĂ©es sur ces mĂ©tiers Ă tisser et le temps dâexĂ©cution dâune tĂąche est fonction du mĂ©tier sur lequel elle est effectuĂ©e. De plus, chaque tĂąche est seulement compatible avec les mĂ©tiers Ă tisser Ă©tant configurĂ©s de certaines façons. Un temps de mise en course peut permettre de configurer ou prĂ©parer un mĂ©tier Ă tisser pour lâexĂ©cution dâune tĂąche. Le temps de mise en course est dĂ©pendant de la tĂąche qui prĂ©cĂšde et de celle qui suit. Nous souhaitons alors crĂ©er un horaire pour minimiser les temps de fabrication et les retards. Toutefois, certaines contraintes doivent ĂȘtre respectĂ©es. Lorsque des prĂ©parations surviennent sur des mĂ©tiers diffĂ©rents en mĂȘme temps, le nombre dâemployĂ©s doit ĂȘtre suffisant. Un mĂ©tier ne peut faire quâune seule action Ă la fois. Lâordonnancement dâune seule machine est un problĂšme NP-Difficile. Dans ce projet, il faut ordonnancer environ 800 tĂąches sur 90 machines dans un horizon de deux semaines, tout en respectant les contraintes de personnel. Des Ă©vĂšnements stochastiques doivent ĂȘtre pris en compte pour obtenir un meilleur horaire. Le bris dâun fil nâĂ©tant pas un Ă©vĂšnement rare, lâoccurrence des bris est donnĂ©e sous la forme dâune loi de Poisson. Nous proposons alors une approche de rĂ©solution utilisant une heuristique de branchement basĂ©e sur le problĂšme du commis voyageur. Cette approche permet dâobtenir de bonnes solutions pour le problĂšme dâordonnancement explorĂ©. Les solutions trouvĂ©es sont 5 Ă 30% meilleures en termes de fonction objectif quâune heuristique semblable Ă celle utilisĂ©e par lâĂ©quipe de planification de notre partenaire industriel. Nous prĂ©sentons aussi un algorithme pour garantir la robustesse dâun horaire. Notre algorithme permet de gĂ©nĂ©rer des horaires plus rĂ©alistes et qui rĂ©sistent bien aux Ă©vĂšnements imprĂ©vus. La combinaison de ces deux pratiques mĂšne Ă lâintĂ©gration et lâutilisation du produit final par notre partenaire industriel.In a textile factory, there are looms. Workers can configure the looms to weave different pieces of textiles. A loom can only weave a piece of textiles if the piece of textiles is compatible with its loom configuration. To change its configuration, a loom requires a setup. The setups are performed manually by workers. There are also sequence-dependent setups to prepare a loom for the upcoming piece of textiles. We wish to minimize the setups duration and the lateness. A solution must satisfy some constraints. The problem is subject to cumulative resources. The quantity of workers simultaneously configuring machines canât exceed the total number of employees. A loom can only weave a piece of textiles at a time. Scheduling tasks on a single loom is an NP-Hard problem. In this project, we must schedule tasks an average of 800 tasks on 90 looms with a two-week horizon. Stochastic events might occur and must be accounted for. We must design an algorithm to create robust schedules under uncertainty. As a thread breaking during the weaving process isnât a rare occurrence, a better schedule could greatly impact the performances of a company when applying the schedule to a real situation. We formulate that the number of breaks per task follows a Poisson distribution. First, we propose a branching heuristic based on the traveling salesperson problem in order to leverage computation times. The solutions found are 5 to 30% better according to their objective function than the ones of a greedy heuristic similar to what our industrial partner uses. We also present a filtering algorithm to guarantee robustness of solutions in respect to a confidence level. This algorithm improves robustness and creates more realist schedules. The algorithm is also efficient in computation time by achieving bound consistency in linear time. Combining both these techniques leads to the integration of our research in the decision system of our industrial partner
Solving resource-constrained shceuling problems with exact methods
Scheduling problems mainly consist in finding an assignment of execution times (a schedule) to
a set of activities of a project that optimizes an objective function. There are many constraints
imposed over the activities that any schedule must satisfy. The most usual constraints establish
precedence relations between activities, or limit the amount of some resources that the activities
can consume. There are many scheduling problems in the literature that have been and
are currently still being studied. A paradigmatic example is the Resource-Constraint Project
Scheduling Problem (RCPSP). It consists in finding a start time for each one of the activities of
a project, respecting pre-defined precedence relations between activities and without exceeding
the capacity of a set of resources that the activities consume. The goal is to find a schedule
with the minimum makespan (total execution time of the project). The RCPSP has many generalizations,
one of which is the Multimode Resource-Constrained Project Scheduling Problem
(MRCPSP). In this variation, each activity has several available execution modes that differ in
the duration of the activity or the demand of resources. A solution for the MRCPSP determines
the start times of the activities and also an execution mode for each one. These problems are
NP-hard, and are known in the literature to be especially hard, with moderately small instances
of 50 activities that are still open.
There are many approaches to solving RCPSP and MRCPSP in the literature. They are
often tackled with metaheuristics due to their high complexity, but there are also some exact approaches,
including Mixed Integer Linear Programming (MILP), Branch-and-Bound algorithms
or Boolean Satisfiability (SAT), which have shown to be competitive and in many cases even
better than metaheuristics. One of the exact methods that is growing in use in the field of constrained
optimization is SAT Modulo Theories (SMT). This thesis is the continuation of previous
works carried out in the Logic and Programming (L ⧠P) group of Universitat de Girona, which
used SMT to tackle RCPSP and MRCPSP. Excluding these, there have not been any other
attempts to use SMT to solve the MRCPSP. SMT solvers (like other generic methods such as
SAT or MILP) do not know which is the problem they are dealing with. It is the work of the
modeler to provide a representation of the problem (i.e. an encoding) in the language that the
solver admits.
The main goal of this thesis is to use SMT to solve the Multimode Resource-Constraint
Project Scheduling Problem. We focus on two already existing encodings for the MRCPSP,
namely the time encoding and the task encoding. We use some existing preprocessing methods
that contribute to the formulation of time and task, and present new preprocessings. Most of
them are based on the idea of incompatibility between two activities, i.e., the impossibility that
two activities run at the same time instant. These incompatibilities let us discharge some con-
figurations of the solutions prior to encode the problem. Consequently, the use of preprocessings
helps to reduce the size of the encodings in terms of variables and clauses. Another contribution
of this work is the study of the time and task encodings and the differences that they present.
We refine these encodings to provide more compact versions. Moreover, two new versions of these
encodings are presented, which mainly differ in the codification of the constraints over the use
of resources. One of them is based on Linear Integer Arithmetic expressions, and the other one
in Pseudo-Boolean constraints and Integer Difference Logic. Another contribution of this work
is the presentation of an ad-hoc optimization algorithm based on a linear search that mainly
consists in three steps. First of all it simplifies the problem to efficiently ensure or discharge the
feasibility of the instance, then it finds a first non-optimal solution by using a quick heuristic
method, and finally it optimizes the problem making use of the knowledge acquired with the preprocessings to boost the search. We also present an initial work on a more intrusive approach
consisting in modifying the internal heuristic of the SMT solver for the decision of literals. This
work involves the study of a state-of-the-art implementation of an SMT solver, and its modification
to include a framework to specify heuristics related with the encoding of the problem. We
give some initial results on custom heuristics for the time and task encodings of the MRCPSP.
Finally, we test our system with the benchmark sets of instances for the MRCPSP available in
the literature, and compare our performance with a state-of-the-art exact solver for the MRCPSP.
The results show that we are able to solve the major part of the benchmark sets. Moreover, we
show to be competitive with the state-of-the-art solver of VĂlim et. al. for the MRCPSP, being
our system slower in solving the easiest benchmark instances, but outperforming the solver of
VĂlim et. al. in solving the hardest instance
Solving hard industrial combinatorial problems with SAT
The topic of this thesis is the development of SAT-based techniques and tools for solving industrial combinatorial problems. First, it describes the architecture of state-of-the-art SAT and SMT Solvers based on the classical DPLL procedure. These systems can be used as black boxes for solving combinatorial problems. However, sometimes we can increase their efficiency with slight modifications of the basic algorithm. Therefore, the study and development of techniques for adjusting SAT Solvers to specific combinatorial problems is the first goal of this thesis.
Namely, SAT Solvers can only deal with propositional logic. For solving general combinatorial problems, two different approaches are possible:
- Reducing the complex constraints into propositional clauses.
- Enriching the SAT Solver language.
The first approach corresponds to encoding the constraint into SAT. The second one corresponds to using propagators, the basis for SMT Solvers. Regarding the first approach, in this document we improve the encoding of two of the most important combinatorial constraints: cardinality constraints and pseudo-Boolean constraints. After that, we present a new mixed approach, called lazy decomposition, which combines the advantages of encodings and propagators.
The other part of the thesis uses these theoretical improvements in industrial combinatorial problems. We give a method for efficiently scheduling some professional sport leagues with SAT. The results are promising and show that a SAT approach is valid for these problems.
However, the chaotical behavior of CDCL-based SAT Solvers due to VSIDS heuristics makes it difficult to obtain a similar solution for two similar problems. This may be inconvenient in real-world problems, since a user expects similar solutions when it makes slight modifications to the problem specification. In order to overcome this limitation, we have studied and solved the close solution problem, i.e., the problem of quickly finding a close solution when a similar problem is considered