Optimisation

Pre-Optimisation Checking and Diagnostics

  • Schedule | Reports | Generate

    • Select Diagnostics and specify report file name.

    • Run reports.

    • Checks attribute values for all tasks.

    • Reports violations of Validation Expression (value = {FALSE}) specified in Schedule | Attributes | Task Attributes.

 

Schedule Optimisation

  • Schedule | Optimise

 

  • Minimise or Maximise

  • Sum of (discounted) values from Objective attribute of scheduled tasks

  • Subject to Dependencies and Constraints

 

  • Scheduled = selected to be completed within Time period

  • Mixed-Integer Linear Program (MILP)

  • Solved using mathematical programming solver

    • Built-in

    • Supports use of Gurobi (purchased separately)

 

Constraints

  • Select Apply to activate constraint, or deselect to release.

  • Select Type of constraint:

    • CAPACITY = sum of values of Attribute for selected tasks

    • GRADE = weighted average of values of Attribute for selected tasks

    • DISTINCT = number of different values of Attribute for selected tasks

    • SEQUENCE = selected tasks in ascending order of Attribute value

  • Select Span to apply constraint across all From->To periods (sum Attribute values), or deselect to apply constraint to each period in From->To.

  • Specify any applicable Minimum and Maximum values for Attribute.

 

Task Splits

  • [Auto]

  • Each split completed within assigned period

  • Subsequent splits in consecutive periods

 

Optimisation - Tips for Getting Started

  • Set Solver > Termination Criteria

    > Number of solutions = 1 to obtain feasible solution that satisfies all constraints.

    • Disable to facilitate optimisation when certain that feasible solution exists.

  • Set Solver > Termination Criteria > Solution quality = 70

    • Increase to find more optimal schedule.

    • Solution quality = 100 à find optimum schedule

  • Alternatively, set Solver > Termination Criteria

    > Run-time minutes = 10 to obtain best solution within 10 minutes.

  • Don’t apply too many constraints until confident of feasible schedule.

  • If feasible schedule not found after new constraint added, try decreasing Minimum and/or increasing Maximum Attribute Value.

  • Good schedules often require much less processing time than optimum schedules.