580 likes | 715 Views
Necessary components for a theory of incremental optimization. Randy Goebel goebel@cs.ualberta.ca http://www.cs.ualberta.ca/~goebel. Overview. Problem and Motivation Belief Revision, Combinatorial Optimization, Constraint Programming Modeling Schemes Dynamic constraints Summary. Problem.
E N D
Necessary components for a theory of incremental optimization Randy Goebel goebel@cs.ualberta.ca http://www.cs.ualberta.ca/~goebel
Overview • Problem and Motivation • Belief Revision, Combinatorial Optimization, Constraint Programming • Modeling Schemes • Dynamic constraints • Summary
Problem ? (Flexibly & Efficiently) Combine Condition-Based Maintenance and Resource-Based Dispatching
Motivation • To articulate knowledge requirements for incremental dynamic optimization • develop a framework to exploit the convergence of belief revision, constraint processing, and optimization
Example: IO2 Architecture arbitration CBM Strategic Dispatch Strategic CBM Tactical Dispatch Tactical events
AMPL Transportation Model set ORIG; # origins set DEST; # destinations param supply {ORIG} >= 0; # amounts available at origins param demand {DEST} >= 0; # amounts required at destinations check: sum {i in ORIG} supply[i] = sum {j in DEST} demand[j]; param cost {ORIG,DEST} >= 0; # shipment costs per unit var Trans {ORIG,DEST} >= 0; # units to be shipped minimize total_cost: sum {i in ORIG, j in DEST} cost[i,j] * Trans[i,j]; subject to Supply {i in ORIG}: sum {j in DEST} Trans[i,j] = supply[i]; subject to Demand {j in DEST}: sum {i in ORIG} Trans[i,j] = demand[j]; data; ############ DATA STARTS HERE ############ param: ORIG: supply := # defines set "ORIG" and param "supply" GARY 1400 CLEV 2600 PITT 2900 ; param: DEST: demand := # defines "DEST" and "demand" FRA 900 DET 1200 LAN 600 ... http://www.ampl.com/
IO2 Requirements • Fix granularity of scheduling • strategic, tactical, other? • Define repertoire of events • Maintenance events, dispatch events, environment changes, etc. • Declare expected impacts of events • Isolated to dispatch/strategic, impact on maintenance/tactical, etc. • Develop economic model for arbitration module
Overview • Problem and Motivation • Belief Revision, Combinatorial Optimization, Constraint Programming • Modeling Schemes • Dynamic constraints • Summary
Belief Revision Combinatorial Optimization Constraint Programming BR, CP, CO Convergence ?
representation efficiency Belief Revision Combinatorial Optimization Constraint Programming incrementality BR, CP, CO Convergence ?
A -> B ? - A A -> B B A AGM (graphical instance)
belief flock new belief state new information consistent belief state AGM (graphical generalization) + . . . + - . . . . . . . . . . . .
AGM Generalization new belief state belief flock + . . . + - . . . . . . . . . . . . new information consistent belief state
extension1 extension2 • • • extensionN Compact Belief Representation Non-montonic representation .
extension1 NM Theoryi extension2 extension’1 • • • • • • NM Theoryi+1 extension’2 ± extensionN new evidence extension’M Generalized BR
necessary beliefs necessary disbeliefs tentative beliefs Richer Representation extension1 • NM theory extension2 • • ± extensionn new belief tentative beliefs new belief causes a shuffle of existing beliefs
Combinatorial Optimization • Model: convex functions • Objective function: single maximum/minimum • Local optimum is global optimum • C&O Modeling (e.g., Williams) • C&O Complexity (e.g., 3 Bills)
Optimization • landscape of real models is more complex • non-linear, mixed integer, separable, non-convex • Greedy methods, tabu, simulated annealing, scatter search, etc. • “New age algorithms” (Papadimitriou)
Constraint Programming • X > 5 & X < 10 • Solutions: X = 6, 7, 8, or 9
Constraint Programming • X > 5 & X < 10 X is even • Solutions: X = 6, 7, 8, or 9 are further constrained to be X = 6, or 8
Overview • Problem and Motivation • Belief Revision, Combinatorial Optimization, Constraint Programming • Modeling Schemes • Dynamic constraints • Summary
Industrial Strength Problems • 2D layout, steel mill scheduling, crew scheduling, pipeline scheduling, mining production • complex modeling knowledge • complex objectives (e.g., multicriteria) • many kinds of heuristic problem solving knowledge
Industrial Strength Solutions • AIMMS (advanced integrated multidimensional modeling software) • AMPL (a modeling language for mathematical programming) • GAMS (general algebraic modeling system) • MPL (Mathematical Programming Language) • OPL Studio (ILOG)
Power of modeling Languages • Classes of models • Linear, non-linear, separable • Knowledge about objectives • Multi-criteria optimization (complex landscapes, complex objectives) • Stability • Dynamics • Semantic symmetry
AMPL set PROD; # products param rate {PROD} > 0; # tons produced per hour param avail >= 0; # hours available in week param profit {PROD}; # profit per ton param market {PROD} >= 0; # limit on tons sold in week var Make {p in PROD} >= 0, <= market[p]; # tons produced maximize total_profit: sum {p in PROD} profit[p] * Make[p]; # Objective: total profits from all products subject to Time: sum {p in PROD} (1/rate[p]) * Make[p] <= avail; # Constraint: total of hours used by all # products may not exceed hours available data; ############ DATA STARTS HERE ############ set PROD := bands coils; param: rate profit market := bands 200 25 6000 coils 140 30 4000 ; param avail := 40; http://www.ampl.com/
Modeling language evolution Regular X is even High X > 5 & X < 10 Solutions: X = 6, 7, 8, or 9 satisfiesHigh X = 6, or 8 satisfies High & Regular enum Tasks { masonry, carpentry, plumbing, ceiling, roofing, painting, windows, facade, garden, moving }; int duration[Tasks] = [7,3,8,3,1,2,1,2,1,1]; scheduleHorizon = 30; Activity a[t in Tasks](duration[t]); DiscreteResource budget(29000); minimize a[moving].end subject to { a[masonry] precedes a[carpentry]; ... a[garden] precedes a[moving]; capacityMax(budget,0,15,20000); forall(t in Tasks) a[t] consumes(1000*duration[t]) budget; };
Hierarchical CP • High X > 5 & X < 10 Regular X is even • Solutions: X = 6, 7, 8, or 9 satisfies High X = 6, or 8 satisfies High & Regular
Constraint Optimization: OPL • Each task requires the completion of others • Each task uses up resources • The budget is limited a[masonry] precedes a[ceiling]; a[carpentry] precedes a[roofing]; a[ceiling] precedes a[painting]; ... forall(t in Tasks) a[t] consumes(1000*duration[t]) budget; capacityMax(budget,0,15,20000);
Data Decision Variables Objective Function Constraints OPL Model enum Tasks { masonry, carpentry, plumbing, ceiling, roofing, painting, windows, facade, garden, moving }; int duration[Tasks] = [7,3,8,3,1,2,1,2,1,1]; scheduleHorizon = 30; Activity a[t in Tasks](duration[t]); DiscreteResource budget(29000); minimize a[moving].end subject to { a[masonry] precedes a[carpentry]; a[masonry] precedes a[plumbing]; a[masonry] precedes a[ceiling]; a[carpentry] precedes a[roofing]; a[ceiling] precedes a[painting]; a[roofing] precedes a[windows]; a[roofing] precedes a[facade]; a[plumbing] precedes a[facade]; a[roofing] precedes a[garden]; a[plumbing] precedes a[garden]; a[windows] precedes a[moving]; a[facade] precedes a[moving]; a[garden] precedes a[moving]; a[painting] precedes a[moving]; capacityMax(budget,0,15,20000); forall(t in Tasks) a[t] consumes(1000*duration[t]) budget; };
TAMP/S • Tactical Air Mission Planning/Scheduling based on agent-oriented anytime planning
Own Data/Info. Own Data/Info. Shared Data/Info. - CBM - STP - ??? Condition-based Production Planner (PP) Condition-based Maintenance Planner (MP) Arbitration Module (AM) mtnc resource allocation plan Arbitration Level 1 (checking/ messaging) production resource allocation plan Arbitration Level 2 (mediation/ arbitration) mediation & arbitration trigged by conflicts overall optimal plans IO2 Architecture?
YPPS Architecture • constructive & iterative • multiple levels of detail • optimization & repair
YPPS Level of Detail • multiple granularities
EDOSS • Event-driven optimization customer order list Optimized scheduling Melt schedule events
EDOSS • Event-driven optimization customer order list Optimized scheduling Melt schedule events
EDOSS • Event-driven optimization customer order list One Day Schedule 2 Week Schedule 4 Day Schedule Melt schedule events
Affect on Optimization? • optimization at multiple levels of detail • “application specific” coordination between levels
Application If then If then . . . ... ... ...
Real Scheduling Knowledge • Traditional modeling • storage tanks can’t overflow • Application specific heuristic • solutions with overflowed tanks are easy to repair
Overview • Problem and Motivation • Belief Revision, Combinatorial Optimization, Constraint Programming • Modeling Schemes • Dynamic constraints • Summary
Dynamic Constraints • Objective functions versus constraints • Changing landscapes • Changing objectives • Heuristic knowledge about finding solutions • Hybrid Systems
Algorithms for HCP? • Regular X is even High X > 5 & X < 10 (…generate all even numbers, then check which is > 5, < 10) Solutions: X = 6, 7, 8, or 9 satisfies High X = 6, or 8 satisfies High & Regular
Dynamic Constraints • Objective functions versus constraints • Changing landscapes • Changing objectives “Once a model has been built, it is extremely easy to convert a constraint to an objective, and vice versa. The proper use for such a model is to solve it a number of times, making such changes. We therefore have a method of coping with multiple objectives through treating all but one objective as a constraint.” Williams, Model Building in Mathematical Programming
Hybrid Optimization One • Currently conceived as combination of constraint programming with optimization (cf. Lustig/Puget, Jain/Grossman) • Provide user control on choosing values and on choosing nodes • Advantages for constraint programming: splitting variable domains • Advantages to linear programming: exploiting object function bounds
Hybrid Optimization One Domain X Domain X X Lower bound X Upper bound X < v X = v X > v Choosing X = v, can split domain into arbitrary segments X < v, X = v, X > v Not usually a lower bound “binary” search on objective function bounds
Hybrid Optimization One • Transform constraint problem into optimization problem in two ways: G(x1, x2, …, xn) is objective function • “Standard” F(y1, y2, …, yn) is feasible G(y1, y2, …, yn) > G(x1, x2, …xn) is new constraint • Dichotomic (requires lower bound U) G(x1, x2, …xn) > L, F(y1, y2, …, yn) = U (feasible) M = (U+L)/2 G(x1, x2, …xn) < M or G(x1, x2, …xn) > M