Seminar: Prof. Holger H. Hoos (May, 13th)
Title: Programming by Optimisation: Towards a new Paradigm for Developing High-Performance Software
Speaker: Prof. Holger H. Hoos (University of British Columbia - Canada)
When: May, 13th at 11:00
Where: Room A7
Abstract:
When creating software - and in particular, heuristic procedures for solving NP-hard problems - developers frequently explore various ways of achieving certain tasks. Often, these alternatives are eliminated or abandoned early in the process, based on the idea that the flexibility afforded by them would be difficult or impossible to exploit later. In this talk, I challenge this view and advocate an approach that encourages developers to not only avoid premature commitment to certain design choices, but to actively develop promising alternatives for parts of the design. In this approach, dubbed Programming by Optimisation (PbO), developers specify a potentially large design space of programs that accomplish a given tasks, from which then versions of the program optimised for various use contexts are obtained automatically; per-instance selectors and parallel portfolios of programs can be obtained from the same sources. Using PbO, human experts can focus on the creative task of thinking about possible mechanisms for solving given problems or subproblems, while the tedious task of determining what works best in a given use context is performed automatically, substituting human labour by computation. PbO provides an attractive way of creating software whose performance can be effectively adapted to a wide range of use contexts; it also enables principled empirical investigations into the impact of design choices on performance, into the interaction between design choices and into the suitability of design choices in specific use contexts. Examples for recent, successful applications of PbO discussed in the talk include mixed integer programming, propositional satisfiability, planning and timetabling.
Contact: Prof. Laura Palagi (palagi@dis.uniroma1.it)