11 research outputs found

    The Energetic Reasoning Checker Revisited

    Get PDF
    Energetic Reasoning (ER) is a powerful filtering algorithm for the Cumulative constraint. Unfortunately, ER is generally too costly to be used in practice. One reason of its bad behavior is that many intervals are considered as relevant by the checker of ER, although most of them should be ignored. In this paper, we provide a sharp characterization that allows to reduce the number of intervals by a factor seven. Our experiments show that associating this checker with a Time-Table filtering algorithm leads to promising results.Comment: CP Doctoral Program 2013, Uppsala : Sweden (2013

    A New Characterization of Relevant Intervals for Energetic Reasoning

    Get PDF
    International audienceEnergetic Reasoning (ER) is a powerful filtering algorithm for the Cumulative constraint. Unfortunately, ER is generally too costly to be used in practice. One reason of its bad behavior is that many intervals are considered as relevant, although most of them should be ignored. In the literature, heuristic approaches have been developed in order to reduce the number of intervals to consider, leading to a loss of filtering. In this paper, we provide a sharp characterization that allows to reduce the number of intervals by a factor seven without loss of filtering

    Synchronized sweep algorithms for scalable scheduling constraints

    Get PDF
    This report introduces a family of synchronized sweep based filtering algorithms for handling scheduling problems involving resource and precedence constraints. The key idea is to filter all constraints of a scheduling problem in a synchronized way in order to scale better. In addition to normal filtering mode, the algorithms can run in greedy mode, in which case they perform a greedy assignment of start and end times. The filtering mode achieves a significant speed-up over the decomposition into independent cumulative and precedence constraints, while the greedy mode can handle up to 1 million tasks with 64 resources constraints and 2 million precedences. These algorithms were implemented in both CHOCO and SICStus

    Timetable edge finding filtering algorithm for discrete cumulative resources

    No full text
    Abstract. This paper presents new Edge Finding algorithm for discrete cumulative resources, i.e. resources which can process several activities simultaneously up to some maximal capacity C. The algorithm has better time complexity than the current version of this algorithm: O(kn log n) versusO(kn 2)wheren is number of activities on the resource and k is number of distinct capacity demands. Moreover the new algorithm is slightly stronger and it is able to handle optional activities. The algorithm is based on the Θ-tree – a binary tree data structure which already proved to be very useful in filtering algorithms for unary resource constraints.

    Synchronized sweep algorithms for scalable scheduling constraints

    Get PDF
    This report introduces a family of synchronized sweep based filtering algorithms for handling scheduling problems involving resource and precedence constraints. The key idea is to filter all constraints of a scheduling problem in a synchronized way in order to scale better. In addition to normal filtering mode, the algorithms can run in greedy mode, in which case they perform a greedy assignment of start and end times. The filtering mode achieves a significant speed-up over the decomposition into independent cumulative and precedence constraints, while the greedy mode can handle up to 1 million tasks with 64 resources constraints and 2 million precedences. These algorithms were implemented in both CHOCO and SICStus

    Efficient algorithms to solve scheduling problems with a variety of optimization criteria

    Get PDF
    La programmation par contraintes est une technique puissante pour résoudre, entre autres, des problèmes d'ordonnancement de grande envergure. L'ordonnancement vise à allouer dans le temps des tâches à des ressources. Lors de son exécution, une tâche consomme une ressource à un taux constant. Généralement, on cherche à optimiser une fonction objectif telle la durée totale d'un ordonnancement. Résoudre un problème d'ordonnancement signifie trouver quand chaque tâche doit débuter et quelle ressource doit l'exécuter. La plupart des problèmes d'ordonnancement sont NP-Difficiles. Conséquemment, il n'existe aucun algorithme connu capable de les résoudre en temps polynomial. Cependant, il existe des spécialisations aux problèmes d'ordonnancement qui ne sont pas NP-Complet. Ces problèmes peuvent être résolus en temps polynomial en utilisant des algorithmes qui leur sont propres. Notre objectif est d'explorer ces algorithmes d'ordonnancement dans plusieurs contextes variés. Les techniques de filtrage ont beaucoup évolué dans les dernières années en ordonnancement basé sur les contraintes. La proéminence des algorithmes de filtrage repose sur leur habilité à réduire l'arbre de recherche en excluant les valeurs des domaines qui ne participent pas à des solutions au problème. Nous proposons des améliorations et présentons des algorithmes de filtrage plus efficaces pour résoudre des problèmes classiques d'ordonnancement. De plus, nous présentons des adaptations de techniques de filtrage pour le cas où les tâches peuvent être retardées. Nous considérons aussi différentes propriétés de problèmes industriels et résolvons plus efficacement des problèmes où le critère d'optimisation n'est pas nécessairement le moment où la dernière tâche se termine. Par exemple, nous présentons des algorithmes à temps polynomial pour le cas où la quantité de ressources fluctue dans le temps, ou quand le coût d'exécuter une tâche au temps t dépend de t.Constraint programming is a powerful methodology to solve large scale and practical scheduling problems. Resource-constrained scheduling deals with temporal allocation of a variety of tasks to a set of resources, where the tasks consume a certain amount of resource during their execution. Ordinarily, a desired objective function such as the total length of a feasible schedule, called the makespan, is optimized in scheduling problems. Solving the scheduling problem is equivalent to finding out when each task starts and which resource executes it. In general, the scheduling problems are NP-Hard. Consequently, there exists no known algorithm that can solve the problem by executing a polynomial number of instructions. Nonetheless, there exist specializations for scheduling problems that are not NP-Complete. Such problems can be solved in polynomial time using dedicated algorithms. We tackle such algorithms for scheduling problems in a variety of contexts. Filtering techniques are being developed and improved over the past years in constraint-based scheduling. The prominency of filtering algorithms lies on their power to shrink the search tree by excluding values from the domains which do not yield a feasible solution. We propose improvements and present faster filtering algorithms for classical scheduling problems. Furthermore, we establish the adaptions of filtering techniques to the case that the tasks can be delayed. We also consider distinct properties of industrial scheduling problems and solve more efficiently the scheduling problems whose optimization criteria is not necessarily the makespan. For instance, we present polynomial time algorithms for the case that the amount of available resources fluctuates over time, or when the cost of executing a task at time t is dependent on t

    Optimisation de la planification à court et moyen terme dans les mines souterraines

    Get PDF
    RÉSUMÉ: La présente thèse s’inscrit dans le mouvement de numérisation des mines souterraines en s’attaquant au problème de planification. L’objectif global de la thèse est de fournir un outil d’optimisation des planifications à court et moyen terme permettant l’accès rapide à une solution optimale. La planification dans les mines souterraines pour ces horizons de temps est un problème difficile pour plusieurs raisons, notamment de par le grand nombre de ressources nécessaires, le grand nombre d’endroits de travail, les implications à long terme difficiles à prévoir et le niveau de précision requis. De manière plus spécifique, les objectifs de recherche sont de développer un modèle de programmation mathématique à court terme, un autre à court et moyen terme et un dernier en programmation par contraintes pour le court et moyen terme et de comparer ensuite les différentes approches. La revue de la littérature disponible sur le sujet montre que la majorité des travaux sur la planification minière portent sur les mines en fosses. Bien qu’elles aient certaines ressemblances, les mines en fosse et les mines souterraines sont malgré tout trop différentes pour simplement appliquer les solutions de l’une à l’autre. On constate d’ailleurs cette disparité dans la différence entre l’offre commerciale de produits d’optimisation pour les deux types de mines. Au sein de la littérature portant sur le souterrain, la majorité des publications portent sur la planification à long terme. Quelques modèles sont disponibles pour les horizons de temps à court et moyen terme, mais sont spécifiques à certaines mines. De cette littérature, l’ensemble des modèles est basé sur la programmation mathématique, à l’exception d’un modèle de planification en temps réel, mais qui constitue un problème différent de celui présenté ici. Un premier modèle de planification à court terme est présenté avec pour fonction objectif de maximiser les tonnes extraites tout en gardant un minimum de production de minerai pour chaque période de temps. Les variables utilisées pour la planification représentent des périodes d’une semaine et le modèle peut être résolu pour des exmeplaires allant jusqu’à six mois. Plusieurs tests sont effectués sur des données inspirées d’une mine canadienne et une analyse détaillée des solutions montre la grande différence entre la solution de la relaxation linéaire et le problème entier. Un exemple d’application réel est ensuite démontré afin de fournir les explications sur comment le modèle serait appliqué dans un tel contexte. Un deuxième modèle en programmation mathématique est présenté pour la planification intégrée à court et moyen terme. Les variables de planification y représentent des périodes d’une semaine pour les trois premiers mois de planification et des périodes de trois mois pour les suivantes. Un premier objectif consiste à maximiser la valeur actuelle nette des activités planifiées, mais un second est aussi présenté où la valeur absolue de la valeur actuelle nette est maximisée. Il est démontré que le deuxième objectif permet une meilleure utilisation des ressources tout en conservant le même niveau de production, et correspond mieux à ce qui serait implémenté en un contexte réel. De plus, on démontre que la relaxation linéaire de ce dernier est beaucoup plus près de la solution entière, facilitant ainsi la résolution du problème. Un exemple d’application à des scénarios réaliste est ensuite présenté pour fournir un cadre d’application au modèle et les avantages de la planification à court et moyen terme intégré sont présentés. Un troisième modèle est ensuite introduit, celui-ci utilisant la programmation par contraintes. L’objectif utilisé est de maximiser la valeur actuelle nette des activités. Le choix de ce dernier est fait afin de fournir une base de comparaison connue pour les modèles de programmation mathématique et de programmation par contraintes. Les résultats démontrent que ce nouveau modèle permet de résoudre avec une précision au quart de travail des exemplaires de plus d’un an. Une adaptation du modèle précédent permet de démontrer qu’aucune des exemplaires ne peut être résolue par celui-ci à ce niveau de précision et pour tel horizon de planification. La thèse se conclut en présentant quelques travaux en cours comme le développement d’un modèle de planification en temps réel et une adaptation du modèle de programmation par contraintes à un problème de mine en fosse. L’inclusion de l’aspect stochastique dans le modèle est finalement discutée ainsi que le potentiel d’une application réelle à une mine en production.----------ABSTRACT: This thesis is part of the current trend of digitization in underground mines by addressing the problem of mine planning. The overall objective of the thesis is to provide a tool for short and medium-term optimization of plannings, allowing optimal solutions to be found in a short time. Underground mine planning for these time horizons is a difficult problem for a number of reasons, including the number of resources required, the large number of work places, the long-term implications of short-term decisions and the level of accuracy required. More specifically, the research objectives are to develop a mathematical programming model for short-term, another for short- and medium-term and a last one using constraint programming for the short- and medium-term and then compare the different approaches. A review of the available literature shows that the majority of work in mine planning is about open-pit mines. Even though they have some similarities, open-pit mines and underground mines are still too different to simply apply the solutions from one to the other. This discrepancy in the difference between the commercial offer of optimization products for both types of mines is another proof of this. Within the underground literature, the majority of publications focus on long-term planning. Some models are available for short- and mediumterm time horizons, but are mine specific. From this literature, all the models are based on mathematical programming, with the exception of one real-time planning model, but it adresses a very different problem from the one presented here. First a short-term planning model is presented with an objective function of maximizing tonnes mined while keeping a minimum of ore production for each time period. The planning variables represent one-week periods and the model can be solved for instances of up to six months. Several tests are carried out on data inspired by a Canadian mine and a detailed analysis of the solutions shows the large gap between the solution of the linear relaxation and the integer solution. An example of a real application is then shown to provide explanations of how the model would be applied in this context. A second model using mathematical programming is presented for integrated short- and medium-term planning. The planning variables represent one-week periods for the first three months and three-month periods for the following ones. The first objective is to maximize the net present value of the planned activities, but a second one is to maximize the absolute value of the net present value. It is then shown that the second objective allows for a better use of the resources while keeping the same level of production, and better corresponds to what would be implemented in a real-life context. It is shown that the linear relaxation of the latter is much closer to the integer solution, facilitating the resolution of the problem. An example of a realistic application to scenarios is then presented to provide a framework of application for the model and the benefits of an integrated short- and medium-term planning are presented. A third model is introduced using constraint programming. The objective is to maximize the net present value of the activities planned. The choice of objective is made in order to provide a known basis of comparison for mathematical programming and constraint programming models. The results show that this new model allows to solve instances of more than one year at a precision of a work shift. A modification of the previous model shows that none of the instances can be solved using the mathematical programming model at this level of precision and this planning horizon. The thesis concludes by presenting some work in progress including the development of a real-time planning model and the modification of the constraint programming model so that it can be applied to an open-pit mine problem. The inclusion of the stochastic aspect in the model is finally discussed as well as the potential for an application to a mine in production

    Passage à l'échelle pour les contraintes d'ordonnancement multi-ressources

    Get PDF
    La programmation par contraintes est une approche régulièrement utilisée pour résoudre des problèmes combinatoires d origines diverses. Dans cette thèse nous nous focalisons sur les problèmes d ordonnancement cumulatif. Un problème d ordonnancement consiste à déterminer les dates de débuts et de fins d un ensemble de tâches, tout en respectant certaines contraintes de capacité et de précédence. Les contraintes de capacité concernent aussi bien des contraintes cumulatives classiques où l on restreint la somme des hauteurs des tâches intersectant un instant donné, que des contraintes cumulatives colorées où l on restreint le nombre maximum de couleurs distinctes prises par les tâches. Un des objectifs récemment identifiés pour la programmation par contraintes est de traiter des problèmes de grandes tailles, habituellement résolus à l aide d algorithmes dédiés et de métaheuristiques. Par exemple, l utilisation croissante de centres de données virtualisés laisse apparaitre des problèmes d ordonnancement et de placement multi-dimensionnels de plusieurs milliers de tâches. Pour atteindre cet objectif, nous utilisons l idée de balayage synchronisé considérant simultanément une conjonction de contraintes cumulative et des précédences, ce qui nous permet d accélérer la convergence au point fixe. De plus, de ces algorithmes de filtrage nous dérivons des procédures gloutonnes qui peuvent être appelées à chaque nœud de l arbre de recherche pour tenter de trouver plus rapidement une solution au problème. Cette approche permet de traiter des problèmes impliquant plus d un million de tâches et 64 ressources cumulatives. Ces algorithmes ont été implémentés dans les solveurs de contraintes Choco et SICStus, et évalués sur divers problèmes déplacement et d ordonnancement.Mots-clés : Programmation par contraintes, ordonnancement, cumulatif, passage à l échelle, point fixe, contraintes de ressources multidimensionelles, balayage synchronisé.Constraint programming is an approach often used to solve combinatorial problems in different application areas. In this thesis we focus on the cumulative scheduling problems. A scheduling problem is to determine the starting dates of a set of tasks while respecting capacity and precedence constraints. Capacity constraints affect both conventional cumulative constraints where the sum of the heights of tasks intersecting a given time point is limited, and colored cumulative constraints where the number of distinct colors assigned to the tasks intersecting a given time point is limited. A newly identified challenge for constraint programming is to deal with large problems, usually solved by dedicated algorithms and metaheuristics. For example, the increasing use of virtualized datacenters leads to multi dimensional placement problems of thousand of jobs. Scalability is achieved by using a synchronized sweep algorithm over the different cumulative and precedence constraints that allows to speed up convergence to the fix point. In addition, from these filtering algorithms we derive greedy procedures that can be called at each node of the search tree to find a solution more quickly. This approach allows to deal with scheduling problems involving more than one million jobs and 64 cumulative resources. These algorithms have been implemented within Choco and SICStussolvers and evaluated on a variety of placement and scheduling problems.NANTES-ENS Mines (441092314) / SudocSudocFranceF
    corecore