Weekly Discussion: Anaplan Optimizer

Hi Everyone,


Henri (@henri_wajsblat), Tristan (@tristan.colgate) and I are starting a new series of discussion topics. This week's topic will be about Anaplan's Optimizer feature.


Optimizer is a relatively new feature that uses linear programming to enable end users to solve complex problems by maximizing or minimizing an objective within specified constraints. When I first read about it, I was immediately reminded of Excel's Solver add-on, and I do think the two are pretty similar. However, Anaplan's Optimizer can work on much larger datasets and has security based on the access to the dashboard. Anaplan's Optimizer is also powered by Gurobi, which is the fastest optimization solver. Optimizer has many use cases, many of which can be found on Anaplan's white paper. Optimizer can be used for "what-if" scenarios and help organizations plan based on the best option.


There are a few steps to take before setting up Optimizer:

  1. Identify your Objective (for Linear Programming)
    • Helps guide the Optimizer to a solution
    • Can be a maximum or minimum value, such as maximum revenue or minimum cost
    • Can be generated by a formula (with limit on the number of levels of indirection)
    • Not needed for Feasibility Programming
  2. Define Variable(s)
    • What value(s) will the Optimizer output?
    • Can be integer (whole number), real (decimal number), or binary (0 or 1)
  3. Define Constraint(s) (optional)
    • limit on the value (max, min, no negative numbers).
    • Needs to be Boolean (True/False) with summary of ALL
    • Can be generated by a formula (with limit on the number of levels of indirection)

Some problems may not have a feasible or optimal solution--and an error will be output in those cases. There may also be limitations on performance, the number of decimals, and the formulas used for the objectives and constraints. I would suggest reading the Anapedia sections on Limitations and Indirection to understand more about these limitations. Lastly, Optimizer can only be used to solve linear problems.


The actual setup of Optimizer is pretty simple. To create the Optimizer action, click on Actions in the Model Settings. From the New Action menu, select Optimizer.


From there, you can name the action (Button Text), set the Time Out (number of seconds after which the Optimizer will stop processing), select whether to use Linear Programming (selecting the optimal solution) or Feasibility Programming (selecting a possible solution in the feasible region). An example of the feasible region can be illustrated here. If you select Linear Programming, you will need to select your Objective. In both Linear and Feasibility Programming, you will need to enter the Variable(s). Constraint(s) are optional for both.


To try out Optimizer and to get an understanding of how the formulas for the Objective and Constraints can be created, I highly recommend completing the Optimizer Overview training.


If you want to learn more about optimizer, are interested in a demo, want to share how your organization uses optimizer, or have any discussion topic suggestions, please leave a comment below to let us know!


Additional Training and Resources:

Anapedia: Optimizer 

Optimizer: Under the Hood 

Optimizer Overview 

Optimizer: Use Case Examples 

Optimizer: Exercise Walkthrough 

Optimizer: Dynamic Time Setup 




  • Thanks Diane, really informative post - it is especially useful to have the links to Optimizer information in one place.


    I'm wondering how much financial services organisations are using Optimizer.  I can imagine the following use cases:


    Private equity - optimizing available capital over investment opportunities.

    Retail banking - optimizing location of branches to ensure maximum coverage of customers


    It would be great to hear of some real life ways people in this group are using the tool.