Presentation is loading. Please wait.

Presentation is loading. Please wait.

CPM!. Just do it! JChoco We jumped in, and took it for a spin Some counting problems Meeting scheduling problem … you got your hands dirty.

Similar presentations


Presentation on theme: "CPM!. Just do it! JChoco We jumped in, and took it for a spin Some counting problems Meeting scheduling problem … you got your hands dirty."— Presentation transcript:

1 CPM!

2 Just do it!

3

4 JChoco We jumped in, and took it for a spin Some counting problems Meeting scheduling problem … you got your hands dirty

5 JChoco Meeting scheduling problem … you got your hands dirty Model and solve Reflect on alternative models Symmetries Heuristics Pre-processing Equitable graph colouring with side constraints A surprisingly rich problem!

6 Opening up the hood: part 1, search

7

8 So how does CP work? BT: Chronological BackTracking Thrashing! FC: forward checking Thrashing! CBJ: Conflict-directed BackJumping Thrashing!

9 Opening up the hood: part 2, arc-consistency

10

11 So how does CP work? Arc-consistency Definition (aka 2-consistency) Covered 1-2-3-Consistency Algorithms AC3 AC4/6/2001 AC5 Is AC a decision procedure?

12 modelling

13 We modelled some problems number partitioning jobshop scheduling magic square n-queens bin packing knight’s tour Ramsey number Orthogonal Latin Squares Crystal Maze graph colouring m-queens Team allocation Crossword Puzzle Round-robin scheduling Meeting scheduling problem 75 integer sequence sudoku

14 What are the decision variables? Are there any symmetries? Is there a variable/value ordering heuristic? Is there another model? We modelled some problems How does search go? Redundant constraints? Dual or Hidden Variable encoding?

15 Variables & their domains Constraints Identifying the decision variables Size of the model number of variables, number of constraints Use big-O Size of the search space (worst case) Use big-O Symmetries And how to eliminate if possible Heuristics Alternative models Swap the perspective variable/values? Replace constraints with variables? Did this in crossword puzzle Zero/one possible? Did this in team allocation and others Channeling between models See above We modelled some problems

16 phase transition phenomena

17 Where are the hard problems? Constrainedness? Who cares? In optimisation, as a heuristic, in solving problems

18 heuristics

19 Variable and value ordering heuristics Static, topological properties Fail-first, and it’s realisation Constrainedness Dual viewpoint heuristics Promise Regret Domain Specific (example JSSP slack-based, Warnsdorff)

20 Specialised constraints

21 specialised constraints max sub-tour elimination Knight’s tour … the glass box

22 local search

23 Search againLocal search (aka neighbourhood search) HC, SA, TS, GLS, GA, ACO, … Why we need them escape local optima Problems in using them incompleteness, move operators, evaluation/fitness functions, tuning parameters, Problems in using them in CP aka meta-heuristics

24 Search againLimited Discrepancy Search lds motivation for LDS when might we use it? when should we not use it? what happens when problem is unsat?

25 Parallel search Amdahl’s law How much speed up can we get? Satisfiable v Unsatisfiable problems Optimisation Superlinear? BitSet parallelism How to split up work Static Embarrassingly Dynamic work stealing/donation

26 change of representation

27 dual and hidden variable encoding change of representation Crossword puzzle, turn constraints into variables Interchange values and variables Zero/one? SAT encoding of Graph Colouring

28 Levels of consistency

29 Node Consistency (NC) Arc-consistency (AC) Path Consistency (PC) Generalised arc-consistency (GAC) Bounds consistency Inverse Path Consistency (IPC aka PIC) Singleton Arc-consistency (SAC) … and others consistency

30 Mechanics of choco

31

32 homework Ramsey & max Local Search demo m-queens 75 integers

33 summary

34 theory csp and it’s complexity search (bt, fc, cbj, …) thrashing arc-consistency levels of consistency heuristics local search & lds & parallel search dual & hidden variables sat phase transition phenomena & constrainedness summary

35 practice number partitioning jobshop scheduling magic square n-queens bin packing knight’s tour Meeting SchedulingOrthogonal Latin Squares Crystal Maze graph colouring Modelling & Solving Problems

36 practice variables (enumerated/bound/setsVar) and their domains constraints (neq, allDiff, ifOnlyIf, …) decision variables what propagation might take place size of the encoding/model (how it scales with problem size) heuristics (dynamic/static, variable/value) size of the search/state space how search goes (example was knight’s tour) alternative models (dual? hidden? values as variables?) optimisation (with maximise/minimise, seqn of decision problems) dealing with conflicts (soft constraints & penalties) symmetry breaking (ramsey, bin packing, …) redundant constraints (magic square, MOLS …) what will make problems hard to solve and what will make them easy? Modelling & Solving Problems

37 Where to next?

38 smarter (explanation/interaction) local search (comet & beyond) exploiting multi-cores (Moore’s law ends July 2017) in propagation in search easier to use (Miguel & Frisch) don’t need a BSc, MSc, MRes, PhD a killer app constraint spread sheet? something on a phone? you

39


Download ppt "CPM!. Just do it! JChoco We jumped in, and took it for a spin Some counting problems Meeting scheduling problem … you got your hands dirty."

Similar presentations


Ads by Google