General Optimization options
Optimization Objectives
Specify which objective function should be used:
- Maximize Profit – This objective function will serve demand where profitable. As a result, some demand may go unserved. When setting this value in a scenario, select “Optimization Objectives” as the field and select "Maximize Profit". When you set the Status of your Customers to Consider, Network Optimization decides whether or not to serve these customers.
- Minimize Costs – This objective function will serve all demand, seeking to minimize the cost incurred to do so. When setting this value in a scenario, select “Optimization Objectives” as the field and select "Minimize Costs".
- Sequential Optimization – Sequential optimization lets you select from a number of additional objectives and constraints to use in solving your model. These objectives include all costs within the model such as transportation cost, inventory holding cost and fixed operating cost. Additionally, deviation of all hard constraints used in the model from their specified values can be accessed in sequential optimization. The "Diagnose constraints when infeasibility is detected" and "Diagnose constraints if infeasibility is diagnosed or not" options are not supported in combination with sequential optimization. When setting this value in a scenario:
- In Supply Chain Guru X, select “Optimization Objectives” as the field and select "Sequential Optimization".
- In Modeler, select “Optimization Objectives” as the field and enter "Sequential" as the value.
Solution Method
For Network Optimization problems that need to make decisions about opening and closing sites and work centers, you can set the solution method to implement linear programming and branch and bound in a 2-phase approach. This method can improve optimization performance in these models. The solution method options are:
- Solve Optimally– This is the default method, which invokes a branch and bound solving technique. When setting this value in a scenario, select “Solution Method” as the field and select "Solve Optimally".
- Solve As A Linear Programming Approximation – This method sets binaries for the decision variables to 0 if the variable's value is close to 0 and to 1 if not. The relative gap is disabled when solving using this method. When setting this value in a scenario, select “Solution Method” as the field and select "Solve As A Linear Program Approximation".
- Multi-Phase Site Selection – This method invokes the linear programming approximation, then runs branch and bound. When setting this value in a scenario, select “Solution Method” as the field and select "Multi-Phase Site Selection".
For details about the solution methods, refer to Solution methods.
Decomposition Method
The decomposition method allows you to partition big models into smaller pieces and solves them sequentially. For large models with long solution times, this method can help reduce the solution time significantly.
You can control whether decomposition should be based on one or more of sites, products and periods, and set the priority for each selected:
- Site Decomposition Priority: If you want to use site decomposition, enter a value of 1, 2 or 3 to indicate the priority for this method. A value of 0 indicates no site decomposition. When site decomposition is used, Network Optimization searches for the disjoint sets of sites (site partitions) that are linked to each other by transportation policies, constraints and costs. It solves the model separately for each site partition.
- Product Decomposition Priority: If you want to use product decomposition, enter a value of 1, 2 or 3 to indicate the priority for this method. A value of 0 indicates no product decomposition. When product decomposition is used, Network Optimization searches for the disjoint sets of products (product partitions) that are linked to each other by BOMs, product substitutions, constraints and costs. It solves the model separately for each product partition.
- Period Decomposition Priority: If you want to use period decomposition, enter a value of 1, 2 or 3 to indicate the priority for this method. A value of 0 indicates no period decomposition. When period decomposition is used, Network Optimization searches for the disjoint sets of periods (period partitions) that are linked to each other by constraints and costs. It solves the model separately for each period partition.
In addition, you can choose whether or not decomposition will satisfy constraints as hard, rather than soft, constraints. If hard constraints are being satisfied, you can also choose whether or not to ensure optimality:
- Satisfy Decomposition Hard Constraints – When this option is checked decomposition respects hard constraints, even those that bind together potentially decomposable networks. When this option is unchecked, decomposition looks for constraints that bind two decomposable networks together, and ignores them. For example, assume your model has a west coast network and an east coast network, each with a manufacturer and customers, but no links between them. Also assume that a production constraint is defined:
- [Production East Coast MFG] + [Production West Coast MFG] = 1000.
- This constraint binds together the two normally separate networks. When "Satisfy Hard Constraints" is not checked, decomposition ignores the production constraint when solving the model, even if that constraint would be violated in the solution.
- If a hard constraint merges two or more partitions, or if it is ignored, the process is logged in DecompositionLog.txt
- Ensure Decomposition Optimality – When this option is checked, decomposition makes use of all costs, even those across potentially decomposable networks. When this option is unchecked, decomposition finds these costs, and ignores them. For example, assume your model has two or more products in it that are neither tied together by BOMs nor used in product substitution. In this case, the network can be decomposed product by product. However, the model also has a fixed operating cost applied to the DC. The capacity evaluated for this cost is based on total capacity summed over all the products. In effect, this cost binds the product networks together. When "Ensure Optimality" is unchecked, decomposition ignores the fixed operating cost while searching for optimality. The cost is still reported and the solution could be more expensive, but the model will run faster when these costs are ignored.
If a cost merges two or more partitions, or if it is ignored, the process is logged in DecompositionLog.txt.
“Ensure Decomposition Optimality” should only be checked if “Satisfy Decomposition Hard Constraints” is checked. If decomposition is ignoring infeasibilities (when “Satisfy Decomposition Hard Constraints” is not checked), the solution will either be non-optimal or unable to be implemented.
Preserve Links Over Max Sourcing Distance
In models with many sites and customers, especially grouped models, many transportation policies are created that are never used and cause extended expansion times and huge model databases. You can control the number of transportation policies by expanding the model then using queries to trim down the number of policies. You can also use Maximum Sourcing Distance on site and customer sourcing policies to trim away records that exceed a specified distance. However, this second approach can lead to cases in which there are no transportation policies that meet the distance requirement.
These soft constraints are designed to leave at least one transportation policy in place for the set of lanes that have distances exceeding the Maximum Sourcing Distance.
- Preserve Customer Links: If this option is selected, the closest transportation link (from the set of lanes that have distances exceeding the Maximum Sourcing Distance) will be preserved and can be used to serve the customer even if it exceeds Maximum Sourcing Distance. To select this option in a scenario, select Network Optimization Options as the table and “Preserve Customer Links” as the field and select "Yes" as the value.
- Preserve Inter-Site Links: If this option is selected, the closest transportation link (from the set of lanes that have distances exceeding the Maximum Sourcing Distance) will be preserved and can be used for movements between facilities even if it exceeds Maximum Sourcing Distance. To select this option in a scenario, select Network Optimization Options as the table and “Preserve Inter-Site Links” as the field and select "Yes" as the value.
The following cases describe how lanes are assessed, based on the “Preserve Links Over Max Sourcing Distance” options.
Case 1: All lanes for source-customer-product are over-constrained by Maximum Sourcing Distance.
Source | Customer | Product | Maximum Sourcing Distance | Lane Distance | Cost |
DC1 | CZ | P1 | 350 | 400 | 1 |
DC2 | CZ | P1 | 180 | 200 | 5 |
DC3 | CZ | P1 | 200 | 300 | 3 |
Customer Facing Links option not selected:
- Network Optimization fails – There are no lanes available
Customer Facing Links option selected:
- DC2 - CZ - P1 is available – This is the shortest of the over-constrained lanes and it is used, even though it has the highest cost.
Case 2: One lane for source-customer-product is over-constrained by Maximum Sourcing Distance, other lanes do not have Maximum Sourcing Distance.
Source | Customer | Product | Maximum Sourcing Distance | Lane Distance | Cost |
DC1 | CZ | P1 | 350 | 400 | 1 |
DC2 | CZ | P1 | (null) | 200 | 5 |
DC3 | CZ | P1 | (null) | 300 | 3 |
Customer Facing Links option not selected:
- DC2 - CZ - P1 is available
- DC3 - CZ - P1 is available – This lane is selected based on cost.
Customer Facing Links option selected:
- DC1 - CZ - P1 is available – This is the shortest of the over-constrained lanes. It is selected based on cost.
- DC2 - CZ - P1 is available
- DC3 - CZ - P1 is available
Case 3: Two lanes for source-customer-product are over-constrained by Maximum Sourcing Distance, other lanes do not have Maximum Sourcing Distance.
Source | Customer | Product | Maximum Sourcing Distance | Lane Distance | Cost |
DC1 | CZ | P1 | 350 | 400 | 1 |
DC2 | CZ | P1 | (null) | 200 | 5 |
DC3 | CZ | P1 | (null) | 300 | 3 |
DC4 | CZ | P1 | 350 | 375 | 1.5 |
Customer Facing Links option not selected:
- DC2 - CZ - P1 is available
- DC3 - CZ - P1 is available – This lane is selected based on cost.
Customer Facing Links option selected:
- DC2 - CZ - P1 is available
- DC3 - CZ - P1 is available
- DC4 - CZ - P1 is available – This is the shortest of the over-constrained lanes. It is included even though it is more expensive than the lane from DC1. It is selected based on cost.
Case 4: Two lanes for source-customer-product are over-constrained by Maximum Sourcing Distance, other lanes have Maximum Sourcing Distance that is greater than Distance.
Source | Customer | Product | Maximum Sourcing Distance | Lane Distance | Cost |
DC1 | CZ | P1 | 350 | 400 | 1 |
DC2 | CZ | P1 | 350 | 200 | 5 |
DC3 | CZ | P1 | 350 | 300 | 3 |
DC4 | CZ | P1 | 350 | 375 | 1.5 |
Customer Facing Links option not selected:
- DC2 - CZ - P1 is available
- DC3 - CZ - P1 is available – This lane is selected based on cost.
Customer Facing Links option selected:
- DC2 - CZ - P1 is available
- DC3 - CZ - P1 is available – This lane is selected based on cost.
Notes for use of Preserve Links Over Max Sourcing Distance:
For specific models with (combinations of) certain constraints, using these options can potentially lead to infeasible models. For example, when you select the InterSite Links option, there can be manufacturing facilities that are not being used if they are outside of the Maximum Sourcing Distance value for all facilities and customers they could potentially serve. In addition, they may not be the closest manufacturer to any site or customer that does not have any sources left after applying the Maximum Sourcing Distance constraint. If production constraints are applied at these manufacturers and they are not allowed to hold inventory, this will lead to an infeasible model.
If you do not select either of the options, the Maximum Sourcing Distances set on the Site Sourcing Policies and Customers Sourcing Policies tables will be fully enforced.
Customer Model Demand
Select which data is used for customer demand when running Network Optimization and Greenfield Analysis:
- Run from Demand table – Customer demand comes from the Customer Demand table.
- Run from Orders table – Customer demand comes from the Customer Orders table.
To set this value in a scenario, select the “Customer Model Demand” field in the Network Optimization Options table and select one of Run from Demand table or Run from Orders table.
Site Model Demand
Select which data is used for Site demand when running Network Optimization and Greenfield Analysis:
- Run from Demand table – Site demand comes from the Site Demand table.
- Run from Orders table – Site demand comes from the Site Orders table.
To set this value in a scenario, select the “Site Model Demand” field in the Network Optimization Options table and select one of Run from Demand table or Run from Orders table.
When Infeasibility Is Detected
Use this option to select the method of Network Optimization infeasibility checking.
- Never – When this option is selected, Network Optimization runs without using the sequential optimization constraint checking process. If an infeasibility is detected, it is reported with a status of "Infeasible" in the model queue. Coupa recommends that you use this option and run the Infeasibility Diagnosis problem type as needed.
- When infeasibility is detected – Use this option when models are likely to be infeasible. When this option is selected, Network Optimization runs the sequential optimization constraint checking process to identify constraints or missing structure that is causing the model infeasibility. Constraint conflicts are reported in the Constraint Summary table and structural issues in the Customer/InterSite/Production Flows tables.
- Always – When this option is selected, Network Optimization runs. If an infeasibility is detected, it automatically runs the constraint checking process to identify constraints that are causing the model infeasibility. Constraint conflicts are reported in the Constraint Summary table.
See Network Optimization Infeasibility Diagnosis options for additional information.
Last modified: Friday May 12, 2023