top of page

Suboptimal resource-constrained CPM Scheduling - Part II

Solar panel installation, repeatable activity

In the first post of this series, we highlighted the challenges of manually planning and scheduling sub-sets of repeatable activities, that could be done in parallel or in series, depending on the availability of construction resources.

This situation can lead to the paradox where optimal individual decisions on each activity lead to a suboptimal overall project plan.

Solving this challenge is extremely complex, takes a lot of time when using traditional scheduling software and leaves a lot of money on the table when settling for suboptimal resourcing decisions based on optimal sub-decisions!

The example studied in Part I was simplified making a set of assumptions:

  • Construction resource allocation to activities is equal on all activities

  • Resource quantity allocated to each activity can't be changed, thus there is no change to individual activity durations

Whilst those assumptions help to create an insightful scenario to test Frontline, they still simplify in excess the nature of construction activities. In this blog post we go deeper into the complexity maze and eliminate both assumptions. This will better represent the nature of a construction project environment, where there are numerous activities that can be done faster or slower depending on resource productivity or quantity of resource allocated to such activity.

In this post we truly test out the limitations of schedule simulation and optimization software and the benefits that it brings to construction project simulation & optimization.

Changes to the original plan

The first thing we did was create the "Electrical Crew" resource in our scheduling software and assigned 1 crew to all activities under 2 days duration and 2 crews to all activities with a duration longer than 2 days.

These longer duration activities represent larger chunks of work and require more resources to be executed within the duration set out for them.

Resource allocation to schedule

With this resourcing assignment, the resource histogram would look something like this (image from Frontline, selecting the baseline schedule):

Project resource distribution (histogram)

What-if scenario analysis

When looking at such a schedule, the first question that pop-ups is what if we assign idle crews to remaining activities to do them faster. Or vice-versa, what if we reduce resource allocation to non-critical activities to do other activities and reduce overall required resources?

Answering these questions takes a lot of time and is very cumbersome using common scheduling software. At Frontline we give the flexibility to the user to decide & define what they want to simulate, optimize and how.

Construction planning simulation and optimization solutions like Frontline use Artificial Intelligence to solve the challenges around construction resource optimization. By simulating thousands of schedule options in seconds, it can find alternatives that optimize duration, resources and costs.

From little input to maximum constrained optimization - Step 1

Once this new project is uploaded to the platform, and using the standard optimization settings, the results produced would be as follows:

Schedule optimization results

Leaving the simulation unconstrained yields optimization results that vary from options that reduce duration by 50% to options that reduce construction resources by 50%, increasing project duration by almost 2X!

For the fastest option, Frontline tells the user that if they want to achieve this they need to assign more Electrical crews to some of the activities on the schedule:

Schedule optimization results

If these changes to activity duration and resourcing were feasible, project duration would be almost halved, peak resources would increase by 30% and if we would consider a weekly crew cost settlement period, an increased resource cost of 9%.

Not bad seeing a 50% project duration reduction for a 9% cost increase.

Resource optimization results

From little input to maximum constrained optimization - Step 2

Sadly, again, this scenario is still fairly simplistic. We have assumed that all activities can change in duration and that all activities could be done faster or slower depending on construction resource allocation.

In this next step we are going to constrain the simulation. We will tell Frontline that activities with 1 crew assigned to them can't be changed. This is done quickly using the constraint template, filtering for those activities and indicating Frontline to "fix" a.k.a please don't change them.

But for those activities with 2 crews assigned to them, we will give Frontline a range: from 1 crew to 4 crews. This helps answer the questions:

  • What if we assign idle crews to remaining activities to do them faster?

  • What if we reduce resource allocation to non-critical activities to do other activities faster?

With this semi-constrained simulation, optimization results are as follows:

Schedule optimization results

Once we've constrained the simulation, the results are less incredible than before. With the constraints introduced, the "fastest" option reduces duration in ~30% by increasing peak resources in ~30% and cost in ~10%. This cost does not consider indirect or daily overhead costs which for certain projects may be significant. For such projects a 10% cost increase in resources may be compensated by savings from a 30% duration reduction.

What has Frontline changed? Again, we need to look into the details:

Schedule optimization results

For those activities that we indicated that they could be done faster with more resources, Frontline has made changes on 11 of them. Why only 11? Because those 11 activities yield the maximum reduction in duration.

What is really interesting about AI powered schedule optimization is the non-obvious results that are generated. We keep focusing on how can we do X faster? And the answer tends to be to throw more resources to it. In this example, we lean to think that to make the project faster we need to add 2X crews wherever we can. But curiously there are alternatives that reduce duration and required resources that are non-obvious in such a complex system:

Schedule optimization results

The option selected reduces duration in ~28% and construction resources in 15% by making non-obvious changes to those pre-identified activities. The resource histogram shows a much better distributed (levelled) resource requirement for the project:

Construction resource optimization results

From little input to maximum constrained optimization - Step 3

In the last step of our journey from unconstrained optimization to highly constrained optimization we are going to add another level of complexity. On top of the previous constraints, we are going to tell Frontline only to explore alternative schedules with a maximum of 15 Electrical crews, from a current maximum of 19.

Schedule optimization results

In the graph above, crosses indicate alternatives that do not comply with constraints. A first pass simulation yields a fairly disappointing result: no option complies with the constraint of 15 Electrical crews and is faster than the original schedule.

One would think that this is the end (of our elaborate plans - The Doors). Think again, Frontline has an ace up its sleeve.

This simulation is very constrained: only 19 activities can be modified and there is a maximum resource constraint applying to all activities. This is why Frontline can generate few results that comply and none that are faster,. But this can be reverted by modifying the optimization parameters. There is a video explaining the impact of changing optimization paramenters that can be found on our Youtube channel.

AI construction schedule optimization

First, we told Frontline to use a 5x higher Learning Rate. For those not familiar with the Machine Learning term, it's basically the speed at which a machine learning model learns. By increasing the value we are telling Frontline "go learn new stuff faster & further away" with the hope that it finds (learns) better options.

Second, we told Frontline to look for 100 solutions for each optimization criteria (duration, levelness, resources, cost & balanced), 5 times more than the standard optimization parameters.

The above guarantee that Frontline will look within hundreds of solutions to find better ones. And it did:

Schedule optimization results

Frontline found (learnt) options that satisfy the constraints introduced, reducing project duration & resources whilst maintaining a similar resource cost. This is achieved by making counter-intuitive changes to resource allocation on some activities that in combination achieve the overall desired results:

Schedule optimization results

Frontline allocates more resources to some activities, and less resources to others, within the boundaries of the simulation. This would be a hard and time consuming exercise to do relying only on manual scheduling software. Aided by Artificial Intelligence and construction simulation and optimization software, we have an optimal solution to the challenge within minutes.

If you made it until this point and want to test out yourself for free, just visit our free site at:

No need to register. No sales stuff. No emails. If you have questions on how to use Frontline, please check out our Youtube channel (we just started so please don't judge us!):


bottom of page