assigning people in practice
play

Assigning People in Practice Robert Fourer Department of Industrial - PowerPoint PPT Presentation

Assigning People in Practice Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston, IL 60208-3119, U.S.A. 4er@iems.northwestern.edu CORS/INFORMS International Meeting Banff, May 16-19,


  1. Assigning People in Practice Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston, IL 60208-3119, U.S.A. 4er@iems.northwestern.edu CORS/INFORMS International Meeting Banff, May 16-19, 2004 WC02: Optimization Modelling in Practice II 1 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

  2. Outline Classical assignment ! Assigning professor to offices ! Adjusting the results Modified assignment ! Assigning students to project groups ! Modeling the complications “Balanced” assignment ! Tests of formulations using sample data ! Scaling up to full data 2 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

  3. Classical Assignment Given P , a set of people Q , a set of places c , cost of assigning person i to place j ij Define = X 1 if person i is assigned to place j ij = 0 otherwise ∑ ∑ Minimize c X ∈ ∈ pq pq p P q Q ∑ = ∈ Subject to X 1 , for each p P pq ∈ q Q ∑ ≤ ∈ X 1 , for each q Q pq ∈ p P ≥ ∈ ∈ X 0 , for each p P and q Q pq 3 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

  4. . . . same, but in AMPL set P; # people set P; # people set Q; # places set Q; # places param c {P,Q} > 0; param c {P,Q} > 0; var X {P,Q} binary; var X {P,Q} binary; minimize Z: sum {p in P} sum minimize Z: sum {p in P} sum {q in Q} c[p,q] * X[p,q]; {q in Q} c[p,q] * X[p,q]; subject to P1 {p in P} subject to P1 {p in P}: sum {q in Q} X[p,q] = 1; : sum {q in Q} X[p,q] = 1; subject to Q1 {q in Q}: subject to Q1 {q in Q}: sum {p in P} X[p,q] <= 1; sum {p in P} X[p,q] <= 1; 4 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

  5. . . . same, but more readable set PEOPLE; set PEOPLE; set PLACES; set PLACES; param pref {PEOPLE,PLACES} > 0; param pref {PEOPLE,PLACES} > 0; var Assign {PEOPLE var Assign {PEOPLE,PLACES} binary; ,PLACES} binary; minimize TotalPref: minimize TotalPref: sum {p in PEOPLE} sum {q in sum {p in PEOPLE} sum {q in PLACES} pref[p,q] PLACES} pref[p,q] * Assign[p,q]; * Assign[p,q]; subj to OnePlacePerPerso subj to OnePlacePerPerson {p in PEOPLE}: n {p in PEOPLE}: sum {q in PLACES} sum {q in PLACES} Assign[p,q] = 1; Assign[p,q] = 1; subj to OnePersonPerPlac subj to OnePersonPerPlace {q in PLACES}: e {q in PLACES}: sum {p in PEOPLE} sum {p in PEOPLE} Assign[p,q] <= 1; Assign[p,q] <= 1; 5 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

  6. Data for Professors and Offices set PEOPLE := Bassok Coullard set PEOPLE := Bassok Coullard Frey Hazen Hopp Hurter Frey Hazen Hopp Hurter Jones Mehrotra Rieders R Jones Mehrotra Rieders Rath Rubenstein Spearman ath Rubenstein Spearman Sun Tamhane Thompson Zazanis ; Sun Tamhane Thompson Zazanis ; set PLACES := 1021 10 set PLACES := 1021 1049 1053 1055 1083 1087 49 1053 1055 1083 1087 2009 2019 2053 2083 2087 2009 2019 2053 2083 2087 3021 3041 3083 3087 3021 3041 3083 3087 4083 4087 ; 4083 4087 ; param pref: 1021 1049 param pref: 1021 1049 1053 1055 1083 1087 2009 2 1053 1055 1083 1087 2009 2019 2053 2083 2087 := 019 2053 2083 2087 := Bassok 7 7 Bassok 7 7 7 7 7 7 7 7 7 7 7 7 7 6 7 7 7 6 5 Coullard 11 14 13 Coullard 11 14 13 12 16 15 10 12 16 15 10 11 9 8 11 9 8 7 Frey 4 4 Frey 4 4 4 3 4 4 4 3 4 4 4 4 1 4 4 4 1 4 4 Hazen 17 14 13 Hazen 17 14 13 12 15 16 12 15 16 6 11 9 7 6 11 9 7 8 Hopp 15 16 Hopp 15 16 17 4 10 11 17 4 10 11 5 12 13 8 5 12 13 8 9 Hurter 17 15 14 Hurter 17 15 14 16 11 10 4 16 11 10 4 13 9 7 13 9 7 8 8 Jones 5 4 Jones 5 4 14 15 16 17 14 15 16 17 1 11 10 12 13 1 11 10 12 13 Mehrotra 17 14 15 Mehrotra 17 14 15 9 7 8 10 9 7 8 10 11 12 3 11 12 3 4 Rieders 12 17 16 Rieders 12 17 16 15 14 13 15 14 13 7 8 11 10 7 8 11 10 9 ....... ....... 6 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

  7. A First Assignment ampl: ampl: model offices.mod; model offices.mod; ampl: ampl: data offices.dat; data offices.dat; ampl: ampl: solve; solve; MINOS 5.5: optima MINOS 5.5: optimal solution found. l solution found. 128 iterations, objective 49 128 iterations, objective 49 ampl: ampl: display Assign; display Assign; Assign [*,*] (tr) Assign [*,*] (tr) # $2 = Coullard # $2 = Coullard # $6 = Hurter # $6 = Hurter : Bassok '$2' : Bassok '$2' Frey Hazen Frey Hazen Hopp '$6' Jones := Hopp '$6' Jones := 1021 0 0 1 0 1021 0 0 1 0 0 0 -6.38388e-17 0 0 -6.38388e-17 1049 0 0 0 1049 0 0 0 0 0 0 0 0 0 0 0 1053 0 0 0 1053 0 0 0 0 0 0 0 0 0 0 0 1055 0 0 0 1055 0 0 0 0 0 1 0 0 1 0 0 1083 0 0 -7.20534e-17 0 1083 0 0 -7. 20534e-17 0 0 0 0 0 0 0 1087 0 0 8. 1087 0 0 8.21457e-18 0 21457e-18 0 0 0 0 0 0 0 2009 0 0 0 2009 0 0 0 0 0 0 0 0 0 0 0 2019 1 0 0 2019 1 0 0 0 0 0 0 0 0 0 0 2053 0 0 -5.56242e-17 0 2053 0 0 -5.562 42e-17 0 0 0 0 ....... 0 0 0 ....... 7 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

  8. (displayed legibly) ampl: ampl: option display_1col 10 option display_1col 10000, omit_zero_rows 1; 000, omit_zero_rows 1; ampl: ampl: option display_ option display_eps .000001; eps .000001; ampl: display {p in PEOPLE, q in PL ampl: display {p in PEOPLE, q in PLACES} pref[p,q] * Assign[p,q]; ACES} pref[p,q] * Assign[p,q]; pref[p,q]*Assign[p,q] := pref[p,q]*Assign[p,q] := Bassok 2019 7 Bassok 2019 7 Coullard 4083 2 Coullard 4083 2 Frey 1021 4 Frey 1021 4 Hazen 3083 3 Hazen 3083 3 Hopp 1055 4 Hopp 1055 4 Hurter 3041 1 Hurter 3041 1 Jones 3021 3 Jones 3021 3 Mehrotra 2083 3 Mehrotra 2083 3 Rath 1053 2 Rath 1053 2 Rieders 3087 3 Rieders 3087 3 Rubenstein 1049 1 Rubenstein 1049 1 Spearman 2009 1 Spearman 2009 1 Sun 4087 1 Sun 4087 1 Tamhane 1087 7 Tamhane 1087 7 Thompson 2053 2 Thompson 2053 2 Zazanis 2087 5 Zazanis 2087 5 8 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

  9. A Seniority-Weighted Assignment param base >= 1; param base >= 1; param weight {PEOPLE} > 0; param weight {PEOPLE} > 0; param pref {PEOPLE,PLACES} > 0; param pref {PE OPLE,PLACES} > 0; var Assign {PE var Assign {PEOPLE,PLACES} binary; OPLE,PLACES} binary; minimize TotalPref: minimize TotalPref: sum {p in PEOPLE} sum {p in PEOPLE} base^weight[p] * base^weight[p] * sum {q in PLACES} pref[p,q] * Assign[p,q]; sum {q in PLACES} pref[p,q] * Assign[p,q]; param base := 10 ; param base := 10 ; param weight := param weight := Bassok 1 Bassok 1 Hopp 3 Rath Hopp 3 Rath 4 Sun 2 4 Sun 2 Coullard 3 Coullard 3 Hurter 4 Rieders Hurter 4 Rieders 1 Tamhane 4 1 Tamhane 4 Frey 4 Jones 4 Frey 4 Jones 4 Rubenstein 4 Thompson 4 Rubenstein 4 Thompson 4 Hazen 3 Mehrotra 2 Spearman 2 Zazanis 2 ; Hazen 3 Mehrotra 2 Spearman 2 Zazanis 2 ; 9 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

  10. (results) MINOS 5.5: optima MINOS 5.5: optimal solution found. l solution found. 128 iterations, objective 102330 128 iterations, objective 102330 ampl: display {p in PEOP ampl: display {p in PEOPLE, q in PLACES} pref[p,q] * Assign[p,q]; LE, q in PLACES} pref[p,q] * Assign[p,q]; pref[p,q]*Assign[p,q] := pref[p,q]*Assign[p,q] := Bassok 1087 7 Bassok 1087 7 Coullard 3087 Coullard 3087 3 Frey 2053 Frey 2053 1 Hazen 3083 3 Hazen 3083 3 Hopp 1055 4 Hopp 1055 4 Hurter 4083 Hurter 4083 2 Jones 2009 Jones 2009 1 Mehrotra 1083 Mehrotra 1083 7 Rath 1053 2 Rath 1053 2 Rieders 3021 6 Rieders 3021 Rubenstein 1049 1 Rubenstein 1049 1 Spearman 2083 Spearman 2083 2 Sun 2019 Sun 2019 8 Tamhane 4087 1 Tamhane 4087 Thompson 3041 1 Thompson 3041 Zazanis 2087 5 Zazanis 2087 5 10 Robert Fourer, Assigning People in Practice, CORS/INFORMS Int’l Meeting, Banff, May 16-19, 2004

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend