PhD Theses
http://cp2014.a4cp.org/theses?combine=&sort_by=field_graduated_value&sort_order=DESC
enFloating-point numbers round-off error analysis by constraint programming
http://cp2014.a4cp.org/node/1405
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Rémy Garcia</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">Université Côte d'Azur, Nice, France</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">Claude Michel, Université Côte d'Azur, Nice, France</div><div class="field-item odd">Michel Rueher, Université Côte d'Azur, Nice, France</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>Floating-point numbers are used in many applications to perform computations, often without the user’s knowledge. The mathematical models of these applications use real numbers that are often not representable on a computer. Indeed, a finite binary representation is not sufficient to represent the continuous and infinite set of real numbers. The problem is that computing with floating-point numbers often introduces a rounding error compared to its equivalent over real numbers. Knowing the order of magnitude of this error is essential in order to correctly understand the behaviour of a program. Many error analysis tools calculate an over-approximation of the errors. These over-approximations are often too coarse to effectively assess the impact of the error on the behaviour of the program. Other tools calculate an under-approximation of the maximum error, i.e., the largest possible error in absolute value. These under-approximations are either incorrect or unreachable. In this thesis, we propose a constraint system capable of capturing and reasoning about the error produced by a program that performs computations with floating-point numbers. We also propose an algorithm to search for the maximum error. For this purpose, our algorithm computes both a rigorous over-approximation and a rigorous under-approximation of the maximum error. An over-approximation is obtained from the constraint system for the errors, while a reachable under-approximation is produced using a generate-and-test procedure and a local search. Our algorithm is the first to combine both an over-approximation and an under-approximation of the error. Our methods are implemented in a solver, called FErA. Performance on a set of common problems is competitive: the rigorous enclosure produced is accurate and compares well with other state-of-the-art tools.</p>
<p>Keywords: constraint programming, floating-point numbers, round-off error, error analysis, constraints over errors, optimization</p>
<hr /><p>Les nombres à virgule flottante sont utilisés dans de nombreuses applications pour effectuer des calculs, souvent à l’insu de l’utilisateur. Les modèles mathématiques de ces applications utilisent des nombres réels qui ne sont souvent pas représentables sur un ordinateur. En effet, une représentation binaire finie n’est pas suffisante pour représenter l’ensemble continu et infini des nombres réels. Le problème est que le calcul avec des nombres à virgule flottante introduit souvent une erreur d’arrondi par rapport à son équivalent sur les nombres réels. Connaître l’ordre de grandeur de cette erreur est essentiel afin de comprendre correctement le comportement d’un programme. De nombreux outils en analyse d’erreurs calculent une sur-approximation des erreurs. Ces sur-approximations sont souvent trop grossières pour évaluer efficacement l’impact de l’erreur sur le comportement du programme. D’autres outils calculent une sous-approximation de l’erreur maximale, i.e., la plus grande erreur possible en valeur absolue. Ces sous-approximations sont soit incorrectes, soit inatteignables. Dans cette thèse, nous proposons un système de contraintes capable de capturer et de raisonner sur l’erreur produite par un programme qui effectue des calculs avec des nombres à virgule flottante. Nous proposons également un algorithme afin de chercher l’erreur maximale. Pour cela, notre algorithme calcule à la fois une sur-approximation et une sous approximation rigoureuses de l’erreur maximale. Une sur-approximation est obtenue à partir du système de contraintes pour les erreurs, tandis qu’une sous-approximation atteignable est produite à l’aide d’une procédure générer-et-tester et d’une recherche locale. Notre algorithme est le premier à combiner à la fois une sur-approximation et une sous-approximation de l’erreur. Nos méthodes sont implémentées dans un solveur, appelé FErA. Les performances sur un ensemble de problèmes communs sont compétitives : l’encadrement rigoureux produit est précis et se compare bien par rapport aux autres outils de l’état de l’art.</p>
<p>Mots-clés : programmation par contraintes, nombres à virgule flottante, erreur d’arrondi, analyse d’erreurs, contraintes sur les erreurs, optimisation</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Wednesday, September 8, 2021</span></div></div></section><section class="field field-name-field-link-to-full-text field-type-link-field field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Link to full text: </h2><div class="field-items"><div class="field-item even"><a href="https://tel.archives-ouvertes.fr/tel-03416121">Floating-point numbers round-off error analysis by constraint programming</a></div></div></section><section class="field field-name-field-also-published-in field-type-link-field field-label-above view-mode-teaser"><h2 class="field-label">Also published in: </h2><div class="field-items"><div class="field-item even"><a href="https://link.springer.com/chapter/10.1007/978-3-030-58475-7_37">A Branch-and-bound Algorithm to Rigorously Enclose the Round-Off Errors</a></div><div class="field-item odd"><a href="https://link.springer.com/chapter/10.1007/978-3-030-63618-0_12">Rigorous Enclosure of Round-Off Errors in Floating-Point Computations</a></div><div class="field-item even"><a href="https://hal.archives-ouvertes.fr/hal-01956046/">Towards a constraint system for round-off error analysis of floating-point computation</a></div></div></section><section class="field field-name-upload field-type-file field-label-above view-mode-teaser"><h2 class="field-label">PDF of thesis: </h2><div class="field-items"><div class="field-item even"><span class="file"><img class="file-icon" alt="PDF icon" title="application/pdf" src="/modules/file/icons/application-pdf.png" /> <a href="http://cp2014.a4cp.org/sites/default/files/remy_garcia_-_floating-point_numbers_round-off_error_analysis_by_constraint_programming.pdf" type="application/pdf; length=3170862">remy_garcia_-_floating-point_numbers_round-off_error_analysis_by_constraint_programming.pdf</a></span></div></div></section>Tue, 05 Apr 2022 20:44:09 +0000remy1405 at http://cp2014.a4cp.orgThe extensional constraint
http://cp2014.a4cp.org/node/1372
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Hélène Verhaeghe</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">UCLouvain, Louvain-la-Neuve, Belgium</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">Prof. Pierre Schaus</div><div class="field-item odd">Prof. Christophe Lecoutre</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>Extensional constraints are crucial in Constraint Programming. They represent allowed combinations of values for a subset of variables (the scope of the constraint) using extensional representation forms such as tables (lists of tuples of constraint solutions) or MDDs (layered acyclic directed graphs where each path represents a constraint solution). Such extensional forms allow the modelization of virtually any kind of constraints.
This type of constraint is among the first ones available in constraint solvers. A lot of progress has been made since the original design of the first propagator of table constraints: advanced use of supports, simple tabular reduction, bitwise computations, reseting opperations, table compression, and MDDs. The most recent algorithm prior to this thesis is Compact-Table. It advantageously uses a data structure called reversible sparse bitsets to speed up the computations.
The work in this thesis initiates with Compact-Table. The goal is to extend it to handle other kinds of extensional representation. The first addressed representation is about compressed tables, i.e. tables containing tuples wich do not only contain single values but also simple unary (∗, != v, ≤ v, ≥ v, ∈ S, !∈ S) or binary (= x + v, != x + v, ≤ x + v, ≥ x + v) restrictions. One such compressed tuple allows representing several classical ones. This led to the CT ∗ and CT bs algorithms, handling respectively short and basic smart tables. The second addressed issue concerns negative tables, i.e. tables listing forbidden combinations of values. This results in the CT neg and CT ∗ neg algorithms, handling respectively negative and negative short tables. The third and last adaptation addresses diagram structures, i.e. graphs such as MDDs or other layered graphical structure. This led to the CD and CD bs algorithms, handling respectively diagrams and basic smart diagrams.
Being able to use such diversity of representation helps to counter-balance the main drawback of classical table representations, which is their potentially exponential growth in size. Compressed tables, negative tables, and diagrams help reduce the memory consumption (storage size) required to store an equivalent representation.</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Tuesday, August 31, 2021</span></div></div></section><section class="field field-name-upload field-type-file field-label-above view-mode-teaser"><h2 class="field-label">PDF of thesis: </h2><div class="field-items"><div class="field-item even"><span class="file"><img class="file-icon" alt="PDF icon" title="application/pdf" src="/modules/file/icons/application-pdf.png" /> <a href="http://cp2014.a4cp.org/sites/default/files/helene_verhaeghe_-_the_extensional_constraint.pdf" type="application/pdf; length=3518730">helene_verhaeghe_-_the_extensional_constraint.pdf</a></span></div></div></section>Sun, 12 Sep 2021 06:56:54 +0000hverhaeghe1372 at http://cp2014.a4cp.orgSolving Scheduling Problems under Disruptions
http://cp2014.a4cp.org/node/1410
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Alexandre Lemos</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">UNIVERSIDADE DE LISBOA, INSTITUTO SUPERIOR TÉCNICO</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">Inês Lynce</div><div class="field-item odd">Pedro T Monteiro</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>Scheduling problems are common in many applications that range from factories and transports to universities. Most times, these problems are optimization problems for which we want to find the best way to manage scarce resources. Reality is dynamic, and thus unexpected disruptions can make the original solution invalid. There are many methods to deal with disruptions well described in the literature. These methods can be divided into two main approaches: (i) create robust solutions for the most common disruptions, and (ii) solve the problem again from scratch extended with new constraints.</p>
<p>The goal of creating robust solutions is to ensure their validity even after the most common disruptions occur. For this reason, it requires a detailed study of the most likely disruptive scenarios. The main disadvantage of creating a robust solution is a possible reduction in the overall quality (e.g., financial cost, customer satisfaction) to support the most likely disruptive scenarios that may never occur. Regardless of the robustness of the solution, we may need to solve the problem again.</p>
<p>Most of the methods developed to recover solutions after disruptions occur consist of re-solving the problem from scratch with an additional cost function. This cost function ensures that the new solution is close to the original. In other words, the methods solve the Minimal Perturbation Problem (MPP). However, all these methods require more execution time than the original problem to find a new solution. This can be explained by the fact that we solve a different problem (with more optimization criteria). One can mitigate this problem by re-using the search. Moreover, they use generic cost functions (e.g., Hamming distance) that may have little significance in practice.</p>
<p>In this work, we propose novel algorithms to solve the MPP applied to two domains: university course timetabling and train scheduling. We tested our algorithms to solve university timetabling problems with data sets obtained from Instituto Superior Técnico and the 2019 International Timetabling Competition. One of these algorithms was ranked in the top 5 of the competition.
When considering the train scheduling case study, we tested our algorithms with data from the Swiss Federal Railways and from PESPLib. The evaluation shows that the new algorithms are more efficient than the ones described in the literature.</p>
<p>Summing up, the proposed algorithms show a significant improvement on the state-of-the-art to re-solve scheduling problems under disruptions.</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Thursday, July 8, 2021</span></div></div></section><section class="field field-name-field-also-published-in field-type-link-field field-label-above view-mode-teaser"><h2 class="field-label">Also published in: </h2><div class="field-items"><div class="field-item even"><a href="https://link.springer.com/article/10.1007/s10951-021-00695-6">Introducing UniCorT: an iterative university course timetabling tool with MaxSAT</a></div><div class="field-item odd"><a href="https://link.springer.com/article/10.1007/s10951-020-00666-3">Disruptions in timetables: a case study at Universidade de Lisboa</a></div><div class="field-item even"><a href="https://link.springer.com/chapter/10.1007/978-3-030-58942-4_21">Minimal perturbation in university timetabling with maximum satisfiability</a></div><div class="field-item odd"><a href="http://www.patatconference.org/patat2020/proceedings/papers/9. PATAT_2020_paper_20.pdf">Itc 2019: University course timetabling with maxsat</a></div><div class="field-item even"><a href="https://almob.biomedcentral.com/articles/10.1186/s13015-019-0145-8">Repairing Boolean logical models from time-series data using Answer Set Programming</a></div><div class="field-item odd"><a href="https://www.sciencedirect.com/science/article/pii/S2214716018301696">Room usage optimization in timetabling: A case study at Universidade de Lisboa</a></div><div class="field-item even"><a href="https://helda.helsinki.fi/bitstream/handle/10138/333649/mse21proc.pdf?sequence=1#page=37">Benchmark: University Course Timetabling from the International Timetabling Competition 2019</a></div><div class="field-item odd"><a href="https://www.itc2019.org/papers/itc2019-lemos.pdf">ITC-2019: A MaxSAT approach to solve University Timetabling problems</a></div></div></section><section class="field field-name-upload field-type-file field-label-above view-mode-teaser"><h2 class="field-label">PDF of thesis: </h2><div class="field-items"><div class="field-item even"><span class="file"><img class="file-icon" alt="PDF icon" title="application/pdf" src="/modules/file/icons/application-pdf.png" /> <a href="http://cp2014.a4cp.org/sites/default/files/alexandre_lemos_-_solving_scheduling_problems_under_disruptions.pdf" type="application/pdf; length=9733804">alexandre_lemos_-_solving_scheduling_problems_under_disruptions.pdf</a></span></div></div></section>Fri, 06 May 2022 10:44:57 +0000AlexandreLemos1410 at http://cp2014.a4cp.orgConstraint Programming Approaches to Electric Vehicle and Robot Routing Problems
http://cp2014.a4cp.org/node/1411
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Kyle E. C. Booth</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">University of Toronto</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">J. Christopher Beck</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>Driven by global efforts to curb greenhouse gas emissions, there has been significant investment in electric vehicle (EV) technology in recent years, resulting in a substantial increase in EV market share. Concurrently, the demand for mobile robots, such as unmanned aerial vehicles (UAVs) and land-based robots, has also experienced rapid growth, encouraged by recent advances in the autonomy and capabilities of these systems. Common to both of these technologies is the use of electric motors for propulsion and batteries for mobile energy storage. Techniques for the coordination of electric vehicle fleets, whether human-operated or autonomous, must address a variety of unique challenges, including sparse recharging infrastructure, significant recharge durations, and limited battery capacities.</p>
<p>The central thesis of this dissertation is that constraint programming (CP) can be an effective and flexible paradigm for modeling and solving routing problems involving electric vehicles. While efforts on the development of mixed-integer linear programming (MILP) approaches to electric vehicle routing problems within the vehicle routing literature are expansive and consistently growing, the exploration of CP for approaching these increasingly pervasive problems has been, thus far, limited.</p>
<p>Throughout this dissertation, we address this thesis by developing novel CP formulations for both existing and new electric vehicle routing problem domains, leveraging modeling strategies from the MILP literature. Specifically, we propose novel CP models based on recharging path multigraphs as well as introduce a novel single resource modeling strategy that exploits symmetry in vehicle fleets for CP models involving interval, sequence, and cumulative function expression variables. These methodological contributions are then applied to four problem domains, where applicable. The first two problem domains involve electric vehicle routing with traditional logistics fleets. The third domain requires the synchronization of heterogeneous fleets involving UAVs and ground-based vehicles in a large-scale surveillance setting. Finally, the last problem domain involves the routing of social robots in a retirement home setting under complex real-world constraints, including synchronization and optional task precedence. For each of these domains, we empirically demonstrate the effectiveness of our CP approaches.</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Wednesday, June 16, 2021</span></div></div></section><section class="field field-name-field-link-to-full-text field-type-link-field field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Link to full text: </h2><div class="field-items"><div class="field-item even"><a href="https://tspace.library.utoronto.ca/bitstream/1807/106297/2/Booth_Kyle_Ewart Coventry_202106_PhD_thesis.pdf">Constraint Programming Approaches to Electric Vehicle and Robot Routing Problems</a></div></div></section><section class="field field-name-upload field-type-file field-label-above view-mode-teaser"><h2 class="field-label">PDF of thesis: </h2><div class="field-items"><div class="field-item even"><span class="file"><img class="file-icon" alt="PDF icon" title="application/pdf" src="/modules/file/icons/application-pdf.png" /> <a href="http://cp2014.a4cp.org/sites/default/files/kyle_e._c._booth_-_constraint_programming_approaches_to_electric_vehicle_and_robot_routing_problems.pdf" type="application/pdf; length=4795296">kyle_e._c._booth_-_constraint_programming_approaches_to_electric_vehicle_and_robot_routing_problems.pdf</a></span></div></div></section>Wed, 25 May 2022 17:30:33 +0000KyleBooth1411 at http://cp2014.a4cp.orgFrom Declarative Models to Local Search
http://cp2014.a4cp.org/node/1360
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Gustav Björdal</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">Uppsala University</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">Pierre Flener</div><div class="field-item odd">Justin Pearson</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>A solver is a general-purpose software for solving optimisation problems. It takes as input a description of a problem, called a model, and uses a collection of algorithms, called its solving technology, to ideally produce an optimal solution as output. Most solvers have a modelling language that cannot be processed by other solvers. This means that there is a risk of making an early commitment to a solver and its technology when writing a model. To address this risk, and to increase the accessibility of solvers, there has been a push for technology-independent modelling languages, a notable one being MiniZinc.</p>
<p>A model written in MiniZinc is transformed by the MiniZinc toolchain in order to suit a targeted solver and its technology. However, for a solver to process a MiniZinc model, it also requires what is called a backend for MiniZinc. A backend translates the transformed MiniZinc model into the solver’s own modelling language and synthesises any components not in a MiniZinc model that the solver (or its technology) requires.</p>
<p>The solving technology called constraint-based local search (CBLS) is based on the popular algorithm design methodology called local search, which often quickly produces near-optimal solutions, even to large problems. So, with the advent of CBLS solvers, there is a need for CBLS backends to modelling languages like MiniZinc.</p>
<p>This thesis contributes to three research topics. First, it shows for the first time how to create a CBLS backend for a technology-independent modelling language, namely MiniZinc, and it shows that CBLS via MiniZinc can be competitive for solving optimisation problems. Second, it extends MiniZinc with concepts from local search, and shows that these concepts can be used even by other technologies towards designing new types of solvers. Third, it extends the utilisation of another technology, namely constraint programming, inside local-search solvers and backends.</p>
<p>These contributions make local search accessible to all users of modelling languages like MiniZinc, and allow some optimisation problems to be solved more efficiently via such languages.</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Friday, April 23, 2021</span></div></div></section><section class="field field-name-field-link-to-full-text field-type-link-field field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Link to full text: </h2><div class="field-items"><div class="field-item even"><a href="http://urn.kb.se/resolve?urn=urn%3Anbn%3Ase%3Auu%3Adiva-436139">From Declarative Models to Local Search</a></div></div></section>Wed, 05 May 2021 12:15:37 +0000Gustav Bjordal1360 at http://cp2014.a4cp.orgOptimization Methods Based on Decision Diagrams for Constraint Programming, AI Planning, and Mathematical Programming
http://cp2014.a4cp.org/node/1392
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Margarita Castro</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">University of Toronto</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">J. Christopher Beck</div><div class="field-item odd">Andre A. Cire</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>Decision diagrams (DDs) are graphical structures that can be used to solve discrete optimization problems by representing the set of feasible solutions as paths in a graph. This graphical encoding of the feasibility set can represent complex combinatorial structures and is the foundation of several novel optimization techniques. Due to their flexibility, DDs have become an attractive optimization tool for researchers in different fields, including operations research and computer science.</p>
<p>This dissertation investigates new techniques to use DDs in conjunction with existing discrete optimization approaches based on constraint programming (CP), artificial intelligence (AI), and integer programming (IP). The central thesis of this dissertation is that DDs are effective tools to capture complex combinatorial structures of discrete optimization problems that are not fully exploited by general-purpose solvers. Thus, combinations of DDs with existing technologies can achieve state-of-the-art performance on challenging optimization problems.</p>
<p>Throughout this work, we address this thesis by developing novel DD procedures that leverage methodologies from different optimization fields to solve discrete optimization problems. Our first project employs Lagrangian duality to strengthen DD bounds for pickup-and-delivery problems. The second project explores new ways to generate admissible heuristics for AI planning tasks by combining DD relaxations with AI planning techniques. This work also studies the relationship between DD heuristics and existing admissible heuristics in the community. Lastly, we propose a novel combinatorial lifting procedure and two cutting plane approaches based on DDs for general-form binary optimization problems. We show theoretical guarantees for our lifting procedure (e.g., conditions to obtain facet defining inequalities) and provide a thorough theoretical analysis of our two cutting plane procedures.</p>
<p>We apply our DD techniques to different problems, extending the usability of DDs in the field. Our first work extends the literature of DDs for sequencing problems by considering capacity constraints and proposing a DD construction procedure based on this restriction. We also present two DD encodings for delete-free AI planning and analyze the properties of both representations. Our last project introduces a new DD network flow formulation and proposes a novel DD encoding for second-order cone inequalities.</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Monday, March 1, 2021</span></div></div></section><section class="field field-name-field-link-to-full-text field-type-link-field field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Link to full text: </h2><div class="field-items"><div class="field-item even"><a href="https://www.proquest.com/docview/2507182586?pq-origsite=gscholar&fromopenview=true">Optimization Methods Based on Decision Diagrams for Constraint Programming, AI Planning, and Mathematical Programming</a></div></div></section><section class="field field-name-field-notes field-type-text-long field-label-above view-mode-teaser"><h2 class="field-label">Notes: </h2><div class="field-items"><div class="field-item even">This dissertation obtained the Doctoral Research Award from the Association for Constraint Programming (ACP) in 2021. Also, the third chapter of this dissertation won the Student Paper Competition (Open Category) from the Canadian OR Society (CORS) in 2020 and was recognized as the runner-up of the Student Paper Award given by the INFORMS Computing Society (ICS) in 2020.</div></div></section><section class="field field-name-upload field-type-file field-label-above view-mode-teaser"><h2 class="field-label">PDF of thesis: </h2><div class="field-items"><div class="field-item even"><span class="file"><img class="file-icon" alt="PDF icon" title="application/pdf" src="/modules/file/icons/application-pdf.png" /> <a href="http://cp2014.a4cp.org/sites/default/files/margarita_castro_-_optimization_methods_based_on_decision_diagrams_for_constraint_programming_ai_planning_and_mathematical_programming.pdf" type="application/pdf; length=1827081">margarita_castro_-_optimization_methods_based_on_decision_diagrams_for_constraint_programming_ai_planning_and_mathematical_programming.pdf</a></span></div></div></section>Thu, 13 Jan 2022 12:01:10 +0000mpcastro1392 at http://cp2014.a4cp.orgScheduling Through Logic-Based Tools
http://cp2014.a4cp.org/node/1295
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Jordi Coll Caballero</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">Universitat de Girona</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">Josep Suy Franch</div><div class="field-item odd">Mateu Villaret Auselle</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>A scheduling problem can be defined in a nutshell as the problem of determining when and how the activities of a project have to be run, according to some project requirements. Such problems are ubiquitous nowadays since they frequently appear in industry and services. In most cases the computation of solutions of scheduling problems is hard, especially when some objective, such as the duration of the project, has to be optimised.
The recent performance advances on solving the problems of Boolean Satisfiability (SAT) and SAT Modulo Theories (SMT) have risen the interest in formulating hard combinatorial problems as SAT or SMT formulas, which are then solved with efficient algorithms. One of the principal advantages of such logic-based techniques is that they can certify optimality of solutions.</p>
<p>The main contribution of this thesis is the presentation of efficient SMT-based methods to solve scheduling problems. More precisely we tackle the well-known Resource-Constrained Project Scheduling Problem (RCPSP) as well as many extensions of this problem with additional requirements and modelling challenges. Namely, we also solve the problems commonly denoted by MRCPSP, RCPSP/t, MRCPSP/max and MSPSP. The most challenging constraints in RCPSP-based problems are resource constraints, which specify a limited availability of shared resources, usually renewable, that activities cannot surpass at any time. To handle such constraints we use decision diagram based SAT encodings of pseudo-Boolean (PB) constraints. Since these encodings have a high impact on solving times, we take advantage of collateral constraints to compactly encode PB constraints, while preserving good propagation properties. However we go one step further, because we believe that such PB encoding technique can be useful in other fields different than scheduling. With this idea in mind, we design our PB encodings in an application-independent way, and we provide many encoding alternatives different from decision diagram representations. The systems that we present are able to outperform the best state-of-the-art exact solvers for the studied scheduling problems.</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Monday, July 15, 2019</span></div></div></section><section class="field field-name-field-link-to-full-text field-type-link-field field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Link to full text: </h2><div class="field-items"><div class="field-item even"><a href="https://dugi-doc.udg.edu/handle/10256/17246"> Scheduling through logic-based tools</a></div></div></section><section class="field field-name-upload field-type-file field-label-above view-mode-teaser"><h2 class="field-label">PDF of thesis: </h2><div class="field-items"><div class="field-item even"><span class="file"><img class="file-icon" alt="PDF icon" title="application/pdf" src="/modules/file/icons/application-pdf.png" /> <a href="http://cp2014.a4cp.org/sites/default/files/jordi_coll_caballero_-_scheduling_through_logic-based_tools.pdf" type="application/pdf; length=1568564">jordi_coll_caballero_-_scheduling_through_logic-based_tools.pdf</a></span></div></div></section>Mon, 02 Dec 2019 13:17:04 +0000jordicoll1295 at http://cp2014.a4cp.orgConstraint-Based Multi-Objective Combinatorial Optimization
http://cp2014.a4cp.org/node/1275
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Miguel Terra-Neves</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">Instituto Superior Técnico, Universidade de Lisboa, Portugal</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">Vasco Manquinho</div><div class="field-item odd">Inês Lynce</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>Multi-objective optimization problems are common in many real-world scenarios. One example is the virtual machine consolidation problem, where a cloud provider wishes to relocate virtual machines within a data center in order to reduce its energy consumption, but the new placement should not have a strong negative impact on the data center's performance. A plethora of techniques exist in the literature for optimizing multiple possibly conflicting objectives, mostly based on stochastic algorithms. These techniques are able to quickly find a high quality set of solutions. However, if the search space is tightly constrained, stochastic algorithms struggle to find a single solution that does not violate the problem's constraints. Moreover, these algorithms typically require a significant amount of tuning effort.</p>
<p>On the other hand, approaches that rely on constraint solvers thrive in scenarios where the search space is tightly constrained and are guaranteed to find solutions that satisfy the problem's constraints. Such approaches have been successfully applied to a wide range of single-objective optimization problems. Nevertheless, to the best of our knowledge, their application to multi-objective problems has not been properly explored in the literature, compared to stochastic algorithms. In this work, we propose several novel constraint-based approaches for multi-objective optimization, and show their merits through an extensive experimental evaluation on instances of the virtual machine consolidation problem. The evaluation shows that the new techniques enhance the state-of-the-art for solving multi-objective combinatorial optimization problems.</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Tuesday, June 18, 2019</span></div></div></section>Mon, 09 Sep 2019 14:25:43 +0000manquinho1275 at http://cp2014.a4cp.orgSpacetime Programming: A Synchronous Language for Constraint Search
http://cp2014.a4cp.org/node/1274
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Pierre Talbot</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">Sorbonne University</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">Carlos Agon</div><div class="field-item odd">Philippe Esling</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>Constraint programming is a paradigm for computing with mathematical relations named constraints. It is a declarative approach to describe many real-world problems including scheduling, vehicles routing, biology and musical composition. Constraint programming must be contrasted with procedural approaches that describe <em>how</em> a problem is solved, whereas constraint models describe <em>what</em> the problem is. The part of <em>how</em> a constraint problem is solved is left to a general constraint solver. Unfortunately, there is no solving algorithm efficient enough to every problem, because the search strategy must often be customized <em>per problem</em> to attain reasonable efficiency. This is a daunting task that requires expertise and good understanding on the solver's intrinsics. Moreover, higher-level constraint-based languages provide limited support to specify search strategies.</p>
<p>In this dissertation, we tackle this challenge by designing a programming language for specifying search strategies. The dissertation is constructed around two axes:</p>
<ul><li>A novel theory of constraint programming based on lattice theory.</li>
<li>A programming language, called <em>spacetime programming</em>, building on lattice theory for its data structures and on synchronous programming for its computational model.</li>
</ul><p>The first part formalizes the components of inference and search in a constraint solver. This allows us to scrutinize various constraint-based languages through the same underlying foundations. In this respect, we give the semantics of several paradigms including constraint logic programming and concurrent constraint programming using lattices. The second part is dedicated to building a practical language where search strategies can be easily composed. Compositionality consists in taking several distinct strategies and, via some operators, to compose these in order to obtain a new strategy. Existing proposals include extensions to logic programming, monadic constraint programming and search combinators, but all suffer from different drawbacks as explained in the dissertation. The original aspect of spacetime programming is to make use of a temporal dimension, offered by the synchronous paradigm, to compose and synchronize search strategies on a shared logical clock.</p>
<p>This paradigm opens the door to new and more complex search strategies in constraint programming but also in applications requiring backtracking search. We demonstrate its usefulness in an interactive computer-aided composition system where we design a search strategy to help the composer navigating in the state space generated by a musical constraint problem. We also explore a model checking algorithm where a model dynamically generates a constraint satisfaction problem (CSP) representing the reachability of some states. Although these applications are experimental, they hint at the suitability of spacetime programming in a larger context.</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Thursday, June 6, 2019</span></div></div></section><section class="field field-name-field-link-to-full-text field-type-link-field field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Link to full text: </h2><div class="field-items"><div class="field-item even"><a href="http://hyc.io/thesis.html">Spacetime Programming: A Synchronous Language for Constraint Search</a></div></div></section><section class="field field-name-upload field-type-file field-label-above view-mode-teaser"><h2 class="field-label">PDF of thesis: </h2><div class="field-items"><div class="field-item even"><span class="file"><img class="file-icon" alt="PDF icon" title="application/pdf" src="/modules/file/icons/application-pdf.png" /> <a href="http://cp2014.a4cp.org/sites/default/files/pierre_talbot_-_spacetime_programming_a_synchronous_language_for_constraint_search.pdf" type="application/pdf; length=1473281">pierre_talbot_-_spacetime_programming_a_synchronous_language_for_constraint_search.pdf</a></span></div></div></section>Mon, 09 Sep 2019 13:58:11 +0000ptalbot1274 at http://cp2014.a4cp.orgHybrid Optimization of Vehicle Routing Problems
http://cp2014.a4cp.org/node/1272
<section class="field field-name-field-author field-type-text field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Author: </h2><div class="field-items"><div class="field-item even">Edward Lam</div></div></section><section class="field field-name-field-school field-type-text field-label-above view-mode-teaser"><h2 class="field-label">School: </h2><div class="field-items"><div class="field-item even">University of Melbourne</div></div></section><section class="field field-name-field-supervisors field-type-text field-label-above view-mode-teaser"><h2 class="field-label">Supervisors: </h2><div class="field-items"><div class="field-item even">Pascal Van Hentenryck</div></div></section><section class="field field-name-body field-type-text-with-summary field-label-above view-mode-teaser"><h2 class="field-label">Abstract: </h2><div class="field-items"><div class="field-item even"><p>Vehicle routing problems are combinatorial optimization problems that aspire to design vehicle routes that minimize some measure of cost, such as the total distance traveled or the time at which the last vehicle returns to a depot, while adhering to various restrictions. Vehicle routing problems are of profound interest in both academia and industry because they are opportunities to study graph structures and algorithms, and because they underpin practical applications in a multitude of industries, but notably, the transportation and logistics industries. This dissertation presents two applications relevant to industry and develops a fully hybrid method for solving a classical vehicle routing problem.</p>
<p>The first application combines vehicle routing with crew scheduling. In industry, vehicle routing and crew scheduling are usually performed in stages due to the large search space of integrated models. The first stage finds minimal-cost vehicle routes with little consideration to crew constraints and objectives. The second stage schedules crews on the routes from the first stage. Disregarding crew constraints in the first stage can lead to suboptimality or even infeasibility of the overall problem in the second stage. To quantify the suboptimality of staged optimization models, two formulations of the integrated problem are developed. The first is an ordinary mixed integer programming model, and the second is a constraint programming model containing a linear relaxation global constraint that performs cost-based filtering. The two integrated models are solved using a branch-and-bound search and a highly specialized large neighborhood search. The large neighborhood search exploits the substructures linking the vehicle routing and crew scheduling elements of the problem, and when executed on the constraint programming model, is shown to perform significantly better than the other approaches.</p>
<p>The second application introduces a number of scheduling constraints to the Vehicle Routing Problem with Pickup and Delivery and Time Windows. The scheduling constraints arise from a lack of loading bays or equipment that unloads and loads incoming vehicles. These constraints limit the number of vehicles present or in service at any particular site by requiring the arrival of vehicles to be scheduled around the availabilities of a scarce resource. A mixed integer programming model, a constraint programming model and a sequential model are implemented for the problem but are shown to be inferior to a branch-and-price-and-check model, which hybridizes column generation and constraint programming with nogood learning.</p>
<p>This thesis concludes with a hybrid method, named Branch-and-Check with Explanations, that unifies linear programming, constraint programming and Boolean satisfiability. The method begins with a linear programming model that omits several critical constraints. The solver uses the linear programming model to find objective bounds and candidate solutions, which are checked by a constraint programming model for feasibility of the omitted constraints. A Boolean satisfiability model performs conflict analysis on infeasible candidate solutions to derive nogood cuts, which are placed into the linear programming model and the constraint programming model. The method is implemented in a proof-of-concept solver for the Vehicle Routing Problem with Time Windows and is shown to be competitive against a branch-and-cut model while avoiding the intricacies involved in developing the cutting planes and separation algorithms required in branch-and-cut.</p>
</div></div></section><section class="field field-name-field-graduated field-type-datetime field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Graduated: </h2><div class="field-items"><div class="field-item even"><span class="date-display-single">Wednesday, April 17, 2019</span></div></div></section><section class="field field-name-field-link-to-full-text field-type-link-field field-label-inline clearfix view-mode-teaser"><h2 class="field-label">Link to full text: </h2><div class="field-items"><div class="field-item even"><a href="https://minerva-access.unimelb.edu.au/handle/11343/220534">Hybrid Optimization of Vehicle Routing Problems</a></div></div></section><section class="field field-name-field-also-published-in field-type-link-field field-label-above view-mode-teaser"><h2 class="field-label">Also published in: </h2><div class="field-items"><div class="field-item even"><a href="https://link.springer.com/chapter/10.1007/978-3-319-23219-5_45">Joint Vehicle and Crew Routing and Scheduling</a></div><div class="field-item odd"><a href="https://link.springer.com/article/10.1007/s10601-016-9241-2">A branch-and-price-and-check model for the vehicle routing problem with location congestion</a></div><div class="field-item even"><a href="https://link.springer.com/chapter/10.1007/978-3-319-66158-2_37">Branch-and-check with explanations for the Vehicle Routing Problem with Time Windows</a></div></div></section><section class="field field-name-field-notes field-type-text-long field-label-above view-mode-teaser"><h2 class="field-label">Notes: </h2><div class="field-items"><div class="field-item even">The paper "A branch-and-price-and-check model for the vehicle routing problem with location congestion" was submitted to CPAIOR and accepted for journal fast-track. The thesis was awarded the Doctoral Research Award.</div></div></section><section class="field field-name-upload field-type-file field-label-above view-mode-teaser"><h2 class="field-label">PDF of thesis: </h2><div class="field-items"><div class="field-item even"><span class="file"><img class="file-icon" alt="PDF icon" title="application/pdf" src="/modules/file/icons/application-pdf.png" /> <a href="http://cp2014.a4cp.org/sites/default/files/edward_lam_-_hybrid_optimization_of_vehicle_routing_problems.pdf" type="application/pdf; length=1317562">edward_lam_-_hybrid_optimization_of_vehicle_routing_problems.pdf</a></span></div></div></section>Fri, 06 Sep 2019 02:52:54 +0000elam1272 at http://cp2014.a4cp.org