case study 5 all interval series n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Case study 5: all interval series PowerPoint Presentation
Download Presentation
Case study 5: all interval series

Loading in 2 Seconds...

play fullscreen
1 / 71

Case study 5: all interval series - PowerPoint PPT Presentation


  • 123 Views
  • Updated on

Case study 5: all interval series. Results due to Simonis, Puget & Regin. All interval series. Prob007 at www.csplib.org Comes from musical composition Traced back to Alban Berg Extensively used by Ernst Krenek Op.170 “Quaestio temporis”. All interval series.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Case study 5: all interval series


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
    Presentation Transcript
    1. Case study 5: all interval series Results due to Simonis, Puget & Regin

    2. All interval series • Prob007 at www.csplib.org • Comes from musical composition • Traced back to Alban Berg • Extensively used by Ernst Krenek Op.170 “Quaestio temporis”

    3. All interval series • Take the 12 standard pitch classes • c, c#, d, .. • Represent them by numbers 0, .., 11 • Find a sequence so each occurs once • Each difference occurs once

    4. All interval series • Can generalize to any n (not just 12) Find Sn, a permutation of [0,n) such that |Sn+1-Sn| are all distinct • Finding one solution is easy

    5. All interval series • Can generalize to any n (not just 12) Find Sn, a permutation of [0,n) such that |Sn+1-Sn| are all distinct • Finding one solution is easy [n,1,n-1,2,n-2,.., floor(n/2)+2,floor(n/2)-1,floor(n/2)+1,floor(n/2)] Giving the differences [n-1,n-2,..,2,1] Challenge is to find all solutions!

    6. Basic methodology • Devise basic CSP model • What are the variables? What are the constraints? • Introduce auxiliary variables if needed • Consider dual or combined models • Break symmetry • Introduce implied constraints

    7. Basic CSP model • What are the variables?

    8. Basic CSP model • What are the variables? Si = j if the ith note is j • What are the constraints?

    9. Basic CSP model • What are the variables? Si = j if the ith note is j • What are the constraints? Si in [0,n) All-different([S1,S2,… Sn]) Forall i<i’ |Si+1 - Si| =/ |Si’+1 - Si’| Will this model be any good? If so, why? If not, why not?

    10. Basic methodology • Devise basic CSP model • What are the variables? What are the constraints? • Introduce auxiliary variables if needed • Consider dual or combined models • Break symmetry • Introduce implied constraints

    11. Improving basic CSP model • Is it worth introducing any auxiliary variables? • Are there any loose or messy constraints we could better (more compactly?) express via some auxiliary variables?

    12. Improving basic CSP model • Is it worth introducing any auxiliary variables? • Yes, variables for the pairwise differences Di = |Si+1 - Si| • Now post single large all-different constraint Di in [1,n-1] All-different([D1,D2,…Dn-1])

    13. Basic methodology • Devise basic CSP model • What are the variables? What are the constraints? • Introduce auxiliary variables if needed • Consider dual or combined models • Break symmetry • Introduce implied constraints

    14. Dual or combined model? • Would a dual model be useful?

    15. Dual or combined model? • Would a dual model be useful? • We already have GAC on permutations so not there! • Would an 0/1 model be useful?

    16. Dual or combined model? • Would a dual model be useful? • We already have GAC on permutations so not there! • Would an 0/1 model be useful? • No obvious benefits here?

    17. Basic methodology • Devise basic CSP model • What are the variables? What are the constraints? • Introduce auxiliary variables if needed • Consider dual or combined models • Break symmetry • Introduce implied constraints

    18. Break symmetry • Does the problem have any symmetry?

    19. Break symmetry • Does the problem have any symmetry? • Yes, we can reverse any sequence S1, S2, … Sn is an all-inverse series Sn, …, S2, S1 is also • How do we eliminate this symmetry?

    20. Break symmetry • Does the problem have any symmetry? • Yes, we can reverse any sequence S1, S2, …, Sn is an all-inverse series Sn, …, S2, S1 is also • How do we eliminate this symmetry? • As with Golomb ruler! D1 < Dn-1

    21. Break symmetry • Does the problem have any other symmetry?

    22. Break symmetry • Does the problem have any other symmetry? • Yes, we can invert the numbers in any sequence 0, n-1, 1, n-2, … map x onto n-1-x n-1, 0, n-2, 1, … • How do we eliminate this symmetry?

    23. Break symmetry • Does the problem have any other symmetry? • Yes, we can invert the numbers in any sequence 0, n-1, 1, n-2, … map x onto n-1-x n-1, 0, n-2, 1, … • How do we eliminate this symmetry? S1 < S2

    24. Basic methodology • Devise basic CSP model • What are the variables? What are the constraints? • Introduce auxiliary variables if needed • Consider dual or combined models • Break symmetry • Introduce implied constraints

    25. Implied constraints • Are there useful implied constraints to add?

    26. Implied constraints • Are there useful implied constraints to add? • Hmm, unlike Golomb ruler, we only have neighbouring differences • So, no need to consider transitive closure

    27. Implied constraints • Are there useful implied constraints to add? • Hmm, unlike Golomb ruler, we are not optimizing • So, no need to improve propagation for optimization variable

    28. Performance • Basic model is poor • Refined model able to compute all solutions up to n=14 or so • GAC on all-different constraints very beneficial • As is enforcing GAC on Di = |Si+1-Si| This becomes too expensive for large n So use just bounds consistency (BC) for larger n

    29. Case study 6: progressive party problem Model due to Barabra Smith

    30. Progressive party problem • Progressive does not mean “hippy”! • But people progress round the party • Yacht club party • Small number of host boats • Crews of other boats circulate round the hosts

    31. Progressive party problem • There are h hosts, and g guests • Each host boat has a maximum capacity of people • Each guest boat has a crew size • In each of t time periods • Each guest boat visits one of the h hosts • Subject to capacity constraints on hosts • In addition, no two guests should meet twice and no guest visit the same host twice

    32. Basic methodology • Devise basic CSP model • What are the variables? What are the constraints? • Introduce auxiliary variables if needed • Consider dual or combined models • Break symmetry • Introduce implied constraints

    33. Basic CSP model • What are the variables?

    34. Basic CSP model • What are the variables? • Hit = j if guest boat i visits host j at time t • Why not the “dual” model of which guest visits host j at time t?

    35. Basic CSP model • What are the variables? • Hit = j if guest boat i visits host j at time t • Why not the “dual” model of which guest visits host j at time t? But several guests visit each host so would need to deal with set of guests for each host?

    36. Basic CSP model • What are the constraints? • No guest boat visits a host boat twice For all i . All-different([Hi1,Hi2,..,Hit])

    37. Basic CSP model • What are the constraints? • No guest boat visits a host boat twice For all i . All-different([Hi1,Hi2,..,Hit]) • Host boat capacity is not exceeded

    38. Basic CSP model • What are the constraints? • No guest boat visits a host boat twice For all i . all-different([Hi1,Hi2,..,Hit]) • Host boat capacity is not exceeded Hmm, hosts are values to Hit variables so would need to look at all Hit variables simultaneously!

    39. Basic methodology • Devise basic CSP model • What are the variables? What are the constraints? • Introduce auxiliary variables if needed • Consider dual or combined models • Break symmetry • Introduce implied constraints

    40. Improving basic CSP model • Is it worth introducing any auxiliary variables? • Could we express capacity constraints via some auxiliary variables?

    41. Improving basic CSP model • Is it worth introducing any auxiliary variables? • Could we express capacity constraints via some auxiliary variables? • Of course, I wouldn’t be asking the question otherwise

    42. Improving basic CSP model • Introduce auxiliary 0/1 variables that can be summed • Vijt = 1 iff Hit=j

    43. Improving basic CSP model • Introduce auxiliary 0/1 variables that can be summed • Vijt = 1 iff Hit=j • Capacity constraint now easy to specify: • Sum_i Vijt * crew_i <= capacity_j where crew_i is crew size of boat j and capacity_j is capacity of host boat j

    44. What about other constraints? • Still have to specify that no two guest boats meet twice

    45. What about other constraints? • Still have to specify that no two guest boats meet twice • Quantify over all pairs of guest, all host boats and all time periods • O(g^2 h t) constraints

    46. Basic methodology • Devise basic CSP model • What are the variables? What are the constraints? • Introduce auxiliary variables if needed • Consider dual or combined models • Break symmetry • Introduce implied constraints

    47. Improving basic CSP model • Is it worth introducing any auxiliary variables? • Could we express “don’t meet twice” constraints more compactly/efficiently via some auxiliary variables?

    48. Improving basic CSP model • Is it worth introducing any auxiliary variables? • Could we express “don’t meet twice” constraints more compactly/efficiently via some auxiliary variables? • Yes, of course. I wouldn’t be asking otherwise!

    49. Improving CSP model • Introduce auxiliary 0/1 variables to represent meetings • Mklt = 1 iff Hkt=Hlt • I.e. if guest k meets guest l at time t

    50. Improving CSP model • Introduce auxiliary 0/1 variables to represent meetings • Mklt = 1 iff Hkt=Hlt • I.e. if guest k meets guest l at time t • Meeting constraints easily specified • Sum_t Mklt <= 1