PhD Theses
http://cp2013.a4cp.org/theses?combine=&sort_by=field_graduated_value&sort_order=DESC
enFrom Declarative Models to Local Search
http://cp2013.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://cp2013.a4cp.orgScheduling Through Logic-Based Tools
http://cp2013.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://cp2013.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://cp2013.a4cp.orgConstraint-Based Multi-Objective Combinatorial Optimization
http://cp2013.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://cp2013.a4cp.orgSpacetime Programming: A Synchronous Language for Constraint Search
http://cp2013.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://cp2013.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://cp2013.a4cp.orgHybrid Optimization of Vehicle Routing Problems
http://cp2013.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://cp2013.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://cp2013.a4cp.orgSoft Constraints in MiniBrass: Foundations and Applications
http://cp2013.a4cp.org/node/1234
<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">Alexander Schiendorfer</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 Augsburg</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">Wolfgang Reif</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>Over-constrained problems are ubiquitous in real-world decision and optimization problems, in particular, those emerging from self-organizing, autonomous systems where the full problem specification is only available at runtime. To address over-constrainedness, several theoretical formalisms to describe soft constraints have been proposed, including weighted, fuzzy, or probabilistic constraints. All of them were shown to be instances of algebraic structures such as valuation structures or c-semirings.</p>
<p>In terms of implemented modeling languages and solvers, however, the field of soft constraints lags far behind the state of the art in classical constraint optimization. Therefore, this dissertation describes MiniBrass, a versatile soft constraint modeling language building on the unifying algebraic framework of partially-ordered valuation structures (PVS). It is implemented as an extension of MiniZinc and MiniSearch. The most important characteristics of MiniBrass, and the ones that distinguish it from previous work, are that it is extensible and modular, supports a variety of concrete soft constraint formalisms, works with many solvers (inherited from MiniZinc), admits a graphical modeling language, and has been applied to several real-life case studies.</p>
<p>Contributions of this dissertation include the following: (1) The design, implementation, and performance evaluation of MiniBrass using 28 benchmark problems and six solvers, (2) A formal foundation that includes the systematic derivation of partially-ordered valuation structures and c-semirings from partial orders using basic category theory, (3) The qualitative soft constraint formalism constraint preferences, and (4) concepts for multiagent optimization with (possibly) antagonistic preferences, including lexicographic and Cartesian products as well as voting operators.</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, November 12, 2018</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://nbn-resolving.org/urn:nbn:de:bvb:384-opus4-491603">Soft Constraints in MiniBrass: Foundations and Applications</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://cp2013.a4cp.org/sites/default/files/alexander_schiendorfer_-_soft_constraints_in_minibrass_foundations_and_applications.pdf" type="application/pdf; length=2342970">alexander_schiendorfer_-_soft_constraints_in_minibrass_foundations_and_applications.pdf</a></span></div></div></section>Fri, 08 Mar 2019 13:28:17 +0000ks.and11234 at http://cp2013.a4cp.orgConstraint-Based Register Allocation and Instruction Scheduling
http://cp2013.a4cp.org/node/1265
<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">Roberto Castañeda Lozano</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">KTH Royal Institute of Technology, Sweden</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">Christian Schulte</div><div class="field-item odd">Mats Carlsson</div><div class="field-item even">Ingo Sander</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>Register allocation (mapping variables to processor registers or memory) and instruction scheduling (reordering instructions to improve latency or throughput) are central compiler problems. This dissertation proposes a combinatorial optimization approach to these problems that delivers optimal solutions according to a model, captures trade-offs between conflicting decisions, accommodates processor-specific features, and handles different optimization criteria.</p>
<p>The use of constraint programming and a novel program representation enables a compact model of register allocation and instruction scheduling. The model captures the complete set of global register allocation subproblems (spilling, assignment, live range splitting, coalescing, load-store optimization, multi-allocation, register packing, and rematerialization) as well as additional subproblems that handle processor-specific features beyond the usual scope of conventional compilers.</p>
<p>The approach is implemented in Unison, an open-source tool used in industry and research that complements the state-of-the-art LLVM compiler. Unison applies general and problem-specific constraint solving methods to scale to medium-sized functions, solving functions of up to 647 instructions optimally and improving functions of up to 874 instructions. The approach is evaluated experimentally using different processors (Hexagon, ARM and MIPS), benchmark suites (MediaBench and SPEC CPU2006), and optimization criteria (speed and code size reduction). The results show that Unison generates code of slightly to significantly better quality than LLVM, depending on the characteristics of the targeted processor (1% to 9.3% mean estimated speedup; 0.8% to 3.9% mean code size reduction). Additional experiments for Hexagon show that its estimated speedup has a strong monotonic relationship to the actual execution speedup, resulting in a mean speedup of 5.4% across MediaBench applications.</p>
<p>The approach contributed by this dissertation is the first of its kind that is practical (it captures the complete set of subproblems, scales to medium-sized functions, and generates executable code) and effective (it generates better code than the LLVM compiler, fulfilling the promise of combinatorial optimization). It can be applied to trade compilation time for code quality beyond the usual optimization levels, explore and exploit processor-specific features, and identify improvement opportunities in conventional compilers.</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, September 3, 2018</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%3Akth%3Adiva-232192">Open Access in DiVA database</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 received an honorable mention at the ACP Doctoral Research Award in 2019.</div></div></section>Wed, 07 Aug 2019 13:21:14 +0000robcasloz1265 at http://cp2013.a4cp.orgSolving Optimization Problems via Maximum Satisfiability : Encodings and Re-Encodings
http://cp2013.a4cp.org/node/1221
<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">Jeremias Berg</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 Helsinki</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">Associate Professor Matti Järvisalo</div><div class="field-item odd">Professor Petri Myllymäki</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>NP-hard combinatorial optimization problems are commonly encountered in numerous different domains. As such efficient methods for solving instances of such problems can save time, money, and other resources in several different applications. This thesis investigates exact declarative approaches to combinatorial optimization within the maximum satisfiability (MaxSAT) paradigm, using propositional logic as the constraint language of choice. Specifically we contribute to both MaxSAT solving and encoding techniques.</p>
<p>In the first part of the thesis we contribute to MaxSAT solving technology by developing solver independent MaxSAT preprocessing techniques that re-encode MaxSAT instances into other instances. In order for preprocessing to be effective, the total time spent re-encoding the original instance and solving the new instance should be lower than the time required to directly solve the original instance. We show how the recently proposed label-based framework for MaxSAT preprocessing can be efficiently integrated with state-of-art MaxSAT solvers in a way that improves the empirical performance of those solvers. We also investigate the theoretical effect that label-based preprocessing has on the number of iterations needed by MaxSAT solvers in order to solve instances. We show that preprocessing does not improve best-case performance (in the number of iterations) of MaxSAT solvers, but can improve the worst-case performance. Going beyond previously proposed preprocessing rules we also propose and evaluate a MaxSAT-specific preprocessing technique called subsumed label elimination (SLE). We show that SLE is theoretically different from previously proposed MaxSAT preprocessing rules and that using SLE in conjunction with other preprocessing rules improves empirical performance of several MaxSAT solvers.</p>
<p>In the second part of the thesis we propose and evaluate new MaxSAT encodings to two important data analysis tasks: correlation clustering and bounded treewidth Bayesian network learning. For both problems we empirically evaluate the resulting MaxSAT-based solution approach with other exact algorithms for the problems. We show that, on many benchmarks, the MaxSAT-based approach is faster and more memory efficient than other exact approaches. For correlation clustering, we also show that the quality of solutions obtained using MaxSAT is often significantly higher than the quality of solutions obtained by approximative (inexact) algorithms. We end the thesis with a discussion highlighting possible further research directions.</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 13, 2018</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://helda.helsinki.fi/handle/10138/234642">University of Helsinki e-thesis </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">2018, outstanding doctoral dissertation award by the Doctoral School of Natural Sciences of the University of Helsinki.</div></div></section>Mon, 03 Dec 2018 05:25:47 +0000jeremiasberg1221 at http://cp2013.a4cp.org Solving Optimization Problems via Maximum Satisfiability : Encodings and Re-Encodings
http://cp2013.a4cp.org/node/1301
<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">Jeremias Berg</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 Helsinki</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">Associate Professor Matti Järvisalo</div><div class="field-item odd">Professor Petrin Myllymäki</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>NP-hard combinatorial optimization problems are commonly encountered in numerous different domains. As such efficient methods for solving instances of such problems can save time, money, and other resources in several different applications. This thesis investigates exact declarative approaches to combinatorial optimization within the maximum satisfiability (MaxSAT) paradigm, using propositional logic as the constraint language of choice.
Specifically we contribute to both MaxSAT solving and encoding techniques.</p>
<p>In the first part of the thesis we contribute to MaxSAT solving technology by developing solver independent MaxSAT preprocessing techniques that re-encode MaxSAT instances into other instances. In order for preprocessing to be effective, the total time spent re-encoding the original instance and solving the new instance should be lower than the time required to directly solve the original instance. We show how the recently proposed label-based framework for MaxSAT preprocessing can be efficiently integrated with state-of-art MaxSAT solvers in a way that improves the empirical performance of those solvers. We also investigate the theoretical effect that label-based preprocessing has on the number of iterations needed by MaxSAT solvers in order to solve instances. We show that preprocessing does not improve best-case performance (in the number of iterations) of MaxSAT solvers, but can improve the worst-case performance. Going beyond previously proposed preprocessing rules we also propose and evaluate a MaxSAT-specific preprocessing technique called subsumed label elimination (SLE). We show that SLE is theoretically different from previously proposed MaxSAT preprocessing rules and that using SLE in conjunction with other preprocessing rules improves empirical performance of several MaxSAT solvers.</p>
<p>In the second part of the thesis we propose and evaluate new MaxSAT encodings to two important data analysis tasks: correlation clustering and bounded treewidth Bayesian network learning. For both problems we empirically evaluate the resulting MaxSAT-based solution approach with other exact algorithms for the problems. We show that, on many benchmarks, the MaxSAT-based approach is faster and more memory efficient than other exact approaches. For correlation clustering, we also show that the quality of solutions obtained using MaxSAT is often significantly higher than the quality of solutions obtained by approximative (inexact) algorithms. We end the thesis with a discussion highlighting possible further research directions.</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 12, 2018</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://helda.helsinki.fi/handle/10138/234642">Helsinki University E-Thesis</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://cp2013.a4cp.org/sites/default/files/jeremias_berg_-_solving_optimization_problems_via_maximum_satisfiability_encodings_and_re-encodings.pdf" type="application/pdf; length=3443146">jeremias_berg_-_solving_optimization_problems_via_maximum_satisfiability_encodings_and_re-encodings.pdf</a></span></div></div></section>Wed, 04 Mar 2020 20:56:23 +0000jeremiasberg1301 at http://cp2013.a4cp.orgEffective Profiling of Tree Search in Constraint Programming
http://cp2013.a4cp.org/node/1288
<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">Maxim Shishmarev</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">Faculty of Informaction Technology, Monash University, Australia</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">Guido Tack</div><div class="field-item odd">Maria Garcia de la Banda</div><div class="field-item even">Christopher Mears</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>Combinatorial problems, where a set of decisions needs to be made that satisfies a set of constraints and possibly maximises/minimises an objective function, occur frequently in many areas of life, including transportation, emergency management, and energy distribution. Unfortunately, solving these problems is remarkably difficult due to the exponential number of possible sets of decisions that can be made. Modern approaches to solving Combinatorial problems first focus on describing them in a declarative modelling language to form models, and then solving them using general purpose solvers which search among all possible decisions looking for high quality (or optimal) solutions. Constraint Programming is one of the modern solving technologies that underlie these solvers, and it is the focus of this thesis.</p>
<p>How fast a high quality solution can be found by a solver is largely dependent on how the problem is described in the model. For all but the smallest problems, the initial models rarely yield high quality solutions in a reasonable amount of time and need to be modified. In order to know which modifications would be favourable, the modeller needs to determine what parts of the model are responsible for the slow search, modify them, and evaluate the effect of these modification. The above process is traditionally known as profiling.</p>
<p>In imperative (rather than declarative) programming, profiling tools routinely highlight the causes behind inefficiencies in an execution and, in doing so, identify the parts of the program that should be modified. In Constraint Programming, which adheres to the declarative paradigm, such profiling capabilities are not as readily available to the programmer due to its declarative nature, which makes the link between the program and its execution rather tenuous. The existing systems for profiling constraint programs work reasonably well for small problems. However, they lack the means for automatically analysing executions and effectively evaluating model modifications, something crucial when dealing with large real-world problems, when the search for high quality solutions is too long and complex to be analysed manually. Further, many existing systems are solver- dependent and do not support modern solvers and their powerful search techniques.</p>
<p>This work aims to overcome the limitations of the current state of the art by designing an effective profiling system and associated profiling techniques. To achieve this, in this thesis I have designed, implemented and evaluated a profiling system that (a) is efficient and thus scales for large problems, (b) is solver-independent and thus can easily integrate different solvers, and (c) can support modern solvers and be extended to those developed in the future. In addition, I have designed and integrated several profiling techniques into this system: search-tree visualisations that improve on the state of the art, and are more suitable for large problems; a technique for automatically finding recurring patterns in large problems that are often the reason for slow executions and can aid the modeller in improving them; two complimentary techniques that allow modellers to evaluate model modifications; and a technique for analysing so-called learning solvers that can aid the modeller in discovering constraints present in the model that can be strengthened as well as redundant constraints that can be added to the model faster executions for both learning and traditional solvers. Together, these techniques allow modellers to find high quality solutions faster by aiding them in making effective model modifications.</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, April 16, 2018</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://cp2013.a4cp.org/sites/default/files/maxim_shishmarev_-_effective_profiling_of_tree_search_in_constraint_programming.pdf" type="application/pdf; length=6147101">maxim_shishmarev_-_effective_profiling_of_tree_search_in_constraint_programming.pdf</a></span></div></div></section>Mon, 28 Oct 2019 03:23:10 +0000mbanda1288 at http://cp2013.a4cp.org