130 likes | 225 Views
A new approach to SMTI (in CP). By Chris Unsworth. Constraint satisfaction. Constraint satisfaction problem (CSP) is a triple <V,D,C> where: V is set of variables Each X in V has set of values, D_X Usually assume finite domain {true,false}, {red,blue,green}, [0,10], …
E N D
A new approach to SMTI (in CP) By Chris Unsworth
Constraint satisfaction • Constraint satisfaction problem (CSP) is a triple <V,D,C> where: • V is set of variables • Each X in V has set of values, D_X • Usually assume finite domain • {true,false}, {red,blue,green}, [0,10], … • C is set of constraints Goal: find assignment of values to variables to satisfy all the constraints
Overview • Stable Marriage with Ties and Incomplete Preference lists (SMTI) • The Problem • Current CP solutions cant handle “real world” instances • The New idea • What's good about it • What's not so good about it
The Stable Marriage Problem We have n men and n women Each man ranks the n women And each woman ranks the n men Men Women Jan Liz Sue : Ian Jon Bob : Jon Ian Bob : Bob Jon Ian Bob Ian Jon : Sue Jan Liz : Liz Jan Sue : Jan Sue Liz Objective : To find a matching of men to women Such that the matching is Stable
The Stable Marriage Problem A Matching But not a stable one Bob and Sue would rather be matched to each other than to there assigned partners Men Women Jan Liz Sue : Ian Jon Bob : Jon Ian Bob : Bob Jon Ian Bob Ian Jon : Sue Jan Liz : Liz Jan Sue : Jan Sue Liz In this matching Bob and Sue form a Blocking pair A matching is only stable iff it contains no Blocking pairs
Ties and incomplete Preference lists Men Women Ann Joe Liz Zoe Jes : Tom Alf Bob Ian : Ian (Alf Jim) : (Alf Ian) Tom Bob : Tom (Jim Ian Bob) Alf : Ian Jim (Tom Bob) Alf Bob Tom Ian Jim : Zoe (Ann Liz) Joe : Liz Jes (Ann Zoe) : (Ann Jes Liz Zoe) : Ann Jes Liz Zoe Joe : Joe Zoe Jes Ties indicate indifference (shown in brackets) Incomplete list indicate some potential partners are unacceptable
Previous CP solutions w1 w2 w3 w4 w5 : m3 m1 m2 m4 : m4 (m1 m5) : (m1 m4) m3 m2 : m3 (m5 m4 m2) m1 : m4 m5 (m3 m2) m1 : w4 (w1 w3) w2 m2 : w3 w5 (w1 w4) m3 : (w1 w5 w3 w4) m4 : w1 w5 w3 w4 w2 m5 : w2 w4 w5 : 1 2 3 4 6 : 1 2 3 6 : 1 2 3 4 6 : 1 2 3 4 5 6 : 1 2 3 4 6 x1 x2 x3 x4 x5 : 1 2 3 4 6 : 1 2 3 4 6 : 1 2 3 4 6 : 1 2 3 4 5 6 : 1 2 3 6 y1 y2 y3 y4 y5 xPy1: {2,2,3}{4,4,4}{2,3,3}{1,1,1}{6,6,6} xPy2: {3,3,4}{6,6,6}{1,1,1}{3,4,4}{2,2,2} xPy3: {1,1,4}{6,6,6}{1,3,4}{1,4,4}{1,2,4} xPy4: {1,1,1}{5,5,5}{3,3,3}{4,4,4}{2,2,2} xPy5: {6,6,6}{1,1,1}{6,6,6}{2,2,2}{3,3,3}
The Problem • Real world Instances of HRTI • 781 Residents, list length 6 with no ties • 53 Hospitals, have many ties • Latest Data set not yet returned a single matching in over a week! • Similar results seen with random datasets
The new idea • All matchings in an SM instance have the same people matched (are the same size) • A SMTI instance can be made into an SM instance by arbitrarily breaking the ties • Instead of searching for the best matching……. • Find the best way to break the ties
Modelling preference lists • m1 : w4 (w1 w3) w2 • Modeled as L constrained integer variables (where L = length of preference list) • mpl1,1 = {4} • mpl1,2 = {1,3} • mpl1,3 = {1,3} • mpl1,4 = {2} • Use these as search variables
What’s good about it? • Solutions guaranteed at every leaf in the search tree • Reduce the number of possible matchings searched • Problem becomes combinatorial, loads of research in other areas for ideas. • E.g. Job shop scheduling etc
What’s not so good about it? • Many ways of breaking ties may lead to the same matching • Naive analysis shows O(tL!tn) leaf nodes (where tL = length of ties and tn = number of ties) • compared to O(n!) for the previous solution • Larger model • O(n3) instead of the optimal O(n2)
Conclusions & future work • Very much “work in progress” • Has some very nice properties • Valid solution at every node • Has some very nasty potential pitfalls • Loads of solutions