Spend constraints
Spend constraints provide a way for you to align the costs in your model to the financials of your business. You can identify budget constraints and combine various supply chain costs to adhere to those constraints. The outputs from spend constraints give you an efficient way to analyze the budget vs spend in your supply chain.
Use this feature to model spend constraints that are respected by Network Optimization. For example, you can provide a maximum budget of $25,000,000 for supply chain site operating cost spend. The solver must optimize the network design without exceeding this spend budget. Constraints can be defined at an individual element level or group level, enabling you to control exactly which elements are covered by the constraint, such as limiting transportation spend for selected modes. Applications of spend constraints include:
-
Creating a spend account to constrain a particular network cost. For example, you can set a budget for the fixed startup cost on new facilities for the model horizon.
-
Assigning various types of supply chain spend to a single account that acts as a high level bucket, such as "Facilities spend" and "Work Centers spend".
-
Defining expressions to require a minimum percentage of a spend account for a particular set of sites.
-
Combining multiple spend accounts and applying constraints to these new cost buckets for additional control over the network. For instance, you can set up a cost ratio to control the site startup spend for new East DCs vs new West DCs.
Spend constraints inputs and outputs
You control spend constraints using two input tables:
-
Spend Accounts - Use this table to apply a specific network cost to the spend account, define a maximum spend (if required) and the scope of records to which the account applies. For example, if you are defining a spend account for Fixed Site Operating Cost, you can identify the individual sites or group(s) of sites that are included in the constraint. If you define a Max Spend, this value acts as a hard constraint - when the model is solved, the max spend cannot be exceeded summing the network cost across the selected set of records. Costs are only defined over the relevant columns for a specific Network Cost. For example, Fixed Site Operating Cost is based on Site and Period. If you define a value for the Work Center column in the record, it will be ignored.
-
Spend Expressions - Use this table to define relationships between spend accounts. For example, you can identify two or more spend accounts and apply a maximum cost across those spend accounts. Or you can establish ratios, such as one spend account must represent 25% of the total spend across a number of accounts.
You can define constraint types in Spend Expressions using the Element column. These apply to both spend accounts and expressions:
-
Constraint - Min: Spend at least this amount or at least as much as another account/collection of accounts.
-
Constraint - Max: Spend at most this amount or at most as much as another account/collection of accounts.
-
Constraint - Fixed: Spend exactly this amount or exactly the same as another account/collection of accounts.
-
Constraint - Conditional Min: If something is spent, spend at least this amount. Conditional min cannot be applied to another account/collection of accounts. This would result in a non-linear optimization problem, which is not supported in general in the solver engine.
Utilization information for these accounts and expressions is provided in the Network Spend Account Summary and Network Spend Expression Summary output tables.
Currently supported use cases
-
Create an account that is a collection of costs. For example:
-
the "East Coast Fixed" account includes the fixed operating costs for all sites on the east coast of the United States.
-
the "Bracket Producers Capital" account includes the fixed capital investment costs for all US manufacturers making all bracket products.
-
-
Scaling of costs to reflect the relative value of the spend across accounts. For example:
-
the "US Spend" account is defined as "Bracket Producers Capital" + 2 * "East Coast Fixed". In this case, each dollar spent on the "East Coast Fixed" account is worth two dollars in the "US Spend" account. This could reflect overhead or other related costs.
-
-
Combine spend accounts using spend expressions and include a constraining budget. For example:
-
the "Global Spend" expression = "Bracket Producers Capital" + "East Coast Fixed" <= $1B.
-
-
Use spend expressions to balance spend accounts. For example, you could use spend expressions to balance accounts so the spend in the US is the same as in EMEA:
-
the "Balance Spend" expression is defined so the "US Spend" = "EMEA Spend"
-
Spend constraints examples
Example 1: Collection of costs
In this example, we apply a maximum spend for the startup cost for candidate distribution centers (identified in a dynamic filter called "Candidate_DCs). We define the Spend Account as follows:
Name | Network Cost | Max Spend | Period | Location |
---|---|---|---|---|
Candidate Startup Cost | Fixed Site Startup Cost | 30000000 | (ALL_Periods) | Candidate_DCs |
The candidate DCs used in the solution is limited by the $30M max spend for the total of their Fixed Startup Cost values.
Example 2: Constraint applied to multiple spend accounts
In this example, we create a spend account with two different costs. We then use a spend expression to define a maximum that can be spent across the sum of these costs. We will use the Candidate_DCs filter to collect the Fixed Startup Cost values for candidate DCs, and the All_DCs filter to collect the Fixed Operating Costs across both existing and candidate DCs. The Spend Account is defined as follows:
Name | Network Cost | Max Spend | Period |
Location |
---|---|---|---|---|
DC Fixed Cost | Fixed Site Operating Cost | (ALL_Periods) | All_DCs | |
DC Fixed Cost | Fixed Site Startup Cost | (ALL_Periods) | Candidate_DCs |
Note that there are two Network Cost values associated with a single account name. Also, we do not supply a Max Spend for the individual cost records. We then constrain the pair of costs using a Spend Expression made up of 2 records:
Name | Element | Value |
---|---|---|
Max DC Fixed Spend | DC Fixed Cost | 1.00 |
Max DC Fixed Spend | Constraint - Max | 37,000,000 |
Example 3: Constraint defining a ratio between accounts
In this example, we establish a ratio of site startup spend between two regions using a spend expression. Here are the two Spend Account records:
Name | Network Cost | Max Spend | Period |
Location |
---|---|---|---|---|
DC Startup East | Fixed Site Startup Cost | (ALL_Periods) | East_DCs | |
DC Startup West | Fixed Site Startup Cost | (ALL_Periods) | West_DCs |
The Spend Expression records are defined as shown below.
Name | Element | Value |
---|---|---|
Equal Regional Startup Spend | DC Startup East | 1.00 |
Equal Regional Startup Spend | DC Startup West | -1.00 |
Equal Regional Startup Spend | Constraint - Fixed | 0 |
Last modified: Friday May 12, 2023