A LGPL framework for combinatorial optimization & problem solving Renaud De Landtsheer.

Slides:



Advertisements
Similar presentations
Problem Reformulation and Search
Advertisements

On the Complexity of Scheduling
Makespan with Sequence Dependent Setup Time (MSDST) 1|s jk |C max.
Global Constraints Toby Walsh National ICT Australia and University of New South Wales
Local Search Algorithms Chapter 4. Outline Hill-climbing search Simulated annealing search Local beam search Genetic algorithms Ant Colony Optimization.
Perspective of mathematical optimization and its applications Tokyo University of Marine Science and Technology Mikio Kubo.
Linear Programming. Introduction: Linear Programming deals with the optimization (max. or min.) of a function of variables, known as ‘objective function’,
Lecture 6: Job Shop Scheduling Introduction
2004/11/01 corolla 1 Auction Based Ming_Ming Hsieh Job Shop Scheduling problem.
Constraint Processing and Programming Introductory Exemple Javier Larrosa.
Lecture 10: Integer Programming & Branch-and-Bound
Modeling Rich Vehicle Routing Problems TIEJ601 Postgraduate Seminar Tuukka Puranen October 19 th 2009.
Lecture 1: Introduction to the Course of Optimization 主講人 : 虞台文.
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) February, 3, 2010.
Improving Market-Based Task Allocation with Optimal Seed Schedules IAS-11, Ottawa. September 1, 2010 G. Ayorkor Korsah 1 Balajee Kannan 1, Imran Fanaswala.
1 Chapter 5 Advanced Search. 2 Chapter 5 Contents l Constraint satisfaction problems l Heuristic repair l The eight queens problem l Combinatorial optimization.
Better Ants, Better Life? Hybridization of Constraint Propagation and Ant Colony Optimization Supervisors: Bernd Meyer, Andreas Ernst Martin Held Jun 2nd,
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) February, 4, 2009.
Ant Colony Optimization Chapter 5 Ant Colony Optimization for NP- Hard Problems Ben Sauskojus.
schedule Scheduling.
1 Chapter 5 Advanced Search. 2 l
EAs for Combinatorial Optimization Problems BLG 602E.
Ant Colony Optimization Optimisation Methods. Overview.
Better Ants, Better Life? Hybridization of Constraint Programming and Ant Colony Optimization Supervisors: Dr. Bernd Meyer, Dr. Andreas Ernst Martin Held.
Ch 13 – Backtracking + Branch-and-Bound
Lecture outline Support vector machines. Support Vector Machines Find a linear hyperplane (decision boundary) that will separate the data.
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
Job Shop Reformulation of Vehicle Routing Evgeny Selensky.
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
Local search with OscaR.cbls explained to my neighbor
Genetic Algorithms and Ant Colony Optimisation
Edward Kent Jason Atkin Rong Qi 1. Contents Vehicle Routing Problem VRP in Forestry Commissioning Loading Bay Constraints Ant Colony Optimisation Handing.
Shop Scheduling Reformulation of Vehicle Routing Evgeny Selensky Dept of Computing Science Glasgow University.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
Search Methods An Annotated Overview Edward Tsang.
1 Chapter 5 Advanced Search. 2 Chapter 5 Contents l Constraint satisfaction problems l Heuristic repair l The eight queens problem l Combinatorial optimization.
Informed search algorithms
15 July 2005Edward Tsang (Copyright)1 Constraint Satisfaction and Optimization Professor Edward Tsang University of Essex URL:
Doshisha Univ., Kyoto, Japan CEC2003 Adaptive Temperature Schedule Determined by Genetic Algorithm for Parallel Simulated Annealing Doshisha University,
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Traveling Salesman Problem IEOR 4405 Production Scheduling Professor Stein Sally Kim James Tsai April 30, 2009.
Simulated Annealing G.Anuradha.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Optimizing Pheromone Modification for Dynamic Ant Algorithms Ryan Ward TJHSST Computer Systems Lab 2006/2007 Testing To test the relative effectiveness.
Hard Problems Sanghyun Park Fall 2002 CSE, POSTECH.
Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile.
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
ALPS: Software Framework for Scheduling Parallel Computations with Application to Parallel Space-Time Adaptive Processing Kyusoon Lee and Adam W. Bojanczyk.
Optimization in Engineering Design 1 Introduction to Non-Linear Optimization.
Managerial Economics Linear Programming Aalto University School of Science Department of Industrial Engineering and Management January 12 – 28, 2016 Dr.
Chapter 5. Advanced Search Fall 2011 Comp3710 Artificial Intelligence Computing Science Thompson Rivers University.
Chapter 13 Backtracking Introduction The 3-coloring problem
Heuristics with Mad queens and example from jssp.
Chapter 3.5 and 3.6 Heuristic Search Continued. Review:Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
Raunak Singh (ras2192) IEOR 4405: Production Scheduling 28 th April 2009.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Scheduling with Constraint Programming
Managerial Economics Linear Programming
Lecture 11: Tree Search © J. Christopher Beck 2008.
Constraint Programming (CP): Fun and Power
Chapter 3: Finite Constraint Domains
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
Multi-Objective Optimization
Sensitivity.
Number partitioning.
Planning and Scheduling in Manufacturing and Services
ZEIT4700 – S1, 2016 Mathematical Modeling and Optimization
Presented By: Darlene Banta
Presentation transcript:

A LGPL framework for combinatorial optimization & problem solving Renaud De Landtsheer

Content What are combinatorial problems? Several approaches for solving combinatorial problems What is Asteroid Roadmap 2

Combinatorial problem solving Given a problem: A set of unknown, with discrete range hence, combinatorial problem A set of constraints involving the unknowns (An objective function to minimize / maximize) Find a value for each variable, such that The values belong to the ranges of the variables Each constraint is enforced (The objective is minimized / maximized) 3

Examples of combinatorial problems Scheduling problems eg: Job shop: Set of tasks eg: 1k With precedence constraints and ressource usage Minimize makespan Decision problems eg: Nqueens: Given a chessboard of size N*N (eg: 1000) Put N queens on it such that they do not threaten each other Routing problems eg: tsp+deadline Visit a set of places, with deadline constraints Minimize overall distance Etc. 4

Approaches for solving combinatorial problems Exhaustive symbolic exploration Constraint programming MIP Local search -based Constraint-based local search Large neightboorhood search Other approaches Column generation Ant colony Method should be tailored to requirements! COMET, Kangaroo (COMET, Scampi) All CP engines LocalSolver GLPK, LPSolve… Gecode, Jacop, CHOCO, COMET, Scampi 5

Relevant aspects to be considered Scalability CBLS provides very good scalability, better than CP Optimality CBLS might be suboptimal; requires benchmarking Development cost The more declarative is the framework, the lower Need for tuning MIP requires zero (but high modeling cost) CP requires more, CBLS more than CP Specific requirements Local search requires adequate search heuristics 6

What bring these framework compared to a specific development? Declarativity Code your problem as it is defined, through standardized vocabulary, eg: constraints allDiff(Array_of_variables) a <= b+5 Lower development cost Thanks to declarativity, focus given to the fine tuning, not to heavy development Efficiency Standardized constraints are deeply optimized Eg: Alldiff costs O(1) for each move in Asteroid 7

Local search Perform a descend in the solution space; repeatedly move from one solution to a better one Next solution identified via neighborhood exploration Neighborhood = set of neighbors obtained by slightly perturbing the solution (several possibilities) Nqueens: moving a queen or swapping two queens Scheduling: swapping two tasks Routing: moving a task 8

Constraint-based local search Enables very fast evaluation of neightbors Fastest than evaluating objective from scratch Additional mechanisms are provided to identify the most relevant neightbors without evaluating them Eg: get the worse part of the problem Rich library of standardized formulas that can be used to encode a problem into the Asteroid framework 9

A standard Benchmark of Asteroid 10

Logical Architecture of Asteroid Propagation Propagation element, propagation structure Computation Variable, invariant, IntVar, IntSetVar Library of invariants Plus, minus, argMax, Inter, ArrayAccess, … Constraint structure Constraint system, constraint Constraint library eq, neq, ge, alldiff, atMost Search selectMax,… stopwatch 11

Availability and Roadmap of Asteroid Asteroid is a research prototype for Wist3.0 project (Wallonie) Developed entirely at CETIC Aiming at prioritizing patients in oncology services Includes specific extensions for scheduling problems Available free of charge under LGPL license Bug correction, and some extensions are LGPL Written entirely in Scala 12

NQueens naïve: the initial blabla object NQueens extends SearchEngine{ def main(args: Array[String]) { val N:Int=40 val range:Range = Range(0,N) val MaxIT = println("NQueens(" + N + ")") 13

NQueens naïve : defining the problem val m: Model = new Model val Queens:Array[IntVar] = new Array[IntVar](N) for (q <- range){Queens(q) = new IntVar(m, 0, N-1, q, "queen" + q)} val c:ConstraintSystem = new ConstraintSystem(m) c.post(AllDiff(for ( q <- range) yield (q plus Queens(q)).toIntVar)) c.post(AllDiff(for ( q <- range) yield (q minus Queens(q)).toIntVar)) c.close m.close Plus and minus are infix expression for sum and minus invariants AllDiff constructor does not require « new » (scala case class) 14

NQueens naïve : defining the search procedure var it:Int =0 while((c.Violation.getValue() > 0) && (it < MaxIT)){ val (q1,q2):(Int,Int) = selectMin2(range, range, (q1:Int, q2:Int) => c.getSwapViol(Queens(q1), Queens(q2)), (q1:Int,q2:Int) => q1 < q2) Queens(q1) :=: Queens(q2) it += 1 println("it: " + it + " " + c.Violation + " (swapped "+ q1 + " and " + q2 + ")") } 15

NQueens naïve : printing & running NQueens(40) it: 1 Violation:=38 (swapped 12 and 9) it: 2 Violation:=37 (swapped 8 and 39) … it: 33 Violation:=1 (swapped 10 and 14) it: 34 Violation:=0 (swapped 3 and 11) Violation:=0 IntVars(queen0:=13,queen1:=17,queen2:=25,queen3:=11,queen4:=8,… println(c.Violation) println(m.getSolution(true)) } 16

Invariant library Logic Acces on array of IntVar, IntSetVar Access on array of IntVar, where index is IntSetVar Sort Filter, Cluster (indexes of element whose value is…) SelectLeSetQueue (for Tabu search) … MinMax Min, Max (linear and Log variants) ArgMin, ArgMax Numeric sum, prod, minus, div Also on enumeration of IntVar abs Set Cardinality Inter, Union, Diff Interval, MakeSet Look also in Computation Structure Identity invariants Events « TriggerOn » 17

Constraint Library Global allDiff atLeast atMost (untested) Basic Eq, Neq G, GE L, LE 18

Need more info Asteroid Website Wiki Svn Scaladoc available Also on the website Renaud De Landtsheer 19

References Constraint-Based Local Search by Pascal van Van Hentenryck, Laurent Michel 20