Local Search Heuristics, Exercises

Similar documents
Outline. Introduction DMP204 SCHEDULING, TIMETABLING AND ROUTING

Effective Optimizer Development for Solving Combinatorial Optimization Problems *

Stefan WAGNER *, Michael AFFENZELLER * HEURISTICLAB GRID A FLEXIBLE AND EXTENSIBLE ENVIRONMENT 1. INTRODUCTION

OptLets: A Generic Framework for Solving Arbitrary Optimization Problems *

Neighborhood Search: Mixing Gecode and EasyLocal++

ON THE BENEFITS OF A DOMAIN-SPECIFIC LANGUAGE FOR MODELING METAHEURISTIC OPTIMIZATION ALGORITHMS

A GENERIC OBJECT-ORIENTED TABU SEARCH FRAMEWORK

A Hybrid Solver for Large Neighborhood Search: Mixing Gecode and EasyLocal++

Local Search Overview

Advances in Metaheuristics on GPU

Resource-Constrained Project Scheduling

pals: an Object Oriented Framework for Developing Parallel Cooperative Metaheuristics

iopt: A Software Toolkit for Heuristic Search Methods

(Stochastic) Local Search Algorithms

QuikFix A Repair-based Timetable Solver

Constraint Programming in Practice

Hybrid Metaheuristics

ZLoc: A C++ library for local search

DM841 Discrete Optimization. Working Environment. Marco Chiarandini. Department of Mathematics & Computer Science University of Southern Denmark

Other approaches. Marco Kuhlmann & Guido Tack Lecture 11

Population-Based Simulated Annealing for Traveling Tournaments

Towards ParadisEO-MO-GPU: a Framework for GPU-based Local Search Metaheuristics

CMPT 115. C tutorial for students who took 111 in Java. University of Saskatchewan. Mark G. Eramian, Ian McQuillan CMPT 115 1/32

OptFrame: a computational framework for combinatorial optimization problems

Constraints on Set Variables for Constraint-based Local Search

Neighborhood Combination for Unconstrained Binary Quadratic Programming

On the Optimization of CPLEX Models

Parallel Machine and Flow Shop Models

INDEX. A SIMPLE JAVA PROGRAM Class Declaration The Main Line. The Line Contains Three Keywords The Output Line

Lab 2: More Advanced C

Constraint Propagation: The Heart of Constraint Programming

Outline. A Puzzle Example. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING

Ant Algorithms for the University Course Timetabling Problem with Regard to the State-of-the-Art

MODELING OF HEURISTIC OPTIMIZATION ALGORITHMS

Scatter Search: Methodology and Applications

A Combined Local Search and Integer Programming Approach to the Traveling Tournament Problem

Lab 6. Out: Wednesday 9 March 2005

Population-Based Simulated Annealing for Traveling Tournaments

PROPOSED METHODOLOGY FOR COMPARING SCHEDULE GENERATION SCHEMES IN CONSTRUCTION RESOURCE SCHEDULING. Jin-Lee Kim

The Branch & Move algorithm: Improving Global Constraints Support by Local Search

Outline. Outline. Schedule and Material. 1. Course Introduction. 2. Combinatorial Optimization Combinatorial Problems Solution Methods. 3.

ACO and other (meta)heuristics for CO

Using Heuristics in Constraint-based Sports Tournament Timetabling 1

Combination of Guided Local Search and Estimation of Distribution Algorithm for Quadratic Assignment Problems

Hyperion - A Recursive Hyper-heuristic Framework

Combining Forces to Solve the Car Sequencing Problem

Constraint Programming

Metaheuristics: a quick overview

Outline of the talk. Local search meta-heuristics for combinatorial problems. Constraint Satisfaction Problems. The n-queens problem

Evolutionary Non-Linear Great Deluge for University Course Timetabling

Research Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003

Module- or Class-Based URM? A Pragmatic Guide to Creating Verification Environments in SystemVerilog. Paradigm Works, Inc. Dr.

Outline. No Free Lunch Theorems SMTWTP. Outline DM812 METAHEURISTICS

Handling Multi Objectives of with Multi Objective Dynamic Particle Swarm Optimization

Hybrid strategies of enumeration in constraint solving

Introduction to Constraint Programming

Evolutionary Non-linear Great Deluge for University Course Timetabling

Estimation of Distribution Algorithm with 2-opt Local Search for the Quadratic Assignment Problem

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Test Cost Optimization Using Tabu Search

REFLECTIONS ON OPERATOR SUITES

A Variable Neighborhood Search for the Single Machine Total Stepwise Tardiness Problem

Course Introduction. Scheduling: Terminology and Classification

Outline. Construction Heuristics for CVRP. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING

Solving the C sum Permutation Flowshop Scheduling Problem by Genetic Local Search

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1]

Tabu Search for Constraint Solving and Its Applications. Jin-Kao Hao LERIA University of Angers 2 Boulevard Lavoisier Angers Cedex 01 - France

A heuristic approach to find the global optimum of function

A Guided Cooperative Search for the Vehicle Routing Problem with Time Windows

A New Exam Timetabling Algorithm

Construction Heuristics and Local Search Methods for VRP/VRPTW

Combining Complementary Scheduling Approaches into an Enhanced Modular Software

A heuristic for solving the frequency assignment problem

Toward Local Search Programming: LocalSolver 1.0

Parallel Metaheuristics on GPU

An Extensible Modelling Framework for the Examination Timetabling Problem

Combining constraint programming and local search to design new powerful heuristics

ACONM: A hybrid of Ant Colony Optimization and Nelder-Mead Simplex Search

Waltz Filtering in Java with JSolver

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem

PMF: A Multicore-Enabled Framework for the Construction of Metaheuristics for Single and Multiobjective Optimization

Data Structures and Algorithms for Engineers

MA PM: memetic algorithms with population management

ANT COLONY OPTIMIZATION FOR MANUFACTURING RESOURCE SCHEDULING PROBLEM

HEURISTICS optimization algorithms like 2-opt or 3-opt

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b

Combining Two Local Searches with Crossover: An Efficient Hybrid Algorithm for the Traveling Salesman Problem

DM841 Discrete Optimization. Lecture 9. Working Environment. Marco Chiarandini

Computer Science Spring 98 Midterm Examination Professor L. Rowe

Outline. Computer Science 331. Three Classical Algorithms. The Sorting Problem. Classical Sorting Algorithms. Mike Jacobson. Description Analysis

SLS Methods: An Overview

Improving CP-based Local Branching via Sliced Neighborhood Search

Object Oriented Programming. Java-Lecture 6 - Arrays

VOL. 3, NO. 8 Aug, 2012 ISSN Journal of Emerging Trends in Computing and Information Sciences CIS Journal. All rights reserved.

Using Constraint Programming and Local Search Methods to Solve Vehicle Routing Problems

Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012

Program development plan

MIC 99. III Metaheuristics International Conference. PUC-Rio - Catholic University of Rio de Janeiro. Angra dos Reis, Brazil.

SOLVING THE TASK ASSIGNMENT PROBLEM WITH A VARIABLE NEIGHBORHOOD SEARCH. Jozef Kratica, Aleksandar Savić, Vladimir Filipović, Marija Milanović

Personal SE. C Struct & Typedef Make

Transcription:

DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 6 Local Search Heuristics, Exercises Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 DM87 Scheduling, Timetabling and Routing 3 DM87 Scheduling, Timetabling and Routing 4

Software Tools Modeling languages interpreted languages with a precise syntax and semantics Software libraries collections of subprograms used to develop software Software frameworks set of abstract classes and their interactions frozen spots (remain unchanged in any instantiation of the framework) hot spots (parts where programmers add their own code) DM87 Scheduling, Timetabling and Routing 5 DM87 Scheduling, Timetabling and Routing 6 Software tools for Local Search and Metaheuristics No well established software tool for Local Search: the apparent simplicity of Local Search induces to build applications from scratch. crucial roles played by delta/incremental updates which is problem dependent the development of Local Search is in part a craft, beside engineering and science. lack of a unified view of Local Search. Tool Reference Language Type ILOG [Shaw et al., 2002] C++, Java,.NET LS GAlib [Wall, 1996] C++ GA GAUL [Adcock, 2005] C GA Localizer++ [Michel and Van Hentenryck, 2000] C++ Modeling HotFrame [Fink and Voß, 2002] C++ LS EasyLocal++ [Di Gaspero and Schaerf, 2003] C++, Java LS HSF [Dorne and Voudouris, 2004] Java LS, GA ParadisEO [Cahon et al., 2004] C++ EA, LS OpenTS [Harder et al., 2004] Java TS MDF [Lau et al., 2007] C++ LS TMF [Watson, 2007] C++ LS SALSA [Laburthe and Caseau, 2002] Language Comet [Van Hentenryck and Michel, 2005] Language table prepared by L. Di Gaspero DM87 Scheduling, Timetabling and Routing 7 DM87 Scheduling, Timetabling and Routing 8

Separation of Concepts in Local Search Algorithms Outline implemented in EasyLocal++ DM87 Scheduling, Timetabling and Routing 9 DM87 Scheduling, Timetabling and Routing 10 State/Solution (util.h) Input (util.h, util.c) typedef struct { long int number_jobs; / number of jobs in instance / long int release_date[max_jobs]; / there is no release date for these instances / long int proc_time[max_jobs]; long int weight[max_jobs]; long int due_date[max_jobs]; } instance_type; instance_type instance; void read_problem_size (char name[100]) void read_instances (char input_file_name[100]) typedef struct { long int job_at_pos[max_jobs]; / Gives the job at a certain pos / long int pos_of_job[max_jobs]; / Gives the position of a specific job / long int completion_time_job[max_jobs]; / Gives C_j of job j / long int start_time_job[max_jobs]; / Gives start time of job j / long int tardiness_job[max_jobs]; / Gives T_j of job j / long int value; / Objective function value / } sol_representation; sol_representation sequence; Output (util.c) void print_sequence (long int k) void print_completion_times () State Manager (util.c) void construct_sequence_random () void construct_sequence_canonical () long int evaluate () DM87 Scheduling, Timetabling and Routing 11 DM87 Scheduling, Timetabling and Routing 12

Random Generator (random.h, random.c) void set_seed (double arg) double MRG32k3a (void) double ranu01 (void) int ranuint (int i, int j) void shuffle (int *X, int size) Timer (timer.c) double getcurrenttime () DM87 Scheduling, Timetabling and Routing 13 DM87 Scheduling, Timetabling and Routing 14 Your Task on 1 j w jt j 1. Implement two basic local search procedures that return a local optimum: void ls_swap_first( ) {}; void ls_interchange_first( ) {}; 2. Implement the other neighborhood for permutation representation mentioned at the lecture from one of the two previous neighborhoods. 3. Provide computational analysis of the LS implemented. Consider: size of the neighborhood diameter of neighborhood complete neighborhood examination local optima attainment 4. Devise speed ups to reduce the computational complexity of the LS implemented 5. Improve your heuristic in order to find solutions of better quality. (Hint: use a construction heuristic and/or a metaheuristic) Adcock, S. (2005). Genetic algorithms utitlity library. Web Page. Cahon, S., Melab, N., and Talbi, E. G. (2004). ParadisEO: A framework for the reusable design of parallel and distributed metaheuristics. Journal of Heuristics, 10(3):357 380. Di Gaspero, L. and Schaerf, A. (2003). EasyLocal++: An object-oriented framework for flexible design of local search algorithms. Software Practice & Experience, 33(8):733 765. Dorne, R. and Voudouris, C. (2004). Hsf: the iopt s framework to easily design metaheuristic methods. pages 237 256. Fink, A. and Voß, S. (2002). HotFrame: A heuristic optimization framework. In Optimization Software Class Libraries, pages 81 154. Kluwer Academic Publishers.

Harder, R., Hill, R., and Moore, J. (2004). A java universal vehicle router for routing unmanned vehicles. International Transactions in Operations Research, 11:259 275. Laburthe, F. and Caseau, Y. (2002). Salsa: A language for search algorithms. Constraints, 7(3-4):255 288. Lau, H. C., Wan, W. C., Halim, S., and Toh, K. Y. (2007). A software framework for rapid hybridization of meta-heuristics. International Transactions in Operations Research, 14(2). Michel, L. and Van Hentenryck, P. (2000). Localizer. Constraints, 5(1 2):43 84. Shaw, P., De Backer, B., and Furnon, V. (2002). Improved local search for cp toolkits. Annals of Operations Research, 20(1 4):31 50. Van Hentenryck, P. and Michel, L. (2005). Constraint-based Local Search. MIT Press. Wall, M. B. (1996). A Genetic Algorithm for Resource-Constrained Scheduling. PhD thesis, MIT Mechanical Engineering Department. Watson, J.-P. (2007). The templatized metaheuristic framework. In Proceedings of the 7th Metaheuristics International Conference (MIC 2007).