Starting Semester: Fall 2024
Assigned: No
Location: Dunwoody

Dunwoody Senior Baseball

Client Profile

Dunwoody Senior Baseball runs baseball programs throughout the year for 13-18 year olds. We are a 501-3c and have been in existence since 1975. Our primary fields are two state-of-the-art turf fields in Dunwoody located at 4635 Barclay Dr, Dunwoody, GA 30338.

Project Description

Our largest and most complex program is our Middle School League. This league includes about 50 teams and plays on 20+ fields across the metro Atlanta area. Each team is subject to various school conflicts such as spring break, religious holidays, and school events which affect their team’s availability to play. We also have time-of-day constraints based on the school. For example, some public schools are dismissed as late as 4:15 and cannot make a 5:00 game. So, the problem is how to create a 12-game schedule for each team that meets normal scheduling requirements that include:

• No doubleheaders

• 1-3 games per week

• Games not bunched up too much to preserve pitching.

• Games are not dispersed too far apart so teams do not get rusty.

• Schools that have their own field (e.g., Marist or Westminster) are playing in games at their field.

• Games at our fields (2 fields at Brook Run Park) are bunched together so umpires can call multiple games without a gap.

So, the inputs that we have are:

• Game List. A list of the matchups for each team. This is a file of 300 or same games.

• Game Slot Lists. A list of all the available game slots for each field.

• Conflicts. An excel field containing all of the game slots when a team cannot play for some reason.

The problem is to assign each game assign each game in the Game List to a Game Slot that does not violate a team’s conflicts and complies with the scheduling “Rules of Thumb”. Currently, we use a souped-up Excel program that allows the user to manually schedule games and verify that it does not violate a constraint or goal. As you can imagine, creating a schedule with 300+ games is a painstaking and time-consuming process. Our Middle School League has been running for 24 years so we have tons of data.

We have already attempted a Senior Design project within the Computer Science that attempted to use linear/integer programming to solve the problem. It yielded a partial solution, but the setup effort made the approach unsustainable. I am thinking that this may be an opportunity to attack the problem with AI, however any technology that can make this process easier would be welcome.


Basic understanding of baseball schedule
Ability to think outside the box