Some complex problems may not result in any feasible or optimal solution. This can’t be detected prior to running Optimizer.
To minimize the chance of running an optimization with no solution, you can build your dashboard in a way that alerts the end-user of inappropriate values. The 'Ensuring feasibility in the end-user dashboard' section of the Transportation Assignment Scenario demonstrates the use of a dashboard error alert when demand exceeds supply. Similarly, if negative values are not appropriate for an optimization, the dashboard can alert the end user.
Optimizer solves only linear problems. Non-linear problems are not in scope — for example, a transportation scheduling problem during rush hour, where a non-linear increase of vehicle numbers eventually causes exponential delays due to traffic jams.
Optimizer supports the use of three comparative operators in expressions:
- greater than or equal to (<=)
- equal to (=)
- less than or equal to (>=)
All line items involved in the problem must have Time Scale and Versions set as Not Applicable, which can be set in Blueprint. Optimizer doesn't support Time or Versions, so they should be omitted when inserting modules to your model.
Optimizer provides one solution for each variable when calculating an optimal or feasible solution. The Transportation Assignment Scenario can either determine which products to ship to which retail outlets, or which retail price at which retail outlet brings the most total revenue.
Running an Optimizer process provides the standard Anaplan audit features, so the model history shows who made changes and when the changes occurred. It doesn't, however, show the before-and-after values.
No undo option is available within Optimizer, but you can restore your model to a historical ID to revert it to a prior state.
Optimizer supports problems where the constraint contains a dimension that is an ancestor of a variable dimension. In lists that have parent-child hierarchies, Optimizer reads only items in the child list.