Using Splendid City: Intermediate level tutorials
Case Study A
The following tutorial shows an example how inter divisional locations (fields) with constraints can be managed in Splendid City.
In this schedule we have 20 soccer teams categorized by age group split into 2 divisions. Let's call them Division 'A' and Division 'B'.
10 total games will be played per day. The games will be distributed as five division A games, plus five division B games with team rivalries restricted to within their own divisions (intra-divisional). All 10 daily games need to be played on two fields mutually shared between the two divisions.
One field has only the capacity to play three games per day starting with the earliest slots. The second field will handling the remaining seven games, and will allowed to play the first three games asynchronously with field one.
Splendid City can handle this issue in a few ways. In this tutorial we'll discuss two approaches to the solution. One approach is using Splendid City plug-ins and the other using straight location constraints.
- [Part 1] Solves the described sports scheduling problem using constraints.
- [Part 2] Solves the same sports scheduling issue using Splendid City plug-ins.
Special thanks go out to Scott Michael, Brian Keill and Gianni Ellefson for their feedback that helped to inspire this tutorial.
Case Study B
This next tutorial takes a real world sports scheduling problem encountered yearly by the New York, Cosmopolitan Junior Soccer League, and applies it to the constraint handling features of Splendid City Sports Scheduler. The problem involves a common scheduling issue where field unavailability would vary between certain calendar dates (in addition to weekly availability).
The background of the problem is as follows. Typically, the CJSL begins the spring seasons in mid April and runs from April to the end of June. Teams travel across southeastern New York State to play at opponents' home fields in other parts of the region. A problem is created because in April the grass is still forming on a large Staten Island sports venue called Miller Field (an old converted airfield that now host a huge number of sports locations) and the ground is still soft from spring rains, so the Commissioner of Parks on the island does not allow SI teams to have games there until the month of May to preserve the quality of the playing fields. To resolve this, essentially all the Staten Island area clubs that play on Miller Field, must play away games for the first few weeks of the season. This involves sometimes two to three teams in each CJSL division that must get special handling when organizing a schedule for the league. Other division teams' fields are either made of Astroturf, comprised of dirt, or simply the field condition is not an issue. This can be a tricky task, keeping in mind all must play an equal number total games, no teams are allowed double headers, and the number of home and away games should be as balanced as possible to provide fairness to all participants.
We can model this case by setting up one division of 10 teams, that play one day a week on the weekends (like the CJSL does) with each team playing a total of one game per week (5 games per day). Two of our model division's teams Silver Lake Dynamo, and Soccer ABC, play on Miller Field #3 and Miller Field #19 respectively, and hence need special handling for the spring season schedule. We can set up identical constraints for both teams' fields. Let's begin by setting up the initial data. Since we are only really concerned with the Silver Lake Dynamos and Soccer ABC teams and fields we'll use Splendid City template teams and fields for the other division team and field objects.
To work through this example begin here.