1 / 58

Necessary components for a theory of incremental optimization

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.

azana
Download Presentation

Necessary components for a theory of incremental optimization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Necessary components for a theory of incremental optimization Randy Goebel goebel@cs.ualberta.ca http://www.cs.ualberta.ca/~goebel

  2. Overview • Problem and Motivation • Belief Revision, Combinatorial Optimization, Constraint Programming • Modeling Schemes • Dynamic constraints • Summary

  3. Problem ? (Flexibly & Efficiently) Combine Condition-Based Maintenance and Resource-Based Dispatching

  4. Motivation • To articulate knowledge requirements for incremental dynamic optimization • develop a framework to exploit the convergence of belief revision, constraint processing, and optimization

  5. Example: IO2 Architecture arbitration CBM Strategic Dispatch Strategic CBM Tactical Dispatch Tactical events

  6. 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/

  7. 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

  8. Overview • Problem and Motivation • Belief Revision, Combinatorial Optimization, Constraint Programming • Modeling Schemes • Dynamic constraints • Summary

  9. Belief Revision Combinatorial Optimization Constraint Programming BR, CP, CO Convergence ?

  10. representation efficiency Belief Revision Combinatorial Optimization Constraint Programming incrementality BR, CP, CO Convergence ?

  11. A -> B ? - A A -> B B A AGM (graphical instance)

  12. belief flock new belief state new information consistent belief state AGM (graphical generalization) + . . . + - . . . . . . . . . . . .

  13. AGM Generalization new belief state belief flock + . . . + - . . . . . . . . . . . . new information consistent belief state

  14. extension1 extension2 • • • extensionN Compact Belief Representation Non-montonic representation .

  15. extension1 NM Theoryi extension2 extension’1 • • • • • • NM Theoryi+1 extension’2 ± extensionN new evidence extension’M Generalized BR

  16. 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

  17. 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)

  18. 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)

  19. Constraint Programming • X > 5 & X < 10 • Solutions: X = 6, 7, 8, or 9

  20. 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

  21. Overview • Problem and Motivation • Belief Revision, Combinatorial Optimization, Constraint Programming • Modeling Schemes • Dynamic constraints • Summary

  22. 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

  23. 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)

  24. 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

  25. 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/

  26. 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; };

  27. 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

  28. 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);

  29. 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; };

  30. TAMP/S • Tactical Air Mission Planning/Scheduling based on agent-oriented anytime planning

  31. 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?

  32. Affect on Optimization?

  33. YPPS

  34. YPPS Architecture • constructive & iterative • multiple levels of detail • optimization & repair

  35. YPPS Level of Detail • multiple granularities

  36. EDOSS • Event-driven optimization customer order list Optimized scheduling Melt schedule events

  37. EDOSS • Event-driven optimization customer order list Optimized scheduling Melt schedule events

  38. EDOSS • Event-driven optimization customer order list One Day Schedule 2 Week Schedule 4 Day Schedule Melt schedule events

  39. Affect on Optimization? • optimization at multiple levels of detail • “application specific” coordination between levels

  40. Pipeline Scheduling

  41. Application If then If then . . . ... ... ...

  42. Real Scheduling Knowledge • Traditional modeling • storage tanks can’t overflow • Application specific heuristic • solutions with overflowed tanks are easy to repair

  43. Affect on Optimization?

  44. Overview • Problem and Motivation • Belief Revision, Combinatorial Optimization, Constraint Programming • Modeling Schemes • Dynamic constraints • Summary

  45. Dynamic Constraints • Objective functions versus constraints • Changing landscapes • Changing objectives • Heuristic knowledge about finding solutions • Hybrid Systems

  46. 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

  47. 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

  48. 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

  49. 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

  50. 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

More Related