I P&S in complex and dynamic areas Visopt Experience

25
Roman Barták Visopt B.V. (NL) / Charles University (CZ) IP&S in complex and dynamic areas Visopt Experience

description

I P&S in complex and dynamic areas Visopt Experience. Roman Barták Visopt B.V. (NL) / Charles University (CZ). Talk outline. Preliminaries planning vs. scheduling constraint technology in a nutshell Complex Worlds transition schemes item flows Dynamic Worlds handling problem changes - PowerPoint PPT Presentation

Transcript of I P&S in complex and dynamic areas Visopt Experience

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