OPTIMAL LINE-UPS FOR A YOUTH SOCCER LEAGUE TEAM Robert M. Saltzman, San Francsco State Unversty ABSTRACT Coaches n some dvsons of the Amercan Youth Soccer Organzaton (AYSO) are asked to fll out ther team lne-up sheets n an unusual way. Instead of focusng on wnnng games, coaches of younger chldren are strongly encouraged by league offcals to use a lne-up that emphaszes player learnng and partcpaton by followng two gudelnes: (1) players should play as many dfferent postons as possble durng games, and (2) no player should st out two uarters of a game before all players have sat out one uarter. In the Under-10 dvson of ths league, each team conssted of a dozen eght and nne year-old boys, nne of whom played at once. As a coach, I manually flled out a lne-up sheet pror to the frst game that met the gudelnes, but t took over an hour. For subseuent games, I formulated a model that satsfed the gudelnes and could be solved n just a few mnutes. The model s objectve s to mnmze the number of players assgned to the same poston twce n one game (satsfyng the frst gudelne), subject to constrants that epress the second gudelne and a number of other nterestng condtons. I. INTRODUCTION Coaches n some dvsons of the Amercan Youth Soccer Organzaton (AYSO) are asked to fll out ther team lne-up sheets n an unusual way. Instead of focusng on wnnng games, coaches of younger chldren are strongly encouraged by league offcals to use a lne-up that emphaszes player learnng and partcpaton. In partcular, coaches are gven two gudelnes: (1) players should play as many dfferent postons as possble durng games, and (2) no player should st out two uarters of a game before all players have sat out one uarter. In the AYSO Under-10 dvson of ths league n Redwood Cty, Calforna, durng the fall of 2003 each team conssted of a dozen eght and nne year-old boys players, nne of whom played at once. As a head coach, I manually flled out a lne-up sheet (see Fgure 1) the nght before the frst game that met the above gudelnes, but t took ute a long tme. For all subseuent games, I formulated a model that satsfed the gudelnes and could be solved n just a few mnutes. The model s objectve s to mnmze the number of players assgned to the same poston twce n one game (satsfyng the frst gudelne), subject to constrants that epress the second gudelne and a number of other nterestng condtons. Pror to the frst game, I was surprsed to fnd that I needed an hour to manually fll out the lne-up sheet whle followng the two man gudelnes lsted above. Headng nto the frst game I felt confdent that I had carefully planned out my team s lne-up. However, near the end of the thrd uarter of a tense 2-2 game, I realzed that I had assgned the same player to two dfferent postons for the fnal uarter but couldn t fgure out who I had overlooked. Fortunately, one of the boys saved me by uckly pontng out the player who should have been n the fourth uarter lneup, but at that pont I realzed that I needed a more methodcal approach to fllng out my lne-up sheet. I wanted to develop a mathematcal model that would not only speed the process but also help me to avod mstakes lke I d made n the frst game. Moreover, an automated process would allow me to try alternatve lne-ups that could take nto account secondary ssues lke ndvdual player strengths at partcular postons. Shortly after the frst game I formulated a model that optmally assgns players to postons and could be solved n just a few mnutes on a laptop computer. Whle there have been artcles concerned wth the optmal assgnment of football teams to dvsons (Saltzman and Bradford, 1996), optmal schedulng of games n varous leagues (Bean and Brge, 1980; Russell and Leung, 1994) and optmal battng orders n baseball (Buket, Harold, and Palacos, 1997), I am unaware of any lterature that tackles the partcular condtons of the soccer problem descrbed here. Calforna Journal of Operatons Management, Volume III, Number 1, 2005 92
Lne-Up Sheet Jon Vctor Chrs 1 st Quarter Danel Jordan Scooter Andrew TylerH Marley Tyler Fullback Fullback Fullback Tm Adam Goale TylerH Scooter TylerB 2 nd Quarter Marley Vctor Jon Tm Jordan Chrs Andrew Fullback Fullback Fullback Danel Adam Goale Danel Tm Marley 3 rd Quarter Andrew Chrs Jordan Scooter TylerB Vctor TylerH Fullback Fullback Fullback Adam Jon Goale Scooter Jordan Adam 4 th Quarter TylerB Tm Chrs Danel Andrew Jon Marley Fullback Fullback Fullback Vctor TylerH Goale Fgure 1. Game 8 lne-up sheet wth player names flled n. Calforna Journal of Operatons Management, Volume III, Number 1, 2005 93
II. The Mathematcal Model The model was bult n the OPL Studo 3.0 envronment (ILOG 2000), whose man features are revewed by Skscm (2001). Wth OPL (Optmzaton Programmng Language) one can combne elements of tradtonal mathematcal programmng wth those of constrant programmng. Lustg and Puget (2001) provde a bref tutoral on constrant programmng and how t complements the features of mathematcal programmng, whle Hooker (2000) eplores the possbltes and advantages of hybrd approaches n greater depth. Others who have used a hybrd approach to tackle varatons of the assgnment problem nclude Smth et al. (1996), who mamze the number of people meetng durng a progressve party at a yachtng rally, Darby-Dowman et al. (1997), who allocate tasks to machnes so as to mnmze the producton makespan, and Saltzman and Meyer (2004), who plan annual revew meetngs at a consultng frm n whch groups of partners conduct personnel revews of ther consultant-employees. The power and fleblty of OPL Studo make t s relatvely easy to formulate and solve ths assgnment problem. By contrast, when I tred to set up and solve the problem wth Ecel s Solver, I was unsuccessful. Even though the model has only 240 bnary varables, I receved an error message ndcatng that too many varables (or changng cells n Solver parlance) were beng used. The man components of an OPL model are ts sets, varables, constrants and objectve functon, each of whch s now descrbed. Sets, whch make the model easy to specfy and the output legble, ncluded the names of the team s twelve players, the fve postons to be assgned, and the four uarters of a soccer game: Player {Danel, Andrew, Jon, TylerH, Scooter, Jordan, Adam, TylerB, Tm, Chrs, Marley, Vctor} Poston {Goale, Fullback, Halfback, Forward, Reserve} Quarter {Q1, Q2, Q3, Q4} In the followng descrpton of the model, partcular ndces are used for each data set: s the nde for the set of players, j s for the set of postons, and s for the set of uarters. The 240 decsons to be made are whch player should be assgned to each poston n every uarter: specfcally, let j 1, f player s assgned to poston j n uarter, and j 0, otherwse. All told, there are 140 constrants n the base model (wthout any refnements). The frst set of constrants ndcates that n all four uarters every player must be assgned to some poston, ncludng possbly beng a reserve. j j 1, for all and for all Second, because only nne of the team s twelve players actually played at one tme, each player needed to be a reserve (.e., st out) one uarter per game., Reserve, 1, for all Ths ensures that the second gudelne (no player should st out two uarters of a game before all players have sat out one uarter) s met. Constrant sets (3) through (7) dstrbute the players to the varous postons,.e., n every uarter there must be one goale, three fullbacks, two halfbacks, three forwards, and three reserves. (1) (2) Calforna Journal of Operatons Management, Volume III, Number 1, 2005 94
, Goale,, Fullback,, Halfback,, Forward,, Reserve, 1, for all 3, for all 2, for all 3, for all 3, for all Fnally, no one plays the same poston more that twce per game. j 2, for all and for all j (3) (4) (5) (6) (7) (8) The objectve functon takes advantage of OPL Studo s ablty to embed a logcal condton wthn an epresson. Here, the embedded logcal condton Σ j 2 evaluates to 1 f player has been assgned to the same poston j twce durng the game, and to 0 otherwse. Summng ths condton over all players and postons j yelds the total number of tmes boys play the same poston twce n a sngle game. Beng undesrable, ths total s mnmzed n order to wden the boys perspectves as much as possble. Thus, the objectve functon can be stated as follows. Mnmze j 2 j III. REFINEMENTS AND USAGE I used the model to plan the lne-ups for each of the eght remanng games n our schedule. Pror to the thrd game I began to make refnements to the base model. For eample, I looked for lneups that dd not have our team s two best players, Vctor and Jordan, sttng out at the same tme by addng the followng constrant set. Vctor,Reserve, + Jordan,Reserve, 1, for all (9) I also ncluded a constrant set that avoded placng two boys who ddn t get along well wth one another, Adam and Vctor, at the same poston at the same tme. Adam,j, + Vctor,j, 1, for all j and for all (10) When one of my players, Andrew, told me he was unwllng to play the forward poston, I accommodated hs reuest wth the followng set of constrants. Andrew,Forward, 0, for all (11) Furthermore, I began to specfy my frst uarter lne-up n advance by fng some of the varables, ncludng constrants such as the followng. Chrs,Forward,Q1 Vctor,Forward,Q1 Jon,Forward,Q1 1 (12) Jordan,Halfback,Q1 Danel,Halfback,Q1 1 Marley,Fullback,Q1 TylerH,Fullback,Q1 Andrew,Fullback,Q1 1 Adam,Goale,Q1 1 Calforna Journal of Operatons Management, Volume III, Number 1, 2005 95
Dong so had the added beneft of speedng up soluton tme consderably. Fnally, I set varables that specfed who would play goale n the remanng three uarters, snce only a few of the boys on the team felt comfortable playng ths crtcal poston. Adam,Goale,Q2 Jon,Goale,Q3 TylerH,Goale,Q4 1 (13) An optmal lne-up for Game 8 (see Fgure 1) wth an objectve functon value of three has three boys playng the same poston twce n the game. In partcular, Adam plays goale twce (by desgn), Andrew s a fullback twce, and Scooter plays forward twce. For each game after the frst, I altered the frst uarter lne-up and the set of goales, resultng n dfferent overall lne-up sheets each week. Furthermore, pror to almost every remanng game, I was told that one player would be out of town, and revsed constrants accordngly. For eample, wth eleven players present at a game, some players wll not st out at all, so the eualty n constrant set (2) becomes an neualty ( ), and the rght-hand sde of constrant set (7) must be lowered to 2. A complete lstng of the OPL Studo model used for Game 8 s gven n the Append. IV. CONCLUSION Developng and usng the model helped me to fnd better soccer team lne-ups and n less tme than I could produce manually. It also gave me the fleblty to make last-mnute adjustments to the lne-up, e.g., when someone called the nght before or even the mornng of the game to tell me that they would have to mss the game. In the future t would be nce to develop an alternate verson of ths model for Ecel, whose Solver currently does not allow problems of ths sze to be eecuted (although ths restrcton could change soon). Ths would allow at least a few other coaches to smlarly plan ther lne-ups wthout the use of costly, specalzed software. Wth some modfcatons, models related to ths one could be developed for other management problems, such as how to farly assgn a set of employees to a set of (possbly undesrable) tasks on dfferent days, or how to assgn a group of drvers (or nurses) to make delveres (or vsts) to a collecton of customers (or patents) at dfferent tmes. The solutons to many problems le wthn reach when the deas from tradtonal mathematcal programmng and constrant programmng are combned. V. REFERENCES Bean, J. and Brge, J., Reducng travelng costs and player fatgue n the Natonal Basketball Assocaton, Interfaces, Vol. 10 (3), 1980, 98-101. Buket, B., Harold, E., and Palacos, J., A Markov Chan Approach to Baseball," Operatons Research, Vol. 45 (1), 1997, 14-23. Darby-Dowman, K., Lttle, J., Mtra, G. and Zaffalon, M., Constrant logc programmng and nteger programmng approaches and ther collaboraton n solvng an assgnment schedulng problem, Constrants, An Internatonal Journal, Vol. 1 (3), 1997, 245-264. Hooker, J., Logc-Based Methods for Optmzaton, John Wley, New York, NY, 2000. ILOG, ILOG OPL Studo 3.0 User's Manual, ILOG, Gentlly, France, 2000. Lustg, I. and Puget, J., Program does not eual program: Constrant programmng and ts relatonshp to mathematcal programmng, Interfaces, Vol. 31 (6), 2001, 29-53. Calforna Journal of Operatons Management, Volume III, Number 1, 2005 96
Russell, R. and Leung, J., Devsng a cost effectve schedule for a baseball league, Operatons Research, Vol. 42 (4), 1994, 614-625. Saltzman, R. and Meyer, J., A consultng frm uses constrant programmng to plan personnelrevew meetngs, Interfaces, Vol. 34 (2), 2004, 106-112. Saltzman, R. and Bradford, R., Optmal Realgnments of the Teams n the Natonal Football League, European Journal of Operatonal Research, Vol. 93 (3), 1996, 469-475. Skscm, C., OPL Studo 3.1, OR/MS Today, Vol. 28 (2), 2001, 70-72. Smth, B., Bralsford, S., Hubbard, P. and Wllams, H., The Progressve Party problem: Integer lnear programmng and constrant programmng compared, Constrants, An Internatonal Journal, Vol. 1 (1), 1996, 119-138. APPENDIX: Complete lstng of the OPL Studo model used for Game 8. // Robert Saltzman -- AYSO: Dvson U10 -- 11/01/03 range Boolean 0..1; range Integer 0..24; enum Player {Danel, Andrew, Jon, TylerH, Scooter, Jordan, Adam, TylerB, Tm, Chrs, Marley, Vctor}; enum Poston {Goale, Fullback, Halfback, Forward, Reserve}; enum Quarter {Q1, Q2, Q3, Q4}; var Boolean [Player, Poston, Quarter]; mnmze sum( n Player, j n Poston) ((sum( n Quarter) [,j,]) 2) subject to { // (1) Every player s assgned to some poston each uarter forall( n Player, n Quarter) sum(j n Poston) [,j,] 1; // (2) Each player s a reserve once per game forall( n Player) sum( n Quarter) [,Reserve,] 1; // (3) Need 1 goale per uarter forall( n Quarter) sum( n Player) [,Goale,] 1; // (4) Need 3 fullbacks per uarter forall( n Quarter) sum( n Player) [,Fullback,] 3; // (5) Need 2 halfbacks per uarter forall( n Quarter) sum( n Player) [,Halfback,] 2; // (6) Need 3 forwards per uarter forall( n Quarter) sum( n Player) [,Forward,] 3; // (7) Need 3 reserves per uarter forall( n Quarter) sum( n Player) [,Reserve,] 3; // (8) No one plays the same poston more than twce per game forall( n Player, j n Poston) sum( n Quarter) [,j,] < 2; Calforna Journal of Operatons Management, Volume III, Number 1, 2005 97
// (9) Don't let Jordan & Vctor st out at the same tme forall( n Quarter) [Jordan,Reserve,] + [Vctor,Reserve,] < 1; // (10) Don't put Adam & Vctor at same poston at the same tme forall(j n Poston, n Quarter) [Adam,j,] + [Vctor,j,] < 1; // (11) Andrew won't play forward forall( n Quarter) [Andrew,Forward,] 0; // (12) Frst uarter lne-up [Adam,Goale,Q1] 1; [Marley,Fullback,Q1] [TylerH,Fullback,Q1] [Andrew,Fullback,Q1] 1; [Jordan,Halfback,Q1] [Danel,Halfback,Q1] 1; [Chrs,Forward,Q1] [Vctor,Forward,Q1] [Jon,Forward,Q1] 1; // (13) Goales for remanng uarters (plus a few other assgnments) [Adam,Goale,Q2] [Jon,Goale,Q3] [TylerH,Goale,Q4] 1; [Vctor,Halfback,Q2] [Vctor,Reserve,Q4] 1; }; // Organze the model's output: // 1st Quarter lne-up, by poston dsplay( n Player: [,Goale,Q1]1) [,Goale,Q1]; dsplay( n Player: [,Fullback,Q1]1) [,Fullback,Q1]; dsplay( n Player: [,Halfback,Q1]1) [,Halfback,Q1]; dsplay( n Player: [,Forward,Q1]1) [,Forward,Q1]; dsplay( n Player: [,Reserve,Q1]1) [,Reserve,Q1]; // 2nd Quarter lne-up, by poston dsplay( n Player: [,Goale,Q2]1) [,Goale,Q2]; dsplay( n Player: [,Fullback,Q2]1) [,Fullback,Q2]; dsplay( n Player: [,Halfback,Q2]1) [,Halfback,Q2]; dsplay( n Player: [,Forward,Q2]1) [,Forward,Q2]; dsplay( n Player: [,Reserve,Q2]1) [,Reserve,Q2]; // 3rd Quarter lne-up, by poston dsplay( n Player: [,Goale,Q3]1) [,Goale,Q3]; dsplay( n Player: [,Fullback,Q3]1) [,Fullback,Q3]; dsplay( n Player: [,Halfback,Q3]1) [,Halfback,Q3]; dsplay( n Player: [,Forward,Q3]1) [,Forward,Q3]; dsplay( n Player: [,Reserve,Q3]1) [,Reserve,Q3]; // 4th Quarter lne-up, by poston dsplay( n Player: [,Goale,Q4]1) [,Goale,Q4]; dsplay( n Player: [,Fullback,Q4]1) [,Fullback,Q4]; dsplay( n Player: [,Halfback,Q4]1) [,Halfback,Q4]; dsplay( n Player: [,Forward,Q4]1) [,Forward,Q4]; dsplay( n Player: [,Reserve,Q4]1) [,Reserve,Q4]; // Lst players who play same poston more than once n ths game dsplay( n Player, j n Poston: ((sum( n Quarter) [,j,]) > 2)) ; Calforna Journal of Operatons Management, Volume III, Number 1, 2005 98