170 likes | 261 Views
On the Boundary of Planning and Scheduling: A Study. Roman Bart ák Charles University, Prague bartak@kti.mff.cuni.cz. Problem area. complex production environments plastic, petrochemical, chemical, pharmaceutical industries several different resources producers, movers, stores
E N D
On the Boundary of Planning and Scheduling: A Study Roman Barták Charles University, Prague bartak@kti.mff.cuni.cz
Problem area • complex production environments • plastic, petrochemical, chemical, pharmaceutical industries • several different resources • producers, movers, stores • batch/serial processing with time windows • transition patterns (set-up times) • by-products, co-products (re-cycling) • non-ordered production (for store) • alternatives • processing routes, production formulas, raw material
Problem area - example & objectives complex production environment • Task • preparing a schedule for a given time period(not minimising the makespan) • objective • maximising the profit (minimising the cost) silo order processor B1 purchase silo processor A processor B2 sacks warehouse order
Constraint Programming (CP) • Declarative problem solving • stating constraints about the problem variables • a set of variables X={x1,…,xn} • variables’ domains Di (usually finite set of possible values) • a set of constraints (constraint is a relation among several unknowns) • finding a solution satisfying all (most) the constraints • systematic search with consistency techniques & constraint propagation • stochastic and heuristic methods (local search)
CP - Advantages & Limitations • Advantages • declarative modelling • transparent representation of real-life problems • easy introduction of heuristics • co-operative solving • integration of solving methods from different areas (OR, AI …) • semantic foundation • amazingly clean and elegant languages • Weaknesses • NP-hard problems & tractability • unpredictable behaviour • model instability
Planning finding a sequence of activities transferring the initial world into a required state AI & CP uses scheduler’s constraints(otherwise too tighten or too relaxed plans) Scheduling allocating the activities to available resources over time respecting the constraints OR & CP all activities are know in advance Planning and Scheduling - Traditional View PLANNER SCHEDULER Plan = a list of activities Schedule = allocated activities
Planning and Scheduling in Industry • not strictly distinguished • different discrimination criteria (time horizon & resolution) • marketing planning • what and when should be produced • not planning in AI terminology • production planning • generation of activities • allocation to departments • production scheduling • exact allocation of activitiesto machines over time • sometimes new activities introduced Marketing plan Production plan Schedule
Separate Planning and Scheduling • Co-operation between planner and scheduler • too tighten plans (impossible to schedule) • too free plans (less profitable schedule) backtrack from the scheduler to the planner • Activity generation • what if appearance of the activity depends on the allocation of other activities? • alternatives • transition patterns (set-ups) • processing of by-products • non-ordered production
Mixing Planning and Scheduling • A scheduler with planning capabilities • generating activities during scheduling PRODUCTION SCHEDULER MARKETING PLANNING Schedule - what activities are necessary to satisfy the marketing plan - how the activities are allocated to the resources over time ACTIVITY GENERATOR Marketing Plan = what should be produced (custom orders plus expected stock) Activity Values for parameters ACTIVITY ALLOCATOR
Expressiveness What could be modelled? (problem area) What is easy/hard to express? (constraints) Conceptual models
Constraint classification in scheduling • resource constraints • resource limits in given time point • capacity, compatibility • transition constraints • activity transitions in single resource • set-ups • dependency constraints • dependencies between different resources • supplier-consumer relation
Time-line model resources Production (item1) Change-over Production (item 2) Production (item 3) empty Storing (item 1) Storing (items 1&B) empty Time slice No production Production (item4) Production (item5) time • a discrete time line with time slices • description of situation at each time point/slice • planning and scheduling - no difference • a variable for activity in the description of time point/slice • comments • covers all the typical problems in complex production environments • all the variables are known in advance • too many variables in large-scale industrial problems
Order-centric model time resources polymerizing polymerizing storing storing extruding extruding storing storing • a chain of activities per order (task) • description of the activity • start, end (duration), resource • enhancement • activities in the production chain are generated during scheduling starting from the order (alternatives, set-ups) • sharing activities between production chains (by-products)
How to model? (in order-centric model) • alternatives • pre-processing (chosen by the planner) • alternative activities in slots • set-ups • set-up slot is either empty or contains the set-up activity (depending on the allocation of the next activity) • by-products (re-cycling) • sharing activities between the production chains • non-ordered production • pre-processing (non-ordered production is planned in advance - before the scheduling)
Resource-centric model resources Production (item1) Change-over Production (item 2) Production (item 3) empty Storing (item 1) Storing (items 1&B) empty No production Production (item4) Production (item5) No order Order1 No order time • a sequence of activities per resource • “what the resource can process” rather than “how to satisfy the order” • description of the activity • start, end (duration), quantities, state, suppliers, consumers • representation • a list of virtual activities • transition constraints between successive activities
What’s next? • ad-hoc implementation • dynamic constraints • propagation (early detection of inconsistencies) • labelling (incremental) • heuristics (choice of alternatives) • theoretical foundation • structural constraint satisfaction (A. Nareyek) • parallelism • agent based scheduling