435 research outputs found
Constraint Programming based Local Search for the Vehicle Routing Problem with Time Windows
El projecte es centra en el "Vehicle Routing Problem with Time Windows". Explora i testeja un mètode basat en una formulació del problema en termes de programació de restriccions. Implementa un mètode de cerca local amb la capacitat de fer grans moviments anomenat "Large Neighbourhood Search"
Massivel y parallel declarative computational models
Current computer archictectures are parallel, with an increasing number of processors. Parallel programming is an error-prone task and declarative models such as those based on constraints relieve the programmer from some of its difficult aspects, because they abstract control away. In this work we study and develop techniques for declarative computational models based on constraints using GPI, aiming at large scale parallel execution. The main contributions of this work are: A GPI implementation of a scalable dynamic load balancing scheme based on work
stealing, suitable for tree shaped computations and effective for systems with thousands of threads. A parallel constraint solver, MaCS, implemented to take advantage of the GPI programming model. Experimental evaluation shows very good scalability results on systems with hundreds of cores. A GPI parallel version of the Adaptive Search algorithm, including different variants. The study on different problems advances the understanding of scalability issues known to exist with large numbers of cores; ### SUMÁRIO: Actualmente as arquitecturas de computadores são paralelas, com um crescente número de processadores. A programação paralela é uma tarefa propensa a erros e modelos declarativos baseados em restrições
aliviam o programador de aspectos difíceis dado que abstraem o controlo. Neste trabalho estudamos e desenvolvemos técnicas para modelos de computação declarativos baseados em restrições usando o GPI, uma ferramenta e modelo de programação recente. O Objectivo é a execução paralela em larga escala. As contribuições deste trabalho são as seguintes: a implementação de um esquema dinâmico para balanceamento da computação baseado no GPI. O esquema é adequado para computações em árvores e efectiva em sistemas compostos por milhares de unidades de computação. Uma abordagem à resolução paralela de restrições denominadas de MaCS, que tira partido do modelo de programação do GPI. A Avaliação experimental revelou boa escalabilidade num sistema com centenas de processadores. Uma versão paralela do algoritmo Adaptive Search baseada no GPI, que inclui diferentes variantes. O estudo de diversos problemas aumenta a compreensão de aspectos relacionados com a escalabilidade e presentes na execução deste tipo de algoritmos num grande número de processadores
Automatically exploiting high-level problem structure in local-search
Constraint Programming is the study of modelling and solving complex combinatorial
problems. Systematic-search and local-search are both well-researched approaches to
solving constraint problems. Systematic-search exhaustively explores the entire search
space and can be used to guarantee optimality, prove infeasibility or enumerate all possible
solutions. Conversely, local-search is a heuristic-based approach to solving constraint
problems. Often used in industrial applications, local-search is used to discover
high-quality solutions quickly, usually sacrificing the ability to cover the entire search
space. For this reason, it is preferred in applications where the scale of the problems
being solved are beyond what can be feasibly searched using systematic methods.
This work investigates methods of using information derived from high-level specifications
of problems to augment the performance and scalability of local-search systems.
Typically, abstract high-level constraint specifications or models are refined into lowlevel
representations suitable for input to a constraint solver, erasing any knowledge
of the specifications' high-level structures. We propose that whilst these lower-level
models are equivalent in their description of the problems being solved, the original
high-level specification, if retained, can be used to augment both the performance and
scalability of local-search systems.
In doing this, two approaches have been implemented and benchmarked. In the first
approach, Structured Neighbourhood Search (SNS), a systematic solver is adapted to
support declarative large neighbourhood search, using the high-level types such as sets,
sequences and partitions in the original problem specification to automatically construct
higher-quality, structured neighbourhoods. Our experiments demonstrate the
performance of SNS when applied to structured problems. In the second approach, a
novel constraint-based local-search solver is designed to operate on the high-level structures
without refining these structures into lower-level representations. The new solver
Athanor can directly instantiate and operate on the types in the Essence abstract
specification language, supporting arbitrarily nested types such as sets of partitions,
multi-sets of sequences and so on. Athanor retains the performance of SNS but boasts
a unique benefit; on some classes of problems, the high-level solver is shown to be able
to efficiently operate on instances that are too large for low-level solvers to even begin
search
Constraint programming on hierarchical multiprocessor systems
The work reported in this thesis is about constraint processing in the context of hierarchical
multiprocessor systems, including distributed systems. More speci cally, it develops
techniques and a system to help bringing the power available in today's multiprocessing
networked systems into the constraint processing eld.
Solving constraint speci ed problems is a process which lends itself naturally to
parallelisation, as it usually implies going through very large search spaces, looking for
a solution. Parallel constraint solving draws on the idea of dividing the search space
among several workers, so the search may proceed faster, and thanks to the declarative
nature of constraint programming, the parallelisation happens transparently as far as
the user is concerned. However, to fully take advantage of the parallel computing power
available, techniques must be developed to help ensure that the workers executing the
search are kept busy at all times, which is an issue tackled by this work; RESUMO: Esta tese debruça-se sobre a programação por restrições no contexto dos sistemas multiprocessador
hierárquicos, incluindo os sistemas distribuídos. Mais especificamente, o
trabalho elaborado desenvolve as técnicas de resolução de problemas de satisfação de
restrições recorrendo ao paralelismo.
A actualidade do tema prende-se com a cada vez maior divulgação de que são objecto
os sistemas multiprocessador que, juntamente com a omnipresença das redes de
computadores, põe à nossa disposição uma capacidade de cálculo que necessita de ser
posta a uso, o que tarda em acontecer. Nesta tese desenvolve-se um sistema que permite
tirar partido desses recursos através do processamento de restrições
A programação por restrições é um paradigma declarativo, em que o utilizador não
tem de se preocupar com o controlo da computação, e a introdução de paralelismo nesta
área pode realizar-se transparentemente. Por outro lado, o processo de pesquisa de
soluções para problemas especificados por restrições adapta-se particularmente bem a
ser paralelizado.
Este tese apresenta uma abordagem _à resolução paralela de restrições, que junta
paralelismo local, sob a forma de trabalhadores, com paralelismo distribuído, em que os
actores são as equipas. O sistema construído, destinado a sistemas distribuídos de larga
escala, que _é descrito e os seus resultados apresentados, inclui distribuição de trabalho,
através de roubo de trabalho. Este funciona, localmente, sem a colaboração do roubado
e, remotamente, com colaboração, num ambiente em que todas as equipas cooperam na
procura da solução
A public transport bus assignment problem: parallel metaheuristics assessment
Combinatorial Optimization Problems occur in a wide variety of contexts and generally
are NP-hard problems. At a corporate level solving this problems is of great importance
since they contribute to the optimization of operational costs. In this thesis we propose to solve the Public Transport Bus Assignment problem considering an heterogeneous fleet and line exchanges, a variant of the Multi-Depot Vehicle Scheduling Problem in which additional constraints are enforced to model a real life scenario.
The number of constraints involved and the large number of variables makes impracticable solving to optimality using complete search techniques. Therefore, we explore metaheuristics, that sacrifice optimality to produce solutions in feasible time. More concretely,
we focus on the development of algorithms based on a sophisticated metaheuristic,
Ant-Colony Optimization (ACO), which is based on a stochastic learning mechanism.
For complex problems with a considerable number of constraints, sophisticated metaheuristics may fail to produce quality solutions in a reasonable amount of time. Thus, we developed parallel shared-memory (SM) synchronous ACO algorithms, however, synchronism originates the straggler problem. Therefore, we proposed three SM asynchronous algorithms that break the original algorithm semantics and differ on the degree of concurrency allowed while manipulating the learned information.
Our results show that our sequential ACO algorithms produced better solutions than
a Restarts metaheuristic, the ACO algorithms were able to learn and better solutions were achieved by increasing the amount of cooperation (number of search agents). Regarding parallel algorithms, our asynchronous ACO algorithms outperformed synchronous ones in terms of speedup and solution quality, achieving speedups of 17.6x. The cooperation scheme imposed by asynchronism also achieved a better learning rate than the original one
A review of literature on parallel constraint solving
As multicore computing is now standard, it seems irresponsible for constraints researchers to ignore the implications of it. Researchers need to address a number of issues to exploit parallelism, such as: investigating which constraint algorithms are amenable to parallelisation; whether to use shared memory or distributed computation; whether to use static or dynamic decomposition; and how to best exploit portfolios and cooperating search. We review the literature, and see that we can sometimes do quite well, some of the time, on some instances, but we are far from a general solution. Yet there seems to be little overall guidance that can be given on how best to exploit multicore computers to speed up constraint solving. We hope at least that this survey will provide useful pointers to future researchers wishing to correct this situation
Development and implementation of a computer-aided method for planning resident shifts in a hospital
Ce mémoire propose une formulation pour le problème de confection d'horaire pour résidents, un problème peu étudiée dans la litérature. Les services hospitaliers mentionnés dans ce mémoire sont le service de pédiatrie du CHUL (Centre Hospitalier de l'Université Laval) et le service des urgences de l'Hôpital Enfant-Jésus à Québec. La contribution principale de ce mémoîre est la proposition d'un cadre d'analyse pour l’analyse de techniques manuelles utilisées dans des problèmes de confection d'horaires, souvent décrits comme des problèmes d'optimisation très complexes. Nous montrons qu'il est possible d'utiliser des techniques manuelles pour établir un ensemble réduit de contraintes sur lequel la recherche d’optimisation va se focaliser. Les techniques utilisées peuvent varier d’un horaire à l’autre et vont déterminer la qualité finale de l’horaire. La qualité d’un horaire est influencée par les choix qu’un planificateur fait dans l’utilisation de techniques spécifiques; cette technique reflète alors la perception du planificateur de la notion qualité de l’horaire. Le cadre d’analyse montre qu'un planificateur est capable de sélectionner un ensemble réduit de contraintes, lui permettant d’obtenir des horaires de très bonne qualité. Le fait que l'approche du planificateur est efficace devient clair lorsque ses horaires sont comparés aux solutions heuristiques. Pour ce faire, nous avons transposées les techniques manuelles en un algorithme afin de comparer les résultats avec les solutions manuelles. Mots clés: Confection d’horaires, Confection d’horaires pour résidents, Creation manuelle d’horaires, Heuristiques de confection d’horaires, Méthodes de recherche localeThis thesis provides a problem formulation for the resident scheduling problem, a problem on which very little research has been done. The hospital departments mentioned in this thesis are the paediatrics department of the CHUL (Centre Hospitalier de l’Université Laval) and the emergency department of the Hôpital Enfant-Jésus in Québec City. The main contribution of this thesis is the proposal of a framework for the analysis of manual techniques used in scheduling problems, often described as highly constrained optimisation problems. We show that it is possible to use manual scheduling techniques to establish a reduced set of constraints to focus the search on. The techniques used can differ from one schedule type to another and will determine the quality of the final solution. Since a scheduler manually makes the schedule, the techniques used reflect the scheduler’s notion of schedule quality. The framework shows that a scheduler is capable of selecting a reduced set of constraints, producing manual schedules that often are of very high quality. The fact that a scheduler’s approach is efficient becomes clear when his schedules are compared to heuristics solutions. We therefore translated the manual techniques into an algorithm so that the scheduler’s notion of schedule quality was used for the local search and show the results that were obtained. Key words: Timetable scheduling, Resident scheduling, Manual scheduling, Heuristic schedule generation, Local search method
- …