Overview of Schedule Creation
My general steps to creating a schedule are:
• Develop parameters with my client
• Program a model that implements those parameters
• Pass the model to a specialized solver producing a schedule
• Review the schedule for quality
• Submit and discuss the schedule with my client
• Repeat as needed
Details of Schedule Creation
The first step in the process of creating a schedule is to establish its parameters. To do so, I collect any documents my clients provide and speak with them on the phone to clarify and further develop the details of their requirements.
The next step is to create the mathematical model that represents the schedule. That model is specified as a computer program. To write the program, I translate each parameter for the schedule into a block of code called a constraint. In terms of the math, these constraints create a boundary around all of the possibilities that lead to a legitimate schedule.
Once the model is finished, it is passed to a specialized solver that attempts to find a combination of variables that satisfies the constraints. This solver can take anywhere from a fraction of a second to hours or longer to produce a schedule. Models that run an unacceptably long time or exhaust the computer’s memory are said to be intractable. Models that are found to have no mathematical solution are said to be infeasible. In either of those two cases, the model has to be reworked.
The next step is to examine the schedule produced by the solver for quality. If the intended constraints are violated, there is a bug in the code. There can also be solutions that meet the parameters as specified but have undesirable characteristics otherwise. Again, if these problems occur, the model has to be fixed.
Once a prospective schedule is produced, I make notes about what parameters have been met or not and to what degree. I also point out any issues in the schedule that I feel might be problematic. I then send the notes along with the schedule to my client for their review. We discuss the outcome, and I repeat any or all of the previous steps as necessary.