Title: Roman Bart
1IPS in complex and dynamic areasVisopt
Experience
- Roman BartákVisopt B.V. (NL) / Charles
University (CZ)
2Talk outline
- Preliminaries planning vs. scheduling constraint
technology in a nutshell - Complex Worlds transition schemes item flows
- Dynamic Worlds handling problem changes
- Conclusions complex demo
3PreliminariesPlanning, scheduling, and
constraints
4Terminology
The planning task is to find out a sequence of
actions that will transfer the initial state of
the world into a state where the desired goal is
satisfied
The scheduling task is to allocate known
activities to available resources and time
respecting capacity, precedence (and other)
constraints
5IPS
- Intelligent planning scheduling
- Integrated planning scheduling
Planning
Scheduling
Planning
Scheduling
6Integration
- When do we need to integrate more?
- If there are too frequent backtracks from
scheduling to planning. - Improving the planner may help.
- If existence of the activity depends on
allocation of other activities. - We call it a process-dependent activity.
- Foregoing planning of activities cannot be done
there!
7Process-dep. activity
heat
process
process
setup
8Constraint technology
- based on declarative problem description via
- variables with domains (sets of possible
values)e.g. start of activity with time windows - constraints restricting combinations of
variablese.g. endA lt startB - constraint optimisation via objective
functione.g. minimise makespan - Why to use constraint technology?
- understandable
- open and extendible
- proof of concept
9Scheduling
- Constraints unary resource constraint
- Search strategies ordering of activities
- Decide first the activities with a minimal slack
- Choose ordering leading to a bigger slack
B (4)
C (5)
A (2)
A
B
10Complex Worldshandling complex resources
11Motivation
- Planning scheduling in complex areas
- resources with complex behaviour
- setup and cleaning activities
- complex relations between resources
- alternative recipes
- re-cycling
- Some examples
- mould change in plastic industries
- acid cleaning in food industries
- re-cycling in petrochemical industries
- ...
12Complex resources
- Resource behaviour is described via
- a state transition diagram
- activity counters per state
- global activity counters
- e.g. force a given state (cleaning)after a given
number of activities
A
A
A
B
C
C
C
C
A
A
A
C
C
B
A
A
A
clean
load
heat
unload
load
heat
unload
cool
clean
13Handling transitions
- A slot model of resources
- slot is a space for activity in the resource
- variables describe activity parameters in the
slot - state
- counters
- times
- constraints
- slots can slide in time
- slots cannot swap their position
state
counters
14Item flows
- Relations between resources are described
viasupplier-consumer dependencies
15Handling dependencies
- Basic ideas
- when the activity is known (located to a slot)
introduce related activities (suppliers/consumers)
- the solver is selecting among introduced
activities (planning within scheduling)
Looking for suppliers
?
16Dynamic Worldshandling problem changes
17Motivation
- Planning, scheduling timetabling problems
- changes in the problem formulation
- minimal changes to the solution
- other features
- over-constrained problems
- hard-to-solve problems
- Some examples
- gate allocation in airports
- production scheduling
- timetabling problems
- ...
18Soft solutions
- Return some solution even if no solution exists
- Soft constraints
- User assigns preferences/weights to the
constraints. - Motivation
- Some constraints express preferences rather than
requirements. - Return some solution even if one does not know in
advance that no solution exists. - Soft (incomplete) solutions
- Assign as many variables as possible (i.e.,
without any conflict). - Motivation
- In school timetabling assign as many courses as
possible. - Note
- Can be applied to hard-to-solve problems.
19Perturbations
- initial problem ? initial solution ?
- new problem ?
- Perturbation
- change in the new solution ? for ? w.r.t. ?
- The task
- Find a solution of the changed problem that
minimises the number of perturbations. - ? Minimal Perturbation Problem ?
Mapping between objects/variables
20MPP example
- Random placement problem
- Place a random set of rectangles (no overlaps) to
a rectangular placement area
3
9
7
9
2
2
6
Change object 1 must be in row B
1
1
5
4
8
10
Solution of the changed problem with 3
perturbations
Initial problem
21Solving MPP
- Principle
- solve the changed problem
- use the initial solution as a guide
- Basic solver
- branch-and-bound
- limited assignment number search
- limit the number of attempts to assign a value to
the variable - ? linear search space (lan_limit
number_of_variables) - Guide
- first, assign values to variables with
perturbation - prefer values which minimise additional
perturbations
22ConclusionsDemo
23Demo problem
- Parallel (with worker) and serial production
- Re-cycling of by-products after 3 parallel
activities - Synchronised cleaning after 8 production
activities - Learning curve and working time for the worker
24Expected solutions
25IPS in complex and dynamic areasVisopt
Experience
- Roman BartákVisopt B.V. (NL) /Charles University
(CZ)