# Scheduling Efficiency Explained... with Tetris

At ALICE, we are often asked why one schedule is more efficient or faster than another. While looking for ways to explain this, we had an idea to utilize an analogy between scheduling and Tetris.

At ALICE, we are often asked why one schedule is more efficient or faster than another. While looking for ways to explain this, we had an idea to utilize an analogy between scheduling and Tetris.

Imagine that you are trying to schedule some work. The work can be represented as Tetris blocks:

For this example, let’s say you have 4 crews available to perform the work.

Scheduling can be seen as the problem of finding a compact way to stack the blocks, just as you would be doing if you were playing a real game of Tetris. Here’s an example of one such arrangement:

In this analogy, the width of the arrangement represents the number of resources used, and the height represents the schedule duration. Thus, the goal is to stack the blocks to minimize the height.

When comparing two schedules, you first have to make sure that the project constraints are respected in both. While this is never a problem within ALICE (because ALICE always respects your project constraints), constraints may be violated in alternative scheduling software.

One common problem is resource overallocation. This means that your schedule is using more resources that you have available:

In this suboptimal arrangement, 5 crews are needed to complete the work, even though you only have 4. Comparing two schedules with different constraints is like comparing apples to oranges and cannot be easily done.

Assuming that both schedules respect all project constraints, then most likely the difference will come down to resource utilization. In other words, the faster schedule will be utilizing resources more efficiently. In Tetris terms, this means that the blocks are more compactly stacked in the faster schedule.

Here’s an example of an inefficiently stacked set of blocks, representing a slower schedule:

It is inefficient because there are gaps of wasted space where blocks could have gone instead. In construction terms, this would be called idle time.

Scheduling is a really hard problem. In this example, there were only three blocks, but in real life there are usually thousands. As we wrote on another post "What is generative construction", a simple geometry with four construction zones, some basic types of equipment and materials leads to hundreds of thousands of mathematically possible solutions. Imagine trying to manually stack all of those pieces!

Fortunately, with a parametric and generative system like ALICE, once you've set up your plan (rule set) and defined some basic parameters (e.g.: labor and equipment availability, production rates, crane locations) and your project's constraints, you can let the platform do all the number crunching for you and let it find the solutions that are most optimal for the project team. Used during preconstruction, this can save significant time and money. During the project's execution phase, project teams benefit from more control and reduced risk of schedule and budget overruns.

Next Article Why Cost Optimization in Construction is Important