Integration of ACO in a Constraint Programming Language



Similar documents
Ant Colony Optimization and Constraint Programming

An ACO/VNS Hybrid Approach for a Large-Scale Energy Management Problem

vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

A novel ACO technique for Fast and Near Optimal Solutions for the Multi-dimensional Multi-choice Knapsack Problem

Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming

Integrating Benders decomposition within Constraint Programming

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Y. Xiang, Constraint Satisfaction Problems

Optimal Planning with ACO

Clustering and scheduling maintenance tasks over time

Using Ant Colony Optimization for Infrastructure Maintenance Scheduling

A Tool for Generating Partition Schedules of Multiprocessor Systems

MuACOsm A New Mutation-Based Ant Colony Optimization Algorithm for Learning Finite-State Machines

On the Efficiency of Backtracking Algorithms for Binary Constraint Satisfaction Problems

A hybrid approach for solving real-world nurse rostering problems

Constraint Optimization for Highly Constrained Logistic Problems

An ant colony optimization for single-machine weighted tardiness scheduling with sequence-dependent setups

Finding Liveness Errors with ACO

Design and Analysis of ACO algorithms for edge matching problems

Journal of Theoretical and Applied Information Technology 20 th July Vol.77. No JATIT & LLS. All rights reserved.

Satisfiability Checking

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Scheduling Shop Scheduling. Tim Nieberg

Meta-Heuristics for Reconstructing Cross Cut Shredded Text Documents

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Multi-Objective Ant Colony Optimization for Solving the Twin- Screw Extrusion Configuration Problem

An Improved ACO Algorithm for Multicast Routing

Interactive Timetabling

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)


Optimization and Ranking in Web Service Composition using Performance Index

Load Balancing. Load Balancing 1 / 24

ACO Hypercube Framework for Solving a University Course Timetabling Problem

STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1

A Constraint Programming Application for Rotating Workforce Scheduling

A CP Scheduler for High-Performance Computers

ACO FOR OPTIMAL SENSOR LAYOUT

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

Representing and Solving Rule-Based Decision Models with Constraint Solvers

ASSIGNMENT OF CONTAINER TRUCKS OF A ROAD TRANSPORT COMPANY WITH CONSIDERATION OF THE LOAD BALANCING PROBLEM

User Guide Thank you for purchasing the DX90

Smart Graphics: Methoden 3 Suche, Constraints

Binary Encodings of Non-binary Constraint Satisfaction Problems: Algorithms and Experimental Results

4/1/2017. PS. Sequences and Series FROM 9.2 AND 9.3 IN THE BOOK AS WELL AS FROM OTHER SOURCES. TODAY IS NATIONAL MANATEE APPRECIATION DAY

Ant Colony Optimization (ACO)

An Ant Colony Optimization Approach to the Software Release Planning Problem

An ACO Algorithm for Scheduling Data Intensive Application with Various QOS Requirements

DESIGN AND DEVELOPMENT OF CSP TECHNIQUES FOR FINDING ROBUST SOLUTIONS IN JOB-SHOP SCHEDULING PROBLEMS WITH OPERATORS

An Autonomous Agent for Supply Chain Management

A Shift Sequence for Nurse Scheduling Using Linear Programming Problem

A Global Constraint for Bin-Packing with Precedences: Application to the Assembly Line Balancing Problem.

Throughput constraint for Synchronous Data Flow Graphs

HYBRID ACO-IWD OPTIMIZATION ALGORITHM FOR MINIMIZING WEIGHTED FLOWTIME IN CLOUD-BASED PARAMETER SWEEP EXPERIMENTS

LocalSolver: black-box local search for combinatorial optimization

An Ant Colony Optimization Approach to the Software Release Planning Problem with Dependent Requirements

Graph Mining and Social Network Analysis

Disjunction of Non-Binary and Numeric Constraint Satisfaction Problems

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

Unit 1 Learning Objectives

CS MidTerm Exam 4/1/2004 Name: KEY. Page Max Score Total 139

Crew Assignment via Constraint Programming: Integrating Column Generation and HeuristicTreeSearch

An ACO Approach to Solve a Variant of TSP

Scheduling Single Machine Scheduling. Tim Nieberg

A Constraint-Based Method for Project Scheduling with Time Windows

Modelli di sviluppo software. Enrico Giunchiglia

Keywords: Power Transmission Networks, Maintenance Scheduling problem, Hybrid Constraint Methods, Constraint Programming

Oracle Real Time Decisions

Statistical Machine Translation: IBM Models 1 and 2

Multi-Robot Traffic Planning Using ACO

Multi-Objective Supply Chain Model through an Ant Colony Optimization Approach

4.6 Linear Programming duality

The ACO Encoding. Alberto Moraglio, Fernando E. B. Otero, and Colin G. Johnson

npsolver A SAT Based Solver for Optimization Problems

University of Potsdam Faculty of Computer Science. Clause Learning in SAT Seminar Automatic Problem Solving WS 2005/06

Beam-ACO hybridizing ant colony optimization with beam search: an application to open shop scheduling

The Max-Distance Network Creation Game on General Host Graphs

Global Multiprocessor Real-Time Scheduling as a Constraint Satisfaction Problem

ANT COLONY OPTIMIZATION ALGORITHM FOR RESOURCE LEVELING PROBLEM OF CONSTRUCTION PROJECT

The Goldberg Rao Algorithm for the Maximum Flow Problem

Obtaining Optimal Software Effort Estimation Data Using Feature Subset Selection

Comparative Study: ACO and EC for TSP

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

Transcription:

Integration of ACO in a Constraint Programming Language Madjid Khichane 12, Patrick Albert 1, and Christine Solnon 2 1 ILOG 2 LIRIS, UMR 5205 CNRS / University of Lyon ANTS 08

Motivations Ant Colony Optimization (ACO) Efficient algorithms for solving specific problems...but solving a new problem involves a lot of programming Constraint Programming (CP) High level languages for modelling problems declaratively Branch & Propagate search engine may spend unacceptable time to solve some instances Our goal: use ACO to guide a CP search Describe the problem with the CP language Use the CP solver to propagate and check constraints Use ACO to guide the search First experiments with ILOG solver CP language

Basic principle of Constraint Programming (CP) CP modelling languages Define the problem by means of constraints (X, D, C) Define a set X of variables Define the domain D(x i ) of every variable x i X Define a set C of constraints CP solvers Goal: find an assignment of X which satisfies C Basic idea: Branch & Propagate Branch Construct a search tree Iteratively assign variables Backtrack if a constraint is violated Propagate Use constraints to prune the tree reduce domains by removing inconsistent values

Using ACO to solve CSPs Existing work [Solnon 00, Solnon 02, Bridge & Solnon 06] Ants build complete assignments: Repeat Assign a variable to a value chosen w.r.t. ACO Until all variables have been assigned Ants goal = minimize the number of violated constraints very competitive results... but ad hoc algorithms New proposition: CP with ants Ants build partial consistent assignments Repeat Assign a variable to a value chosen w.r.t. ACO Propagate to remove inconsistent values from domains Until propagation detects a failure or all variables assigned Ants goal = maximize the number of assigned variables straightforward integration within a CP language

Using ACO to solve CSPs Existing work [Solnon 00, Solnon 02, Bridge & Solnon 06] Ants build complete assignments: Repeat Assign a variable to a value chosen w.r.t. ACO Until all variables have been assigned Ants goal = minimize the number of violated constraints very competitive results... but ad hoc algorithms New proposition: CP with ants Ants build partial consistent assignments Repeat Assign a variable to a value chosen w.r.t. ACO Propagate to remove inconsistent values from domains Until propagation detects a failure or all variables assigned Ants goal = maximize the number of assigned variables straightforward integration within a CP language

Table of contents 1 Introduction 2 Description of Ant-CP 3 Application to the Car sequencing 4 Experimental Results 5 Conclusion

Ant-CP procedure initialize pheromone trails to τ max repeat 1 each ant builds a partial consistent assignment 2 update pheromone trails until solution found or max cycles reached

Ant-CP procedure initialize pheromone trails to τ max repeat 1 each ant builds a partial consistent assignment 2 update pheromone trails until solution found or max cycles reached Pheromone structure associated with a CSP (X, D, C) Pheromone is laid on variable/value couples: For every variable X i, and for every value v i D(X i ), τ Xi,v i = quantity of pheromone associated with X i, v i learnt desirability of assigning v i to X i

Ant-CP procedure initialize pheromone trails to τ max repeat 1 each ant builds a partial consistent assignment 2 update pheromone trails until solution found or max cycles reached Construction of a partial consistent assignment A Iteratively assign variables until all variables assigned or Failure: Choose a non assigned variable X i Choose a value v i D(X i ) with probability p(v i ) = [τ Xi,v i ] α [η(x i,v i )] β v k D(X i ) [τ X i,v k ] α [η(x i,v k )] β where η(x i, v i ) is a problem-dependent heuristic factor Propagate to remove inconsistent values from domains

Ant-CP procedure initialize pheromone trails to τ max repeat 1 each ant builds a partial consistent assignment 2 update pheromone trails until solution found or max cycles reached Pheromone updating step Evaporation: multiply pheromone trails by (1 ρ) ρ = evaporation rate (0 ρ 1) Reward the best assignment A of the cycle: X i, v i A, increment τ Xi,v i by 1/(1 + A best A ) where A best is the best assignment found so far

Pheromone strategies Default pheromone strategy pheromone is laid on variable/value couples Specific pheromone strategies The user has to define a set of pheromone trails a function τ pheromone factors a function comp rewarded components

Table of contents 1 Introduction 2 Description of Ant-CP 3 Application to the Car sequencing 4 Experimental Results 5 Conclusion

The car sequencing problem Goal: Sequence cars along an assembly line Each car requires a set of options Space cars requiring a same option Example Set of cars to be sequenced: Sequencing contraints: Solution: 1/2 ; 2/5 ; 1/5 ; 1/3

CP model for the car sequencing problem First model of the User s manual of ILOG Solver Variables For each position i in the sequence, car i = class of the ith car For each position i in the sequence and each option j, opt ij = 1 if car i requires option j and opt ij = 0 otherwise Constraints Constraints on the number of cars to be produced: car class c, #{car i = c} = nb of cars of class c to be produced IloDistribute Constraint between car and opt variables: car i and option j, opt ij = 1 iff car i requires option j IloBoolAbstraction Capacity constraints: option j, subseq. s of q j cars, i s opt ij p j

Pheromone strategies Comparison of 4 pheromone strategies Default pheromone is laid on couples (position/car class) Classes [Gravel et al 04] pheromone is laid on couples of consecutive car classes Cars [Solnon 00] pheromone is laid on couples of consecutive cars Empty pheromone is not used

Heuristics Recall: choice of a value for a variable p(v i ) = [τ Xi,v i ] α [η(x i,v i )] β P v k D(X i ) [τ X i,v k ] α [η(x i,v k )] β where η(x i, v i ) is a problem-dependent heuristic factor Utilisation rate UR(o i ) of an option o i [Smith 97] UR(o i ) = number of required slots / number of available slots UR(o i ) > 1 no solution Comparison of 2 heuristics DSU = sum of utilization rates of required options favor cars that require options with high utilisation rates DSU+P = sum of utilization rates of required options + failure when UR(o i ) > 1 + filter domains when UR(o i ) = 1

Table of contents 1 Introduction 2 Description of Ant-CP 3 Application to the Car sequencing 4 Experimental Results 5 Conclusion

Test suites Instances of [Lee et al. 95] available in CSP lib 70 satisfiable instances with 200 cars All solved by Ant-CP in a few cycles and less than one second (whatever the pheromone strategy and the heuristic factor) these instances are too easy to evaluate Ant-CP Instances of [Perron & Shaw 04] 82 instances from 100 to 500 cars; 8 options; 20 car classes all satisfiable nearly half of these instances are difficult

Comparison of the 4 pheromone structures with the DSU heuristic 85 80 Cars Success rate (for 10 runs per instance) 75 70 65 60 55 50 Default Classes no pheromone 0 500 1000 1500 2000 2500 3000 Number of cycles

Comparison of the 2 heuristics 85 80 Success rate (for 10 runs per instance) 75 70 65 60 55 50 Cars Default Classes no pheromone DSU+P DSU DSU+P DSU DSU+P DSU DSU+P DSU 0 500 1000 1500 2000 2500 3000 Number of cycles

Table of contents 1 Introduction 2 Description of Ant-CP 3 Application to the Car sequencing 4 Experimental Results 5 Conclusion

Using ACO to guide a CP search Complementarity of CP and ACO Use CP for modelling the problem and for propagating and checking constraints Use ACO for guiding the search as a generic value ordering heuristic First results on the car sequencing problem Ant-CP outperforms complete approaches: Complete approaches still have difficulties to solve the 70 instances of Lee (see CP 06, CP 07)...whereas these instances are all quickly solved by Ant-CP. Ant-CP is an order slower than heuristic approaches dedicated to the car sequencing problem...but the programming effort is also much smaller

Further work Validate our approach on other CSPs Adaptive parameter tuning towards reactive ACO use resampling and similarity ratio to dynamically tune parameters Use filtering procedures dedicated to a non backtracking search