Duration Formulas

If you wish to use ALICE to optimize the cost or duration of your project, the duration formula feature is a powerful tool. Unlike traditional scheduling methods where the duration of a task is a static number, you can define formulas so that ALICE will calculate task durations for you based on parameters such as quantities, production rates or crew counts. We call this making a task flexible.

The benefit of making tasks flexible is that it enables automated optimization and scenario exploration (Optioneering). Users can change the parameters and ALICE will automatically propagate the changes across the entire schedule. 

With duration formulas you can:

  • Explore the impact of production rates on schedule, cost, and duration
  • Explore the impact of crew, equipment or material availability on schedule, cost, and duration
  • Incorporate custom properties (user defined fields) into schedule simulations

In this article, we will cover the technical details of how to create duration formulas in ALICE Optimize.

Static and Flexible Task Durations

Before we begin, it is important to discuss the difference between static and flexible task durations. 

  • Static task durations are simple numbers that represent the amount of time allocated for a task. For example, a duration of 3 hours, or 4.5 days. Most traditional planning uses static durations. 
  • Flexible task durations are unique to ALICE. Users can create a formula based on parameters such as number of crews, production rate, or equipment available, and ALICE will calculate the durations as part of the scheduling algorithm.
  • In ALICE, users can work with static duration, flexible durations, or a combination of both

Input Static Task Durations

Users can directly edit the remaining duration field to make changes to the static duration (for example, changing the duration from 1 to 2 hours). When a schedule is imported into ALICE Optimize, the existing durations will be populated in the remaining duration field on the plan page. 

  • Note: for imported schedules with actualized tasks, there will also be data in an actual duration column for completed tasks that populates based on data in the imported schedule.

Input Flexible Durations

Users can make a task duration flexible by inputting their desired formula into the remaining duration field on the Plan page. 

Duration formulas only operate on not started tasks. For in progress or completed work, durations must be static (numerical, not formula-driven). 

Duration formulas cannot be input for milestones or completed tasks.

Building a Duration Formula

Duration formulas are created using variables and algebraic operators and input directly into the Remaining Duration Formula field on the Plan page. The variables must be formatted in snake case, and there is a duration formula sidebar to assist you in the formatting. Read on to learn more, or click here to view a tutorial.

Tip: To view the formulas for all tasks on the Plan or Analyze page, you can add the column "Remaining duration formula". This allows you to quickly see the underlying logic driving the remaining durations.

Tip: Duration formulas can be added one task at a time, or bulk applied to many tasks at once. To bulk apply a duration formula to many tasks, check the tasks you want to update and select the hourglass icon shown below.

 

Rounding up Durations 

When creating a duration from a formula, you may end up with a value that should be rounded up to the nearest whole number or other defined interval. Users can automatically round up task durations in the table view settings menu (from the Plan page, right click, select 'edit table view' and select 'settings'.). 

Users can input the desired interval to be used for rounding up when using duration formulas, crew ranges, or running an acceleration scenario. For example, if the duration is set to 8 hours, durations will round up to the nearest 8 hour increment (8, 16, 24, etc). To round up to the nearest whole hour, input 1. 

The round up feature will only operate on durations calculated by ALICE. If a user manually inputs a task duration, it will not be rounded up. 

Use the Duration Formula Sidebar to Find Variable Names

The duration formula sidebar allows users to find the names and syntax of variables for a duration formula.
On the Plan page, next to the header of the remaining duration column, there is a blue icon. Click this icon to open the duration formula sidebar. 

The sidebar will quickly allow you to find the available variables that can be used for building duration formulas, such as crew size, budgeted labor units, production rates or custom properties. Click the name of any variable to copy it to your clipboard. From there, you can paste the field into the remaining duration field on the plan page.

In the duration formula sidebar, all of the variables are formatted in snake case. Snake case is a format which replaces spaces and hyphens with underscores. This format is required for compatibility with the ALICE scheduling algorithm. As long as you use the duration formula sidebar to pull the names of variables, you will not need to further modify the formatting. 

Note: when updating the variables that are used in a duration formula, the user needs to manually re-schedule the plan using the re-schedule button in order to get updated values.

Algebraic operators 

Basic algebraic operators are supported as follows:

  • Multiply using *
  • Divide using /
  • Sum using +
  • Subtract using -
  • Parentheses ( ) can be used to define order of operations.

Other areas of ALICE where formulas are supported

In addition to the remaining duration field in the plan page, users can input formulas in the Excel export file, to be imported back into ALICE as an updated plan.

Formula fields are currently supported in the Task tab in the column labeled duration equation, and in Task Equipment and Task Material tabs in the required amount column. The same formatting rules apply: snake case and standard algebraic operators are supported.

Was this article helpful?
0 out of 0 found this helpful