case study 5: all interval series results due to simonis, puget & regin
TRANSCRIPT
![Page 1: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/1.jpg)
Case study 5: all interval series
Results due to Simonis, Puget & Regin
![Page 2: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/2.jpg)
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”
![Page 3: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/3.jpg)
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
![Page 4: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/4.jpg)
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
![Page 5: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/5.jpg)
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!
![Page 6: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/6.jpg)
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
![Page 7: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/7.jpg)
Basic CSP model
What are the variables?
![Page 8: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/8.jpg)
Basic CSP model
What are the variables?Si = j if the ith note is j
• What are the constraints?
![Page 9: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/9.jpg)
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?
![Page 10: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/10.jpg)
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
![Page 11: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/11.jpg)
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?
![Page 12: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/12.jpg)
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])
![Page 13: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/13.jpg)
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
![Page 14: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/14.jpg)
Dual or combined model?
Would a dual model be useful?
![Page 15: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/15.jpg)
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?
![Page 16: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/16.jpg)
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?
![Page 17: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/17.jpg)
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
![Page 18: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/18.jpg)
Break symmetry
Does the problem have any symmetry?
![Page 19: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/19.jpg)
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?
![Page 20: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/20.jpg)
Break symmetry
Does the problem have any symmetry? Yes, we can reverse any sequence
S1, S2, …, Sn is an all-inverse seriesSn, …, S2, S1 is also
• How do we eliminate this symmetry?• As with Golomb ruler!
D1 < Dn-1
![Page 21: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/21.jpg)
Break symmetry
Does the problem have any other symmetry?
![Page 22: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/22.jpg)
Break symmetry
Does the problem have any other symmetry? Yes, we can invert the numbers in any
sequence0, n-1, 1, n-2, … map x onto n-1-x
n-1, 0, n-2, 1, …
• How do we eliminate this symmetry?
![Page 23: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/23.jpg)
Break symmetry
Does the problem have any other symmetry? Yes, we can invert the numbers in any
sequence0, 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
![Page 24: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/24.jpg)
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
![Page 25: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/25.jpg)
Implied constraints
Are there useful implied constraints to add?
![Page 26: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/26.jpg)
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
![Page 27: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/27.jpg)
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
![Page 28: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/28.jpg)
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 nSo use just bounds consistency (BC) for larger n
![Page 29: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/29.jpg)
Case study 6: progressive party problem
Model due to Barabra Smith
![Page 30: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/30.jpg)
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
![Page 31: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/31.jpg)
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
![Page 32: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/32.jpg)
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
![Page 33: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/33.jpg)
Basic CSP model
What are the variables?
![Page 34: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/34.jpg)
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?
![Page 35: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/35.jpg)
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?
![Page 36: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/36.jpg)
Basic CSP model
What are the constraints?
No guest boat visits a host boat twiceFor all i . All-different([Hi1,Hi2,..,Hit])
![Page 37: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/37.jpg)
Basic CSP model
What are the constraints?
No guest boat visits a host boat twiceFor all i . All-different([Hi1,Hi2,..,Hit])
• Host boat capacity is not exceeded
![Page 38: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/38.jpg)
Basic CSP model
What are the constraints?
No guest boat visits a host boat twiceFor all i . all-different([Hi1,Hi2,..,Hit])
• Host boat capacity is not exceededHmm, hosts are values to Hit variables so would
need to look at all Hit variables simultaneously!
![Page 39: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/39.jpg)
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
![Page 40: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/40.jpg)
Improving basic CSP model
Is it worth introducing any auxiliary variables? Could we express capacity constraints via
some auxiliary variables?
![Page 41: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/41.jpg)
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
![Page 42: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/42.jpg)
Improving basic CSP model
Introduce auxiliary 0/1 variables that can be summed Vijt = 1 iff Hit=j
![Page 43: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/43.jpg)
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
![Page 44: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/44.jpg)
What about other constraints?
Still have to specify that no two guest boats meet twice
![Page 45: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/45.jpg)
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
![Page 46: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/46.jpg)
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
![Page 47: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/47.jpg)
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?
![Page 48: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/48.jpg)
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!
![Page 49: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/49.jpg)
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
![Page 50: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/50.jpg)
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
![Page 51: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/51.jpg)
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
![Page 52: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/52.jpg)
Break symmetry
Does the problem have any symmetry?
![Page 53: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/53.jpg)
Break symmetry
Does the problem have any symmetry? Yes, of course. The world is full of
symmetry!
![Page 54: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/54.jpg)
Break symmetry
Host boats of the same capacity are symmetric
Guest boats of the same crew size are symmetric Guest boat symmetry is more important
than host boat. Why?
![Page 55: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/55.jpg)
Break symmetry
Does the problem have any other symmetry?
![Page 56: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/56.jpg)
Break symmetry
Does the problem have any other symmetry?
Yes, of course. Time periods are symmetric
![Page 57: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/57.jpg)
Break symmetry
How do we deal with symmetry of time periods?
![Page 58: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/58.jpg)
Break symmetry
How do we deal with symmetry of time periods? Largest guest boat visits host boats in
order Similar trick to assigning first row of
orthogonal Latin square Why largest?
![Page 59: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/59.jpg)
Break symmetry
Guest boats with the same crew size are symmetric How do we break this symmetry?
![Page 60: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/60.jpg)
Break symmetry
Guest boats with the same crew size are symmetric If j<k have same crew size then
Hj1 <= Hk1
![Page 61: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/61.jpg)
Break symmetry
Guest boats with the same crew size are symmetric If j<k have same crew size then
Hj1 <= Hk1
• They might still meet at t=1!• We cannot rule this out• If they do, we still have this symmetry
![Page 62: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/62.jpg)
Break symmetry
Guest boats with the same crew size are symmetric If j<k have same crew size then
Hj1 <= Hk1
• They might still meet at t=1!Hj1<Hk1 or Hj2<Hk2
They cannot meet at t=1 and t=2
![Page 63: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/63.jpg)
Break symmetry
Host boats with the same capacity are symmetric How do we break this symmetry?
![Page 64: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/64.jpg)
Break symmetry
Host boats with the same capacity are symmetric Partial solution If j<k have identical capacity, then guest
boat 1 visits k implies it also visits j
![Page 65: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/65.jpg)
Break symmetry
Host boats with the same capacity are symmetric Partial solution If j<k have identical capacity, then guest
boat 1 visits k implies it also visits j
Can you improve on this?
![Page 66: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/66.jpg)
Solving choices
Which variables to branch on? Hit, Vijt or Mijt ?
![Page 67: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/67.jpg)
Solving choices
Which variables to branch on? Hit and let others follow
What variable ordering heuristic
![Page 68: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/68.jpg)
Solving choices
Which variables to branch on? Hit and let others follow
What variable ordering heuristic Fail first
What value ordering?
![Page 69: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/69.jpg)
Solving choices
Which variables to branch on? Hit and let others follow
What variable ordering heuristic Fail first
What value ordering? Host boats by their spare capacity Alias succeed first
![Page 70: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/70.jpg)
Performance
Party held before problem solved! 13 hosts, 29 guests, 6 time periods
Heuristic tweaked to assign each period in turn
Solution found for 7 period problem They could have partied longer
12 host problem easy to show insoluble Simple capacity argument
![Page 71: Case study 5: all interval series Results due to Simonis, Puget & Regin](https://reader036.vdocuments.us/reader036/viewer/2022062417/5515c9cb55034693758b4a5d/html5/thumbnails/71.jpg)
Conclusions
Constraint programming can improve your social life!
Modelling is an art but there are patterns Develop basic model Use auxiliary variables to represent constraints
compactly/efficiently Consider dual, combined and 0/1 models Break symmetry Add implied constraints