Subscribe to Receive the Latest Supply Chain Design Resources
Sequential optimization is a powerful optimization technique used in supply chain modeling. It involves breaking down a multi-objective optimization problem into a series of single-objective sub-problems.
With this Cosmic Frog feature, you’ll be able to define a series of objectives as well as a priority order and a tolerance for each.
A wide range of objectives are available in a simple drop-down, such as various parts of your supply chain cost, service level measures, geographic risk, and amount of changes from a reference scenario. In addition, user-defined costs and variables can also be used as a sequential objective.
If you’ve never used sequential optimization, read on for the basics on how to use this powerful modeling feature.
What Is Sequential Optimization?
We mentioned above that sequential optimization involves breaking a multi-objective optimization problem into a series of single-objective sub-problems. Each sub-problem is used as a starting point for the next sub-problem, and the solution obtained in each sub-problem is used as the input for the next sub-problem. This process continues until all the objectives have been optimized, or the desired level of optimization has been achieved.
Sequential solve is a useful tool in supply chain modeling because it allows us to optimize multiple objectives in a systematic manner. It also allows us to prioritize the objectives based on their importance and to control the level of deviation tolerated for each objective.
In Cosmic Frog, we can use Sequential Optimization to optimize a variety of objectives, including Total Supply Chain Cost, Total Revenue, Total Profit, Total Transportation Cost, Total Shipment Cost, Total Duty Cost, Total Storage Cost, TotalWeightFlowDistance, TotalWeightFlowTime, and GeographicRisk.
Available Objectives in Cosmic Frog Sequential Solve
How to Use Sequential Optimization
Step 1: Define Sequential Objectives
To use Sequential Optimization in Cosmic Frog, we need to add information to the table ‘SequentialObjectives’. In this table, we have one row for each priority of our sequential optimization. The table has the following columns:
- Priority: The priority of the objective in the sequential optimization. The first row has the highest priority, and the last row has the lowest priority.
- Objective Type: The objective to be optimized.
- Tolerance (%): The acceptable level of deviation for each objective.
For example, suppose we have two objectives: Total Profit and Geographic Risk. Our first row in the SequentialObjectives table might look like this:
This means that we first optimize the objective ‘Total Profit’ with a tolerance of 5%, and then we move on to the next objective.
Our second row in the SequentialObjectives table might look like this:
This means that after optimizing the ‘Total Profit’ objective, we optimize the ‘Geographic Risk’ objective while allowing for a maximum deterioration of 5% in the previously obtained solution.
You can find the list of all objectives in the drop down list of ‘ObjectiveType’ column.
Step 2: Run the Sequential Optimization
Once we have defined our SequentialObjectives table, we can run the Sequential Optimization. To do this, we simply launch the scenario from the ‘Run’ menu in Cosmic Frog. If ‘SequentialObjectives’ table is active then Sequential Optimization is used.
If you want to minimize cost as opposed of maximize profit in a single objective model. You can simply select the objective type: ‘TotalSupplyChainCost’.
Step 3: Analyze the Results
The ‘OptimizationSequentialObjectiveSummary’ table displays the results of the Sequential Optimization. It shows the optimized values for each objective, as well as the level of deviation from the tolerance values.
The table represents the objectives and constraints used in the sequential optimization process for a specific scenario, which in this case is named “SequentialOptimization – GeographicRisk”. There are four rows in this table, each row representing an objective or constraint.
The first row indicates that the first priority objective in the sequential optimization process is “TotalProfit”, with a level of 1, which means it is the first objective to be optimized. The “ConstraintType” is “optimized”, which means that this objective is optimized subject to all other objectives and constraints. The “ConstraintValue” is the optimal value of the objective obtained during the optimization process.
The second row represents the second priority objective in the sequential optimization process, which is “GeographicRisk”, also with a level of 1. The “ConstraintType” is “unbounded”, which means that there is no constraint on this objective. The “ConstraintValue” is the value of the objective obtained during the optimization process.
The third row represents a constraint on the “TotalProfit” objective at level 2. The “ConstraintType” is “lower-bound”, which means that the objective must be greater than or equal to the “ConstraintValue” specified. In this case, the “ConstraintValue” is 43,787,157$.
The fourth row represents a constraint on the “GeographicRisk” objective at level 2. The “ConstraintType” is “optimized”, which means that this objective is optimized subject to all other objectives and constraints. The “ConstraintValue” is the optimal value of the objective obtained during the optimization process.
Note that “TotalProfit” is equal to its lower bound and that “GeographicRisk” has improved by 20%.
How to Take the Next Step with Sequential Optimization
Sequential solve is a powerful optimization technique that can help us optimize multiple objectives in a systematic manner. In Cosmic Frog, we can use Sequential Optimization to optimize a variety of objectives, including Total Supply Chain Cost, Total Revenue, Total Profit, Total Transportation Cost, Total Shipment Cost, Total Duty Cost, Total Storage Cost, TotalWeightFlowDistance, TotalWeightFlowTime, and GeographicRisk. By defining our SequentialObjectives table and running the optimization process, we can obtain optimized solutions that meet our desired level of optimization.
Looking for more sequential optimization content? Head over to the Optilogic Frogger Pond Community for loads of technical articles and ask your own questions too. Free Cosmic Frog account login required. Sign up for your free account now.
About the Author
Maxime Jousset is part of the Optilogic Applied Research team. He has experience in developing, modeling and demonstrating the value of innovative machine learning and optimization solutions.