recent progress in two-sided stable matching · 2;:::;w n2 g each person has an ordinal preference...
TRANSCRIPT
Insight Centre for Data Analytics
Recent Progress in Two-Sided StableMatching
Mohamed Sialahttp://ucc.insight-centre.org/msiala
May 2, 2018
Academic Career
• December 2011 to May 2015:• PhD in Computer science, LAAS-CNRS, INSA Toulouse,
France• Funding: CNRS, Google, Midi-Pyrenees
• Since June 2015:• Post Doctoral Researcher, Insight, Centre for Data
Analytics, University College Cork, Ireland.• Funding: Science Foundation Ireland 90% and UCC-UTRC
10%.
Insight Centre for Data Analytics May 2, 2018 Slide 2
Research Areas & Applications
Research Areas
• Constraint programming: [CP’12, IJCAI’13, CPAIOR’14,Constraints’14, CP’15, EAAI’15, CPAIOR’16, Constraints’16,CP’17, IJCAI’17, CPAIOR’17, CPAIOR’18]
• Boolean SAT & Clause Learning:[CPAIOR’14, CP’15, CP’17, CPAIOR’17]
• Combinatorial optimisation, algorithmic complexity,operations research:[EAAI’15, Constraints’16, ICTAI’17, COCOA’17, IJCAI’17]
Applications
• Scheduling & Sequencing Problems:[CP’12, IJCAI’13, CPAIOR’14, Constraints’14, CP’15,EAAI’15, Constraints’16]
• Matching under Preferences:[CPAIOR’16, CP’17, IJCAI’17, ICTAI’17, COCOA’17]
Insight Centre for Data Analytics May 2, 2018 Slide 3
Research Areas & ApplicationsResearch Areas
• Constraint programming: [CP’12, IJCAI’13, CPAIOR’14,Constraints’14, CP’15, EAAI’15, CPAIOR’16, Constraints’16,CP’17, IJCAI’17, CPAIOR’17, CPAIOR’18]
• Boolean SAT & Clause Learning:[CPAIOR’14, CP’15, CP’17, CPAIOR’17]
• Combinatorial optimisation, algorithmic complexity,operations research:[EAAI’15, Constraints’16, ICTAI’17, COCOA’17, IJCAI’17]
Applications
• Scheduling & Sequencing Problems:[CP’12, IJCAI’13, CPAIOR’14, Constraints’14, CP’15,EAAI’15, Constraints’16]
• Matching under Preferences:[CPAIOR’16, CP’17, IJCAI’17, ICTAI’17, COCOA’17]
Insight Centre for Data Analytics May 2, 2018 Slide 3
Research Areas & ApplicationsResearch Areas
• Constraint programming: [CP’12, IJCAI’13, CPAIOR’14,Constraints’14, CP’15, EAAI’15, CPAIOR’16, Constraints’16,CP’17, IJCAI’17, CPAIOR’17, CPAIOR’18]
• Boolean SAT & Clause Learning:[CPAIOR’14, CP’15, CP’17, CPAIOR’17]
• Combinatorial optimisation, algorithmic complexity,operations research:[EAAI’15, Constraints’16, ICTAI’17, COCOA’17, IJCAI’17]
Applications
• Scheduling & Sequencing Problems:[CP’12, IJCAI’13, CPAIOR’14, Constraints’14, CP’15,EAAI’15, Constraints’16]
• Matching under Preferences:[CPAIOR’16, CP’17, IJCAI’17, ICTAI’17, COCOA’17]
Insight Centre for Data Analytics May 2, 2018 Slide 3
Research Areas & ApplicationsResearch Areas
• Constraint programming: [CP’12, IJCAI’13, CPAIOR’14,Constraints’14, CP’15, EAAI’15, CPAIOR’16, Constraints’16,CP’17, IJCAI’17, CPAIOR’17, CPAIOR’18]
• Boolean SAT & Clause Learning:[CPAIOR’14, CP’15, CP’17, CPAIOR’17]
• Combinatorial optimisation, algorithmic complexity,operations research:[EAAI’15, Constraints’16, ICTAI’17, COCOA’17, IJCAI’17]
Applications
• Scheduling & Sequencing Problems:[CP’12, IJCAI’13, CPAIOR’14, Constraints’14, CP’15,EAAI’15, Constraints’16]
• Matching under Preferences:[CPAIOR’16, CP’17, IJCAI’17, ICTAI’17, COCOA’17]
Insight Centre for Data Analytics May 2, 2018 Slide 3
Research Areas & ApplicationsResearch Areas
• Constraint programming: [CP’12, IJCAI’13, CPAIOR’14,Constraints’14, CP’15, EAAI’15, CPAIOR’16, Constraints’16,CP’17, IJCAI’17, CPAIOR’17, CPAIOR’18]
• Boolean SAT & Clause Learning:[CPAIOR’14, CP’15, CP’17, CPAIOR’17]
• Combinatorial optimisation, algorithmic complexity,operations research:[EAAI’15, Constraints’16, ICTAI’17, COCOA’17, IJCAI’17]
Applications
• Scheduling & Sequencing Problems:[CP’12, IJCAI’13, CPAIOR’14, Constraints’14, CP’15,EAAI’15, Constraints’16]
• Matching under Preferences:[CPAIOR’16, CP’17, IJCAI’17, ICTAI’17, COCOA’17]
Insight Centre for Data Analytics May 2, 2018 Slide 3
Research Areas & ApplicationsResearch Areas
• Constraint programming: [CP’12, IJCAI’13, CPAIOR’14,Constraints’14, CP’15, EAAI’15, CPAIOR’16, Constraints’16,CP’17, IJCAI’17, CPAIOR’17, CPAIOR’18]
• Boolean SAT & Clause Learning:[CPAIOR’14, CP’15, CP’17, CPAIOR’17]
• Combinatorial optimisation, algorithmic complexity,operations research:[EAAI’15, Constraints’16, ICTAI’17, COCOA’17, IJCAI’17]
Applications
• Scheduling & Sequencing Problems:[CP’12, IJCAI’13, CPAIOR’14, Constraints’14, CP’15,EAAI’15, Constraints’16]
• Matching under Preferences:[CPAIOR’16, CP’17, IJCAI’17, ICTAI’17, COCOA’17]
Insight Centre for Data Analytics May 2, 2018 Slide 3
Research Areas & ApplicationsResearch Areas
• Constraint programming: [CP’12, IJCAI’13, CPAIOR’14,Constraints’14, CP’15, EAAI’15, CPAIOR’16, Constraints’16,CP’17, IJCAI’17, CPAIOR’17, CPAIOR’18]
• Boolean SAT & Clause Learning:[CPAIOR’14, CP’15, CP’17, CPAIOR’17]
• Combinatorial optimisation, algorithmic complexity,operations research:[EAAI’15, Constraints’16, ICTAI’17, COCOA’17, IJCAI’17]
Applications
• Scheduling & Sequencing Problems:[CP’12, IJCAI’13, CPAIOR’14, Constraints’14, CP’15,EAAI’15, Constraints’16]
• Matching under Preferences:[CPAIOR’16, CP’17, IJCAI’17, ICTAI’17, COCOA’17]
Insight Centre for Data Analytics May 2, 2018 Slide 3
Matching Under Preferences
• They are everywhere! (doctors to hospitals, houseallocation, kidney exchange, etc)
• Robustness?
• Modularity & Flexibility of CP to solve hard problems?
Insight Centre for Data Analytics May 2, 2018 Slide 4
Matching Under Preferences
• They are everywhere! (doctors to hospitals, houseallocation, kidney exchange, etc)
• Robustness?
• Modularity & Flexibility of CP to solve hard problems?
Insight Centre for Data Analytics May 2, 2018 Slide 4
Matching Under Preferences
• They are everywhere! (doctors to hospitals, houseallocation, kidney exchange, etc)
• Robustness?
• Modularity & Flexibility of CP to solve hard problems?
Insight Centre for Data Analytics May 2, 2018 Slide 4
Matching Under Preferences
• They are everywhere! (doctors to hospitals, houseallocation, kidney exchange, etc)
• Robustness?
• Modularity & Flexibility of CP to solve hard problems?
Insight Centre for Data Analytics May 2, 2018 Slide 4
Matching Under Preferences
• They are everywhere! (doctors to hospitals, houseallocation, kidney exchange, etc)
• Robustness?
• Modularity & Flexibility of CP to solve hard problems?
Insight Centre for Data Analytics May 2, 2018 Slide 4
Matching Under Preferences
Insight Centre for Data Analytics May 2, 2018 Slide 5
Matching Under Preferences
• Assign residents to hospitals
• Every resident has a personnel preference over hospitals
• Each hospital has a preference list over residents
Insight Centre for Data Analytics May 2, 2018 Slide 5
Matching Under Preferences
• Assign students to universities
• Every student has a personnel preference overuniversities
• Each university has a preference list over students
Insight Centre for Data Analytics May 2, 2018 Slide 5
Paper: Finding Robust Solutions to Stable Marriage
Title: Finding Robust Solutions to Stable Marriage
Authors: Begum Genc, Mohamed Siala, Barry O’Sullivan,Gilles Simonin
IJCAI-’17, August 2017, Melbourne, Australia
Insight Centre for Data Analytics May 2, 2018 Slide 6
Context
Insight Centre for Data Analytics May 2, 2018 Slide 7
Background
• A set of men U = {m1,m2, . . . ,mn1} and a set of womanW = {w1,w2, . . . ,wn2}
• Each person has an ordinal preference list over people ofthe opposite sex
• Amatching M is a one-to-one correspondence between UandW
• A matchingM is called stable if for every (m,w) ∈ M ,• ifm prefers w ′ to w , then ∃(m′,w ′) ∈ M such that w ′
prefersm′ tom• if w prefersm′ tom, then ∃(m′,w ′) ∈ M such thatm′
prefers w ′ to w
Insight Centre for Data Analytics May 2, 2018 Slide 8
Background
• A set of men U = {m1,m2, . . . ,mn1} and a set of womanW = {w1,w2, . . . ,wn2}
• Each person has an ordinal preference list over people ofthe opposite sex
• Amatching M is a one-to-one correspondence between UandW
• A matchingM is called stable if for every (m,w) ∈ M ,• ifm prefers w ′ to w , then ∃(m′,w ′) ∈ M such that w ′
prefersm′ tom• if w prefersm′ tom, then ∃(m′,w ′) ∈ M such thatm′
prefers w ′ to w
Insight Centre for Data Analytics May 2, 2018 Slide 8
Background
• A set of men U = {m1,m2, . . . ,mn1} and a set of womanW = {w1,w2, . . . ,wn2}
• Each person has an ordinal preference list over people ofthe opposite sex
• Amatching M is a one-to-one correspondence between UandW
• A matchingM is called stable if for every (m,w) ∈ M ,• ifm prefers w ′ to w , then ∃(m′,w ′) ∈ M such that w ′
prefersm′ tom• if w prefersm′ tom, then ∃(m′,w ′) ∈ M such thatm′
prefers w ′ to w
Insight Centre for Data Analytics May 2, 2018 Slide 8
Background
• A set of men U = {m1,m2, . . . ,mn1} and a set of womanW = {w1,w2, . . . ,wn2}
• Each person has an ordinal preference list over people ofthe opposite sex
• Amatching M is a one-to-one correspondence between UandW
• A matchingM is called stable if for every (m,w) ∈ M ,• ifm prefers w ′ to w , then ∃(m′,w ′) ∈ M such that w ′
prefersm′ tom• if w prefersm′ tom, then ∃(m′,w ′) ∈ M such thatm′
prefers w ′ to w
Insight Centre for Data Analytics May 2, 2018 Slide 8
Background
• A set of men U = {m1,m2, . . . ,mn1} and a set of womanW = {w1,w2, . . . ,wn2}
• Each person has an ordinal preference list over people ofthe opposite sex
• Amatching M is a one-to-one correspondence between UandW
• A matchingM is called stable if for every (m,w) ∈ M ,• ifm prefers w ′ to w , then ∃(m′,w ′) ∈ M such that w ′
prefersm′ tom• if w prefersm′ tom, then ∃(m′,w ′) ∈ M such thatm′
prefers w ′ to w
Insight Centre for Data Analytics May 2, 2018 Slide 8
Background
• A set of men U = {m1,m2, . . . ,mn1} and a set of womanW = {w1,w2, . . . ,wn2}
• Each person has an ordinal preference list over people ofthe opposite sex
• Amatching M is a one-to-one correspondence between UandW
• A matchingM is called stable if for every (m,w) ∈ M ,• ifm prefers w ′ to w , then ∃(m′,w ′) ∈ M such that w ′
prefersm′ tom• if w prefersm′ tom, then ∃(m′,w ′) ∈ M such thatm′
prefers w ′ to w
Insight Centre for Data Analytics May 2, 2018 Slide 8
Motivation
Insight Centre for Data Analytics May 2, 2018 Slide 9
Motivation
Insight Centre for Data Analytics May 2, 2018 Slide 9
Overview of the contributions
(a,b)-supermatch([Ginsberg98supermodelsand, 07-hebrard-phd])An (a, b)-supermatch is a stable matching in which if a pairs breakup it is possible to find another stable matching by changing thepartners of those a pairs and at most b other pairs
Contributions (regarding the (1,b) case)
• Verification in polynomial time
• Three models to find the most robust solution
• Experimental study on random instances
Insight Centre for Data Analytics May 2, 2018 Slide 10
Overview of the contributions
(a,b)-supermatch([Ginsberg98supermodelsand, 07-hebrard-phd])An (a, b)-supermatch is a stable matching in which if a pairs breakup it is possible to find another stable matching by changing thepartners of those a pairs and at most b other pairs
Contributions (regarding the (1,b) case)
• Verification in polynomial time
• Three models to find the most robust solution
• Experimental study on random instances
Insight Centre for Data Analytics May 2, 2018 Slide 10
Example
m0 0 6 5 2 4 1 3 w0 2 1 6 4 5 3 0m1 6 1 4 5 0 2 3 w1 0 4 3 5 2 6 1m2 6 0 3 1 5 4 2 w2 2 5 0 4 3 1 6m3 3 2 0 1 4 6 5 w3 6 1 2 3 4 0 5m4 1 2 0 3 4 5 6 w4 4 6 0 5 3 1 2m5 6 1 0 3 5 4 2 w5 3 1 2 6 5 4 0m6 2 5 0 6 4 3 1 w6 4 6 2 1 3 0 5
• This instance has 10 stable matchings
Insight Centre for Data Analytics May 2, 2018 Slide 11
Dominance Relation of Stable Matchings
Insight Centre for Data Analytics May 2, 2018 Slide 12
Dominance Relation of Stable Matchings
Insight Centre for Data Analytics May 2, 2018 Slide 12
Rotation
• M1 : 〈0, 2〉, 〈1, 4〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 0〉, 〈6, 5〉• M2 : 〈0, 2〉, 〈1, 5〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 4〉, 〈6, 0〉
Insight Centre for Data Analytics May 2, 2018 Slide 13
Rotation
• M1 : 〈0, 2〉, 〈1, 4〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 0〉, 〈6, 5〉• M2 : 〈0, 2〉, 〈1, 5〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 4〉, 〈6, 0〉
Insight Centre for Data Analytics May 2, 2018 Slide 13
Rotation
• M1 : 〈0, 2〉, 〈1, 4〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 0〉, 〈6, 5〉• M2 : 〈0, 2〉, 〈1, 5〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 4〉, 〈6, 0〉
〈1, 4〉
〈5, 0〉
〈6, 5〉
Insight Centre for Data Analytics May 2, 2018 Slide 13
Rotation
• M1 : 〈0, 2〉, 〈1, 4〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 0〉, 〈6, 5〉• M2 : 〈0, 2〉, 〈1, 5〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 4〉, 〈6, 0〉
〈1, 5〉
〈5, 4〉
〈6, 0〉
Insight Centre for Data Analytics May 2, 2018 Slide 13
Rotation
• M1 : 〈0, 2〉, 〈1, 4〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 0〉, 〈6, 5〉• M2 : 〈0, 2〉, 〈1, 5〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 4〉, 〈6, 0〉
〈1, 5〉
〈5, 4〉
〈6, 0〉
• The sequence ρ1 = [〈1, 4〉, 〈5, 0〉, 〈6, 5〉] is called a rotation
Insight Centre for Data Analytics May 2, 2018 Slide 13
Rotation
• M1 : 〈0, 2〉, 〈1, 4〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 0〉, 〈6, 5〉• M2 : 〈0, 2〉, 〈1, 5〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 4〉, 〈6, 0〉
〈1, 5〉
〈5, 4〉
〈6, 0〉
• The sequence ρ1 = [〈1, 4〉, 〈5, 0〉, 〈6, 5〉] is called a rotation
• 〈1, 4〉 is eliminated by ρ1
Insight Centre for Data Analytics May 2, 2018 Slide 13
Rotation
• M1 : 〈0, 2〉, 〈1, 4〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 0〉, 〈6, 5〉• M2 : 〈0, 2〉, 〈1, 5〉, 〈2, 6〉, 〈3, 3〉, 〈4, 1〉, 〈5, 4〉, 〈6, 0〉
〈1, 5〉
〈5, 4〉
〈6, 0〉
• The sequence ρ1 = [〈1, 4〉, 〈5, 0〉, 〈6, 5〉] is called a rotation
• 〈1, 4〉 is eliminated by ρ1• 〈1, 5〉 is produced by ρ1
Insight Centre for Data Analytics May 2, 2018 Slide 13
The Partial Order on Rotations
Insight Centre for Data Analytics May 2, 2018 Slide 14
Rotation Graph
Insight Centre for Data Analytics May 2, 2018 Slide 15
Closed Subset
Theorem [89-sm-book, 07-mm-matching]There is a one-to-one mapping between closed subsets andstable matchings
Insight Centre for Data Analytics May 2, 2018 Slide 16
Closed Subset
Theorem [89-sm-book, 07-mm-matching]There is a one-to-one mapping between closed subsets andstable matchings
Insight Centre for Data Analytics May 2, 2018 Slide 16
Verification
• M : a stable matching
• b: is an integer
• S : closed subset ofM
• 〈m,w〉: couple to break-up
• ρp : rotation that produces 〈m,w〉• ρe : rotation that eliminates 〈m,w〉• SUP : The largest closed subset⊂ S that
does not include ρp
• SDOWN : The smallest closed subset⊃ Sthat includes ρe
Insight Centre for Data Analytics May 2, 2018 Slide 17
Verification
• M : a stable matching
• b: is an integer
• S : closed subset ofM
• 〈m,w〉: couple to break-up
• ρp : rotation that produces 〈m,w〉• ρe : rotation that eliminates 〈m,w〉• SUP : The largest closed subset⊂ S that
does not include ρp
• SDOWN : The smallest closed subset⊃ Sthat includes ρe
Insight Centre for Data Analytics May 2, 2018 Slide 17
Verification
• M : a stable matching
• b: is an integer
• S : closed subset ofM
• 〈m,w〉: couple to break-up
• ρp : rotation that produces 〈m,w〉• ρe : rotation that eliminates 〈m,w〉
• SUP : The largest closed subset⊂ S thatdoes not include ρp
• SDOWN : The smallest closed subset⊃ Sthat includes ρe
Insight Centre for Data Analytics May 2, 2018 Slide 17
Verification
• M : a stable matching
• b: is an integer
• S : closed subset ofM
• 〈m,w〉: couple to break-up
• ρp : rotation that produces 〈m,w〉• ρe : rotation that eliminates 〈m,w〉• SUP : The largest closed subset⊂ S that
does not include ρp
• SDOWN : The smallest closed subset⊃ Sthat includes ρe
Insight Centre for Data Analytics May 2, 2018 Slide 17
Verification
• M : a stable matching
• b: is an integer
• S : closed subset ofM
• 〈m,w〉: couple to break-up
• ρp : rotation that produces 〈m,w〉• ρe : rotation that eliminates 〈m,w〉• SUP : The largest closed subset⊂ S that
does not include ρp
• SDOWN : The smallest closed subset⊃ Sthat includes ρe
Insight Centre for Data Analytics May 2, 2018 Slide 17
Robust Solutions
ProblemGiven a SM instance, find the most robust stable matching. Thatis, find a (1,b)-supermatch such that b is minimum
NP-Hard!On the Complexity of Robust Stable Marriage, Begum Genc,Mohamed Siala, Gilles Simonin, Barry O’Sullivan, COCOA’17,December 2017, Shanghai, China.
Insight Centre for Data Analytics May 2, 2018 Slide 18
Robust Solutions
ProblemGiven a SM instance, find the most robust stable matching. Thatis, find a (1,b)-supermatch such that b is minimum
NP-Hard!On the Complexity of Robust Stable Marriage, Begum Genc,Mohamed Siala, Gilles Simonin, Barry O’Sullivan, COCOA’17,December 2017, Shanghai, China.
Insight Centre for Data Analytics May 2, 2018 Slide 18
Local Search: Key Idea
• Random solutions based on random closed subsets
• The evaluation of a solution is based on the verificationprocedure
• The neighbourhood of a solution S is defined byadding/removing one rotation to S
Insight Centre for Data Analytics May 2, 2018 Slide 19
Genetic Algorithm
• Random population based on random closed subsets
• The evaluation of a solution is based on the verificationprocedure
• Crossover: Given S1 and S2, pick at random ρ1 ∈ S1, thenadd ρ1 and all its predecessors to S2
• Mutation: Given S and a random rotation ρ, if ρ /∈ S , thenadd ρ and all its predecessors to S . Otherwise, remove ρand all its successors to S
Insight Centre for Data Analytics May 2, 2018 Slide 20
Experimental Study
0 0.2 0.4 0.6 0.8 1
0
500
1,000
Objective ratio
CPU
Tim
e
CPGALS
Insight Centre for Data Analytics May 2, 2018 Slide 21
Experimental Study
0 0.2 0.4 0.6 0.8 1
0
500
1,000
Objective ratio
CPU
Tim
e
CPGALS
Insight Centre for Data Analytics May 2, 2018 Slide 21
Experimental Study: Large Instances
0 0.2 0.4 0.6 0.8 1
0
500
1,000
Objective ratio
CPU
Tim
e
GALS
Insight Centre for Data Analytics May 2, 2018 Slide 22
Paper: Rotation-Based Formulation for StableMatching
Title: Rotation-Based Formulation for Stable Matching
Authors:Mohamed Siala and Barry O’Sullivan,
CP’17, August 2017, Melbourne, Australia
Insight Centre for Data Analytics May 2, 2018 Slide 23
Context
• Many to many stable matching as a global constraint
• Modularity and Efficiency to tackle hard variants
Insight Centre for Data Analytics May 2, 2018 Slide 24
Context
• Many to many stable matching
as a global constraint
• Modularity and Efficiency to tackle hard variants
Insight Centre for Data Analytics May 2, 2018 Slide 24
Context
• Many to many stable matching as a global constraint
• Modularity and Efficiency to tackle hard variants
Insight Centre for Data Analytics May 2, 2018 Slide 24
Context
• Many to many stable matching as a global constraint
• Modularity and Efficiency to tackle hard variants
Insight Centre for Data Analytics May 2, 2018 Slide 24
Context
• Many to many stable matching as a global constraint
• Modularity and Efficiency to tackle hard variants
Insight Centre for Data Analytics May 2, 2018 Slide 24
Key Idea: Rotation-based Reformulation
Theorem [89-sm-book, 07-mm-matching]There is a one-to-one mapping between closed subsets andstable matchings
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• Express the relationship between the two sets of variables
Insight Centre for Data Analytics May 2, 2018 Slide 25
Key Idea: Rotation-based Reformulation
Theorem [89-sm-book, 07-mm-matching]There is a one-to-one mapping between closed subsets andstable matchings
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• Express the relationship between the two sets of variables
Insight Centre for Data Analytics May 2, 2018 Slide 25
Key Idea: Rotation-based Reformulation
Theorem [89-sm-book, 07-mm-matching]There is a one-to-one mapping between closed subsets andstable matchings
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1
• Express the relationship between the two sets of variables
Insight Centre for Data Analytics May 2, 2018 Slide 25
Key Idea: Rotation-based Reformulation
Theorem [89-sm-book, 07-mm-matching]There is a one-to-one mapping between closed subsets andstable matchings
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• Express the relationship between the two sets of variables
Insight Centre for Data Analytics May 2, 2018 Slide 25
Important Notions & Properties
• A pair is stablewhen it belongs to a stable matching
• Some pairs are non-stable
• Some pairs are fixed
• In O(L) time, one can compute:
• M0,Mz
• The fixed, stable and non-stable pairs• The set of rotations• The graph poset• ρew,f
and ρpw,f
Insight Centre for Data Analytics May 2, 2018 Slide 26
Important Notions & Properties
• A pair is stablewhen it belongs to a stable matching
• Some pairs are non-stable
• Some pairs are fixed
• In O(L) time, one can compute:
• M0,Mz
• The fixed, stable and non-stable pairs• The set of rotations• The graph poset• ρew,f
and ρpw,f
Insight Centre for Data Analytics May 2, 2018 Slide 26
Important Notions & Properties
• A pair is stablewhen it belongs to a stable matching
• Some pairs are non-stable
• Some pairs are fixed
• In O(L) time, one can compute:
• M0,Mz
• The fixed, stable and non-stable pairs• The set of rotations• The graph poset• ρew,f
and ρpw,f
Insight Centre for Data Analytics May 2, 2018 Slide 26
Important Notions & Properties
• A pair is stablewhen it belongs to a stable matching
• Some pairs are non-stable
• Some pairs are fixed
• In O(L) time, one can compute:
• M0,Mz
• The fixed, stable and non-stable pairs• The set of rotations• The graph poset• ρew,f
and ρpw,f
Insight Centre for Data Analytics May 2, 2018 Slide 26
Important Notions & Properties
• A pair is stablewhen it belongs to a stable matching
• Some pairs are non-stable
• Some pairs are fixed
• In O(L) time, one can compute:
• M0,Mz
• The fixed, stable and non-stable pairs• The set of rotations• The graph poset• ρew,f
and ρpw,f
Insight Centre for Data Analytics May 2, 2018 Slide 26
Important Notions & Properties
• A pair is stablewhen it belongs to a stable matching
• Some pairs are non-stable
• Some pairs are fixed
• In O(L) time, one can compute:
• M0,Mz
• The fixed, stable and non-stable pairs• The set of rotations• The graph poset• ρew,f
and ρpw,f
Insight Centre for Data Analytics May 2, 2018 Slide 26
Lemmas
• LetM be a stable matching and S its closed subset
• Let 〈wi , fj〉 be a stable pair
1. If 〈wi , fj〉 ∈ M0, then 〈wi , fj〉 ∈ M iff ρei,j /∈ S .
2. Else, if 〈wi , fj〉 ∈ Mz , then 〈wi , fj〉 ∈ M iff ρpi,j ∈ S .
3. Otherwise, 〈wi , fj〉 ∈ M iff ρpi,j ∈ S ∧ ρei,j /∈ S .
Insight Centre for Data Analytics May 2, 2018 Slide 27
Lemmas
• LetM be a stable matching and S its closed subset
• Let 〈wi , fj〉 be a stable pair
1. If 〈wi , fj〉 ∈ M0, then 〈wi , fj〉 ∈ M iff ρei,j /∈ S .
2. Else, if 〈wi , fj〉 ∈ Mz , then 〈wi , fj〉 ∈ M iff ρpi,j ∈ S .
3. Otherwise, 〈wi , fj〉 ∈ M iff ρpi,j ∈ S ∧ ρei,j /∈ S .
Insight Centre for Data Analytics May 2, 2018 Slide 27
Lemmas
• LetM be a stable matching and S its closed subset
• Let 〈wi , fj〉 be a stable pair
1. If 〈wi , fj〉 ∈ M0, then 〈wi , fj〉 ∈ M iff ρei,j /∈ S .
2. Else, if 〈wi , fj〉 ∈ Mz , then 〈wi , fj〉 ∈ M iff ρpi,j ∈ S .
3. Otherwise, 〈wi , fj〉 ∈ M iff ρpi,j ∈ S ∧ ρei,j /∈ S .
Insight Centre for Data Analytics May 2, 2018 Slide 27
Lemmas
• LetM be a stable matching and S its closed subset
• Let 〈wi , fj〉 be a stable pair
1. If 〈wi , fj〉 ∈ M0, then 〈wi , fj〉 ∈ M iff ρei,j /∈ S .
2. Else, if 〈wi , fj〉 ∈ Mz , then 〈wi , fj〉 ∈ M iff ρpi,j ∈ S .
3. Otherwise, 〈wi , fj〉 ∈ M iff ρpi,j ∈ S ∧ ρei,j /∈ S .
Insight Centre for Data Analytics May 2, 2018 Slide 27
Lemmas
• LetM be a stable matching and S its closed subset
• Let 〈wi , fj〉 be a stable pair
1. If 〈wi , fj〉 ∈ M0, then 〈wi , fj〉 ∈ M iff ρei,j /∈ S .
2. Else, if 〈wi , fj〉 ∈ Mz , then 〈wi , fj〉 ∈ M iff ρpi,j ∈ S .
3. Otherwise, 〈wi , fj〉 ∈ M iff ρpi,j ∈ S ∧ ρei,j /∈ S .
Insight Centre for Data Analytics May 2, 2018 Slide 27
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• ∀〈wi , fj〉:
1. if 〈wi , fj〉 ∈ FP : xi,j2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• ∀〈wi , fj〉:
1. if 〈wi , fj〉 ∈ FP : xi,j2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1
• ∀〈wi , fj〉:1. if 〈wi , fj〉 ∈ FP : xi,j2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• ∀〈wi , fj〉:
1. if 〈wi , fj〉 ∈ FP : xi,j2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• ∀〈wi , fj〉:
1. if 〈wi , fj〉 ∈ FP : xi,j
2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• ∀〈wi , fj〉:
1. if 〈wi , fj〉 ∈ FP : xi,j2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j
3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• ∀〈wi , fj〉:
1. if 〈wi , fj〉 ∈ FP : xi,j2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j
4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• ∀〈wi , fj〉:
1. if 〈wi , fj〉 ∈ FP : xi,j2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• ∀〈wi , fj〉:
1. if 〈wi , fj〉 ∈ FP : xi,j2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Rotation-based (SAT) Formulation
• Variables• A Boolean variable xi,j for every pair 〈wi , fj〉• A Boolean variable rk for every rotation ρk
• Constraints
• Closed Subset: ∀ρ1 ≺≺ ρ2: r2 =⇒ r1• ∀〈wi , fj〉:
1. if 〈wi , fj〉 ∈ FP : xi,j2. Else if 〈wi , fj〉 ∈ NSP : ¬xi,j3. Else if 〈wi , fj〉 ∈ M0, then xi,j == ¬rei,j4. Else, if 〈wi , fj〉 ∈ Mz , then xi,j == rpi,j
5. Otherwise, xi,j == rpi,j ∧ ¬rei,j
• Easily translated in SAT (Γ)
Insight Centre for Data Analytics May 2, 2018 Slide 28
Important Properties of the SAT Formula
• LetM2M(I ,X (M2M)) be the stable matching constraint
• Unit propagation on Γ does not maintain arc consistency
• Theorem: LetD be a domain such that unit propagationis performed without failure on Γ. There exists at least asolution inD that satisfies Γ.
Insight Centre for Data Analytics May 2, 2018 Slide 29
Important Properties of the SAT Formula
• LetM2M(I ,X (M2M)) be the stable matching constraint
• Unit propagation on Γ does not maintain arc consistency
• Theorem: LetD be a domain such that unit propagationis performed without failure on Γ. There exists at least asolution inD that satisfies Γ.
Insight Centre for Data Analytics May 2, 2018 Slide 29
Important Properties of the SAT Formula
• LetM2M(I ,X (M2M)) be the stable matching constraint
• Unit propagation on Γ does not maintain arc consistency
• Theorem: LetD be a domain such that unit propagationis performed without failure on Γ. There exists at least asolution inD that satisfies Γ.
Insight Centre for Data Analytics May 2, 2018 Slide 29
Important Properties of the SAT Formula
• LetM2M(I ,X (M2M)) be the stable matching constraint
• Unit propagation on Γ does not maintain arc consistency
• Theorem: LetD be a domain such that unit propagationis performed without failure on Γ. There exists at least asolution inD that satisfies Γ.
Insight Centre for Data Analytics May 2, 2018 Slide 29
Arc Consistency
Arc Consistency
• Idea: use unit propagation as a support check
• Some assignments already have supports
• O(L2) time
Insight Centre for Data Analytics May 2, 2018 Slide 30
Arc Consistency
Arc Consistency
• Idea: use unit propagation as a support check
• Some assignments already have supports
• O(L2) time
Insight Centre for Data Analytics May 2, 2018 Slide 30
Experimental Protocol
• Models:• fr: SAT-formula• ac: Arc Consistency• bc: State-of-the art propagator [16-stability]
• Lexicographical branching (random, min-max random),activity-based search, impact-based search
• Sex-Equal/Balanced Stable matching
Insight Centre for Data Analytics May 2, 2018 Slide 31
Experimental Protocol
• Models:• fr: SAT-formula• ac: Arc Consistency• bc: State-of-the art propagator [16-stability]
• Lexicographical branching (random, min-max random),activity-based search, impact-based search
• Sex-Equal/Balanced Stable matching
Insight Centre for Data Analytics May 2, 2018 Slide 31
Experimental Protocol
• Models:• fr: SAT-formula• ac: Arc Consistency• bc: State-of-the art propagator [16-stability]
• Lexicographical branching (random, min-max random),activity-based search, impact-based search
• Sex-Equal/Balanced Stable matching
Insight Centre for Data Analytics May 2, 2018 Slide 31
Experimental Protocol
• Models:• fr: SAT-formula• ac: Arc Consistency• bc: State-of-the art propagator [16-stability]
• Lexicographical branching (random, min-max random),activity-based search, impact-based search
• Sex-Equal/Balanced Stable matching
Insight Centre for Data Analytics May 2, 2018 Slide 31
Experimental Protocol
• Models:• fr: SAT-formula• ac: Arc Consistency• bc: State-of-the art propagator [16-stability]
• Lexicographical branching (random, min-max random),activity-based search, impact-based search
• Sex-Equal/Balanced Stable matching
Insight Centre for Data Analytics May 2, 2018 Slide 31
Sex-Equal Stable Matching: Optimality Evaluation
0 0.2 0.4 0.6 0.8
0
200
400
600
800
Optimality ratio
CPU
Tim
e
bc-is-bc-as-
bc-lx-mnbc-lx-rdfr -is-fr -as-
fr -lx-mnfr -lx-rdac-is-ac-as-
ac-lx-mnac-lx-rd
• Clear dominance of the SAT formulation
• Arc Consistency does not pay off
Insight Centre for Data Analytics May 2, 2018 Slide 32
Sex-Equal Stable Matching: Optimality Evaluation
0 0.2 0.4 0.6 0.8
0
200
400
600
800
Optimality ratio
CPU
Tim
e
bc-is-bc-as-
bc-lx-mnbc-lx-rdfr -is-fr -as-
fr -lx-mnfr -lx-rdac-is-ac-as-
ac-lx-mnac-lx-rd
• Clear dominance of the SAT formulation
• Arc Consistency does not pay off
Insight Centre for Data Analytics May 2, 2018 Slide 32
Sex-Equal Stable Matching: Quality of The Solution
0 0.2 0.4 0.6 0.8 1
0
200
400
600
800
Objective ratio
CPU
Tim
e
bc-is-bc-as-
bc-lx-mnbc-lx-rdfr -is-fr -as-
fr -lx-mnfr -lx-rdac-is-ac-as-
ac-lx-mnac-lx-rd
Insight Centre for Data Analytics May 2, 2018 Slide 33
Conclusions & Future Research
Contributions
• Robust solutions
• Modularity & Flexibility of CP to solve hard problems
Future Research
• Other stable matching Problems? E.g., preferencesincluding ties? and 3D stable matching?
• From (1,b)-supermatch to (a,b)-supermatch?
• Algorithmic complexity study for robust solutions?
Insight Centre for Data Analytics May 2, 2018 Slide 34
Conclusions & Future Research
Contributions
• Robust solutions
• Modularity & Flexibility of CP to solve hard problems
Future Research
• Other stable matching Problems? E.g., preferencesincluding ties? and 3D stable matching?
• From (1,b)-supermatch to (a,b)-supermatch?
• Algorithmic complexity study for robust solutions?
Insight Centre for Data Analytics May 2, 2018 Slide 34
Conclusions & Future Research
Contributions
• Robust solutions
• Modularity & Flexibility of CP to solve hard problems
Future Research
• Other stable matching Problems? E.g., preferencesincluding ties? and 3D stable matching?
• From (1,b)-supermatch to (a,b)-supermatch?
• Algorithmic complexity study for robust solutions?
Insight Centre for Data Analytics May 2, 2018 Slide 34
Thank you*Picture taken from The New York Times
Insight Centre for Data Analytics May 2, 2018 Slide 35
References I
Emmanuel Hebrard.Robust solutions for constraint satisfaction and optimisation under uncertainty.PhD thesis, University of New South Wales, 2007.
Vipul Bansal, Aseem Agrawal, and Varun S. Malhotra.Polynomial time algorithm for an optimal stable assignment with multiplepartners.Theor. Comput. Sci., 379(3):317–328, 2007.
Mohamed Siala and Barry O’Sullivan.Revisiting two-sided stability constraints.In Integration of AI and OR Techniques in Constraint Programming - 13thInternational Conference, CPAIOR 2016, Banff, AB, Canada, May 29 - June 1,2016, Proceedings, pages 342–357, 2016.
Dan Gusfield and Robert W. Irving.The Stable Marriage Problem: Structure and Algorithms.MIT Press, Cambridge, MA, USA, 1989.
Insight Centre for Data Analytics May 2, 2018 Slide 36
References II
Begum Genc, Mohamed Siala, Gilles Simonin, and Barry O’Sullivan.On the complexity of robust stable marriage.In Combinatorial Optimization and Applications - 11th International Conference,COCOA 2017, Shanghai, China, December 16-18, 2017, Proceedings, Part II,pages 441–448, 2017.
Mohamed Siala, Emmanuel Hebrard, and Marie-José Huguet.An optimal arc consistency algorithm for a chain of atmost constraints withcardinality.In Principles and Practice of Constraint Programming - 18th InternationalConference, CP 2012, Québec City, QC, Canada, October 8-12, 2012.Proceedings, pages 55–69, 2012.
Mohamed Siala, Christian Artigues, and Emmanuel Hebrard.Two clause learning approaches for disjunctive scheduling.In Principles and Practice of Constraint Programming - 21st InternationalConference, CP 2015, Cork, Ireland, August 31 - September 4, 2015,Proceedings, pages 393–402, 2015.
Insight Centre for Data Analytics May 2, 2018 Slide 37
References III
Mohamed Siala and Barry O’Sullivan.Rotation-based formulation for stable matching.In Principles and Practice of Constraint Programming - 23rd InternationalConference, CP 2017, Melbourne, VIC, Australia, August 28 - September 1,2017, Proceedings, pages 262–277, 2017.
Christian Artigues, Emmanuel Hebrard, Valentin Mayer-Eichberger, MohamedSiala, and Toby Walsh.SAT and hybrid models of the car sequencing problem.In Integration of AI and OR Techniques in Constraint Programming - 11thInternational Conference, CPAIOR 2014, Cork, Ireland, May 19-23, 2014.Proceedings, pages 268–283, 2014.
Mohamed Siala and Barry O’Sullivan.Revisiting two-sided stability constraints.In Integration of AI and OR Techniques in Constraint Programming - 13thInternational Conference, CPAIOR 2016, Banff, AB, Canada, May 29 - June 1,2016, Proceedings, pages 342–357, 2016.
Insight Centre for Data Analytics May 2, 2018 Slide 38
References IV
Emmanuel Hebrard and Mohamed Siala.Explanation-based weighted degree.In Integration of AI and OR Techniques in Constraint Programming - 14thInternational Conference, CPAIOR 2017, Padua, Italy, June 5-8, 2017,Proceedings, pages 167–175, 2017.
Guillaume Escamocher, Mohamed Siala, and Barry O’Sullivan.From backdoor key to backdoor completability: Improving a known measure ofhardness for the satisfiable csp.In Integration of AI and OR Techniques in Constraint Programming - 15thInternational Conference, CPAIOR June 2018, Delft, The Netherlands., 2018.
Mohamed Siala, Emmanuel Hebrard, and Marie-José Huguet.An optimal arc consistency algorithm for a particular case of sequence constraint.
Constraints, 19(1):30–56, 2014.
Nina Narodytska, Thierry Petit, Mohamed Siala, and Toby Walsh.Three generalizations of the FOCUS constraint.Constraints, 21(4):495–532, 2016.
Insight Centre for Data Analytics May 2, 2018 Slide 39
References V
Mohamed Siala, Emmanuel Hebrard, and Marie-José Huguet.A study of constraint programming heuristics for the car-sequencing problem.Engineering Applications of Artificial Intelligence, 38:34–44, 2015.
Matthew L. Ginsberg, Andrew J. Parkes, and Amitabha Roy.Supermodels and robustness.In In AAAI/IAAI, pages 334–339, 1998.
Danuta Sorina Chisca, Mohamed Siala, Gilles Simonin, and Barry O’Sullivan.New models for two variants of popular matching.In 29th IEEE International Conference on Tools with Artificial Intelligence(ICATI) November 2017, Boston, Massachussets, USA.
Nina Narodytska, Thierry Petit, Mohamed Siala, and Toby Walsh.Three generalizations of the FOCUS constraint.In IJCAI 2013, Proceedings of the 23rd International Joint Conference onArtificial Intelligence, Beijing, China, August 3-9, 2013, pages 630–636, 2013.
Begum Genc, Mohamed Siala, Barry O’Sullivan, and Gilles Simonin.Finding robust solutions to stable marriage.In Proceedings of the Twenty-Sixth International Joint Conference on ArtificialIntelligence, IJCAI 2017, Melbourne, Australia, August 19-25, 2017, pages631–637, 2017.
Insight Centre for Data Analytics May 2, 2018 Slide 40