
Wholesale Planning and Optimization Approach for Defense Systems
Explore the mathematical programming approach to wholesale planning for defense systems, balancing stock needs with operating costs through optimal solutions. Learn about the role of sustainment, ordering policies, and the Wholesale Simulator developed by IDA for financial and backorder performance comparison.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
A Mathematical Programming Approach to Wholesale Planning Nikolai D. Lipscomb Kyle Remley Benjamin Ashwell April 2024 Institute for Defense Analyses 730 East Glebe Road Alexandria, Virginia 22305
Sustainment is the art and science of ensuring that the DoDs weapon systems can accomplish their missions. $$ $$ The role of wholesale is to ensure that the right parts are on the shelf to support DoD systems. DoD materiel commands must carefully balance anticipated stock needs with the need to cover their own operating costs through sales to warfighting units. IDA has developed a tool for finding optimal solutions that balance these two competing objectives. 1
IDAs optimizer provides a repeatable methodology for examining the financial and readiness tradeoffs of different ordering policies. Ordering Decisions Committee Traditional Path Wholesale State New Path Budgets Backorders RFI Stock Repairable Stock Item Properties Demand Projections Lead Time Projections Optimizer Ordering Recommendations A policy is any set of repeatable logical rules for making ordering decisions based on pricing, lead time, stock, and any relevant historical item data. IDA s mathematical programming optimizer follows a policy. 2 RFI: Ready-for-Issue
Ordering recommendations are presented as a Buy List, which suggests what and how much to repair/procure. Repair or Procurement Replace Price Total Contract Quantity Item Identifier Description Repair Price Contract Cost Item 1 Flux Capacitor R $58,680 $488,770 15 $880,200 Item 1 Flux Capacitor P $58,680 $488,770 1 $488,770 Mr. Fusion Fuel System Item 2 R $17,590 $82,723 37 $650,830 Item 20,000 HEV Suit P $89,515 $918,204 2 $1,836,408 Amount ordered according to policy. R for Repair, P for Procurement. Order cost according to policy. 3
IDA developed a Wholesale Simulator (WholeSim) that can compare financial and backorder performance across different ordering policies. Backorders Profit Time Policy 1 Policy 2 Policy 1 Policy 2 Backorders are accrued over the time horizon. As demonstrated in these images, financial solvency and backorder mitigation are often competing objectives. Using different ordering policies, financial performance over historical demands can be simulated to determine policy performance. 4
The optimizer policy performs comparably to IDAs best heuristic policy in WholeSim, IDA s discrete event simulator for wholesale transactions. Backorders Heuristic Methods Fewer unresolved backorders, Stronger fiscal solvency Optimizer Profit 5
IDAs optimizer balances two competing goals when making ordering recommendations: maximizing profit and minimizing backorders. 0.3 0.7 ? Minimize Backorders Maximize Profit 0.8 0.2 ? Minimize Backorders Maximize Profit The optimizer balances priority between profit and backorders using a lever, which we refer to as the gamma parameter: ?. Objective: Minimize backorders while maximizing profit. Subject to: Preset Budget Categories must be obeyed. Repair orders cannot exceed available carcasses. Repair to the maximum extent possible before procurement. Existing backorders must be resolved first. Prioritize items based on demand forecastability. All ordering decisions are made at the beginning of the fiscal year. 6
The optimizer solves sequential linear programs (LPs) to determine a Buy List. Order Repairs and Procurements for Forecastable Items Order Repairs and Procurements for Nonforecastable Items Post- Remaining Budget Remaining Budget Resolve Backorders processing No tuning parameters are present in this part of the optimizer. ? objective tuning parameter used in both. ? is a tuning parameter that caps the number of orders for nonforecastable items. Ensures integer orders within constraints. ? is a tuning parameter that caps the number of orders for forecastable items. Restrict: Low ? High Restrict: None ? Low ? (gamma) is an objective function parameter, whereas ? (lambda) and ? (rho) are constraint hyperparameters. A distinct parameter combination gives us a distinct optimizer policy. These parameters are tuned by evaluating our optimizer across historically informed simulations. 7
Suppose we pick a balance between profit and backorder mitigation (fixed ?) and then vary the stock limit parameters. Where on this curve do we want to be? Fewer unresolved backorders, Stronger fiscal solvency Unresolved Backorders Recall that ? balances the weighting between two competing objectives: backorder minimization and profit maximization. Profit Potentially good choices! 8 Note: Each point corresponds to a pair of point estimates for backorders and profit at each parameter combination.
We examined the expected performance of the optimizer across several different parameter combinations and found the best options. Fewer unresolved backorders, Stronger fiscal solvency Gamma 1 0.1 0.01 0.001 0.0001 0.00001 0.000001 Backorders Profit This point represents a good balance between profit and backorders. However, the point you pick depends on your subjective risk tolerance. 9 Note: Each point corresponds to a pair of point estimates for Unresolved Backorders and CMEs at each parameter combination.
LPs treat decision variables as continuoushowever, an actual purchase order must be integer-valued. Order all items according to a priority scheme such as price. Rounding up does not exceed budget. For each fractional order: Round Up LPs permit fractional orders Rounding up does exceed budget. Round Down 10 LP: Linear Program
Conclusion Repeatable Interpretable Comprehensive ??? ? Statistical Learning Classical Optimization Keeps computational complexity low! 11
WholeSim is leveraged to evaluate potential hyperparameter values and also generate confidence regions for performance metrics, allowing us to compare policies. Update stock, backorders, F- condition, contracts, and PPRs for the next interval WholeSim Workflow No Required Inputs: Total Time Interval Projection Interval Initial Stock Initial Backorders Initial F-Condition Existing Contracts Demand Rates PPRs Item Lead Times Item Prices Obligation Authorities Contract according to the optimizer policy with specific (?,?,?) values. Project Stock over the Interval Total Time Interval Over? Interval begin Yes Outputs: Stock over Time Cash Flow Backorders To determine hyperparameter values, we run WholeSim across a grid of different values and pick the best parameter combination. 13 PPR: Pre-planned Requirement
Optimizer parameters Variable Description The carcass return rate for item ?. ???,? The repair survival rate for item ?. ???,? The repair price wholesale pays to repair a carcass of item ?. ?? The price the fleet pays for a replacement part if it provides a carcass of item ?. ?? The procurement price wholesale pays to buy a new unit of item ?. ?? The price the fleet pays for a replacement part if it cannot provide a carcass of item ?. ?? The steady-state (effective) price that the fleet pays for item ?. ??= ???,? ??+ 1 ???,? ??. ?? The steady-state (effective) price that wholesale pays for item ?. ??= r??,? ???,???+ 1 r??,? ???,??? ?? The number of carcasses-on-hand for item ? available to wholesale at the beginning of the fiscal year. ?? The budget limit for the fiscal year for budget category ?. ?? The current stock-on-hand for item ?. If ??< 0, then ?? is equal to the number of existing backorders for the item. ?? The number of due-ins of item ? from an existing contract from before the current fiscal year. ?? The expected number of demands for item ? over the effective lead time for the item. ?? (?) The number of PPRs over ? expected procurement lead times starting from the beginning of the fiscal year. ?? 14 PPR: Pre-planned Requirement
For each sequential LP step, there are decision variables and hyperparameters as detailed in the table below. Name Type Description The number of units of item ? to be contracted for repair during the current fiscal year as a result of the optimization performed by LP- ?, for ? = 1,2,3,4. (?) Decision Variable ?? The number of units of item ? to be contracted for procurement during the current fiscal year as a result of the optimization performed by LP number ?, for ? = 1,2,3,4. (?) Decision Variable ?? A value on the continuous range [0,1] that balances the weight between fiscal solvency and readiness in the objective function of LP-2, LP-3, and LP-4. If ? is close to 1, then CME dominates the objective function. If ? is close to 0, then resolved backorders dominate the objective function. Hyperparameter ? A positive real number that limits the number of CovLTs that may be contracted for any single forecastable item within the fiscal year across both repairs and procurements. Hyperparameter ? A nonnegative real number that limits the number of CovLTs that may be contracted for any single nonforecastable item within the fiscal year across both repairs and procurements. Hyperparameter ? Decision variables and hyperparameters are two distinct aspects of the model. Hyperparameters are fixed values in the LPs whereas decision variables are solved for in the LPs. 15 CovLT: Coverage Lead Time; CME: Collections Minus Expenditures; LP: Linear Program Note: To align with wholesale guidelines, the search space for (?,?) was limited to a subset of 1,3 [0,1].
LP-1 simply resolves existing backorders within budget and carcass availability constraints. max (1)+ ?? (1)) ??,?(?) ? ? ?(?? (1) ??, ??????? ?? ?? ? ? ?, (1) (1)+ ???? (1)) ??, ? ??(???? ? ?, (2) (1)+ ?? (1) max(0, ?? ??) ?? ? ? ?, (3) (1),?? (1) 0 ?? ? ? ?, (4) ? is the set of forecastable items, ? is the set of nonforecastable items, ? is the set of all AAC V items, ? is the set of all AAC Y items, ?? is the j-th budget category, ? is the index set of all budget categories. (1)= 0 ?? ? ? ?, (5) (1)= 0 ?? ? ?. (6) Constraint (1) limits repairs based on the number of carcasses available by item. Constraint (2) limits contracting actions according to budget category limits. Constraint (3) limits contracting actions to only resolve existing backorders minus due-ins Constraints (5-6) prevent AAC V/Y procurements and AAC Y repairs. Constraint (4) limits contracting actions to nonnegative values. AAC: Advice Acquisition Code; LP: Linear Program 16 Note: IDA used the Rglpk package for solving the linear programs presented in this memo.
LP-2 focuses on forecastable repairs and procurements while limiting procurements only to nonrepairable items. The objective balances fiscal solvency with readiness according to weighting hyperparameter ?. 2 + 2 max ??,?(?) (?( ?? ??) + (1 ?))?? (?( ?? ??) + (1 ?))?? ? ? ? ? ? ? (2) ?? ?? (1), ??????? ?? ?? ? ? ?, (1) (?)+ ???? (?)) ??, 2 ? ?? ?=1 (???? ? ? (2) (2)+ ?? (2),?? (2)= ?? (2)= 0 (2) max(0, ???+ ?? ? (??+ ??+ ?? 1+ ?? 1)) ?? ? ?, (3) (2) 0 ?? ? ?, (4) (2)= 0 ?? ? ?, (5) ? is the set of forecastable items, ? is the set of nonforecastable items, ? is the set of all AAC V items, ? is the set of all AAC Y items, ? is the set of repairable items, ?is the set of nonrepairable items, ?? is the j-th budget category, ? is the index set of all budget categories. ?? ? ? ?, 6 A discussion of the objective function is provided in Mathematical Details. (2)= 0 ?? ? ? ?, (7) (2)= 0 ?? ? ?. (8) Constraints (4-6) ensure only forecastable repairables are repaired and only forecastable nonrepairables are procured. Constraints (7-8) prevent AAC V/Y procurements and AAC Y repairs. Constraint (1) limits repairs based on the number of carcasses available by item. Constraint (2) limits contracting actions according to budget category limits. Constraint (3) is the ? backorder equation (see next slide). AAC: Advice Acquisition Code; LP: Linear Program 17 Note: Some constraints/variables may appear redundant, but this is designed to provide a general framework for the LP sections of the optimizer that allows easy adjustment to the logic.
These objectives and constraints play a major role in IDAs optimization methodology. ? + ? max ??,?(?) (?( ?? ??) + (1 ?))?? (?( ?? ??) + (1 ?))?? ? ? ? ? ? ? Weighting between expected return and resolved backorder. Expected return from a single item repair. For procurements, we consider time-averaged returns. (?)+ ?? (?) max(0, ???+ ?? ?+ ?? ?))) ? (??+ ??+ ?=1 ? 1(?? ?? Stock on-hand combined with due- ins and repairs/procurements from earlier-stage LPs. Repairs and procurements ordered by LP-?. Expected unplanned demands plus planned demands over ? expected lead times Unresolved expected backorders after ? expected lead times cannot be negative. 18 LP: Linear Program
LP-3 focuses on procurements of forecastable repairables under the same schematic as LP-2. ? is the set of forecastable items, ? is the set of nonforecastable items, ? is the set of all AAC V items, ? is the set of all AAC Y items, ? is the set of repairable items, ?is the set of unrepairable items, ?? is the j-th budget category, ? is the index set of all budget categories. 3 max ??,?(?) ? ? ?(?( ?? ??) + (1 ?))?? (?)+ ???? (?)) ??, 3 ? ?? ?=1 ??????? ?? (???? ? ? (1) (3)+ ?? (3) 0 (3) max(0, ???+ ?? ?+ ?? ?))) ? (??+ ??+ ?=1 2 ?? (?? ? ?, (2) ?? ? ?, (3) (3)= ?? (3)= 0 (3)= 0 ?? ? ?, (4) ?? ? ? ?, (5) (3)= 0 ?? ? ? ?, (6) (3)= 0 ?? ? ?. (7) Constraint (1) limits contracting actions according to budget category limits. Constraints (6-7) prevent AAC V/Y procurements and AAC Y repairs. Constraints (3-5) ensure only procurements of forecastable repairables are considered. Repair contracts are excluded from LP-3. Constraint (2) is the ? backorder equation for LP-3. AAC: Advice Acquisition Code; LP: Linear Program 19 Note: Some constraints/variables may appear redundant, but this is designed to provide a general framework for the LP sections of the optimizer that allows easy adjustment to the logic.
LP-4 finishes by handling contracts for nonforecastable items with the residual budget. 4 + 4 max ??,?(?) (?( ?? ??) + (1 ?))?? (?( ?? ??) + (1 ?))?? ? ? ? ? ? ? (4) ?? ?=1 (?), 3 ??????? ?? ?? ?? ? ? ?, (1) (?)+ ???? (?)) ??, 4 ? ?? ?=1 (4)+ ?? (4),?? (4)= ?? (4)= 0 (???? ? ? (2) (4) max(0, ???+ ?? (4) 0 ?+ ?? ?))) ? (??+ ??+ ?=1 3 ?? (?? ? ?, (3) ?? ? ?, (4) ? is the set of forecastable items, ? is the set of nonforecastable items, ? is the set of all AAC V items, ? is the set of all AAC Y items, ? is the set of repairable items, ?is the set of unrepairable items, ?? is the j-th budget category, ? is the index set of all budget categories. (4)= 0 ?? ? ?, (5) ?? ? ? ?, (6) (4)= 0 ?? ? ?. (7) Constraint (2) limits contracting actions according to budget category limits. Constraints (6-7) prevent AAC V/Y procurements and AAC Y repairs. Constraint (1) limits repairs based on the number of carcasses available by item. Constraints (4-5) ensure contracting actions are limited to nonforecastable items only. Constraint (3) is the ? backorder equation for LP-4. AAC: Advice Acquisition Code; LP: Linear Program 20 Note: Some constraints/variables may appear redundant, but this is designed to provide a general framework for the LP sections of the optimizer that allows easy adjustment to the logic.
The optimizer contains an optional afterburner subfunction which exhausts any residual budget that might arise. The optimizer may under purchase within weapon system budgets for various reasons: Hyperparameter choices can restrict purchasing. Pricing issues (leading to expected losses) can make certain contracting actions undesirable. Afterburner Steps (Per System): Is highest ranked item too expensive based on residual budget? Remove item from list. Yes Rank all items by forecastability, then by financial score (high to low). No No Is list empty? Is highest ranked item at capacity according to wholesale guidelines? Yes Yes No Afterburner is complete. Financial Score = ?? ?? r??,? ???,???,?+ 1 r??,? ???,???,? Contract for one additional unit of this item. 21 ??,? the repair lead time for item ?; ??,? the procurement lead time for item ?