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.