roman barták visopt b.v. (nl) / charles university (cz) ip&s in complex and dynamic areas...
TRANSCRIPT
Roman BartákVisopt B.V. (NL) / Charles University (CZ)
IP&S in complex and dynamic areasVisopt Experience
Talk outlineTalk outline
Preliminariesplanning vs. schedulingconstraint technology in a nutshell
Complex Worldstransition schemesitem flows
Dynamic Worldshandling problem changes
Conclusionscomplex demo
PreliminariesPlanning, scheduling, and constraints
TerminologyTerminology
“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“
IP&SIP&SIntelligent planning & scheduling
Integrated planning & scheduling
PlanningPlanning SchedulingScheduling
actions
failure
PlanningPlanning SchedulingScheduling
IntegrationIntegration
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!
Process-dep. activityProcess-dep. activityre-heating
re-cycling
AA BBsetup
by-product
transitionfinal product
heatheat
processprocess
heatheat
processprocessprocessprocess
long duration
re-heatre-heat
Constraint technologyConstraint 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 variables
e.g. endA < startB
constraint optimisation via objective functione.g. minimise makespan
Why to use constraint technology? understandable open and extendible proof of concept
Constraints: unary resource constraint
Search strategies: ordering of activities
Decide first the activities with a minimal slack Choose ordering leading to a bigger slack
4 16
7 15
6 16
SchedulingScheduling
A (2)
B (4)
C (5)
A (2)4 7
A
B
slack for slack for A<<B A<<B
Complex Worldshandling complex resources
Visopt experience
MotivationMotivation
Planning & scheduling in complex areasresources with complex behaviour
setup and cleaning activitiescomplex relations between resources
alternative recipes re-cycling
Some examples: mould change in plastic industries acid cleaning in food industries re-cycling in petrochemical industries ...
Complex resourcesComplex resourcesResource behaviour is described via
a state transition diagram activity counters per state
global activity counterse.g. force a given state (cleaning)after a given number of activities
loadload
heatheat unloadunload
cleanclean
coolcool
clean load heat unload load heat unload cool clean
produce A (3-4)produce A (3-4)
produce B (1-2)produce B (1-2)
produce C (2-4)produce C (2-4)
A A A B C C C C A A A C C B A A A
1 2
2
Handling transitionsHandling transitions
A slot model of resourcesslot is a space for activity in the resource
variables describe activity parameters in the slot
state counters times constraints
time shift
slots can slide in time slots cannot swap their
position
endend startstart
K-1K-1 KK K+1K+1statestate
startstart endend
durationduration
+counters+counters
Item flowsItem flows
Relations between resources are described viasupplier-consumer dependencies
Alternative recipes
Recycling
supplier
consumer
N-to-N relations
Looking for suppliers
Handling dependenciesHandling 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)
Dynamic Worldshandling problem changes
academic research
MotivationMotivation
Planning, scheduling & timetabling problemschanges in the problem formulationminimal changes to the solutionother features:
over-constrained problems hard-to-solve problems
Some examples: gate allocation in airports production scheduling timetabling problems ...
Soft solutionsSoft solutionsReturn some solution even if no solution exists
Soft constraintsUser 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) solutionsAssign 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.
PerturbationsPerturbationsinitial 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
MPP exampleMPP example
Random placement problem Place a random set of rectangles (no
overlaps) to a rectangular placement area
ABCDEF
12
3
45
67
8
9
10
ABCDEF
3
45
67
8 10
Initial problem Solution of the changed problem with 3 perturbations
Change:object 1 must be in row B
9
12
Solving MPPSolving MPPPrinciple:
solve the changed problemuse 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
ConclusionsDemo
Demo problemDemo problem
worker
machine 1
machine 2
parallel (3..3)parallel (3..3)
recycle (1..1)recycle (1..1)
clean (1..1)clean (1..1)
serial (1..sup)serial (1..sup)
beginner (4..4)beginner (4..4) experienced (1..sup)experienced (1..sup)
ser. par. par. par. ser. ser. ser. ser. clean1 2 3 4 5 6 7 8 0
par. par. par. rec. ser. ser.
ser. ser. par. par. par.
ser. ser. cle. par. par. par.
rec.
count
count
reset after 8
parallel (3..3)parallel (3..3) clean (1..1)clean (1..1)
serial (1..sup)serial (1..sup)
beg. exp. exp.1 2 3 4
beg. beg. beg.
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
Expected solutionsExpected solutionsSynchronised cleaning
cleaningcleaning
parallel with recyclingparallel with recycling
Free cleaning
cleaningcleaning
Roman BartákVisopt B.V. (NL) /Charles University (CZ)
IP&S in complex and dynamic areasVisopt Experience