On the use of Metaheuristics in the Telecom Industry - PowerPoint PPT Presentation

1 / 81
About This Presentation
Title:

On the use of Metaheuristics in the Telecom Industry

Description:

On the use of Metaheuristics in the Telecom Industry iOpt Toolkit: Optimise with pleasure Dr Rapha l Dorne British Telecom Dr C. Voudouris, Dr A. Liret, A. Conway ... – PowerPoint PPT presentation

Number of Views:183
Avg rating:3.0/5.0
Slides: 82
Provided by: essexAcU5
Category:

less

Transcript and Presenter's Notes

Title: On the use of Metaheuristics in the Telecom Industry


1
On the use of Metaheuristics in the Telecom
Industry
  • iOpt Toolkit Optimise with pleasure

Dr Raphaël Dorne British Telecom
Dr C. Voudouris, Dr A. Liret, A. Conway, Dr M.
Kern, C. Ladde, Dr D. Lesaint
2
Outline
  • Introduction
  • Combinatorial Optimisation
  • Main Solving Techniques
  • Drawbacks with Metaheuristics
  • Metaheuristics in (Telecom) Industry?
  • iOpt Intelligent Optimisation Toolkit
  • Case Study (Vehicle Routing Problem)
  • Demos
  • Conclusion

3
  • Introduction

4
Introduction to Combinatorial Optimisation
  • X, set of n (discrete) variables
  • S, solutions space (si complete assignment
    x1xn)
  • F, objective function
  • (C, set of forbidden assignments (constraints))
  • Find s
  • (where s satisfies C)
  • Complexity Theory P and NP(-Hard) Classes

5
Introduction to Combinatorial Optimisation
  • Large number of potential solutions (search
    space)
  • Satisfy a set of constraints ? (feasible search
    space)
  • Capability to evaluate the quality of any
    solution (cost function)
  • Goal Find the best or one of the best solutions
  • Example Workforce Scheduling Problem
  • Set of technicians, set of tasks to serve
  • Allocate jobs (schedule routes, match skills, )
  • Evaluate quality of any scheduling
  • Unallocated jobs (quality of service)
  • Travel Time cost
  • Number of technicians used to serve the workload

6
Introduction to Combinatorial Optimisation
  • Complexity of scheduling
  • problem size f(scheduling horizon D, number of
    jobs to allocate J, number of technicians T)
  • worst-case time complexity is exponential
    O((TJ)J)
  • Example
  • T10, J20, D large enough for a tech to be
    allocated 20 jobs
  • 109 schedules generated per second
  • 52 years of cpu time!!!
  • Scheduling is NP-hard

7
Search Space
8
Feasible/Infeasible Search Space
  • Disconnected feasible parts

Search Space
9
Main Solving Approaches
  • Problem Class Specific
  • P-class problems (Complexity Theory
    Deterministic Polynomial time alg.)
  • Linear Programming (Simplex)
  • Integer Programming (LP adapted to
    integer/discrete variables)
  • Exhaustive/Enumerative aspect
  • gt efficient but difficult to apply (time
    consuming)
  • ! Adapt your problem to your solving technique
  • Evaluate Partially Constructed Solution (partial
    assignment)
  • Exhaustive/Enumerative search
  • Backtracking, Branch-and-bound, A
  • Constraint Programming
  • Divide-and-conquer
  • gt completeness (optimisation optimal solution,
    satisfaction no solution)

10
Main Solving Approaches (partially Constructed)
Value ordering
  • Tree size DxDYDZ33
  • General case DN
  • Each new value doubles the size of the search
    space thus processing time (worst case)
  • Cut branches
  • Stop at first solution, limits number of
    backtracks
  • By nature exponential

1
2
0
X 0,1,2
Variable ordering
Y 0,1,2
0
1
2
...
Y 0,1,2
...
000
001
002
222
...
  • gt Sensitive to variable and value ordering
  • gt Might not be able to use any of the results
  • gt inadequate for medium/large scale optimisation
    problems

11
Main Solving Techniques
  • Evaluate Complete Solution (complete assignment)
  • Metaheuristics gt good ratio quality/time
  • Heuristic Search (No complete toolkit available
    so far)
  • Single Solution-based Local Search such as SA,
    TS, GLS, VNS,
  • Population-based GAs, Ants, Memetic Algorithm,
  • Hybrid Algorithm Genetic AlgorithmsLocalSearch

12
Local Search Paradigm Hill-climber, SA, TS, etc.
Exploration
Iterative process Generate s0 While (stopping
condition) Generate Neighbours N(si) Evaluate
N(si) Si1 SelectNext N(si) Return s
Exploitation
s0
s
13
Population-based Paradigm GAs, Scatter Search,
Exploration
Iterative process Generate p0 While (stopping
condition) pm Mutate(pi) pc
Crossover(pm) Pi1 Select(pc) Return s
X
X
Exploitation
X
I2,i
14
Complete Assignment Techniques (metaheuristics)
  • Stop it at any time
  • A solution you can try (feasible search space)
  • Find their strength in their ability to explore
    and exploit the search space
  • More appropriate for medium/large scale
    non-linear combinatorial optimisation
  • Fast evaluation is critical (analogy with human
    being looking around for the lowest location)

15
  • Drawbacks
  • with metaheuristics

16
Problem 1 Model Representation?
  • No clear problem modelling representation
  • Constraint-based?
  • Programming language based?
  • Mathematical formula
  • Current solution
  • Full re-computation of cost function
  • Tedious hard coding to incrementally update cost
    function/check feasibility
  • add a new constraint type?
  • add a new objective term?

17
Problem 2 Very large number of variants
  • How many meta-heuristic techniques?
  • TS, VNS, SA, FLS, GLS, GAs, ANTs, Scatter Search,
    Hybrid Algorithms
  • How many heuristic techniques available in the
    literature?
  • Neighbourhood Search best neighbour, first
    improvement, best improvement
  • Neighbourhood assign value to decision variable,
    swap values, insert object, swap objects,
  • How many customisation of heuristic techniques to
    a given problem?
  • TS for FAP, SA for scheduling
  • How many combinations can be generated from
    them!!
  • And what about tuning

18
Problem 3 Stochastic Techniques
  • Heuristic search techniques stochastic
    techniques
  • Impossible to know in advance which technique
    will work best
  • Each run is likely to give a different result
  • Lucky runs
  • Designing a heuristic is a bit like cuisine!
    but the benefits can be huge
  • Heuristic search comparison?
  • Problem models dependent, data structures,
  • Machine, OS, random number generators
  • Others implementations unavailable, missing
    (important) details
  • Algorithm/problem exchange between users?
  • Stopping conditions? Time, max.
    evaluated/performed moved?

19
Current solution for Problem 2 3 ?
  • Hard-code some meta-heuristics along with some
    heuristics with some options And customise them
    to our problem
  • Re-code from almost scratch for any new problem
  • Compare our solution to similar type of
    techniques (GAs vs GAs) from different
    implementations (different data structures,
    machines, OS, )
  • We all believe our technique is the bestcan we
    prove it?
  • (the answer is No! NFL theorem)
  • Share our results via papers/conferences
  • 10 improvement from A1 (Y2000) and A2 (Y2005)
    because of new operator

20
Problem 4 Code/work reuse/exchange?
  • We all agree on Heuristic Searches share common
    points but
  • We keep re-coding from scratch any new solution
    because it is difficult to reuse the code/work
    previously produced
  • We cannot reuse or exchange our work between
    members of a group
  • gt Need for a complete framework dedicated to
    heuristic search

21
  • Metaheuristics in Telecom Industry

22
Why Metaheuristics in Telecom Industry?
  • Large organisation (90000 employees)
  • many large scale optimisation problems (people,
    network, )
  • Operational/Execution level
  • 4 productivity increase in scheduling BT field
    force (24000 eng.) ?
  • Region of 200 engineers with 1000 tasks a day (?
    1000! search space)
  • 20M/year saving for BT
  • Network planning Optimise design for a
    particular area
  • Tactical level
  • Resource planning BT Engineers, Where to deploy
    them, When, With what skill?
  • Strategic level
  • Network design
  • What best technology for BT 21C Network?
  • Does network capacity will meet demand growth in
    200x?

23
Real World vs. Academics
  • Customer
  • Do not understand metaheuristics
  • the solution generated is not optimal, every
    run gives you a different result !!!...
  • Customer focus vs. Technique focused
  • Timescale wants a solution for yesterday
  • a solution sooner is often better than the best
    solution to validate investments
  • Problem is likely to be difficult to model
  • Ill-defined, many different types of
    requirements, conflicting multi-objectives
  • Customisation of operators is very likely
  • Not always possible to model them using
    mathematical model (simulation, programming
    language, )
  • Sustainability
  • Robustness pre/post processes cleaning
  • A new requirement may come at any time now and
    in the future
  • Consider the entire problem
  • Improving existing solution is already great!
  • Likely to require a mix of techniques
    (deterministic/stochastic, multi-phases solution)
  • Practicability (bear in mind the context)
  • Time constraint, data access, concurrent engine
    runs, population of solutions, etc.

24
  • iOpt Intelligent Optimisation Toolkit

25
What we did
  • iOpt The Intelligent Optimisation Toolkit a
    unique complete development platform based on
    heuristic search algorithms
  • Problem modelling capability
  • light weight constraint/invariant-based
  • user-specific (programming language paradigm)
  • Solving capability
  • library of components to model metaheuristics
  • Advanced visualisation tools
  • Monitoring tools
  • Design Tools for algorithms (Heuristic Search
    Builder)
  • XML file exchange facility
  • Basis for application-specific extensions
  • Resource Scheduling (iSchedule)
  • Networking Optimisation (iNetwork)
  • Resource Planning (iPlan)

26
iOpt Toolkit for Heuristic Search Methods
Application-Specific Frameworks
iOpt
Toolkit
Heuristic Search Framework
Algorithm Visualisation
Problem Modelling Framework
Problem Visualisation
Invariant Library
Invariant Visualisation
  • iOpt Main Features
  • Java-based system
  • Uses one-way constraints for problem modelling
  • Incorporates general specialised frameworks
    for building problem models
  • Allows the user to build a HS method using a
    library of algorithmic parts
  • Independence between problem modelling and
    problem solving
  • Visualisation components available for problem
    models/algorithms

27
iOpts Approach
Modelling
Real Application
Solving
Scheduling Framework
Vehicle Routing Problem
Frequency Assignment
Job Shop Problem
Exact\Constructive Search Framework
Graph Colouring
Problem Modelling Framework
Car Sequencing
Heuristic Search Framework
Workforce Profiling
ARMS Problem
Supply Chain
E-business Problem
Invariant Library
28
  • iOpt
  • Problem Modelling Capability

29
Invariant Library (IL) Michel98
  • Declarative programming paradigm with the Java
    OO language
  • Invariants are one-way functional constraints
  • u F(p0,p1,,pn)
  • F, a function (Type(pi))n1 ? Type(u)
  • A predicate is a Boolean function.
  • x ? y z, a ? min(b, c)
  • Specialised mark/sweep algorithm
  • Very useful to quickly test and undo variable
    assignments
  • Design patterns compliance (Memento, Observer,
    Composite, Builder, Listener)

input1
input0
inputn
...
Invariant F
output
u
Michel98 Localizer, Michel Van Hentenryck 98.
30
Constraint Satisfaction Algorithm
Mark Stage
  • Two phase constraint satisfaction algorithm
  • mark
  • evaluate
  • During the mark phase all influenced invariants
    are marked for evaluation
  • During the evaluation phase all/some marked
    invariants are evaluated
  • Lazy/eager evaluation modes
  • Smart rules for deciding if an invariant requires
    re-evaluation
  • Incremental updates for aggregate invariants
    (e.g. sum, prod)
  • User-defined invariant priorities
  • Ability to interrupt the evaluate phase based on
    user-defined conditions (e.g. constraint
    violations).

Influenced (i.e. out of date)
Modified
Evaluate Stage
Influenced
Modified
Evaluated
Unnecessarily Evaluated
Affected
31
Constraint Programming vs. Invariants
0
1
2
X2
True/false Undefined
True/false Undefined
?
0
?
X1
?
?
1
2
X1
X2
X3
Constraint Propagation Tree search, reduction of
domains, enforcement of constraints, addition
of constraints, Node-consistency, Arc-consistency,

0
1
2
0
1
2
0
1
2
X3
Node consistency Value propagation
0
1
2
32
Problem Modelling Framework (PMF)
  • Foundation framework for modelling Combinatorial
    Optimisation Problems
  • User specifies a COP (X,D,C,F)
  • X Decision variables with/without domains
  • D value domains
  • C Constraints over X
  • F Objectives
  • PMF concepts
  • Variable source invariant with backup facility
  • Domain support structure for modifying a set of
    values
  • Constraint Boolean invariant
  • Objective Real invariant expression of X and C
  • Problem handler for the model

Problem Model
Solutions
D. Variables
Constraints
Objective
User
Invariant Network
Basis for domain frameworks (e.g. Scheduling) or
specific problem models
33
Problem Model Example
Complexity O(DG) Instead of O(N)
v1
Decision variables
v2
v3
v4
v5
v6
v7
v8


-


Sub-objectives
Constraints
Fitness/Objective value
Feasibility status
34
Example Frequency Assignment
cell
antenna
?
?
interference
?
?
?
  • Assign one frequency to each antenna
  • Limited spectrum of frequencies -gt reuse of
    frequencies
  • Interference constraints

35
CSP formal definition
  • Given f frequencies and a graph G(V,E)
    representing the interference constraint graph,
    find a complete frequency allocation generating
    no interference.
  • X set of V integer variables coding the
    frequency assigned to each antenna
  • D values' domain equals to 0..f-1 available
    for each decision variable (antenna)
  • C for each edge (vi,vj), the (interference)
    constraint xi ? xj is added to the model
  • F corresponds to the number of unsatisfied
    constraints of C
  • F(X) 0 ? complete allocation
    interference-free

36
Code example Problem model for Frequency
Assignment
  • IntegerDomainVar X new IntegerDomainVarnbAnte
    nnas
  • BooleanExp C new BooleanExpnbConstraints
    nbEdges
  • beginModelChanges()
  • // create decision variables with value domain
    0..f
  • for(int i0iltnbAntennasi)
  • addDecisionVar(Xi new IntegerDomainVar("0-gt''
    f""))
  • // create constraints
  • for(int i0ilt nbEdgesi)
  • addConstraint(Ci Inv.neq(Xedges0i,Xedge
    s1i))
  • // add objective
  • addObjective(Inv.toReal(Inv.minus(nbConstraints,In
    v.sum(C))))
  • endModelChanges()

37
  • iOpt
  • Problem Solving Capability

38
Heuristic Search (exploration method)
Search Space
I0
I2
  • Local Search
  • Initial generation
  • Local exploration
  • Population-based methods
  • Population generation
  • Selection
  • Crossover (large exploration)
  • Mutation

I2
I3x2
X
I3
I0
I2x3
I1
I1
39
Heuristic Search Framework
  • Functionality of common HS algorithms is broken
    down into Parts (i.e. Search Components)
  • Part Categories are represented by Java
    Interfaces while specific Parts are defined as
    Java Classes implementing these interfaces
  • A HS algorithm is assembled from parts which form
    a tree. Valid trees can be executed on a problem
    model
  • The framework can model single solution/population
    methods as well as hybrids of the two.
  • Challenge find a good characterisation of
    concepts found within Meta-Heuristic Search
    methods

40
Solution Representation
  • Vector Representation
  • Change value
  • Position in representation
  • Set of sequences\list of lists
  • Change value
  • Position in representation


X1
X2
XN
XN-1
3
2
4
0
2
4
1
1
2
X1
X3
X5
L1
3
2
2
X2
X5
X7
L2
0
4
1
X4
X6
2
L3
4
1
41
Class HierarchySearch Component for Local Search
Methods
SearchComponent
SingleSolutionMethod
Neighborhood
NeighborhoodSearch
Selector
CompositeNeighborhoodSearch
CompositeSingleSolutionMethod
CompositeNeighborhood
DecisionVariableSelector
SingleNeighborhoodSearch
GenerationSingleSolutionMethod
ValueSelector
SwapMoveNeighborhood
BestImprovement
LocalSearch
PositionSelector
AssignMoveNeighborhood
BestMove
SearchRestart
InsertMoveNeighborhood
DecisionVariableValueSelector
CircularFirstImprovement
PerturbationSolutionMethod
DecisionVariablePositionSelector
FirstImprovement
Options Random_order Index_order Sorted_Order
FirstLegalMove
RestartFirstImprovement
ThresholdNeighborhoodSearch
InvariantSimulatedAnnealing
42
Search Component Local Search (Framework
oriented Java Swing-like)
  • A formal definition of
  • Role
  • Modifies a single solution to generate a new one
    by performing moves selected by a neighbourhood
    search component
  • Input
  • One Heuristic Solution
  • Output
  • New Heuristic Solution
  • Requirements
  • Neighbourhood Search component

43
Search Component Neighbourhood Search
  • Role
  • Selects a move in the neighbourhood
  • Input
  • One Heuristic Solution
  • Output
  • New Heuristic Solution
  • Requirements
  • Neighbourhood component

44
Algorithm Hill climbing
Heuristic Problem (HP)
Optimised Heuristic Solution
Single Solution Heuristic Search
Composite Single Solution Method
Vector Solution Random Generation
Local Search
(HP HS)
(Initial) Heuristic Solution (HS)
Best Move Neighbourhood Search
move
Assign Move Neighbourhood
DecisionVariableSelector
ValueSelector
Option random_order
Option random_order
45
Architecture Overview
PMF Feasibility status Objective value
Invariant Network
Problem Model
Solutions
D. Variables
Constraints
Objective
PMF Propagate changes
HSF Modify value and/or representation
46
Code example hill climbing 1/2
  • // right branch initial generation
  • GenerationSingleSolutionMethod myRSSG new
    VectorSolutionRandomGeneration()
  • // left branch local search
  • // neighborhood
  • AssignMoveNeighborhood myNeighborhood new
    AssignMoveNeighborhood()
  • DecisionVariableIndexSelector decisionVariableSele
    ctor new DecisionVariableIndexSelector()
  • decisionVariableSelector.setMovesVersion(Selector.
    RANDOM_ORDER)
  • ValueIndexSelector valueIndexSelector new
    ValueIndexSelector()
  • valueIndexSelector.setMovesVersion(Selector.RANDOM
    _ORDER)
  • myNeighborhood.add(decisionVariableSelector)
  • myNeighborhood.add(valueIndexSelector)
  • // neighborhood search
  • BestMoveNeighborhoodSearch myRMNS new
    BestMoveNeighborhoodSearch()
  • myRMNS.setNeighborhood(myNeighborhood)

47
Code example hill climbing 2/2
  • // local search
  • LocalSearch myLS new LocalSearch()
  • myLS.setNeighborhoodSearch(myRMNS)
  • myLS.setThreshold(0.0)
  • // connect the two branches
  • CompositeSingleSolutionMethod myCSSM1 new
    CompositeSingleSolutionMethod()
  • myCSSM1.setMaxIterations(1)
  • myCSSM1.addMethod(myRSSG)
  • myCSSM1.addMethod(myLS)
  • // root of the algorithm
  • SingleSolutionHeuristicSearch mySSHS new
    SingleSolutionHeuristicSearch()
  • mySSHS.setSingleSolutionMethod(myCSSM1)
  • mySSHS.setSearchTitle("Hill Climber")
  • mySSHS.setMinimisation(true)
  • mySSHS.setInfeasibilityAllowed(true)
  • mySSHS.setPrintLevel(Global.HS_LEVEL3Global.HS_LE
    VEL4)

48
Algorithm Simulated Annealing
Heuristic Problem (HP)
Optimised Heuristic Solution
Single Solution Heuristic Search
Composite Single Solution Method
Vector Solution Random Generation
Local Search
(HP HS)
(Initial) Heuristic Solution (HS)
Best Move Neighbourhood Search
Simulated Annealing Neighbourhood Search
move
Assign Move Neighbourhood
DecisionVariableSelector
ValueSelector
Option random_order Maximum selection 1
Option random_order Maximum selection 1
49
Event Notification in HSF
  • Parts of an algorithm can listen for events from
    other parts
  • Events generated include
  • Move evaluated
  • Move performed
  • Local minimum found
  • Various meta-strategies are implemented based on
    this mechanism
  • Tabu Restrictions (assignment value, matrix of
    positions)
  • Aspiration Criterion
  • Guided Local Search

50
Algorithm Tabu Search
Heuristic Problem (HP)
Optimised Heuristic Solution
Single Solution Heuristic Search
Composite Single Solution Method
Vector Solution Random Generation
Local Search
(HP HS)
(Initial) Heuristic Solution (HS)
Best Move Neighbourhood Search
move
Listening to
moveWillBeEvaluated moveHasBeenPerformed
Assign Move Neighbourhood
Domain Assignment Tabu
DecisionVariableSelector
ValueSelector
Option random_order
Option random_order
51
Search Components for Population-based Methods
SearchComponent
Crossover
Mutation
PopulationMethod
Selection
Bipoint
SingleNeighborhoodSearchMutation
CompositePopulationMethod
RandomSelection
IUS
SingleSolutionMethodMutation
CrossoverPopulationMethod
SUSSelection
Monopoint
GenerationPopulationMethod
Uniform
MutationPopulationMethod
SearchRestartPopulationMethod
SelectionPopulationMethod
52
Generic Tree for Genetic Algorithms
PopulationHeuristicSearch
CompositePopulationMethod
CompositePopulationMethod
GenerationPopulationMethod
MutationPopulationMethod
CrossoverPopulation Method
VectorSolutionRandomGeneration
SelectionPopulationMethod
RandomMutation
UniformCrossover
SUSSelection
53
Generic Hybrid GATS for Frequency Assignment
PopulationHeuristicSearch
CompositePopulationMethod
CompositePopulationMethod
GenerationPopulationMethod
MutationPopulationMethod
CrossoverPopulation Method
FAPConstructiveGeneration
SelectionPopulationMethod
SingleSolutionMethodMutation
FAPCrossover
SUSSelection
LocalSearch
Tabu Search Subtree
BestMoveNeighbourhoodSearch
FAPNeighbourhood
DomainAssignmentTabu
54
Other features of HSF
  • Objective Function
  • Support dynamic modification of the objective
    function (GLS)
  • Fast Local Search, Variable Neighborhood Search
  • Several objective functions in a same algorithm
    (MinimiseConflictsLocalSearch)
  • Move filters, Single/Composite/Combine
    Neighborhood
  • Single/Composite NeighborhoodSearch/LocalSearch/He
    uristicSearch
  • Support Evaluator evaluation by simulation
  • Delta matrix facility
  • Flexibility
  • Several algorithms linked together
  • Minimisation/Maximisation
  • Feasible/Infeasible search space
  • Stopping conditions at search component level
  • Integration of specific processing within an
    algorithm

55
Benchmarking iOpt Graph Coloring instances
instance nodes, edges best known (time sec.)1 Localizer (time sec.)2 iOpt (time sec.)
dsjc125.1.col 125, 1472 5 (lt1) 6.52 (22) 5 (10.78)
dsjc125.5.col 125, 7782 17 (14) 19.08 (78) 17 (1278)
dsjc125.9.col 125, 13922 44 (5) 45.89 (16) 44 (54)
dsjc250.1.col 250, 6436 8 (32) 9.76 (109) 8 (68)
dsjc250.5.col 250, 31336 28 (591) 33.42 (82) 29 (5700)
dsjc250.9.col 250, 55794 72 (591) 79.41 (49) 72 (8429)
1 Dorne Hao 98, Galinier Hao 98, Morgenstern
96. 2 Localizer, Michel Van Hentenryck 98.
56
  • Demo
  • iOpt Tools Suite

57
Tools Suite Problem Model Visualiser
58
Tools Suite Heuristic search Visualiser\Builder
59
Tools Suite Execution Visualiser
60
iOpt Communities
Heuristic Search Expert/Developer
Users
Algorithmic Parts Database (Java)
Algorithms Database (XML files)
Problem Modelling Expert/Developer
Problems Database (XML files)
  • search algorithms/parts databases
  • problems databases
  • exchange of java code/XML files via email, web
    server,

61
Success story in BT
BT
Ext. Customers
Transportation
21C Network Design
Network Design
Energy Supplier
Field force Scheduling
NGDS
FOS Field Schedule
Field force Management
ARMS/DP
FOS Field Plan
iSchedule
iNetwork
iPlan
iOpt
62
Summary on iOpt
  • 100 Pure Java robust, easy to
    deploy/integrate, portable
  • iOpt is a unique Heuristic Search-based
    Development Suite of Tools
  • Easy access to/update from latest work from
    research community
  • High performance of iOpt compared to hard-coded
    solutions on VRP
  • Reduced development time for a new solution
  • Generic, flexible, code reuse, easy to
    extend/specialize
  • Enable sharing of algorithms/search
    component/problem models
  • Easy to use (inc. Tools such as Heuristic Search
    Builder)

63
  • Case Study
  • iSchedule Vehicle Routing Problem

64
iSchedule Modelling Capability
  • Very Flexible and extendable High level framework
  • Vehicle Routing, Job Shop Scheduling, Project
    Management, etc.
  • Scheduling entities
  • Resource (start/end locations, availabilities/brea
    ks, timeline, )
  • Task (time windows, constraints, time unit cost,
    )
  • Schedule (cost/service profiles per task/resource
    groups)
  • Predefined service/set-up models (task x
    resource)
  • Compatibility, Duration, Fixed\Flexible costs
    (task x resource)
  • Predefined cost models
  • Operational costs (travel cost, service cost,
    resource cost, etc.)
  • QoS costs (unallocated tasks, task lateness,
    resource usage, etc.)
  • User-defined service/set-up/cost models available
    through iOpt

65
Timelines
State Timeline
Warm Oven
Hot Oven
  • Activity interactions with the timelines
  • adds/removes/requires capabilities
  • requires/produces state
  • requires capacity (pos. or neg.)
  • Resource constraints on the timelines
  • essential/possible capabilities
  • minimum/maximum capacity
  • possible states

Heat Oven
Bake Pastries A
Bake Pastries B
Capability Timeline
Skill A
Essential Skills
Possible Skills
Skill B
Skill C
Skill D
Pick up Tool
Return tool
Task which requires tool
66
Task Constraints
  • Task Time Windows
  • ends/starts at
  • ends/starts between
  • ends/starts between with a target time
  • Task Precedence Relations
  • Task A ends/starts after end/start Task B
  • Task A ends/starts after end/start Task B with
    delay
  • Parallel Tasks
  • Task A and B start together/within a time limit
  • Task Resource Relations
  • same/different resource

cost
lst
est
tst
Task
Task A
Task B
t
Task A
Task B
Task A
Task B
67
Predefined Objectives
  • unallocated tasks (QoS)
  • task delays (QoS)
  • overtime (Cost)
  • fixed cost for using resource (Cost)
  • fixed cost for using specific resource for
  • specific activity (QoS/Cost)
  • specific travel (QoS/Cost)
  • travel/setup time based costs (Cost)
  • service time based costs (Cost)

68
iSchedule Solving capability
  • Very powerful scheduling engines
  • Tests up to 100,000 combinations per second
  • Includes most efficient techniques to improve
    schedules
  • Inserting/swapping tasks, Relocating all or part
    of a route/swapping all or part of a route,
    Reversing a route (2-opt, 2-opt, OR-opt,
    CB-neighborhood, cross-exchange, )
  • Set of built-in (customizable) scheduling
    algorithms
  • Easily customizable/Cost saving
  • Extension of algorithmic parts based on iOpt
  • Reduced development
  • Enrichment of the toolkit each time new problem
    solved
  • Customer specific algorithmic parts if required
  • Extensive toolbox for solving scheduling problems
  • Provides good schedules in a matter of minutes
  • Scalable, flexible, adaptable engines

69
  • Using iSchedule for Solving VRP

70
iSchedule Architecture for VRP
Modelling
Solving
Customer solution
Extensions for Customer A
Specific parts for Customer A
VRP solution
Extensions for VRP Modelling
Specific parts for VRP Algorithms
iSchedule
Schedule Modelling Framework
Scheduling Algorithms
Heuristic Search Framework
Problem Modelling Framework
iOpt
Invariant Library
71
Modelling VRP using iOpt/iSchedule
Capacity Timeline
max
  • Predefined Costs
  • unallocated tasks (QoS)
  • fixed cost for using resource (Cost)
  • travel/setup time based costs (Cost)
  • service time based costs (Cost)

min
Task A
Task B
  • Task Time Windows
  • Starts and ends between within a time window

72
Solving VRP using iOpt/iSchedule 1/3
  • Solution representation
  • Set of sequences
  • Meta-heuristics and other components from iOpt
  • Simulated Annealing, GAs, tabu search,
  • Best move, First/Best improvement
  • Generic neighbourhoods (insert, swap objects
    (tasks))
  • Generic Starting point, etc.
  • Other components
  • Specific to iSchedule\VRP (cf. next slides)
  • Going through VRP bibliography
  • Identify specificities
  • Create components

73
Solving VRP using iOpt/iSchedule 2/3
Component Reference Applicability Applicability Applicability Applicability
Starting point generator Starting point generator Scheduling VRP JSSP WSP
LongestJobFirst Yes Yes Yes Yes
HardestJobFirstClosestEngineer Gen. of Tsang Voudouris 1995 Yes Yes
HardestJobFirst Gen. of Tsang Voudouris 1995 Yes Yes
Seed Fill Generalisation of Solomon 1987 Yes Yes
Re-optimize after Route Generation FLS seed fill Or-opt Yes Yes
Moves\neighbourhoods Moves\neighbourhoods
Relocate Insert task Yes Yes Yes Yes
Exchange Swap 2 tasks Yes Yes Yes Yes
2-opt Potvin Rousseau 1995 Yes
2-opt Lin 1965 Yes
Or-opt Or 1976 Yes
Cross-exchange Taillard et al. 1997 Yes
74
Reverse a consecutive group of tasks
75
Relocate groups of tasks
Same engineer
Two different engineer
76
Exchange a group of tasks between two different
engineers
77
Solving VRP using iOpt/iSchedule 3/3
Component Reference Applicability Applicability Applicability Applicability
Guided Local Search Guided Local Search Scheduling VRP JSSP WSP
Route Edge Classic edge penalty Yes Yes Yes Yes
Route Removal Mills 2005 Yes
Unallocated Tasks Classic unallocated tasks pen. Yes Yes Yes Yes
Tabu Tabu
ResourceAllocationListMemory Gen. Taillard et al. 1997 Yes
Position Tabu Classic position-based tabu Yes Yes Yes Yes
Adjacent Tasks Tabu Classic adjacent objects tabu Yes Yes Yes Yes
Move Filtering Move Filtering
VRP move filtering Discard meaningless moves Yes
Crossovers Crossovers
UniformResource Cross resources of 2 schedules Yes Yes Yes Yes
UniformTaskCrossover Cross tasks of 2 schedules Yes Yes Yes Yes
RouteCrossover Cross routes of 2 schedules Yes Yes
78
Neighbourhoods Comparison
R105 R105 rc206 rc206 r202 r202 c204 c204
Neighbourhood Vehicles Distance Vehicles Distance Vehicles Distance Vehicles Distance
Relocate 18.6 1616.0 5.3 1400.3 5.2 1295.8 4.0 946.3
Exchange 20.0 1672.3 5.3 1580.1 5.3 1402.8 4.0 1098.8
2-opt 20.0 1841.7 5.3 1685.5 5.3 1465.3 4.0 1213.4
2-opt 20.0 1580.7 5.3 1466.4 5.3 1308.4 4.0 1070.8
OR-opt 17.7 1590.4 5.2 1245.0 5.3 1236.6 4.0 792.8
RelocateExchange (RE) 18.3 1547.1 5.3 1403.8 5.2 1266.9 4.0 953.5
RE2-opt 17.8 1528.3 5.3 1349.2 5.2 1281.3 4.0 902.6
RE2-opt 17.7 1475.3 5.2 1193.9 5.3 1161.7 4.0 738.5
REOR-opt 17.9 1531.5 5.2 1248.8 5.2 1251.8 4.0 765.7
10 runs with First Improvement from a random
starting point until 1st local optimum
79
Benchmarking iOpt Vehicle Routing Problem
Instance best known1 iOpt/iSchedule2 iOpt/iSchedule2
Solomon Vehicles Travel Vehicles Travel Time
C1 10.00 827.30 10.00 828.84 3695
C2 3.00 589.90 3.00 591.31 3112
R1 11.92 1220.00 12.08 1242.68 3770
R2 2.73 961.30 2.90 968.63 2847
RC1 11.50 1389.60 11.87 1403.98 2993
RC2 3.25 1128.90 3.37 1144.99 4444
1 Metaheuristic Approaches for the Vehicle
Routing Problem with Time windows A survey, M.
Gendreau and O. Bräysy, Mic2003, Kyoto, Japan 2
Fast Local SearchGuided Local Search (max. time
10800 sec. (3 hours)), Survey performed by
Patrick Mills (12th out of 21 papers)
80
  • Demo
  • Vehicle Routing Problem

81
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com