What's new in Supply Chain Guru X
Welcome to Supply Chain Guru X May 2025 (R42). Here's what's new in this release.
Platform support for model versions
The Supply Chain platform supports solving models with a database schema of up to one year old. This includes models from releases back to the R40 release (schema version 408000). You must upgrade models with unsupported schemas before solving, modeling, using with apps, or solving on the cloud. The following schema version, and older model schemas, are no longer supported:
-
Release R39 (schema 407000)
Changes to platform integration for older versions of Supply Chain Guru X
Integration between the Supply Chain platform and versions R39 and earlier of Supply Chain Guru X and Data Guru is no longer supported. This update is part of our ongoing commitment to strengthen network security and affects logins to Supply Chain from these older versions. Integration features such as Cloud Solving and the ability to upload and download models and data from within these versions is no longer available. Note that this change does not impact the local functionality of your desktop products or your ability to upload and download assets through a browser.
To continue using Data Guru and Supply Chain Guru X with the Supply Chain platform seamlessly, upgrade to the latest version of the desktop products.
Updated solver technology
The underlying technology in the Network Optimization, Inventory Optimization, and Transportation Optimization solvers is updated to improve performance. Supply Chain Guru X is also updated to the new solver technology. You can continue to run solves on Supply Chain Guru X versions prior to R42 with the existing technology.
The update to the platform solvers is for all supported model versions (R40, R41, R42). Cloud solves use the new solver technology for versions R40, R41, and R42.
Next Generation solver as default for cloud solving
Next Generation solvers are the default for cloud solving from Supply Chain Guru X for Network Optimization, Inventory Optimization, and Transportation Optimization. These solvers provide improved performance, “round robin” processing of requests, and the removal of strict limitations on the maximum number of design engines. The solvers offer the same technology as the standard design engines, with enhanced performance.
-
Copy the SupplyChainGuru.exe.config file from the Supply Chain Guru X installation folder (typically C:\Program Files\Coupa\Supply Chain Guru X), to a folder such as Documents.
-
Open the copied SupplyChainGuru.exe.config file in a text editor.
-
In the <appSettings> section, edit this key and change the value to "false":
<add key="EnableNextGenSolves" value="true"/>
When the key is set to "true", the Next Gen solvers are used for cloud solving; when set to "false", the standard design engines are used. -
Save the file.
-
As an Administrator, copy the SupplyChainGuru.exe.config file back to the installation folder (C:\Program Files\Coupa\Supply Chain Guru X).
When you launch Supply Chain Guru X, cloud solves uses the standard design engines rather than the Next Gen solvers.
Platform folder display
Folders are supported in the Supply Chain platform to help organize your assets. When downloading a model from the platform to Supply Chain Guru X, the folder location of the model is displayed in addition to the model name. This applies to models you own and those shared with you. When the model is in the user’s root folder on the platform (“My Assets” in Data Management), the username is displayed. When the model is in a folder or sub-folder, the folder path is also displayed.
Cost To Serve enhancements
Cost To Serve Analysis tracks refundable and non-refundable tax, reporting this information in the Cost To Serve Details and Path Summary output tables. You define the taxes in the Taxes and Duties and Tax and Duty Regions input tables.
In addition, there are customer and finished good product summary output tables for Cost To Serve Analysis: Cost To Serve Customer Summary and Cost To Serve Finished Goods Summary.
Production process modeling in Simulation
The Simulation solver supports production process modeling as already supported in Classic Simulation. You define the production processes using the Production Processes, Production Process Steps, and Production Process Assignments input tables. In Production Processes, the only Type supported is "Run Production".
In addition, you can apply business hours to Work Centers and Work Resources using the Entity column in the Business Hours table.
Coupa Data Services removed from geocoding and routing
Coupa Data Services is deprecated as a geocoding and routing provider in Supply Chain Guru X.
User defined text fields default length
User defined fields with a type of Text are created as nvarchar(300) to match the behavior in the Supply Chain platform. Previously, they were created as nvarchar(MAX).

Important notes:
-
Several columns are no longer available in the user interface. These are columns that are not currently in use by a solver. The columns are still defined in the model database tables. Review columns that have a Description of Change value of "Removed from UI (not currently in use)".
-
Please review columns that have a Description of Change value of "Data Type change", "Column removed" or "Change in Required". If you use these columns in a workflow, you may need to adjust the workflow to support the new data type or requirement.
Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
OptionsSnapshot (Table not displayed in the UI) |
ID |
New table/column |
OptionsSnapshot |
ID |
Integer |
Yes |
SnapshotID |
New table/column |
OptionsSnapshot |
SnapshotID |
GUID |
Yes |
|
Option |
New table/column |
OptionsSnapshot |
Option |
Text |
Yes |
|
Value |
New table/column |
OptionsSnapshot |
Value |
Text |
No |
|
SnapshotLookup (Table not displayed in the UI) |
ID |
New table/column |
SnapshotLookup |
ID |
Integer |
Yes |
SnapshotName |
New table/column |
SnapshotLookup |
SnapshotName |
Text |
Yes |
|
SnapshotID |
New table/column |
SnapshotLookup |
SnapshotID |
GUID |
Yes |
|
Type |
New table/column |
SnapshotLookup |
Type |
Text |
Yes |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Work Center Queue Depth Detail |
Product |
Renamed to Work Center |
SimulationOutputWorkCenterQueueDepthDetail |
WORKCENTER |
Text |
Cost To Serve Details |
Refundable Tax |
New column |
OptimizationOutputNetworkPathDetails |
RefundableTax |
Money |
Non-Refundable Tax |
New column |
OptimizationOutputNetworkPathDetails |
NonRefundableTax |
Money |
|
Path Summary |
Refundable Tax |
New column |
OutputPathsSummary |
RefundableTax |
Money |
Non-Refundable Tax |
New column |
OutputPathsSummary |
NonRefundableTax |
Money |
|
OptimizationOutputCostAllocation_Lane (Table not displayed in the UI) |
Refundable Tax |
New column (not displayed in the UI) |
OptimizationOutputCostAllocation_Lane |
RefundableTax |
Money |
Non-Refundable Tax |
New column (not displayed in the UI) |
OptimizationOutputCostAllocation_Lane |
NonRefundableTax |
Money |
|
Cost To Serve Customer Summary |
Customer |
New table/column |
OutputCostToServeCustomerSummary |
CustomerName |
Text |
Total Paths |
New table/column |
OutputCostToServeCustomerSummary |
TotalPath |
Float |
|
Max Path Length |
New table/column |
OutputCostToServeCustomerSummary |
MaxPathLength |
Float |
|
Min Path Length |
New table/column |
OutputCostToServeCustomerSummary |
MinPathLength |
Float |
|
Average Path Length |
New table/column |
OutputCostToServeCustomerSummary |
AvgPathLength |
Float |
|
Total Revenue |
New table/column |
OutputCostToServeCustomerSummary |
TotalRevenue |
Money |
|
Total Cost |
New table/column |
OutputCostToServeCustomerSummary |
TotalCost |
Money |
|
Total Profit |
New table/column |
OutputCostToServeCustomerSummary |
TotalProfit |
Money |
|
Total Lane Cost |
New table/column |
OutputCostToServeCustomerSummary |
TotalLaneCost |
Money |
|
Total Site Cost |
New table/column |
OutputCostToServeCustomerSummary |
TotalSiteCost |
Money |
|
Total Site Product Cost |
New table/column |
OutputCostToServeCustomerSummary |
TotalSiteProductCost |
Money |
|
Total Other Cost |
New table/column |
OutputCostToServeCustomerSummary |
TotalOtherCost |
Money |
|
Total Flow Rate |
New table/column |
OutputCostToServeCustomerSummary |
TotalFlowRate |
Float |
|
Total Revenue Rate |
New table/column |
OutputCostToServeCustomerSummary |
TotalRevenueRate |
Float |
|
Total Profit Rate |
New table/column |
OutputCostToServeCustomerSummary |
TotalProfitRate |
Float |
|
Total Weighted Service Time |
New table/column |
OutputCostToServeCustomerSummary |
TotalWeightedServiceTime |
Float |
|
Total Flow Risk |
New table/column |
OutputCostToServeCustomerSummary |
TotalFlowRisk |
Float |
|
Total Revenue Risk |
New table/column |
OutputCostToServeCustomerSummary |
TotalRevenueRisk |
Float |
|
Total Profit Risk |
New table/column |
OutputCostToServeCustomerSummary |
TotalProfitRisk |
Float |
|
Scenario ID |
New table/column |
OutputCostToServeCustomerSummary |
ScenarioID |
Integer |
|
Sub-Scenario ID |
New table/column |
OutputCostToServeCustomerSummary |
StepNumber |
Integer |
|
Cost To Serve Finished Goods Summary |
Product |
New table/column |
OutputCostToServeFinishedGoodsSummary |
ProductName |
Text |
Total Paths |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalPath |
Float |
|
Max Path Length |
New table/column |
OutputCostToServeFinishedGoodsSummary |
MaxPathLength |
Float |
|
Min Path Length |
New table/column |
OutputCostToServeFinishedGoodsSummary |
MinPathLength |
Float |
|
Average Path Length |
New table/column |
OutputCostToServeFinishedGoodsSummary |
AvgPathLength |
Float |
|
Total Revenue |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalRevenue |
Money |
|
Total Cost |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalCost |
Money |
|
Total Profit |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalProfit |
Money |
|
Total Lane Cost |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalLaneCost |
Money |
|
Total Site Cost |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalSiteCost |
Money |
|
Total Site Product Cost |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalSiteProductCost |
Money |
|
Total Other Cost |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalOtherCost |
Money |
|
Total Flow Rate |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalFlowRate |
Float |
|
Total Revenue Rate |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalRevenueRate |
Float |
|
Total Profit Rate |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalProfitRate |
Float |
|
Total Weighted Service Time |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalWeightedServiceTime |
Float |
|
Total Flow Risk |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalFlowRisk |
Float |
|
Total Revenue Risk |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalRevenueRisk |
Float |
|
Total Profit Risk |
New table/column |
OutputCostToServeFinishedGoodsSummary |
TotalProfitRisk |
Float |
|
Scenario ID |
New table/column |
OutputCostToServeFinishedGoodsSummary |
ScenarioID |
Integer |
|
Sub-Scenario ID |
New table/column |
OutputCostToServeFinishedGoodsSummary |
StepNumber |
Integer |
Changes for prior releases

Platform support for model versions
The Supply Chain platform supports solving models with a database schema of up to 1 year old. As of the January 2025 release (R41), this includes models from releases back to the R39 release (schema version 407000). Models with unsupported schemas must be upgraded before solving, modeling, using with apps, or solving on the cloud. As of R41, support is ending for the following schema version, and older model schemas:
-
Release R38 (schema 406000)
Changes to platform integration for older versions of Supply Chain Guru X
Starting with the May 2025 Release (R42), integration between the llama.ai platform and versions R39 and earlier of Supply Chain Guru X and Data Guru will no longer be supported. This update is part of our ongoing commitment to strengthen network security and will affect logins to llama.ai from these older versions. Integration features such as Cloud Solving and the ability to upload and download models and data from within these versions will no longer be available. Note that this change does not impact the local functionality of your desktop products or your ability to upload and download assets through a browser.
To continue using Data Guru and Supply Chain Guru X with llama.ai seamlessly, upgrade to the latest version of the desktop products.
Optimize networks to minimize risk level
When you populate Risk Profiles in your model, Network Optimization outputs a composite risk score for the sites in the network. However, this risk score does not affect the optimization results. In this release, you can use risk as a constraint and as an objective for Network Optimization. Updates to input tables, sequential objectives, constraints, and parameters enable Network Optimization to minimize risk and respect maximum risk levels.
You can define a Maximum Risk constraint value per product in the Products table. The product risk is the weighted average of the product flows or revenue through the sites to calculate the weighted average site risk score. The site risk score is based on the weighted average of user-entered scores in the Risk Profile table when a Risk Profile is assigned to a site. You can also constrain risk at the network level with the Maximum Network Risk option in Network Optimization Options.
To apply risk as part of the objective, create one or more Sequential Objective records targeting the new risk-based objectives, then run Sequential Optimization:
-
Total Network Risk - This objective is based on the weighted average aggregated risk across all the facilities in the network.
-
Maximum Network Risk - This objective relaxes the risk constraint defined by the Maximum Network Risk value specified in Network Optimization Options, and puts the deviation term into the objective.
-
Maximum Product Risk - This objective relaxes the risk constraint defined by the Maximum Risk value specified in the Products table, and puts the deviation term into the objective.
New output tables and columns report the aggregated risk scores and provide percentage summaries of high, moderate, and low risk flows in the solution.
Changes to scores in Risk Profiles
The four Custom Score columns in the Risk Profiles table are now evaluated on a scale of 0 to 100 where higher scores signify higher risk. Previously, a high score signified a low risk.
Cost To Serve features
Additional columns are available in cost to serve-related output tables. The Site Variable Cost and Space Expansion Cost are now included in the Network Path Details and Path Summary output tables.
Space Expansion Cost is also included as an input when running Cost To Serve Analysis.
New configuration parameters have been added for Cost To Serve Analysis:
-
CTSFilter_TopProdsByCostPercentage - The final products are ranked by the cost related to them, then the percentage entered for this parameter is used to select the top x products. Cost To Serve Analysis is run on this smaller set of products, resulting in fewer paths in the output. The value is between 0 and 1.
-
CTSFilter_TopProdsByProfitPercentage - The final products are ranked by the profit related to them, then the percentage entered for this parameter is used to select the top x products. Cost To Serve Analysis is run on this smaller set of products, resulting in fewer paths in the output. The value is between 0 and 1.
Populate these parameters in the Config_NO table and set the Status to “Include” to use them in Cost To Serve Analysis.
Network Optimization dynamic termination settings
Network Optimization supports dynamic termination settings, enabling you to stop a solve based on settings such as the maximum time since the last solution was found, the maximum percent of memory consumed by the solve, and others. These settings support better tuning of solve terminations.
The settings are available on the Termination Settings tab in Network Optimization Options:
-
Maximum Time Since Last Solution – Stops the model after no better solution has been found for the time entered (in seconds).
-
Maximum Time Since Last Improvement – Stops the model after no better gap has been found for the time entered (in seconds).
-
Dynamic Percent Gap - Allows the termination percent gap to change over the solving process. Define a step function where the first value in each pair is the gap percentage and the second is the run time (in seconds). Two sets of values are supported.
-
Dynamic Absolute Gap - Allows the termination percent gap to change over the solving process. Define a step function where the first value in each pair is the absolute gap and the second is the run time (in seconds). Two sets of values are supported.
-
Max Memory Consumption Percent - Forces the solve to stop after system memory consumption reaches the percentage defined by the limit.

Important notes:
-
Several columns are no longer available in the user interface. These are columns that are not currently in use by a solver. The columns are still defined in the model database tables. Review columns that have a Description of Change value of "Removed from UI (not currently in use)".
-
Please review columns that have a Description of Change value of "Data Type change", "Column removed" or "Change in Required". If you use these columns in a workflow, you may need to adjust the workflow to support the new data type or requirement.
Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Products |
Maximum Risk |
New column |
Products |
MaximumRisk |
Float |
No |
Work Centers |
Shift Pattern |
Removed from UI (not currently in use) |
WorkCenters |
ShiftPattern |
Text |
No |
Work Resources |
Shift Pattern |
Removed from UI (not currently in use) |
WorkResources |
ShiftPattern |
Text |
No |
Work Resources |
Fixed Resource Cost |
Data Type change |
WorkResources |
UnitFixedCost |
Text |
No |
Work Resources Multi-Period |
Fixed Resource Cost |
Data Type change |
WorkResources_MultiPeriod |
UnitFixedCost |
Text |
No |
Sequential Objectives |
Other |
Removed from UI (not currently in use) |
SequentialObjectives |
Other |
Text |
No |
Scenarios |
Classification |
New column (not displayed in the UI) |
Scenarios |
Classification |
Text |
Yes |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Network Summary |
Aggregated Risk Score |
New column |
OptimizationOutputNetworkSummary |
AggregatedRiskScore |
Float |
Risk Profile Summary (The Risk Summary table has been renamed in the UI to Risk Profile Summary.) |
Aggregated Risk Score |
New column |
OptimizationOutputSupplierRiskSummary |
AggregatedRiskScore |
Float |
Site Risk Summary |
Aggregated Risk Score |
New column |
OptimizationOutputSiteRiskSummary |
AggregatedRiskScore |
Float |
Site Product Risk Summary |
Aggregated Risk Score |
New column |
OptimizationOutputProductRiskSummary |
AggregatedRiskScore |
Float |
Path Summary
|
Site Variable Cost |
New column |
OutputPathsSummary |
SiteVariableCost |
Money |
Space Expansion Cost |
New column |
OutputPathsSummary |
SpaceExpansionCost |
Money |
|
Cost To Serve Details
|
Site Variable Cost |
New column |
OptimizationOutputNetworkPathsDetails |
SiteVariableCost |
Money |
Space Expansion Cost |
New column |
OptimizationOutputNetworkPathsDetails |
SpaceExpansionCost |
Money |
|
Backend table for Cost To Serve Analysis (not displayed in the UI) |
Space Expansion Cost (not displayed in UI) |
New column |
OptimizationOutputCostAllocation_Site |
SpaceExpansionCost |
Money |
Network Risk Summary
|
Aggregated Risk Score |
New table/column |
NetworkRiskSummary |
AggregatedRiskScore |
Float |
Percentage Low Risk |
New table/column |
NetworkRiskSummary |
PercentageLowRisk |
Float |
|
Percentage Moderate Risk |
New table/column |
NetworkRiskSummary |
PercentageModerateRisk |
Float |
|
Percentage High Risk |
New table/column |
NetworkRiskSummary |
PercentageHighRisk |
Float |
|
Scenario ID |
New table/column |
NetworkRiskSummary |
ScenarioID |
Integer |
|
Sub-Scenario ID |
New table/column |
NetworkRiskSummary |
StepNumber |
Integer |
|
Product Risk Summary
|
Product |
New table/column |
ProductRiskSummary |
ProductName |
Text |
Aggregated Risk Score |
New table/column |
ProductRiskSummary |
AggregatedRiskScore |
Float |
|
Percentage Low Risk |
New table/column |
ProductRiskSummary |
PercentageLowRisk |
Float |
|
Percentage Moderate Risk |
New table/column |
ProductRiskSummary |
PercentageModerateRisk |
Float |
|
Percentage High Risk |
New table/column |
ProductRiskSummary |
PercentageHighRisk |
Float |
|
Scenario ID |
New table/column |
ProductRiskSummary |
ScenarioID |
Integer |
|
Sub-Scenario ID |
New table/column |
ProductRiskSummary |
StepNumber |
Integer |
Optional solver parameter changes
This table lists parameters that have been added to the Advanced Parameter Tables for the various technologies:
Technology |
Parameter Name |
Description of Change |
Parameter Value |
Parameter Description |
---|---|---|---|---|
Network Optimization |
CTSFilter_TopProdsByCostPercentage |
New parameter, |
Between 0 and 1 |
The final products are ranked by the cost related to them, then the percentage entered for this parameter is used to select the top x products. Cost To Serve Analysis is run on this smaller set of products, resulting in fewer paths in the output. |
Network Optimization |
CTSFilter_TopProdsByProfitPercentage |
New parameter, |
Between 0 and 1 |
The final products are ranked by the profit related to them, then the percentage entered for this parameter is used to select the top x products. Cost To Serve Analysis is run on this smaller set of products, resulting in fewer paths in the output. |
Network Optimization |
Risk_Formulation_Basis |
New parameter, |
One of: |
Set this parameter to "Revenue" if you want to multiply revenue with the risk score as the risk term in the objective, otherwise set it to "Flow" to multiply the throughput with the risk score. |

Platform support for model versions
The Supply Chain platform supports solving models with a database schema of up to 1 year old. As of August 2024 release (R40), this includes models from releases back to the R38 release (schema version 406000). Models with unsupported schemas must be upgraded prior to solving, modeling, using with apps or solving on the cloud. As of R40, support is ending for the following schema version, as well as older model schemas:
-
Release R37 (schema 405000)
Cost To Serve updates
New output tables provide additional information pertaining to the enhanced Cost To Serve Analysis. The Cost To Serve Network Summary gives scenario-level metrics about the paths created by Cost To Serve, including path lengths, costs, revenue, and profit values. The Path Summary has path-level details, including many cost metrics, revenue, and profit values.
Sequential Objectives for spatial modeling
A set of objectives is available in the Sequential Objectives table for use with spatial modeling:
-
Maximum Site Expansion
-
Minimum Site Expansion
-
Maximum Storage Space Expansion
-
Minimum Storage Space Expansion
-
Maximum Shipping Space Expansion
-
Minimum Shipping Space Expansion
In support of these objectives, Storage Space and Shipping Space columns have been added to the Sequential Objectives table.
Multi-stop dock door scheduling
Dock door scheduling is now supported for multiple stops on a route. The previous limitation that a dock door is applied only to one stop on a route has been removed. New columns in the Customers table also let you define the number of dock doors and dock door reset time at customer locations. Transportation Optimization considers these constraints and assigns docks doors on the route for both site and customer stops.
The new Dock Door Assignment output table summarizes dock door use at site and customer locations for each route.
Improved platform sign in feature
The process of signing into the Supply Chain platform from Supply Chain Guru X has been aligned with the standard platform sign in. From Supply Chain Guru X, you are directed to a browser tab using your default browser.
If you are already signed into the platform, you will not have to enter your credentials. If you are not already signed in, enter your credentials to sign in for both Supply Chain Guru X and the platform. Signing out from Supply Chain Guru X signs you out of both the desktop and platform products.

Important notes:
-
This table was added to the model database schema in a previous release. It has been exposed in the user interface for this release: Rapid Network Explorer Summary.
-
Please review columns that have a Description of Change value of "Data Type change", "Column removed" or "Change in Required". If you use these columns in a workflow, you may need to adjust the workflow to support the new data type or requirement.
Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Customers
|
Number of Dock Doors |
New column |
Customers |
NumberOfDockDoors |
Integer |
No |
Dock Door Reset Time |
New column |
Customers |
DockDoorResetTime |
Text |
No |
|
Sequential Objectives
|
Storage Space |
New column |
SequentialObjectives |
StorageSpaceName |
Text |
No |
Shipping Space |
New column |
SequentialObjectives |
ShippingSpaceName |
Text |
No |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Network Summary |
Solver Termination Condition |
New column |
OptimizationOutputNetworkSummary |
SolverTerminationCondition |
Text |
Cost To Serve Network Summary
|
Run Time |
New table/column |
OutputCostToServeSummary |
RunTime |
Text |
Peak Memory Usage |
New table/column |
OutputCostToServeSummary |
PeakMemoryUsage |
Text |
|
Total Paths |
New table/column |
OutputCostToServeSummary |
TotalPath |
Integer |
|
Total Reported Paths |
New table/column |
OutputCostToServeSummary |
TotalReportedPath |
Integer |
|
Total Cross Period Paths |
New table/column |
OutputCostToServeSummary |
TotalCrossPeriodPath |
Integer |
|
Max Path Length |
New table/column |
OutputCostToServeSummary |
MaxPathLength |
Integer |
|
Min Path Length |
New table/column |
OutputCostToServeSummary |
MinPathLength |
Integer |
|
Average Path Length |
New table/column |
OutputCostToServeSummary |
AveragePathLength |
Float |
|
Total Revenue |
New table/column |
OutputCostToServeSummary |
TotalRevenue |
Money |
|
Total Cost |
New table/column |
OutputCostToServeSummary |
TotalCost |
Money |
|
Total Profit |
New table/column |
OutputCostToServeSummary |
TotalProfit |
Money |
|
Total Lane Cost |
New table/column |
OutputCostToServeSummary |
TotalLaneCost |
Money |
|
Total Site Cost |
New table/column |
OutputCostToServeSummary |
TotalSiteCost |
Money |
|
Total Site Product Cost |
New table/column |
OutputCostToServeSummary |
TotalSiteProductCost |
Money |
|
Total Other Cost |
New table/column |
OutputCostToServeSummary |
TotalOtherCost |
Money |
|
Total Flow Rate |
New table/column |
OutputCostToServeSummary |
TotalFlowRate |
Float |
|
Total Revenue Rate |
New table/column |
OutputCostToServeSummary |
TotalRevenueRate |
Float |
|
Total Profit Rate |
New table/column |
OutputCostToServeSummary |
TotaProfitRate |
Float |
|
Total Weighted Service Time |
New table/column |
OutputCostToServeSummary |
TotalWeightedServiceTime |
Float |
|
Scenario ID |
New table/column |
OutputCostToServeSummary |
ScenarioID |
Integer |
|
Sub-Scenario ID |
New table/column |
OutputCostToServeSummary |
StepNumber |
Integer |
|
Path Summary
|
Path ID |
New table/column |
OutputPathsSummary |
PathID |
Integer |
Start Product |
New table/column |
OutputPathsSummary |
StartProduct |
Text |
|
Finished Good |
New table/column |
OutputPathsSummary |
FinishedGood |
Text |
|
Start Site |
New table/column |
OutputPathsSummary |
StartSite |
Text |
|
Customer Name |
New table/column |
OutputPathsSummary |
CustomerName |
Text |
|
Start Period |
New table/column |
OutputPathsSummary |
StartPeriodName |
Text |
|
Start Period Number |
New table/column |
OutputPathsSummary |
StartPeriodNumber |
Integer |
|
End Period |
New table/column |
OutputPathsSummary |
EndPeriodName |
Text |
|
End Period Number |
New table/column |
OutputPathsSummary |
EndPeriodNumber |
Integer |
|
Demand Qty |
New table/column |
OutputPathsSummary |
DemandQty |
Float |
|
Flow Unit Qty |
New table/column |
OutputPathsSummary |
FlowUnitQty |
Float |
|
Total Cost |
New table/column |
OutputPathsSummary |
TotalCost |
Money |
|
Other Cost |
New table/column |
OutputPathsSummary |
OtherCost |
Money |
|
Fixed Startup Cost |
New table/column |
OutputPathsSummary |
FixedStartupCost |
Money |
|
Fixed Operating Cost |
New table/column |
OutputPathsSummary |
FixedOperatingCost |
Money |
|
Closing Cost |
New table/column |
OutputPathsSummary |
ClosingCost |
Money |
|
Production Cost |
New table/column |
OutputPathsSummary |
ProductionCost |
Money |
|
Transportation Cost |
New table/column |
OutputPathsSummary |
TransportationCost |
Money |
|
Facility Inventory Holding Cost |
New table/column |
OutputPathsSummary |
FacilityInventoryHoldingCost |
Money |
|
Intransit Inventory Holding Cost |
New table/column |
OutputPathsSummary |
IntransitInventoryHoldingCost |
Money |
|
Sourcing Cost |
New table/column |
OutputPathsSummary |
SourcingCost |
Money |
|
Inbound Warehousing Cost |
New table/column |
OutputPathsSummary |
InboundWarehousingCost |
Money |
|
Outbound Warehousing Cost |
New table/column |
OutputPathsSummary |
OutboundWarehousingCost |
Money |
|
Capital Investment |
New table/column |
OutputPathsSummary |
CapitalInvestment |
Money |
|
Facility CO2 Cost |
New table/column |
OutputPathsSummary |
FacilityCO2Cost |
Money |
|
Transportation CO2 Cost |
New table/column |
OutputPathsSummary |
TransportationCO2Cost |
Money |
|
Work Resources Cost |
New table/column |
OutputPathsSummary |
WorkResourcesCost |
Money |
|
Duty Cost |
New table/column |
OutputPathsSummary |
DutyCost |
Money |
|
Demand Penalty |
New table/column |
OutputPathsSummary |
DemandPenalty |
Money |
|
Service Distance |
New table/column |
OutputPathsSummary |
ServiceDistance |
Float |
|
Service Hours |
New table/column |
OutputPathsSummary |
ServiceHours |
Float |
|
Revenue |
New table/column |
OutputPathsSummary |
Revenue |
Money |
|
Value |
New table/column |
OutputPathsSummary |
Value |
Money |
|
Profit |
New table/column |
OutputPathsSummary |
Profit |
Money |
|
Revenue Rate |
New table/column |
OutputPathsSummary |
RevenueRate |
Float |
|
Profit Rate |
New table/column |
OutputPathsSummary |
ProfitRate |
Float |
|
Scenario ID |
New table/column |
OutputPathsSummary |
ScenarioID |
Integer |
|
Sub-Scenario ID |
New table/column |
OutputPathsSummary |
StepNumber |
Integer |
|
Constraint Summary
|
Storage Space |
New column |
OptimizationOutputConstraintSummary |
StorageSpaceName |
Text |
Shipping Space |
New column |
OptimizationOutputConstraintSummary |
ShippingSpaceName |
Text |
|
Route Summary
|
Dock Door ID |
Column removed (now included in Dock Door Assignment table) |
VRPOutputRoutes |
DockDoorId |
Text |
Dock Door Start Time |
Column removed (now included in Dock Door Assignment table) |
VRPOutputRoutes |
DockDoorStartTime |
DateTime |
|
Dock Door End Time |
Column removed (now included in Dock Door Assignment table) |
VRPOutputRoutes |
DockDoorEndTime |
DateTime |
|
Dock Door Assignment
|
Asset Name |
New table/column |
VRPDockDoorAssignment |
AssetName |
Text |
Asset ID |
New table/column |
VRPDockDoorAssignment |
AssetID |
Text |
|
Route ID |
New table/column |
VRPDockDoorAssignment |
RouteID |
Text |
|
Site Name |
New table/column |
VRPDockDoorAssignment |
SiteName |
Text |
|
Dock Door ID |
New table/column |
VRPDockDoorAssignment |
DockDoorID |
Text |
|
Dock Door Start Time |
New table/column |
VRPDockDoorAssignment |
DockDoorStartTime |
DateTime |
|
Dock Door End Time |
New table/column |
VRPDockDoorAssignment |
DockDoorEndTime |
DateTime |
|
Scenario ID |
New table/column |
VRPDockDoorAssignment |
ScenarioID |
Integer |
|
Sub-Scenario ID |
New table/column |
VRPDockDoorAssignment |
StepNumber |
Integer |
Optional solver parameter changes
This table lists parameters that have been added to the Advanced Parameter Tables for the various technologies:
Technology |
Parameter Name |
Description of Change |
Parameter Value |
Parameter Description |
---|---|---|---|---|
Network Optimization |
MaxTimeSinceLastSolution |
New parameter |
3600 |
Adds additional termination criteria to stop model after no better solution has been found for a period of time (in seconds). |
Network Optimization |
MaxTimeSinceLastImprovement |
New parameter |
7200 |
Adds additional termination criteria to stop model after no better gap has been found for a period of time (in seconds). |
Network Optimization |
DynamicPercentGap |
New parameter |
0.01,3600|0.1,7200 |
Allows the termination percent gap to change over the solving process based on solve time breaks (in seconds). |
Network Optimization |
DynamicAbsoluteGap |
New parameter |
1000000,3600|2000000,7200 |
Allows the termination absolute gap to change over the solving process based on solve time breaks (in seconds). |
Network Optimization |
MaxMemoryConsumptionPercent |
New parameter |
95 |
Max system memory to leverage in percent, will force a stop after memory consumption reaches the limit. |

SQL Server 2014 Support
Microsoft will no longer be supporting SQL Server 2014 as of July 9th, 2024. In light of this, llama.ai will no longer allow uploads of SQL Server 2014 starting June 1st, 2024 and will be fully deprecated on July 5th, 2024. Additionally, any existing SQL Server 2014 databases will be migrated to SQL Server 2019 on the deprecation date of July 5th, 2024. This means if you download these databases you will receive them as SQL Server 2019. If this is problematic, you can use our APIs to extract your data. Please contact Coupa Support for questions or assistance.
Platform support for model versions
The Supply Chain platform supports solving models with a database schema of up to 1 year old. As of January 2024 release (R38), this includes models from releases back to the R37 release (schema version 405000). Models with unsupported schemas must be upgraded prior to solving, modeling, using with apps or solving on the cloud. As of R39, support is ending for the following schema version, as well as older model schemas:
-
Release R36 (schema 404000)
Option to avoid ferries when calculating paths
An option has been added to the Calculate Detailed Paths feature in the Transit Matrix table that has the provider avoid using ferries in the path returned to Supply Chain Guru X. Currently, the “Avoid Ferry Route Calculation If Possible” option applies specifically to the “Bing Maps” provider.
New Allocation Constraints tables
A set of Network Optimization allocation constraints tables were added to the model schema in the previous release. In this release, the tables are available in the user interface and will be used by Network Optimization:
-
Flow Allocation Constraints
-
Inventory Allocation Constraints
-
Production Allocation Constraints
Use these tables to constrain the allocation of flow, inventory, or production. For example, you can define a flow allocation constraint that requires:
The flow quantity through the sites specified by MexicoSites must be at least 40% of the flow quantity through all sites.
In this case you define a set containing the sites in Mexico and evaluate it against a filter column where the value contains all sites. The constraint is defined with a Percentage (the set compared to the filter), a constraint Type (Min, Max, Fixed, Cond_Min, Cond_Fixed) and a Basis (Quantity, Weight, or Volume).
Workaround: You can manually enter site-related values. The user interface will flag them as invalid, but they will be written as expected when running the model. Keep in mind that you cannot change the Destination value from "Each" to "All" at this time, due to the user interface issue. If you need a fix that includes the correct UI behavior, please contact Coupa Support.
Max Capital Investment option update
The Max Capital Investment option is no longer displayed on the Technology Constraints tab in NO Run Options. You now control this value using the MAX_CAPEX value in the Config_NO table. Enter a positive value and set the Status to “Include” to use the maximum capital investment constraint.
Improved model upload process
Uploading models to the llama.ai platform has been enhanced to be more reliable, especially for larger models. The performance is generally improved compared to the previous upload process.
Improved model download process
When downloading models from the llama.ai platform to a Supply Chain Guru X project, the download model flyout accommodates a larger set of model names (the limit is now 10,000). The values are sorted alphabetically to make it easier to select the desired model for download.
Updated endpoint for RateWare XL interface
The endpoint used when calculating shipping rates using RateWare XL has been updated to use an SMC3 production host (applications.smc3.com). The calls are using a secure TLS 1.2 protocol.

Important notes:
-
Please review columns that have a Description of Change values of "Data Type change" or "Change in Required". If you use these columns in a workflow, you may need to adjust the workflow to support the new data type.
Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Taxable Value Overrides |
Product Value Override |
Data Type change (Float to Text) |
TaxableValueOverrides |
UserDefinedProductValue |
Text |
No |
Periods |
Start Date |
Change in Required |
Periods |
PeriodStart |
DateTime |
Yes |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Network Summary |
Total Sequential Objective Cost |
Column removed from User Interface |
OptimizationOutputNetworkSumary |
TotalSequentialObjectiveCost |
Money |
Unscheduled Routes |
Reason |
New column |
UnscheduledRoutes |
Reason |
Text |
Not displayed in UI (backend table for Cost To Serve Analysis) |
Not displayed in UI |
New column |
OptimizationOutputCostAllocation_Site |
SiteVariableCost |
Money |

Platform support for model versions
The Supply Chain platform supports solving models with a database schema of up to 1 year old. As of January 2024 release (R38), this includes models from releases back to the R36 release (schema version 404000). Models with unsupported schemas must be upgraded prior to solving, modeling, using with apps or solving on the cloud. As of R38, support is ending for the following schema versions, as well as older model schemas:
-
Release R34 (schema 402000)
-
Release R35 (schema 403000)
Driver Scheduling duty time
The Driver Summary output table now includes a Duty Duration column displaying the total duty time for each driver.
Time-based allocated cost in shipment output
The existing allocated cost calculation in the Shipment Output and Delivered Shipments tables apportions a route’s total cost to each shipment on the route by weighting each shipment using the product of the shipment’s quantity and its travel distance on the route. This calculation method does not factor in the load and unload times of the shipments; shipments with excessively long load and unload times should be penalized and apportioned a larger share of the route’s total cost. To address this, the existing Allocated Cost column has been renamed to Distance-Based Allocated Cost. A new column, Time-Based Allocated Cost uses the product of each shipment’s quantity and its surface time (its travel time on the route combined with its load and unload time) as the shipment’s weight in the allocation cost calculation.
Start- and end-of-route service times for transportation assets
New columns in the Transportation Assets input table, Start Of Route Service Time and End Of Route Service Time, allow you to specify independent service times at the start and end of every route to account for pre-/post-route activities. These activities can be documentation, vehicle refueling, and others. Positive start-of-route and end-of-route service times are reflected in the output as positive time spans for the ‘EquipmentStart’ and ‘EquipmentEnd’ activity types in the Route Details table. They are also factored into service-time and duty-time cost calculations.
Duplicate constraint names excluded from Network Optimization input files
If you defined multiple constraints in a table with the same name, duplicate constraint names were being written to input files. In this case, Network Optimization uses the last constraint record written to the input file and ignores all duplicates. This behavior has been changed so that in the case of duplicate constraint names, only the first record is written to the input file. The duplicates are reported in the ErrorLog.txt file
Spatial constraint costs in Cost To Serve
Expansion costs, the Fixed Operating Space Expansion Cost from Sites and the Floor Expansion Cost from Site Storage Spaces and Site Shipping Spaces, are currently included in Other Cost in Cost To Serve Details. The Site Variable Cost from Sites is currently included in the Total Cost value.
Configuring SCGX to connect to eu.llama.ai
Access to the Supply Chain from Supply Chain Guru X is controlled by the SupplyChainGuru.exe.config file in the installation folder (typically C:\Program Files\Coupa\Supply Chain Guru X). By default, this file is set up to use the us.llama.ai instance. The keys needed to connect to the eu.llama.ai Supply Chain platform instance are included in the SupplyChainGuru.exe.config file. To connect to eu.llama.ai, you need to remove the comment flag from these eu.llama.ai keys:
<add key="DotComAuthenticationUri" value="https://eu.llama.ai/api/authentication/"/>
<add key="DotComUrl" value="https://eu.llama.ai" />
<add key="DotComClientId" value="b6ec1ec8-05a6-45e3-a077-96aceb837e35" />
Stamen basemaps are no longer supported
The Stamen Watercolor and Stamen Toner basemaps are no longer available on the Stamen site. They are therefore unavailable in Supply Chain Guru X maps. If you have maps that currently reference these basemaps, you can select one of the available basemaps to use instead.
End of support for the legacy Network Optimization solver
The legacy Network Optimization solver is no longer available in Supply Chain Guru X. Please contact Coupa Support with any questions.

Important notes:
-
Several new tables are not yet in use and have not been exposed in the user interface: Production Allocation Constraints, Distribution Allocation Constraints, Inventory Allocation Constraints, and Rapid Network Explorer Summary.
-
Please review columns that have a Description of Change values of "Data Type change" or "Change in Required". If you use these columns in a workflow, you may need to adjust the workflow to support the new data type.
Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Transportation Policies Multi-Period
|
Duty Rate |
Data Type change (Float to Text) |
TransportationPoliciesMultiPeriod |
DutyRate |
Text |
No |
Return Trip Cost |
Data Type change (Float to Text) |
TransportationPoliciesMultiPeriod |
ReturnTripCost |
Text |
No |
|
Unit Load Cost |
Data Type change (Float to Text) |
TransportationPoliciesMultiPeriod |
LoadCost |
Text |
No |
|
Unit Unload Cost |
Data Type change (Float to Text) |
TransportationPoliciesMultiPeriod |
UnloadCost |
Text |
No |
|
Transportation Assets
|
Start Of Route Service Time |
New column |
TransportationAssets |
StartOfRouteServiceTime |
Text |
No |
End Of Route Service Time |
New column |
TransportationAssets |
EndOfRouteServiceTime |
Text |
No |
|
Production Allocation Constraints
|
Expression |
New table/column |
ProductionAllocationConstraints |
Expression |
Text |
No |
Period |
New table/column |
ProductionAllocationConstraints |
PeriodName |
Text |
No |
|
Site |
New table/column |
ProductionAllocationConstraints |
SiteName |
Text |
No |
|
Product |
New table/column |
ProductionAllocationConstraints |
ProductName |
Text |
No |
|
Process |
New table/column |
ProductionAllocationConstraints |
ProcessName |
Text |
No |
|
BOM |
New table/column |
ProductionAllocationConstraints |
BOMName |
Text |
No |
|
Period Filter |
New table/column |
ProductionAllocationConstraints |
PeriodFilter |
Text |
No |
|
Site Filter |
New table/column |
ProductionAllocationConstraints |
SiteFilter |
Text |
No |
|
Product Filter |
New table/column |
ProductionAllocationConstraints |
ProductFilter |
Text |
No |
|
Process Filter |
New table/column |
ProductionAllocationConstraints |
ProcessFilter |
Text |
No |
|
BOM Filter |
New table/column |
ProductionAllocationConstraints |
BOMFilter |
Text |
No |
|
Percent |
New table/column |
ProductionAllocationConstraints |
Percent |
Float |
No |
|
Type |
New table/column |
ProductionAllocationConstraints |
Type |
Text |
No |
|
Basis |
New table/column |
ProductionAllocationConstraints |
Basis |
Text |
No |
|
Status |
New table/column |
ProductionAllocationConstraints |
Status |
Text |
No |
|
Notes |
New table/column |
ProductionAllocationConstraints |
Notes |
Text |
No |
|
Period Collection Basis |
New table/column (Not exposed) |
ProductionAllocationConstraints |
CollectionBasisPeriodName |
Text |
No |
|
Site Collection Basis |
New table/column (Not exposed) |
ProductionAllocationConstraints |
CollectionBasisSiteName |
Text |
No |
|
Product Collection Basis |
New table/column (Not exposed) |
ProductionAllocationConstraints |
CollectionBasisProductName |
Text |
No |
|
Process Collection Basis |
New table/column (Not exposed) |
ProductionAllocationConstraints |
CollectionBasisProcessName |
Text |
No |
|
BOM Collection Basis |
New table/column (Not exposed) |
ProductionAllocationConstraints |
CollectionBasisBOMName |
Text |
No |
|
Distribution Allocation Constraints
|
Expression |
New table/column |
DistributionAllocationConstraints |
Expression |
Text |
No |
Period |
New table/column |
DistributionAllocationConstraints |
PeriodName |
Text |
No |
|
Source |
New table/column |
DistributionAllocationConstraints |
SourceName |
Text |
No |
|
Destination |
New table/column |
DistributionAllocationConstraints |
DestinationName |
Text |
No |
|
Product |
New table/column |
DistributionAllocationConstraints |
ProductName |
Text |
No |
|
Mode |
New table/column |
DistributionAllocationConstraints |
ModeName |
Text |
No |
|
Period Filter |
New table/column |
DistributionAllocationConstraints |
PeriodFilter |
Text |
No |
|
Source Filter |
New table/column |
DistributionAllocationConstraints |
SourceFilter |
Text |
No |
|
Destination Filter |
New table/column |
DistributionAllocationConstraints |
DestinationFilter |
Text |
No |
|
Product Filter |
New table/column |
DistributionAllocationConstraints |
ProductFilter |
Text |
No |
|
Mode Filter |
New table/column |
DistributionAllocationConstraints |
ModeFilter |
Text |
No |
|
Percent |
New table/column |
DistributionAllocationConstraints |
Percent |
Float |
No |
|
Type |
New table/column |
DistributionAllocationConstraints |
Type |
Text |
No |
|
Basis |
New table/column |
DistributionAllocationConstraints |
Basis |
Text |
No |
|
Status |
New table/column |
DistributionAllocationConstraints |
Status |
Text |
No |
|
Notes |
New table/column |
DistributionAllocationConstraints |
Notes |
Text |
No |
|
Period Collection Basis |
New table/column (Not exposed) |
DistributionAllocationConstraints |
CollectionBasisPeriodName |
Text |
No |
|
Source Collection Basis |
New table/column (Not exposed) |
DistributionAllocationConstraints |
CollectionBasisSourceName |
Text |
No |
|
Destination Collection Basis |
New table/column (Not exposed) |
DistributionAllocationConstraints |
CollectionBasisDestinationName |
Text |
No |
|
Product Collection Basis |
New table/column (Not exposed) |
DistributionAllocationConstraints |
CollectionBasisProductName |
Text |
No |
|
Mode Collection Basis |
New table/column (Not exposed) |
DistributionAllocationConstraints |
CollectionBasisModeName |
Text |
No |
|
Inventory Allocation Constraints |
Expression |
New table/column |
InventoryAllocationConstraints |
Expression |
Text |
No |
Period |
New table/column |
InventoryAllocationConstraints |
PeriodName |
Text |
No |
|
Site |
New table/column |
InventoryAllocationConstraints |
SiteName |
Text |
No |
|
Product |
New table/column |
InventoryAllocationConstraints |
ProductName |
Text |
No |
|
Period Filter |
New table/column |
InventoryAllocationConstraints |
PeriodFilter |
Text |
No |
|
Site Filter |
New table/column |
InventoryAllocationConstraints |
SiteFilter |
Text |
No |
|
Product Filter |
New table/column |
InventoryAllocationConstraints |
ProductFilter |
Text |
No |
|
Percent |
New table/column |
InventoryAllocationConstraints |
Percent |
Float |
No |
|
Type |
New table/column |
InventoryAllocationConstraints |
Type |
Text |
No |
|
Basis |
New table/column |
InventoryAllocationConstraints |
Basis |
Text |
No |
|
Status |
New table/column |
InventoryAllocationConstraints |
Status |
Text |
No |
|
Notes |
New table/column |
InventoryAllocationConstraints |
Notes |
Text |
No |
|
Period Collection Basis |
New table/column (Not exposed) |
InventoryAllocationConstraints |
CollectionBasisPeriodName |
Text |
No |
|
Site Collection Basis |
New table/column (Not exposed) |
InventoryAllocationConstraints |
CollectionBasisSiteName |
Text |
No |
|
Product Collection Basis |
New table/column (Not exposed) |
InventoryAllocationConstraints |
CollectionBasisProductName |
Text |
No |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Driver Summary |
Duty Duration |
New column |
DriverSummary |
DutyDuration |
Float |
Shipment Output
|
Distance-Based Allocated Cost |
Column rename |
VRPOutputShipmentOutput |
AllocatedCost |
Money |
Time-Based Allocated Cost |
New column |
VRPOutputShipmentOutput |
TimeBasedAllocatedCost |
Money |
|
Delivered Shipments
|
Distance-Based Allocated Cost |
Column rename |
VRPOutputDeliveredShipments |
AllocatedCost |
Money |
Time-Based Allocated Cost |
New column |
VRPOutputDeliveredShipments |
TimeBasedAllocatedCost |
Money |
|
Network Summary |
Scenario Run ID |
New column |
OptimizationOutputNetworkSummary |
RNEStagingTaskExecutionId |
Int |
Rapid Network Explorer Summary |
RNE Scenario |
New table/column |
RapidNetworkExplorerSummary |
RNEScenario |
Text |
RNE Scenario ID |
New table/column |
RapidNetworkExplorerSummary |
RNEScenarioID |
Int |
|
Base Scenario |
New table/column |
RapidNetworkExplorerSummary |
BaseScenario |
Text |
|
Model Run Time |
New table/column |
RapidNetworkExplorerSummary |
ModelRunTime |
DateTime |
|
Solve Duration |
New table/column |
RapidNetworkExplorerSummary |
SolveDuration |
Float |
|
Gap % |
New table/column |
RapidNetworkExplorerSummary |
GapPercentage |
Float |
|
Total Profit Change |
New table/column |
RapidNetworkExplorerSummary |
TotalProfitChange |
Float |
|
Total Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalCostChange |
Float |
|
Total Revenue Change |
New table/column |
RapidNetworkExplorerSummary |
TotalRevenueChange |
Float |
|
Total Transportation Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalTransportationCostChange |
Float |
|
Total Production Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalProductionCostChange |
Float |
|
Total Sourcing Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalSourcingCostChange |
Float |
|
Total Warehousing Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalWarehousingCostChange |
Float |
|
Total Inbound Warehousing Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalInboundWarehousingCostChange |
Float |
|
Total Outbound Warehousing Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalOutboundWarehousingCostChange |
Float |
|
Total Inv Holding Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalInvHoldingCostChange |
Float |
|
Total Return Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalReturnCostChange |
Float |
|
Total Fixed Startup Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalFixedStartupCostChange |
Float |
|
Total Fixed Operating Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalFixedOperatingCostChange |
Float |
|
Total Closing Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalClosingCostChange |
Float |
|
Total Capital Investment Change |
New table/column |
RapidNetworkExplorerSummary |
TotalCapitalInvestmentChange |
Float |
|
Space Expansion Cost Change |
New table/column |
RapidNetworkExplorerSummary |
SpaceExpansionCostChange |
Float |
|
Site Variable Cost Change |
New table/column |
RapidNetworkExplorerSummary |
SiteVariableCostChange |
Float |
|
Total Transportation Asset Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalTransportationAssetCostChange |
Float |
|
Total Work Resource Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalWorkResourceCostChange |
Float |
|
Total Tax Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalTaxCostChange |
Float |
|
Total Duty Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalDutyCostChange |
Float |
|
Total Carbon Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalCarbonCostChange |
Float |
|
Optimized Carbon Offset Cost Change |
New table/column |
RapidNetworkExplorerSummary |
OptimizedCarbonOffsetCostChange |
Float |
|
Total Expression Based Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalExpressionBasedCostChange |
Float |
|
Total Late Demand Penalty Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalLateDemandPenaltyCostChange |
Float |
|
Total Early Demand Penalty Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalEarlyDemandPenaltyCostChange |
Float |
|
Total Unserved Demand Penalty Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalUnservedDemandPenaltyCostChange |
Float |
|
Total Demand Penalty Cost Change |
New table/column |
RapidNetworkExplorerSummary |
TotalDemandPenaltyCostChange |
Float |
|
Total Unserved Demand Qty Change |
New table/column |
RapidNetworkExplorerSummary |
TotalUnservedDemandQtyChange |
Float |
|
% Demand On-Time Change |
New table/column |
RapidNetworkExplorerSummary |
PercentDemandOnTimeChange |
Float |
|
% Demand Late Change |
New table/column |
RapidNetworkExplorerSummary |
PercentDemandLateChange |
Float |
|
% Demand Early Change |
New table/column |
RapidNetworkExplorerSummary |
PercentDemandEarlyChange |
Float |
|
Total Cycle Stock Change |
New table/column |
RapidNetworkExplorerSummary |
TotalCycleStockChange |
Float |
|
Total Min Inventory Change |
New table/column |
RapidNetworkExplorerSummary |
TotalMinInventoryChange |
Float |
|
Total Pre Build Inventory Change |
New table/column |
RapidNetworkExplorerSummary |
TotalPreBuildInventoryChange |
Float |
|
Total CO2 Change |
New table/column |
RapidNetworkExplorerSummary |
TotalCO2Change |
Float |
|
Optimized Carbon Offsets Change |
New table/column |
RapidNetworkExplorerSummary |
OptimizedCarbonOffsetsChange |
Float |
|
Network Risk Health Change |
New table/column |
RapidNetworkExplorerSummary |
NetworkRiskHealthChange |
Float |
|
Scenario ID |
New table/column |
RapidNetworkExplorerSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
RapidNetworkExplorerSummary |
StepNumber |
Int |

Platform support for model versions
The Supply Chain platform supports solving models with a database schema of up to 1 year old. As of September 2023 release (R37), this includes models from releases back to the R34 release (schema version 402000). Models with unsupported schemas must be upgraded prior to solving, modeling, using with apps or solving on the cloud. As of R37, support is ending for the following schema version, as well as older model schemas:
-
Release R33 (schema 401000)
Early/late demand updates
The Customer Order Fulfillment table is no longer read-only. The Fulfillment ID,Single Source Fulfillment and Single Period Fulfillment columns in Customer Demand and Customer Orders are also no longer read-only. The Fulfillment ID column in both the Customer Demand and Customer Orders tables uses values defined in the Fulfillment ID column in the Customer Order Fulfillment table.
Updates to Sequential Objectives
A number of new Objective values are available in the Sequential Objectives input table:
Penalty Cost | Customer Revenue | Fractional Return Destination Constraints |
Total Closing Cost | Site Demand | Return Flow Balance Constraints |
Total Duty Cost | Inventory Process | Return Process |
Total Expression Based Cost | Maximum Number of Transportation Asset | Single Return Destination Constraints |
Total Fixed Startup Cost | Batch Flow | Sourcing Process |
Total Inbound Warehousing Cost | Production Process | Process BOM Connection |
Total Outbound Warehousing Cost | Fractional Process Constraints | Process To Process Relation |
Total InTransit InvCost | Single Process | Transportation Process |
Total TPAsset Cost | Process Step Balance Constraints | |
Total Work Resource Cost | Single Process Step |
Several Objective values have been removed, as they are not used by the Network Optimization solver:
-
Make Processes Single Sourcing
-
Make Processes Fractional Sourcing
-
Make Process Flow Single Destination
-
Make Process Flow Fractional Destination
If your Sequential Objectives table includes any of the objective values that have been removed, you will see a warning in the ErrorLog.txt when you run the model. However, this is expected since the solver does not use them.
Control over Cost To Serve internal table population
When you run Network Optimization, a number of internal tables are populated with data that is used by Cost To Serve Analysis. These tables can have significantly large numbers of records. You can use the new SKIP_COST_ALLOCATION_OUTPUT parameter in the Config_NO table to prevent these tables from being populated if you do not plan to use Cost To Serve Analysis. Make sure the Parameter Value is 1 and the Status is "Include" to enable this behavior.
Shipment-based rates
Transportation Optimization supports Per Unit Cost and Discount Rate values at the route level, where each shipment on the route is assigned the same cost and rate. You can use shipment-based rates where different costs and rates are allowed for each shipment on a route. This functionality enables you to define route costing and rating with increased granularity. It also provides a way to model LTL aggregation, where shipments with different LTL rates can be combined on a single route. First you assign a classification (Class Name) to the shipments, then create Per Unit Cost and Discount Rate values for each unique asset-source-destination-class combination in the Shipment-Based Rate table.
Drone modeling updates
You can now constrain the maximum time that a drone waits at a location. Also, the Sortie ID has been added to the Shipment Output and Delivered Shipments output tables.
Driver scheduling updates
Additional columns have been added to let you constrain the Driver Scheduling problem type to adhere to regional driver requirements, such as US DOT regulations. You define the drive time for routes that are the source for Driver Scheduling. You can then constrain the maximum drive time that can be incurred per shift for a driver class.

Important notes:
-
If you have been using the Network Summary Total Demand Penalty column in any workflows, be advised that you should change the workflow to target the Total Unserved Demand Penalty Cost column instead. Total Demand Penalty has been removed from the model schema.
-
Please review columns that have a Description of Change values of "Data Type change" or "Change in Required". If you use these columns in a workflow, you may need to adjust the workflow to support the new data type.
Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Site Demand |
Unit Price |
Data Type change (Float to Text) |
SiteDemand |
UnitPrice |
Text |
No |
Shipments |
Class Name |
New column |
Shipments |
ClassName |
Text |
No |
Shipment-Based Rate
|
Asset Name |
New table/column |
ShipmentBasedRates |
TransportationAssetName |
Text |
No |
Source |
New table/column |
ShipmentBasedRates |
OriginLocationGroupID |
Text |
No |
|
Destination |
New table/column |
ShipmentBasedRates |
DestinationLocationGroupID |
Text |
No |
|
Class Name |
New table/column |
ShipmentBasedRates |
ClassName |
Text |
No |
|
Per Unit Cost |
New table/column |
ShipmentBasedRates |
PerUnitCost |
Text |
No |
|
Unit Cost Basis |
New table/column |
ShipmentBasedRates |
PerUnitCostBasis |
Text |
No |
|
Discount Rate |
New table/column |
ShipmentBasedRates |
DiscountRate |
Float |
No |
|
Status |
New table/column |
ShipmentBasedRates |
Status |
Text |
No |
|
Drones |
Max Waiting Time At Location |
New column |
DroneType |
MaxWaitingTime |
Text |
No |
Drivers |
Max Drive Time Per Shift |
New column |
Driver |
MaxDriveTimePerShift |
Text |
No |
Fixed Cost |
Change in Required (Modeler) |
Driver |
FixedCost |
Text |
Yes |
|
Allowed Assets |
Change in Required (Modeler) |
Driver |
AllowedEquipment |
Text |
Yes |
|
Routes |
Drive Time |
New column |
Routes |
DriveTime |
Text |
No |
Asset Origin |
Change in Required (Modeler) |
Routes |
AssetOrigin |
Text |
Yes |
|
Start Date Time |
Change in Required (Modeler) |
Routes |
StartDateTime |
DateTime |
Yes |
|
End Date Time |
Change in Required (Modeler) |
Routes |
EndDateTime |
DateTime |
Yes |
|
Customer Demand |
Fulfillment ID |
Changed to editable |
CustomerDemand |
FulfillmentID |
Text |
No |
Single Source Fulfillment |
Changed to editable |
CustomerDemand |
SingleSourceFulfillment |
Boolean |
Yes |
|
Single Period Fulfillment |
Changed to editable |
CustomerDemand |
SinglePeriodFulfillment |
Boolean |
Yes |
|
Customer Orders |
Fulfillment ID |
Changed to editable |
CustomerOrders |
FulfillmentID |
Text |
No |
Single Source Fulfillment |
Changed to editable |
CustomerOrders |
SingleSourceFulfillment |
Boolean |
Yes |
|
Single Period Fulfillment |
Changed to editable |
CustomerOrders |
SinglePeriodFulfillment |
Boolean |
Yes |
|
Customer Order Fulfillment
|
Fulfillment ID |
Changed to editable |
CustomerOrderFulfillment |
FulfillmentID |
Text |
Yes |
Single Source Fulfillment |
Changed to editable |
CustomerOrderFulfillment |
SingleSourceFulfillment |
Boolean |
Yes |
|
Single Period Fulfillment |
Changed to editable |
CustomerOrderFulfillment |
SinglePeriodFulfillment |
Boolean |
Yes |
|
Status |
Changed to editable |
CustomerOrderFulfillment |
Status |
Text |
No |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Network Summary |
Total Demand Penalty |
Column removed |
OptimizationOutputNetworkSummary |
TotalDemandPenalty |
Money |
Driver Summary |
Drive Duration |
New column |
DriverSummary |
DriveDuration |
Float |
Number Of Shifts |
New column |
DriverSummary |
NumberOfShifts |
Int |
|
Driver Schedule |
Drive Time |
New column |
DriverSchedule |
DriveTime |
Float |
Unscheduled Routes |
Drive Time |
New column |
UnscheduledRoutes |
DriveTime |
Float |
Sortie Summary |
Sortie ID |
New column |
SortieOutput |
SortieID |
Int |
Input Shipments |
Class Name |
New column |
VRPOutputShipments |
ClassName |
Text |
Shipment Output |
Class Name |
New column |
VRPOutputShipmentOutput |
ClassName |
Text |
Sortie ID |
New column |
VRPOutputShipmentOutput |
SortieID |
Int |
|
Delivered Shipments |
Class Name |
New column |
VRPOutputDeliveredShipments |
ClassName |
Text |
Sortie ID |
New column |
VRPOutputDeliveredShipments |
SortieID |
Int |
|
Segments |
Sequence ID |
Data Type change (Text to Int) |
VRPOutputSegments |
SequenceID |
Int |
Stops |
Sequence ID |
Data Type change (Text to Int) |
VRPOutputStops |
SequenceID |
Int |
Optional solver parameter changes
This table lists parameters that have been added to the Advanced Parameter Tables for the various technologies:
Technology |
Parameter Name |
Description of Change |
Parameter Value |
Parameter Description |
---|---|---|---|---|
Network Optimization |
SKIP_COST_ALLOCATION_OUTPUT |
New parameter |
1 |
Set this parameter to 1 to prevent the population of the OptimizationOutputCostAllocation_Lane, OptimizationOutputCostAllocation_Site, and OptimizationOutputCostAllocation_SiteProduct tables. These tables are used for the Cost To Serve Analysis problem type, so if you do not plan to use Cost To Serve, you can set this parameter to 1 and include this parameter to prevent population of the tables during Network Optimization. |
Network Optimization |
SCALE_MIN_VALUE |
New parameter |
1 |
When this parameter is set to 0, the minimum flow value for Flow Count Constraints is determined between the scaled minimum demand and 1. When this parameter is set to 1, the minimum flow value is determined between the scaled minimum demand and 1, then divided by the scaling factor specified by SCALE_QTY_INPUT. The minimum demand is scaled when "Calibrate Data Before Optimization" is on. |

Platform support for model versions
The Supply Chain platform supports models with a database schema of up to 1 year old. As of release 36.0.0, this includes models from releases back to the R34 release (schema version 402000). Models with unsupported schemas must be upgraded prior to solving, modeling, using with apps or solving on the cloud. Support is ending for the following schema versions:
-
Release R30 (schema 303007)
-
Release R31 (schema 303009)
-
Release R32 (schema 400000)
-
Release R33 (schema 401000)
Early and late demand modeling
Early and late demand modeling allows you to specify demand records that can be served outside the demanded period. You can associate penalty costs for early/late fulfillment as well as limits on demand timing. You can prioritize demand, allowing models to be broken down to reduce overall complexity.
New columns in the Customer Demand and Customer Orders table let you define the demand timing and associated penalties. In Customer Demand, use Periods Allowed Early and Periods Allowed Late and the corresponding delivery penalty cost columns. Similarly, in Customer Orders, use Time Allowed Early and Time Allowed Late and the corresponding delivery penalty cost columns.
Columns have been added in a number of Network Optimization output tables, providing details about early and late demand fulfillment, including penalty costs. This information is available in Network Summary, Financial Summary, Network Organization Summary, Network Customer Summary, Network Product Summary and Customer Demand Summary.
Model decomposition
The decomposition method allows you to break a large model into smaller pieces and solve them more efficiently. For large models, this method can help reduce both solving time and memory usage significantly. Model decomposition extracts solvable sub-models from the original model by analyzing the complex relationship across all supply chain elements: products, sites, lanes, demand, bills of material, work centers, processes and constraints. In this release, the main focus is on the constraints related to products, so each sub-model will have a different subset of the products. Each sub-model contains only its own data which makes the problem size much smaller. After solving all the sub-models, the solution of the original model is obtained by merging the output of all the sub-models.
Sequential objectives
Objectives have been updated in the Sequential Objectives table:
-
"Total CO2 Emission" has been renamed to "Total CO2 Cost" to reflect the fact that this objective is based on the cost associated with CO2.
-
"Total CO2" has been added. This objective is based on the weight of carbon emissions.
-
"Carbon Footprint" has been renamed to "Maximum Carbon Footprint" since this is based on Maximum Carbon Footprint in the Greenhouse Gases table.
Drone modeling
Transportation Optimization includes the capability to model drones with ground transportation assets, enabling users to deploy drones that make deliveries in coordination with trucks. The trucks serve both as a mobile depot, where drone launches and retrievals are performed, and a delivery asset. Transportation Optimization determines where and how to incorporate drones into the logistics operations to improve last-mile delivery and reduce cost.
Drone truck delivery supports a number of features, including:
-
Define various drone types by payload, speed and battery
-
Assign drone types to ground vehicles as potential companions in performing delivery
-
Allow for fixed and linear endurance models to determine the effective flight range
-
Overwrite point to point flight distance and time with transit matrix
Driver scheduling enhancements
New inputs have been added to improve control over the Driver Scheduling problem type in Transportation Optimization:
-
Driver Availability - Use this new input table to define the number of drivers per driver class available at a site. You can also constrain the time window for which the driver class is available.
-
Routes - The Asset Origin column has been added to this input table to identify where the transportation assets originate for driver scheduling. This value is now populated in a number of output tables when the model is solved.
A new Driver Utilization output table provides a summary of drivers available and used per site - driver class combination.
Closing Cost data type change
The data type for the Fixed Closing Cost column in the Sites, Sites Multi-Period, Work Centers, and Work Centers Multi-Period tables has been changed from float to text. This change is to support the use of currencies when defining the closing cost.
Updated default value for Post Process Random Lead Time
The default for the Post Process Random Lead Time option on the Safety Stock Optimization Advanced tab in Inventory Optimization options has been changed from unchecked (off) to checked (on). This applies to new models and existing models where you have never set the option. If you have manually set the option, the value will not be changed during model upgrade. Most IO models have lead time variation, so it is typically expected that the option should be selected. This change ensures that you actively turn it off if not needed.
Tables handled during NO-IO Conversion
NO-IO Conversion handles the following tables during the model transformation:
Products, Sites, Customers, Periods, Modes, Bills of Material, Bill of Material Assignments, Customer Orders, Customer Demand, User Defined Customer Forecast Profile, User Defined Site Forecast Profile, Production Policies, Inventory Policies, Site Sourcing Policies, Customer Sourcing Policies, Transportation Policies, Transit Matrix, Group Members, Options.
For this release, tables were added in addition to those handled in the previous release. These specific tables are:
-
User Defined Customer Forecast Profile
-
User Defined Site Forecast Profile
-
Transit Matrix
The actual Groups are not copied into the destination model. Group members are used when interpreting the NO output. Options is an internal table that stores model and solver run options.
Multi-period models are treated as single period models after conversion to prevent all demand from being "extremely slow". While Periods are handled during conversion, multi-period tables, such as Sites Multi-Period, are not brought into the new model.
Bing Road as the default basemap
When creating a new map, Bing Road is now the default basemap displayed.

Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Drones |
Name |
New table/column |
DroneType |
DroneTypeName |
Text |
Yes |
Max Flight Time |
New table/column |
DroneType |
Range |
Text |
No |
|
Battery Capacity |
New table/column |
DroneType |
BatteryCapacity |
Float |
No |
|
Consumption Rate |
New table/column |
DroneType |
PerDistanceConsumptionRate |
Float |
No |
|
Empty Load Consumption Rate |
New table/column |
DroneType |
PerRepositionDistanceConsumptionRate |
Float |
No |
|
Speed |
New table/column |
DroneType |
Speed |
Text |
No |
|
Capacity (Quantity) |
New table/column |
DroneType |
MaxQty |
Text |
No |
|
Capacity (Weight) |
New table/column |
DroneType |
MaxWeight |
Text |
No |
|
Capacity (Volume) |
New table/column |
DroneType |
MaxCubic |
Text |
No |
|
Minimum Capacity (Quantity) |
New table/column |
DroneType |
MinQty |
Text |
No |
|
Minimum Capacity (Weight) |
New table/column |
DroneType |
MinWeight |
Text |
No |
|
Minimum Capacity (Volume) |
New table/column |
DroneType |
MinCubic |
Text |
No |
|
Fixed Launch Time |
New table/column |
DroneType |
FixedLaunchTime |
Text |
No |
|
Fixed Service Time |
New table/column |
DroneType |
FixedServiceTime |
Text |
No |
|
Fixed Retrieval Time |
New table/column |
DroneType |
FixedRetrievalTime |
Text |
No |
|
Fixed Drone Cost |
New table/column |
DroneType |
FixedDroneCost |
Text |
No |
|
Status |
New table/column |
DroneType |
Status |
Text |
No |
|
Drone Assignments |
Carrier |
New table/column |
DroneTruckPairing |
DroneCarrierName |
Text |
Yes |
Drone Type |
New table/column |
DroneTruckPairing |
DroneTypeName |
Text |
Yes |
|
Available Units |
New table/column |
DroneTruckPairing |
AvailableQty |
Integer |
Yes |
|
Status |
New table/column |
DroneTruckPairing |
Status |
Text |
No |
|
Drone Transit Override |
Origin |
New table/column |
DroneTransitOverride |
OriginName |
Text |
Yes |
Destination |
New table/column |
DroneTransitOverride |
DestinationName |
Text |
Yes |
|
Travel Time |
New table/column |
DroneTransitOverride |
TravelTime |
Text |
No |
|
Travel Distance |
New table/column |
DroneTransitOverride |
TravelDistance |
Text |
No |
|
Drone Type |
New table/column |
DroneTransitOverride |
DroneTypeName |
Text |
Yes |
|
Is Symmetric |
New table/column |
DroneTransitOverride |
IsSymmetric |
Boolean |
No |
|
Status |
New table/column |
DroneTransitOverride |
Status |
Text |
No |
|
Sites |
Drone Eligible |
New column |
Sites |
IsDroneEligible |
Boolean |
Yes |
Customers |
Drone Eligible |
New column |
Customers |
IsDroneEligible |
Boolean |
Yes |
Driver Availability |
Site Name |
New table/column |
DriverAvailability |
SiteName |
Text |
Yes |
Driver Class |
New table/column |
DriverAvailability |
DriverClass |
Text |
Yes |
|
Available Quantity |
New table/column |
DriverAvailability |
AvailableQty |
Int |
Yes |
|
Minimum Quantity |
New table/column |
DriverAvailability |
MinimumQty |
Int |
No |
|
Start Date Time |
New table/column |
DriverAvailability |
StartDateTime |
DateTime |
No |
|
End Date Time |
New table/column |
DriverAvailability |
EndDateTime |
DateTime |
No |
|
Status |
New table/column |
DriverAvailability |
Status |
Text |
No |
|
Drivers |
Available Quantity |
Removed column (use Available Quantity in Driver Availability) |
Driver |
AvailableQuantity |
NA |
NA |
Allowed Assets |
Renamed column (previously Allowed Equipment) |
Driver |
AllowedEquipment |
Text |
Yes |
|
Fixed Cost |
Change in Required |
Driver |
FixedCost |
Text |
Yes |
|
Routes |
Asset Origin |
New column |
Routes |
AssetOrigin |
Text |
Yes |
Asset Name |
Renamed column (previously Equipment Type |
Routes |
EquipmentType |
Text |
Yes |
|
Sites |
Fixed Closing Cost |
Changed data type (Float to Text) |
Sites |
SiteClosingCost |
Text |
No |
Sites Multi-Period |
Fixed Closing Cost |
Changed data type (Float to Text) |
Sites_MultiPeriod |
SiteClosingCost |
Text |
No |
Work Centers |
Fixed Closing Cost |
Changed data type (Float to Text) |
WorkCenters |
WorkCenterClosingCost |
Text |
No |
Work Centers Multi-Period |
Fixed Closing Cost |
Changed data type (Float to Text) |
WorkCenters_MultiPeriod |
WorkCenterClosingCost |
Text |
No |
Customer Demand |
Periods Allowed Early |
New column |
CustomerDemand |
PeriodsAllowedEarly |
Text |
No |
Early Delivery Penalty Cost |
New column |
CustomerDemand |
EarlyDeliveryPenaltyCost |
Text |
No |
|
Early Delivery Penalty Cost Basis |
New column |
CustomerDemand |
EarlyDeliveryPenaltyCostBasis |
Text |
No |
|
Early Delivery Cost Inflation Factor |
New column |
CustomerDemand |
EarlyDeliveryCostInflationFactor |
Float |
No |
|
Periods Allowed Late |
New column |
CustomerDemand |
PeriodsAllowedLate |
Text |
No |
|
Late Delivery Penalty Cost |
New column |
CustomerDemand |
LateDeliveryPenaltyCost |
Text |
No |
|
Late Delivery Penalty Cost Basis |
New column |
CustomerDemand |
LateDeliveryPenaltyCostBasis |
Text |
No |
|
Late Delivery Cost Inflation Factor |
New column |
CustomerDemand |
LateDeliveryCostInflationFactor |
Float |
No |
|
Single Source Fulfillment |
New column Read-only |
CustomerDemand |
SingleSourceFulfillment |
Boolean |
No |
|
Single Period Fulfillment |
New column Read-only |
CustomerDemand |
SinglePeriodFulfillment |
Boolean |
No |
|
Fulfillment ID |
New column |
CustomerDemand |
FulfillmentID |
Text |
No |
|
Customer Orders |
Periods Allowed Early |
New column |
CustomerDemand |
TimeAllowedEarly |
Text |
No |
Early Delivery Penalty Cost |
New column |
CustomerDemand |
EarlyDeliveryPenaltyCost |
Text |
No |
|
Early Delivery Penalty Cost Basis |
New column |
CustomerDemand |
EarlyDeliveryPenaltyCostBasis |
Text |
No |
|
Early Delivery Cost Inflation Factor |
New column |
CustomerDemand |
EarlyDeliveryCostInflationFactor |
Float |
No |
|
Periods Allowed Late |
New column |
CustomerDemand |
TimeAllowedLate |
Text |
No |
|
Late Delivery Penalty Cost |
New column |
CustomerDemand |
LateDeliveryPenaltyCost |
Text |
No |
|
Late Delivery Penalty Cost Basis |
New column |
CustomerDemand |
LateDeliveryPenaltyCostBasis |
Text |
No |
|
Late Delivery Cost Inflation Factor |
New column |
CustomerDemand |
LateDeliveryCostInflationFactor |
Float |
No |
|
Single Source Fulfillment |
New column Read-only |
CustomerDemand |
SingleSourceFulfillment |
Boolean |
No |
|
Single Period Fulfillment |
New column Read-only |
CustomerDemand |
SinglePeriodFulfillment |
Boolean |
No |
|
Fulfillment ID |
New column |
CustomerDemand |
FulfillmentID |
Text |
No |
|
Customer Order Fulfillment
|
Fulfillment ID |
New column Read-only |
CustomerOrderFulfillment |
FulfillmentID |
Text |
Yes |
Single Source Fulfillment |
New column Read-only |
CustomerOrderFulfillment |
SingleSourceFulfillment |
Boolean |
Yes |
|
Single Period Fulfillment |
New column Read-only |
CustomerOrderFulfillment |
SinglePeriodFulfillment |
Boolean |
Yes |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Transportation Drone Summary |
Carrier |
New table/column |
DroneUtilizations |
DroneCarrierName |
Text |
Drone |
New table/column |
DroneUtilizations |
DroneTypeName |
Text |
|
Drones Available |
New table/column |
DroneUtilizations |
NumOfDronesAvailable |
Int |
|
Drones Used |
New table/column |
DroneUtilizations |
NumOfUsedDrones |
Int |
|
Scenario ID |
New table/column |
DroneUtilizations |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
DroneUtilizations |
StepNumber |
Int |
|
Sortie Summary |
Drone |
New table/column |
SortieOutput |
DroneTypeName |
Text |
Route ID |
New table/column |
SortieOutput |
RouteId |
Text |
|
Total Distance |
New table/column |
SortieOutput |
TotalDistance |
Float |
|
Total Weight |
New table/column |
SortieOutput |
TotalWeight |
Float |
|
Total Volume |
New table/column |
SortieOutput |
TotalCubic |
Float |
|
Total Quantity |
New table/column |
SortieOutput |
TotalQty |
Float |
|
Start Date Time |
New table/column |
SortieOutput |
StartDateTime |
DateTime |
|
End Date Time |
New table/column |
SortieOutput |
EndDateTime |
DateTime |
|
Total Time |
New table/column |
SortieOutput |
TotalTime |
Float |
|
Travel Time |
New table/column |
SortieOutput |
TravelTime |
Float |
|
Service Time |
New table/column |
SortieOutput |
ServiceTime |
Float |
|
Wait Time |
New table/column |
SortieOutput |
WaitTime |
Float |
|
Start Date Time Local |
New table/column |
SortieOutput |
StartDateTimeLocal |
DateTime |
|
End Date Time Local |
New table/column |
SortieOutput |
EndDateTimeLocal |
DateTime |
|
Max Weight |
New table/column |
SortieOutput |
MaxWeight |
Float |
|
Max Volume |
New table/column |
SortieOutput |
MaxCubic |
Float |
|
Max Quantity |
New table/column |
SortieOutput |
MaxQty |
Float |
|
Drone ID |
New table/column |
SortieOutput |
DroneId |
Int |
|
Sortie Sequence ID |
New table/column |
SortieOutput |
SortieSequenceId |
Int |
|
Sortie Utilization |
New table/column |
SortieOutput |
SortieUtilization |
Float |
|
Scenario ID |
New table/column |
SortieOutput |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
SortieOutput |
StepNumber |
Int |
|
Sortie Details |
Drone |
New table/column |
SortieDetails |
DroneTypeName |
Text |
Drone ID |
New table/column |
SortieDetails |
DroneId |
Int |
|
Sortie ID |
New table/column |
SortieDetails |
SortieId |
Int |
|
Gantt ID |
New table/column |
SortieDetails |
GanttId |
Int |
|
Start Location |
New table/column |
SortieDetails |
StartLocationName |
Text |
|
End Location |
New table/column |
SortieDetails |
EndLocationName |
Text |
|
Activity Type |
New table/column |
SortieDetails |
ActivityType |
Text |
|
Activity Start Time |
New table/column |
SortieDetails |
ActivityStartDateTime |
DateTime |
|
Activity End Time |
New table/column |
SortieDetails |
ActivityEndDateTime |
DateTime |
|
Distance |
New table/column |
SortieDetails |
Distance |
Float |
|
Cumulative Distance |
New table/column |
SortieDetails |
CumulativeDistance |
Float |
|
Activity Time |
New table/column |
SortieDetails |
ActivityTime |
Float |
|
Cumulative Time |
New table/column |
SortieDetails |
CumulativeTime |
Float |
|
Load Unload Quantity |
New table/column |
SortieDetails |
LoadUnloadQty |
Float |
|
Load Unload Weight |
New table/column |
SortieDetails |
LoadUnloadWeight |
Float |
|
Load Unload Volume |
New table/column |
SortieDetails |
LoadUnloadCubic |
Float |
|
Load Unload Shipment Count |
New table/column |
SortieDetails |
LoadUnloadShipmentCount |
Int |
|
Total Quantity |
New table/column |
SortieDetails |
TotalQty |
Float |
|
Total Weight |
New table/column |
SortieDetails |
TotalWeight |
Float |
|
Total Volume |
New table/column |
SortieDetails |
TotalCubic |
Float |
|
Total Shipment Count |
New table/column |
SortieDetails |
TotalShipmentCountOnAsset |
Int |
|
Remaining Quantity Capacity |
New table/column |
SortieDetails |
RemainingQtyCapacity |
Float |
|
Remaining Weight Capacity |
New table/column |
SortieDetails |
RemainingWeightCapacity |
Float |
|
Remaining Volume Capacity |
New table/column |
SortieDetails |
RemainingCubicCapacity |
Float |
|
Start Location Latitude |
New table/column |
SortieDetails |
StartLocationLatitude |
Float |
|
Start Location Longitude |
New table/column |
SortieDetails |
StartLocationLongitude |
Float |
|
End Location Latitude |
New table/column |
SortieDetails |
EndLocationLatitude |
Float |
|
End Location Longitude |
New table/column |
SortieDetails |
EndLocationLongitude |
Float |
|
Activity Start Time Local |
New table/column |
SortieDetails |
StartDateTimeLocal |
DateTime |
|
Activity End Time Local |
New table/column |
SortieDetails |
EndDateTimeLocal |
DateTime |
|
Scenario ID |
New table/column |
SortieDetails |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
SortieDetails |
StepNumber |
Int |
|
Sortie Segments |
Start Date Time |
New table/column |
SortieSegmentOutput |
StartDateTime |
DateTime |
End Date Time |
New table/column |
SortieSegmentOutput |
EndDateTime |
DateTime |
|
Distance |
New table/column |
SortieSegmentOutput |
Distance |
Float |
|
Flight Time |
New table/column |
SortieSegmentOutput |
FlightTime |
Float |
|
Start Date Time Local |
New table/column |
SortieSegmentOutput |
StartDateTimeLocal |
DateTime |
|
End Date Time Local |
New table/column |
SortieSegmentOutput |
EndDateTimeLocal |
DateTime |
|
Sortie ID |
New table/column |
SortieSegmentOutput |
SortieId |
Int |
|
Sequence ID |
New table/column |
SortieSegmentOutput |
SequenceId |
Int |
|
Start Stop ID |
New table/column |
SortieSegmentOutput |
StartStopId |
Int |
|
End Stop ID |
New table/column |
SortieSegmentOutput |
EndStopId |
Int |
|
Scenario ID |
New table/column |
SortieSegmentOutput |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
SortieSegmentOutput |
StepNumber |
Int |
|
Sortie Stops |
Stop ID |
New table/column |
SortieStopOutput |
StopId |
Int |
Sortie ID |
New table/column |
SortieStopOutput |
SortieId |
Int |
|
Sequence ID |
New table/column |
SortieStopOutput |
SequenceId |
Int |
|
Site Name |
New table/column |
SortieStopOutput |
LocationName |
Int |
|
Arrival Date Time |
New table/column |
SortieStopOutput |
ArriveDateTime |
DateTime |
|
Delivery Date Time |
New table/column |
SortieStopOutput |
DeliveryDateTime |
DateTime |
|
Leave Date Time |
New table/column |
SortieStopOutput |
LeaveDateTime |
DateTime |
|
Latitude |
New table/column |
SortieStopOutput |
Latitude |
Float |
|
Longitude |
New table/column |
SortieStopOutput |
Longitude |
Float |
|
Stop Type |
New table/column |
SortieStopOutput |
StopType |
Text |
|
Pickup Volume |
New table/column |
SortieStopOutput |
PickupCubic |
Float |
|
Pickup Weight |
New table/column |
SortieStopOutput |
PickupWeight |
Float |
|
Pickup Quantity |
New table/column |
SortieStopOutput |
PickupQuantity |
Float |
|
Delivered Volume |
New table/column |
SortieStopOutput |
DeliveredCubic |
Float |
|
Delivered Weight |
New table/column |
SortieStopOutput |
DeliveredWeight |
Float |
|
Delivered Quantity |
New table/column |
SortieStopOutput |
DeliveredQuantity |
Float |
|
Remaining Volume |
New table/column |
SortieStopOutput |
RemainingCubic |
Float |
|
Remaining Weight |
New table/column |
SortieStopOutput |
RemainingWeight |
Float |
|
Remaining Quantity |
New table/column |
SortieStopOutput |
RemainingQuantity |
Float |
|
Arrival Date Time Local |
New table/column |
SortieStopOutput |
ArriveDateTimeLocal |
DateTime |
|
Delivery Date Time Local |
New table/column |
SortieStopOutput |
DeliveryDateTimeLocal |
DateTime |
|
Leave Date Time Local |
New table/column |
SortieStopOutput |
LeaveDateTimeLocal |
DateTime |
|
Range At Arrival |
New table/column |
SortieStopOutput |
RangeAtArrival |
Float |
|
Range When Leaving |
New table/column |
SortieStopOutput |
RangeWhenLeaving |
Float |
|
Scenario ID |
New table/column |
SortieStopOutput |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
SortieStopOutput |
StepNumber |
Int |
|
Transportation Summary |
Total Sortie Cost |
New column |
VehicleRouteOptimizationSummary |
TotalSortieCost |
Money |
Total Sorties |
New column |
VehicleRouteOptimizationSummary |
TotalSorties |
Int |
|
Total Drones |
New column |
VehicleRouteOptimizationSummary |
TotalDrones |
Int |
|
Total Sortie Stops |
New column |
VehicleRouteOptimizationSummary |
TotalSortieStops |
Int |
|
Sortie Utilization |
New column |
VehicleRouteOptimizationSummary |
SortieUtilization |
Float |
|
Route Summary |
Drone Fixed Cost |
New column |
VRPOutputRoutes |
DroneFixedCost |
Money |
Asset Origin |
New column |
VRPOutputRoutes |
AssetOrigin |
Text |
|
Driver Utilization |
Site Name |
New table/column |
DriverUtilitization |
SiteName |
Text |
Driver Class |
New table/column |
DriverUtilitization |
DriverClass |
Text |
|
Available Quantity |
New table/column |
DriverUtilitization |
AvailableQuantity |
Int |
|
Quantity Used |
New table/column |
DriverUtilitization |
QuantityUsed |
Int |
|
Scenario ID |
New table/column |
DriverUtilitization |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
DriverUtilitization |
StepNumber |
Int |
|
Driver Summary |
Site Name |
New column |
DriverSummary |
SiteName |
Text |
Driver Schedule |
Asset Origin |
New column |
DriverSchedule |
Asset Origin |
Text |
Unscheduled Routes |
Asset Origin |
New column |
UnscheduledRoutes |
AssetOrigin |
Text |
Asset Name |
Renamed column (previously Equipment Type ID) |
UnscheduledRoutes |
EquipmentTypeId |
Text |
|
Network Summary |
% Demand On-Time |
New column |
OptimizationOutputNetworkSummary |
PercentDemandOnTime |
Float |
% Demand Late |
New column |
OptimizationOutputNetworkSummary |
PercentDemandLate |
Float |
|
% Demand Early |
New column |
OptimizationOutputNetworkSummary |
PercentDemandEarly |
Float |
|
Total Late Demand Penalty Cost |
New column |
OptimizationOutputNetworkSummary |
TotalLateDemandPenaltyCost |
Money |
|
Total Early Demand Penalty Cost |
New column |
OptimizationOutputNetworkSummary |
TotalEarlyDemandPenaltyCost |
Money |
|
Total Unserved Demand Penalty Cost |
New column |
OptimizationOutputNetworkSummary |
TotalUnservedDemandPenaltyCost |
Money |
|
Total Demand Penalty Cost |
New column |
OptimizationOutputNetworkSummary |
TotalDemandPenaltyCost |
Money |
|
Financial Summary |
Total Late Demand Penalty Cost |
New column |
OptimizationOutputFinancialSummary |
TotalLateDemandPenaltyCost |
Money |
Total Early Demand Penalty Cost |
New column |
OptimizationOutputFinancialSummary |
TotalEarlyDemandPenaltyCost |
Money |
|
Total Unserved Demand Penalty Cost |
New column |
OptimizationOutputFinancialSummary |
TotalUnservedDemandPenaltyCost |
Money |
|
Total Demand Penalty Cost |
New column |
OptimizationOutputFinancialSummary |
TotalDemandPenaltyCost |
Money |
|
Network Organization Summary |
% Demand On-Time |
New column |
OptimizationOutputOrganizationSummary |
PercentDemandOnTime |
Float |
% Demand Late |
New column |
OptimizationOutputOrganizationSummary |
PercentDemandLate |
Float |
|
% Demand Early |
New column |
OptimizationOutputOrganizationSummary |
PercentDemandEarly |
Float |
|
Total Late Demand Penalty Cost |
New column |
OptimizationOutputOrganizationSummary |
TotalLateDemandPenaltyCost |
Money |
|
Total Early Demand Penalty Cost |
New column |
OptimizationOutputOrganizationSummary |
TotalEarlyDemandPenaltyCost |
Money |
|
Total Unserved Demand Penalty Cost |
New column |
OptimizationOutputOrganizationSummary |
TotalUnservedDemandPenaltyCost |
Money |
|
Total Demand Penalty Cost |
New column |
OptimizationOutputOrganizationSummary |
TotalDemandPenaltyCost |
Money |
|
Network Customer Summary |
% Demand On-Time |
New column |
OptimizationOutputCustomerSummary |
PercentDemandOnTime |
Float |
% Demand Late |
New column |
OptimizationOutputCustomerSummary |
PercentDemandLate |
Float |
|
% Demand Early |
New column |
OptimizationOutputCustomerSummary |
PercentDemandEarly |
Float |
|
Total Late Demand Penalty Cost |
New column |
OptimizationOutputCustomerSummary |
TotalLateDemandPenaltyCost |
Money |
|
Total Early Demand Penalty Cost |
New column |
OptimizationOutputCustomerSummary |
TotalEarlyDemandPenaltyCost |
Money |
|
Total Unserved Demand Penalty Cost |
New column |
OptimizationOutputCustomerSummary |
TotalUnservedDemandPenaltyCost |
Money |
|
Total Demand Penalty Cost |
New column |
OptimizationOutputCustomerSummary |
TotalDemandPenaltyCost |
Money |
|
Network Product Summary |
% Demand On-Time |
New column |
OptimizationOutputProductSummary |
PercentDemandOnTime |
Float |
% Demand Late |
New column |
OptimizationOutputProductSummary |
PercentDemandLate |
Float |
|
% Demand Early |
New column |
OptimizationOutputProductSummary |
PercentDemandEarly |
Float |
|
Total Late Demand Penalty Cost |
New column |
OptimizationOutputProductSummary |
TotalLateDemandPenaltyCost |
Money |
|
Total Early Demand Penalty Cost |
New column |
OptimizationOutputProductSummary |
TotalEarlyDemandPenaltyCost |
Money |
|
Total Unserved Demand Penalty Cost |
New column |
OptimizationOutputProductSummary |
TotalUnservedDemandPenaltyCost |
Money |
|
Total Demand Penalty Cost |
New column |
OptimizationOutputProductSummary |
TotalDemandPenaltyCost |
Money |
|
Customer Demand Summary
|
Fulfillment ID |
New column |
OptimizationOutputAggregatedDemand |
OrderID |
Text |
Priority |
New column |
OptimizationOutputAggregatedDemand |
Priority |
Text |
|
Demanded Period |
New column |
OptimizationOutputAggregatedDemand |
DemandedPeriod |
Integer |
|
Periods Late |
New column |
OptimizationOutputAggregatedDemand |
PeriodsLate |
Integer |
|
Periods Early |
New column |
OptimizationOutputAggregatedDemand |
PeriodsEarly |
Integer |
|
Remaining Demand Quantity |
New column |
OptimizationOutputAggregatedDemand |
ReaminingDemandQuantity |
Float |
|
Late Demand Penalty Cost |
New column |
OptimizationOutputAggregatedDemand |
LateDemandPenaltyCost |
Money |
|
Early Demand Penalty Cost |
New column |
OptimizationOutputAggregatedDemand |
EarlyDemandPenaltyCost |
Money |
|
Total Unserved Demand Penalty Cost |
New column |
OptimizationOutputAggregatedDemand |
TotalUnservedDemandPenaltyCost |
Money |
|
Total Demand Penalty Cost |
Renamed column (from Total Demand Penalty) |
OptimizationOutputAggregatedDemand |
TotalDemandPenaltyCost |
Money |
|
Received Period |
Renamed column (from Period No) |
OptimizationOutputAggregatedDemand |
PeriodNo |
Integer |

Platform support for model versions
The Coupa platform supports models with a database schema of up to 1 year old. As of release 35.0.0, this includes models from releases back to the R30 release (schema version 303007). Models with unsupported schemas must be upgraded prior to solving, modeling, using with apps or solving on the cloud. Support is ending for the following schema versions:
-
302000 (Release 2020.09)
-
303001 (Release 2020.12)
Older models can still be uploaded to llama.ai, but must be upgraded in order to be used.
Spatial modeling
Network Optimization includes the capability to model space within sites, enabling you to determine site size based on dimensional requirements (floor area). You can define spaces to align with specific functions within the location, such as storage, shipping and offices. The space definitions include fixed and variable costs and CO2 consumption rates. They also capture inventory considerations and overall constraints, such as minimum and maximum expansion limits.
Spatial modeling supports a number of features, including:
-
Assess sites based on available space with associated costs for startup and operating expenses.
-
Allow for variable space usage based on the activity in the space, including minimum and maximum allowances based on throughput of specific products.
-
Constrain sites and spaces by the total allowable space.
-
Expand sites and spaces while considering expansion costs and increased operating costs and CO2 consumption.
-
Define obsolete/unhealthy stock as a quantity or as a percentage of "healthy" stock at the site-product level.
In addition to the space and inventory features, general site cost and CO2 consumption features are available:
-
Define startup costs and fixed CO2 consumption for sites at the period level.
-
Define variable costs and CO2 consumption at the site level.
A set of new input tables provides the means for defining the spaces per site and assigning products that can utilize the space. Please note that at this time, groups are not supported for the Space column in the space assignments tables. Additional columns in the existing sites tables enable you to constrain spaces at the site level, while columns in the inventory policies tables provide a way to define obsolete/unhealthy inventory. New output tables and additional columns in existing output tables provide thorough reporting including cost and CO2 data, space utilization and expansion, and inventory metrics.
Configuration tables for solvers
Models now include configuration tables for the Network Optimization, Inventory Optimization and Transportation Optimization solvers: Config_NO, Config_IO, and Config_TO. These tables are used to set optional solver parameters and each is populated with a default set of parameters. To use the parameters when solving, set the Status to "Include" and adjust the Parameter Value as needed. Coupa may provide additional parameters in the future.
In prior releases, you added these tables to your model using Model Transformations. With this enhancement, the Model Transformations that were used to create these tables have been removed.
If you have an existing model that already includes the configuration tables as user defined tables:
-
The tables will be recreated as standard tables and populated with the parameters as in the existing user defined tables.
-
The user defined tables will be removed.
Deprecation of "Create Advanced Parameter Table" model transformations
The configuration tables generated by the three advanced parameter table model transformations are now standard tables in the model database. As a result, these transformations are no longer available under Model > Model Transformations:
-
Created Advanced NO Parameter Table
-
Created Advanced IO Parameter Table
-
Created Advanced TO Parameter Table
Improvement for Network Optimization with large models
The Supply Chain Guru X configuration has been updated to better handle Network Optimization models with millions of records. This change will prevent cases where Network Optimization failed with an out of memory error, even when there was sufficient memory.
Additional Network Optimization output columns
The following columns have been added to Network Optimization output tables:
-
Financial Summary > Tax Cost - The total cost from tax, calculated as: Period End Refundable Tax Balance + Non-Refundable Tax Credit
-
Product Summary > Intransit Inventory Holding Cost - The cost from units considered as inventory due to their inaccessibility during transportation.
Driver scheduling available for cloud solving
The Driver Scheduling problem type in Transportation Optimization can now be run using the Cloud solving engine.
Driver scheduling available for command line solving
The Driver Scheduling problem type in Transportation Optimization can now be run using the Supply Chain Guru X command line solver. You can run it using the 'transopt' argument with a type value of 'ds'.
Option to turn off Cost To Serve dynamic view
The View Costs button on the Cost To Serve Details output table provides access to a dynamic view of the costs produced by Cost To Serve Analysis. In some large models, the output file that populates the dynamic view is too large to import successfully. If you encounter this issue, you can check the Bypass Cost To Serve Dynamic View option on the Advanced Settings tab in Network Optimization Run Options. When this option is selected, the output table for the dynamic view is not generated.
NO-IO conversion update
NO-IO conversion has been updated to remove dependence on Data Guru macro actions. This change improves performance and stability.
Installed component information
The list of installed components in the Help > About Coupa Supply Chain Guru window has been expanded to include both standard and legacy solver version information.

Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Config_IO |
Parameter Name |
New table/column |
Config_IO |
ParameterName |
Text |
Yes |
Parameter Value |
New table/column |
Config_IO |
ParameterValue |
Text |
Yes |
|
Status |
New table/column |
Config_IO |
Status |
Text |
No |
|
Description |
New table/column |
Config_IO |
Description |
Text |
No |
|
Config_NO
|
Parameter Name |
New table/column |
Config_NO |
ParameterName |
Text |
Yes |
Parameter Value |
New table/column |
Config_NO |
ParameterValue |
Text |
Yes |
|
Status |
New table/column |
Config_NO |
Status |
Text |
No |
|
Description |
New table/column |
Config_NO |
Description |
Text |
No |
|
Config_TO
|
Parameter Name |
New table/column |
Config_TO |
ParameterName |
Text |
Yes |
Parameter Value |
New table/column |
Config_TO |
ParameterValue |
Text |
Yes |
|
Status |
New table/column |
Config_TO |
Status |
Text |
No |
|
Description |
New table/column |
Config_TO |
Description |
Text |
No |
|
Site Storage Spaces |
Name |
New table/column |
SiteStorageSpaces |
SpaceName |
Text |
Yes |
Site Name |
New table/column |
SiteStorageSpaces |
SiteName |
Text |
Yes |
|
Initial Period |
New table/column |
SiteStorageSpaces |
InitialPeriod |
Text |
No |
|
Cube-Floor Ratio |
New table/column |
SiteStorageSpaces |
CubeFloorRatio |
Float |
No |
|
Min Floor Space |
New table/column |
SiteStorageSpaces |
MinFloorSpace |
Text |
No |
|
Max Floor Space |
New table/column |
SiteStorageSpaces |
MaxFloorSpace |
Text |
No |
|
Min Floor Expansion |
New table/column |
SiteStorageSpaces |
MinFloorExpansion |
Text |
No |
|
Max Floor Expansion |
New table/column |
SiteStorageSpaces |
MaxFloorExpansion |
Text |
No |
|
Floor Expansion Cost |
New table/column |
SiteStorageSpaces |
FloorExpansionCost |
Text |
No |
|
Percent Full |
New table/column |
SiteStorageSpaces |
PercentFull |
Float |
No |
|
Status |
New table/column |
SiteStorageSpaces |
Status |
Text |
No |
|
Site Shipping Spaces |
Name |
New table/column |
SiteShippingSpaces |
SpaceName |
Text |
Yes |
Site Name |
New table/column |
SiteShippingSpaces |
SiteName |
Text |
Yes |
|
Initial Period |
New table/column |
SiteShippingSpaces |
InitialPeriod |
Text |
No |
|
Throughput-Space Ratio |
New table/column |
SiteShippingSpaces |
ThroughputSpaceRatio |
Float |
No |
|
Min Floor Space |
New table/column |
SiteShippingSpaces |
MinFloorSpace |
Text |
No |
|
Max Floor Space |
New table/column |
SiteShippingSpaces |
MaxFloorSpace |
Text |
No |
|
Min Floor Expansion |
New table/column |
SiteShippingSpaces |
MinFloorExpansion |
Text |
No |
|
Max Floor Expansion |
New table/column |
SiteShippingSpaces |
MaxFloorExpansion |
Text |
No |
|
Floor Expansion Cost |
New table/column |
SiteShippingSpaces |
FloorExpansionCost |
Text |
No |
|
Percent Utilized |
New table/column |
SiteShippingSpaces |
PercentUtilized |
Float |
No |
|
Status |
New table/column |
SiteShippingSpaces |
Status |
Text |
No |
|
Site Other Spaces |
Name |
New table/column |
SiteOtherSpaces |
SpaceName |
Text |
Yes |
Site Name |
New table/column |
SiteOtherSpaces |
SiteName |
Text |
Yes |
|
Initial Period |
New table/column |
SiteOtherSpaces |
InitialPeriod |
Text |
No |
|
Fixed Space |
New table/column |
SiteOtherSpaces |
FixedSpace |
Text |
No |
|
Status |
New table/column |
SiteOtherSpaces |
Status |
Text |
No |
|
Storage Space Assignments |
Site Name |
New table/column |
StorageSpaceAssignments |
SpaceName |
Text |
Yes |
Space |
New table/column |
StorageSpaceAssignments |
SiteName |
Text |
Yes |
|
Product |
New table/column |
StorageSpaceAssignments |
ProductName |
Text |
Yes |
|
Utilization |
New table/column |
StorageSpaceAssignments |
Utilization |
Float |
No |
|
Status |
New table/column |
StorageSpaceAssignments |
Status |
Text |
No |
|
Receiving Space Assignments |
Site Name |
New table/column |
ReceivingSpaceAssignments |
SpaceName |
Text |
Yes |
Space |
New table/column |
ReceivingSpaceAssignments |
SiteName |
Text |
Yes |
|
Product |
New table/column |
ReceivingSpaceAssignments |
ProductName |
Text |
Yes |
|
Utilization |
New table/column |
ReceivingSpaceAssignments |
Utilization |
Float |
No |
|
Status |
New table/column |
ReceivingSpaceAssignments |
Status |
Text |
No |
|
Dispatch Space Assignments
|
Site Name |
New table/column |
DispatchSpaceAssignments |
SpaceName |
Text |
Yes |
Space |
New table/column |
DispatchSpaceAssignments |
SiteName |
Text |
Yes |
|
Product |
New table/column |
DispatchSpaceAssignments |
ProductName |
Text |
Yes |
|
Utilization |
New table/column |
DispatchSpaceAssignments |
Utilization |
Float |
No |
|
Status |
New table/column |
DispatchSpaceAssignments |
Status |
Text |
No |
|
Sites |
Site Variable Cost |
New column |
Sites |
SiteVariableCost |
Text |
No |
Site Variable Cost Basis |
New column |
Sites |
SiteVariableCostBasis |
Text |
No |
|
Fixed Operating Space Expansion Cost |
New column |
Sites |
FixedOperatingSpaceExpansionCost |
Text |
No |
|
Site Variable CO2 |
New column |
Sites |
SiteVariableCO2 |
Text |
No |
|
Site Variable CO2 Basis |
New column |
Sites |
SiteVariableCO2Basis |
Text |
No |
|
Fixed CO2 Space Expansion Rate |
New column |
Sites |
FixedCO2SpaceExpansionRate |
Text |
No |
|
Initial Floor Space |
New column |
Sites |
InitialFloorSpace |
Text |
No |
|
Min Floor Expansion |
New column |
Sites |
MinFloorExpansion |
Text |
No |
|
Max Floor Expansion |
New column |
Sites |
MaxFloorExpansion |
Text |
No |
|
Sites Multi-Period |
Site Variable Cost |
New column |
Sites_MultiPeriod |
SiteVariableCost |
Text |
No |
Site Variable Cost Basis |
New column |
Sites_MultiPeriod |
SiteVariableCostBasis |
Text |
No |
|
Fixed Operating Space Expansion Cost |
New column |
Sites_MultiPeriod |
FixedOperatingSpaceExpansionCost |
Text |
No |
|
Min Floor Expansion |
New column |
Sites_MultiPeriod |
MinFloorExpansion |
Text |
No |
|
Site Variable CO2 |
New column |
Sites_MultiPeriod |
SiteVariableCO2 |
Text |
No |
|
Site Variable CO2 Basis |
New column |
Sites_MultiPeriod |
SiteVariableCO2Basis |
Text |
No |
|
Fixed CO2 |
New column |
Sites_MultiPeriod |
FixedCO2 |
|
|
|
Fixed CO2 Space Expansion Rate |
New column |
Sites_MultiPeriod |
FixedCO2SpaceExpansionRate |
Text |
No |
|
Inventory Policies |
Unhealthy Turn Percent |
New column |
InventoryPolicies |
UnhealthyTurnPercent |
Float |
No |
Fixed Excess Stock |
New column |
InventoryPolicies |
FixedExcessStock |
Text |
No |
|
Excess Move Percent |
New column |
InventoryPolicies |
ExcessMovePercent |
Float |
No |
|
Inventory Policies Multi-Period |
Unhealthy Turn Percent |
New column |
InventoryPolicies_MultiPeriod |
UnhealthyTurnPercent |
|
|
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Network Summary |
Space Expansion Cost |
New column |
OptimizationOutputNetworkSummary |
SpaceExpansionCost |
Money |
Site Variable Cost |
New column |
OptimizationOutputNetworkSummary |
SiteVariableCost |
Money |
|
Financial Summary |
Space Expansion Cost |
New column |
OptimizationOutputFinancialSummary |
SpaceExpansionCost |
Money |
Site Variable Cost |
New column |
OptimizationOutputFinancialSummary |
SiteVariableCost |
Money |
|
Tax Cost |
New column |
OptimizationOutputFinancialSummary |
TotalTaxCost |
Money |
|
Network Organization Summary |
Space Expansion Cost |
New column |
OptimizationOutputOrganizationSummary |
SpaceExpansionCost |
Money |
Site Variable Cost |
New column |
OptimizationOutputOrganizationSummary |
SiteVariableCost |
Money |
|
Network Site Summary |
Space Expansion Cost |
New column |
OptimizationOutputCustomerFlows |
SpaceExpansionCost |
Money |
Site Variable Cost |
New column |
OptimizationOutputCustomerFlows |
SiteVariableCost |
Money |
|
Site Variable CO2 |
New column |
OptimizationOutputCustomerFlows |
SiteVariableCO2 |
Float |
|
Network Product Summary |
Site Variable Cost |
New column |
OptimizationOutputProductSummary |
SiteVariableCost |
Money |
Site Variable CO2 |
New column |
OptimizationOutputProductSummary |
SiteVariableCO2 |
Float |
|
Intransit Inventory Holding Cost |
New column |
OptimizationOutputProductSummary |
IntransitInventoryHoldingCost |
Money |
|
Network Inventory Summary |
Excess Inventory |
New column |
OptimizationOutputInventory |
ExcessInventory |
Float |
Site Space Summary
|
Site |
New table/column |
OptimizationOutputSiteSpaceSummary |
SiteName |
Text |
Product |
New table/column |
OptimizationOutputSiteSpaceSummary |
PeriodName |
Text |
|
Initial Size |
New table/column |
OptimizationOutputSiteSpaceSummary |
InitialSize |
Float |
|
Total Floor Space |
New table/column |
OptimizationOutputSiteSpaceSummary |
TotalFloorSpace |
Float |
|
Expansion Size |
New table/column |
OptimizationOutputSiteSpaceSummary |
ExpansionSize |
Float |
|
Used Floor Space |
New table/column |
OptimizationOutputSiteSpaceSummary |
UsedFloorSpace |
Float |
|
Unused Floor Space |
New table/column |
OptimizationOutputSiteSpaceSummary |
UnusedFloorSpace |
Float |
|
Space Utilization |
New table/column |
OptimizationOutputSiteSpaceSummary |
SpaceUtilization |
Float |
|
Total Throughput |
New table/column |
OptimizationOutputSiteSpaceSummary |
TotalThroughput |
Float |
|
Total Fixed Operating Cost |
New table/column |
OptimizationOutputSiteSpaceSummary |
TotalFixedOperatingCost |
Money |
|
Total Fixed Operating CO2 |
New table/column |
OptimizationOutputSiteSpaceSummary |
TotalFixedOperatingCO2 |
Float |
|
Added Operating Cost |
New table/column |
OptimizationOutputSiteSpaceSummary |
AddedOperatingCost |
Money |
|
Added Operating CO2 |
New table/column |
OptimizationOutputSiteSpaceSummary |
AddedOperatingCO2 |
Float |
|
Site Variable Cost |
New table/column |
OptimizationOutputSiteSpaceSummary |
SiteVariableCost |
Money |
|
Site Variable CO2 |
New table/column |
OptimizationOutputSiteSpaceSummary |
SiteVariableCO2 |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputSiteSpaceSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputSiteSpaceSummary |
StepNumber |
Int |
|
Storage Space Summary
|
Site |
New table/column |
OptimizationOutputStorageSpaceSummary |
SiteName |
Text |
Space |
New table/column |
OptimizationOutputStorageSpaceSummary |
SpaceName |
Text |
|
Period |
New table/column |
OptimizationOutputStorageSpaceSummary |
PeriodName |
Text |
|
Initial Period |
New table/column |
OptimizationOutputStorageSpaceSummary |
InitialPeriod |
Text |
|
Starting Size |
New table/column |
OptimizationOutputStorageSpaceSummary |
StartingSize |
Float |
|
Minimum Size |
New table/column |
OptimizationOutputStorageSpaceSummary |
MinimumSize |
Float |
|
Total Floor Space |
New table/column |
OptimizationOutputStorageSpaceSummary |
TotalFloorSpace |
Float |
|
Expansion Size |
New table/column |
OptimizationOutputStorageSpaceSummary |
ExpansionSize |
Float |
|
Expansion Cost |
New table/column |
OptimizationOutputStorageSpaceSummary |
ExpansionCost |
Money |
|
Total Throughput |
New table/column |
OptimizationOutputStorageSpaceSummary |
TotalThroughput |
Float |
|
Total Storage Space |
New table/column |
OptimizationOutputStorageSpaceSummary |
TotalStorageSpace |
Float |
|
Used Floor Space |
New table/column |
OptimizationOutputStorageSpaceSummary |
UsedFloorSpace |
Float |
|
Unused Floor Space |
New table/column |
OptimizationOutputStorageSpaceSummary |
UnusedFloorSpace |
Float |
|
Space Utilization |
New table/column |
OptimizationOutputStorageSpaceSummary |
SpaceUtilization |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputStorageSpaceSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputStorageSpaceSummary |
Sub-ScenarioID |
Int |
|
Shipping Space Summary |
Site |
New table/column |
OptimizationOutputShippingSpaceSummary |
SiteName |
Text |
Space |
New table/column |
OptimizationOutputShippingSpaceSummary |
SpaceName |
Text |
|
Period |
New table/column |
OptimizationOutputShippingSpaceSummary |
PeriodName |
Text |
|
Initial Period |
New table/column |
OptimizationOutputShippingSpaceSummary |
InitialPeriod |
Text |
|
Starting Size |
New table/column |
OptimizationOutputShippingSpaceSummary |
StartingSize |
Float |
|
Minimum Size |
New table/column |
OptimizationOutputShippingSpaceSummary |
MinimumSize |
Float |
|
Total Floor Space |
New table/column |
OptimizationOutputShippingSpaceSummary |
TotalFloorSpace |
Float |
|
Expansion Size |
New table/column |
OptimizationOutputShippingSpaceSummary |
ExpansionSize |
Float |
|
Expansion Cost |
New table/column |
OptimizationOutputShippingSpaceSummary |
ExpansionCost |
Money |
|
Total Throughput Receiving |
New table/column |
OptimizationOutputShippingSpaceSummary |
TotalThroughputReceiving |
Float |
|
Total Throughput Dispatch |
New table/column |
OptimizationOutputShippingSpaceSummary |
TotalThroughputDispatch |
Float |
|
Receiving Floor Space |
New table/column |
OptimizationOutputShippingSpaceSummary |
ReceivingFloorSpace |
Float |
|
Dispatch Floor Space |
New table/column |
OptimizationOutputShippingSpaceSummary |
DispatchFloorSpace |
Float |
|
Used Floor Space |
New table/column |
OptimizationOutputShippingSpaceSummary |
UsedFloorSpace |
Float |
|
Unused Floor Space |
New table/column |
OptimizationOutputShippingSpaceSummary |
UnusedFloorSpace |
Float |
|
Space Utilization |
New table/column |
OptimizationOutputShippingSpaceSummary |
SpaceUtilization |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputShippingSpaceSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputShippingSpaceSummary |
StepNumber |
Int |
|
Other Space Summary |
Site |
New table/column |
OptimizationOutputOtherSpaceSummary |
SiteName |
Text |
Space |
New table/column |
OptimizationOutputOtherSpaceSummary |
SpaceName |
Text |
|
Period |
New table/column |
OptimizationOutputOtherSpaceSummary |
PeriodName |
Text |
|
Initial Period |
New table/column |
OptimizationOutputOtherSpaceSummary |
InitialPeriod |
Text |
|
Total Floor Space |
New table/column |
OptimizationOutputOtherSpaceSummary |
TotalFloorSpace |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputOtherSpaceSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputOtherSpaceSummary |
StepNumber |
Int |
|
Storage Space Details |
Site |
New table/column |
OptimizationOutputStorageSpaceDetails |
SiteName |
Text |
Space |
New table/column |
OptimizationOutputStorageSpaceDetails |
SpaceName |
Text |
|
Product |
New table/column |
OptimizationOutputStorageSpaceDetails |
ProductName |
Text |
|
Period |
New table/column |
OptimizationOutputStorageSpaceDetails |
PeriodName |
Text |
|
Total Throughput |
New table/column |
OptimizationOutputStorageSpaceDetails |
TotalThroughput |
Float |
|
Total Floor Space |
New table/column |
OptimizationOutputStorageSpaceDetails |
TotalFloorSpace |
Float |
|
Total Storage Space |
New table/column |
OptimizationOutputStorageSpaceDetails |
TotalStorageSpace |
Float |
|
Cycle Stock |
New table/column |
OptimizationOutputStorageSpaceDetails |
CycleStock |
Float |
|
Prebuild Stock |
New table/column |
OptimizationOutputStorageSpaceDetails |
PrebuildStock |
Float |
|
Safety Stock |
New table/column |
OptimizationOutputStorageSpaceDetails |
SafetyStock |
Float |
|
Turn Based Stock |
New table/column |
OptimizationOutputStorageSpaceDetails |
TurnBasedStock |
Float |
|
Excess Stock |
New table/column |
OptimizationOutputStorageSpaceDetails |
ExcessStock |
Float |
|
Total Inventory |
New table/column |
OptimizationOutputStorageSpaceDetails |
TotalInventory |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputStorageSpaceDetails |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputStorageSpaceDetails |
StepNumber |
Int |
|
Receiving Space Details |
Site |
New table/column |
OptimizationOutputReceivingSpaceDetails |
SiteName |
Text |
Space |
New table/column |
OptimizationOutputReceivingSpaceDetails |
SpaceName |
Text |
|
Product |
New table/column |
OptimizationOutputReceivingSpaceDetails |
ProductName |
Text |
|
Period |
New table/column |
OptimizationOutputReceivingSpaceDetails |
PeriodName |
Text |
|
Total Throughput |
New table/column |
OptimizationOutputReceivingSpaceDetails |
TotalThroughput |
Float |
|
Total Floor Space |
New table/column |
OptimizationOutputReceivingSpaceDetails |
TotalFloorSpace |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputReceivingSpaceDetails |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputReceivingSpaceDetails |
StepNumber |
Int |
|
Dispatch Space Details |
Site |
New table/column |
OptimizationOutputDispatchSpaceDetails |
SiteName |
Text |
Space |
New table/column |
OptimizationOutputDispatchSpaceDetails |
SpaceName |
Text |
|
Product |
New table/column |
OptimizationOutputDispatchSpaceDetails |
ProductName |
Text |
|
Period |
New table/column |
OptimizationOutputDispatchSpaceDetails |
PeriodName |
Text |
|
Total Throughput |
New table/column |
OptimizationOutputDispatchSpaceDetails |
TotalThroughput |
Float |
|
Total Floor Space |
New table/column |
OptimizationOutputDispatchSpaceDetails |
TotalFloorSpace |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputDispatchSpaceDetails |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputDispatchSpaceDetails |
StepNumber |
Int |
Optional solver parameter changes
This table lists parameters that have been added to the Advanced Parameter Tables for the various technologies:
Technology |
Parameter Name |
Description of Change |
Parameter Value |
Description |
---|---|---|---|---|
Network Optimization |
CTSFilter_TopFlowPathPercentage |
Renamed from CTSFilter_MinFlowPercentage |
Decimal between 0 - 1 |
The solver ranks all the paths by their quantity, and prints the top (1-x) paths with largest path flow. For example, if CTSFilter_TopFlowPathPercentage is set as 0.8, the top 20% of paths are printed. The quantity is the Total Quantity in the Cost To Serve Details table. In a multi-lane path, it is the Total Quantity for the last lane in the path. |
Network Optimization |
CTSFilter_BottomFlowPathPercentage |
Renamed from CTSFilter_MaxFlowPercentage |
Decimal between 0 - 1 |
The solver ranks all the paths by their quantity, and prints the bottom x paths with largest path flow. For example, if CTSFilter_BottomFlowPathPercentage is set as 0.9, the smallest 90% of paths are printed. The quantity is the Total Quantity in the Cost To Serve Details table. In a multi-lane path, it is the Total Quantity for the last lane in the path. |
Network Optimization |
CTSFilter_TopCostPathPercentage |
Renamed from CTSFilter_MinCostPercentage |
Decimal between 0 - 1 |
Print paths with cost greater than CTSFilter_TopCostPathPercentage. |
Network Optimization |
CTSFilter_BottomCostPathPercentage |
Renamed from CTSFilter_MaxCostPercentage |
Decimal between 0 - 1 |
Print paths with cost less than CTSFilter_BottomCostPathPercentage. |

Driver scheduling in Transportation Optimization
Once you have run Transportation Optimization to produce routes, you can use driver scheduling to assign a sequence of routes to specific drivers, minimizing costs within the applicable constraints. Drivers are defined using driver classes, which determine the equipment types the driver supports, the scheduling constraints for the driver, such as maximum duty time per shift and maximum distance per driver, and the cost associated with the scheduling of the specific driver.
This feature includes new input tables:
-
Drivers - Use this table to create records for each driver class. Apply constraints to limit conditions such as the allowable equipment types, number of routes, distance and working hours for the driver. You can also define fixed and variable costs that are incurred for this driver class.
-
Routes - Use this table to identify the existing routes to which you want drivers assigned. The routes are those returned by the Transportation Optimization solver.
You can review the driver scheduling results in the following new output tables:
-
Driver Schedule - This table displays the driver assignment per route, along with details such as the equipment used and the total route distance.
-
Driver Scheduling Summary - This table provides a high-level summary of the number of scheduled and unscheduled routes, with the total cost, number of drivers and other metrics.
-
Driver Summary - This table provides metrics per driver class, such as the number of routes assigned, total cost and total distance.
-
Unscheduled Routes - This table identifies routes that could not be scheduled with a specific driver.
Backhaul matching in Transportation Optimization
Backhaul Matching is a specialized case of Interleaved Optimization. It is designed for problems with multiple full-truckload (FTL) shipments, whereby the goal is to optimally match the outbound/linehaul FTL shipments with the inbound/backhaul ones. As a result, the routes in backhaul matching can have at most 2 shipments.
Sequential Optimization information in Network Summary
Two new columns have been added to the Network Summary output table to provide additional information about Sequential Optimization:
-
Objective Value - This is the current network cost or profit, based on the objective function, plus or minus the Total Sequential Objective Cost.
-
Total Sequential Objective Cost - When you have defined a constraint or penalty that is part of the sequential solve, this is the total penalty incurred.
Total Tax Cost in the Financial Summary output table
The Total Tax Cost has been added to the Total Cost in the Financial Summary output table.
New Greenfield Analysis solver
The default Greenfield Analysis solver is a new C# solver. The solver has been updated to achieve uniformity in the solver language.
Cross-period cost to serve support
Cost to serve analysis in Network Optimization now supports cross-period path definitions for transportation, production, and inventory. This is useful in cases where, for example, the transport or production time exceeds the length of a period. Cost to serve performs decomposition on products and periods, then uses dummy nodes to handle the cross-period production, inventory, and transportation. It uses a path search to find all cross-period flows, then assembles cross period paths. In many models, this new method results in a larger number of paths and may also generate paths with longer distances and times.
Product filters for temperature class and hazardous goods
Pre-defined product filters have been added that you can use to select products based on their Temperature Class and Hazardous Goods values. For example, you now see filters such as the following in any dropdown where you select Products:
-
(ALL_Frozen-NonHazardous_Products)
-
(ALL_Heated_Products)
These filters are particularly useful if you are using the integration to Coupa Sourcing Optimization (CSO).
Product and shipment characteristics in output tables
New columns have been added to the Customer Flows, InterSite Flows and Return Flows output tables to reflect the product and shipment characteristics used with the CSO integration:
-
Temperature Class
-
Hazardous Goods
-
Average Shipment Size
-
Shipment Size Basis
Policy Parameter default values
The default value for the Policy Parameter column has been changed from 1 to null in the following tables: Customer Sourcing Policies, Customer Sourcing Policies Multi-Period, Site Sourcing Policies, Site Sourcing Policies Multi-Period, and Transportation Policies
This change is to prevent Policy Parameter values from being interpreted as 1% for SplitByRatio and Probability policies. It will not affect the Policy Parameter values in existing records.
Duplicate options not permitted in Options table
You can no longer enter multiple records in the Options model database table with the same Option value. Duplicate options can result in serious issues, such as failure to open the model or preventing access to the Options in the Launch Pad. Updating the Options table using tools such as SQL Server Management Studio, Data Guru and App Studio no longer allows the creation of a duplicate option record. These records are flagged as duplicates.
Support for SQL Server 2019
The default version of SQL Server LocalDB installed with Supply Chain Guru X is now SQL Server 2019. If you previously had SQL Server 2017 LocalDB installed and used as the database instance for Supply Chain Guru X, Coupa recommends that you now use the SQL Server 2019 LocalDB.
Platform support for model versions
The Coupa platform supports models with a database schema of up to 1 year old. As of release 34.0.0, this includes models from releases back to the 2020.12 release (schema version 303001). Models with unsupported schemas must be upgraded prior to solving, modeling, using with apps or solving on the cloud. Support is ending for the following schema versions: 302000.
Older models can still be uploaded to llama.ai, but must be upgraded in order to be used.

Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Drivers |
Driver Class |
New table/column |
Driver |
DriverClass |
Text |
Yes |
Available Quantity |
New table/column |
Driver |
AvailableQty |
Float |
Yes |
|
Fixed Cost |
New table/column |
Driver |
FixedCost |
Text |
No |
|
Fixed Cost Per Route |
New table/column |
Driver |
FixedCostPerRoute |
Text |
No |
|
Variable Cost Per Hour |
New table/column |
Driver |
VariableCostPerHour |
Text |
No |
|
Allowed Equipment |
New table/column |
Driver |
AllowedEquipment |
Text |
No |
|
Min Time Between Routes |
New table/column |
Driver |
MinTimeBetweenRoutes |
Text |
No |
|
Max Time Between Routes |
New table/column |
Driver |
MaxTimeBetweenRoutes |
Text |
No |
|
Min Work Time Per Driver |
New table/column |
Driver |
MinWorkTimePerDriver |
Text |
No |
|
Max Work Time Per Driver |
New table/column |
Driver |
MaxWorkTimePerDriver |
Text |
No |
|
Min Number of Routes |
New table/column |
Driver |
MinNumberOfRoutes |
Float |
No |
|
Max Number of Routes |
New table/column |
Driver |
MaxNumberOfRoutes |
Float |
No |
|
Min Distance Per Driver |
New table/column |
Driver |
MinDistancePerDriver |
Text |
No |
|
Max Distance Per Driver |
New table/column |
Driver |
MaxDistancePerDriver |
Text |
No |
|
Max Duty Time Per Shift |
New table/column |
Driver |
MaxDutyTimePerShift |
Text |
No |
|
Rest Time |
New table/column |
Driver |
BreakTime |
Text |
No |
|
Status |
New table/column |
Driver |
Status |
Text |
No |
|
Routes |
Route ID |
New table/column |
Routes |
RouteId |
Text |
Yes |
Equipment Type |
New table/column |
Routes |
EquipmentType |
Text |
Yes |
|
Start Date Time |
New table/column |
Routes |
StartDateTime |
DateTime |
No |
|
End Date Time |
New table/column |
Routes |
EndDateTime |
DateTime |
No |
|
Total Distance |
New table/column |
Routes |
TotalDistance |
Float |
No |
|
Status |
New table/column |
Routes |
Status |
Text |
No |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Network Summary |
Objective Value |
New column |
OptimizationOutputNetworkSummary |
ObjectiveValue |
Float |
Total Sequential Objective Cost |
New column |
OptimizationOutputNetworkSummary |
TotalSequentialObjectiveCost |
Float |
|
Customer Flows |
Temperature Class |
New column |
OptimizationOutputCustomerFlows |
TemperatureClass |
Text |
Hazardous Goods |
New column |
OptimizationOutputCustomerFlows |
HazardousGoods |
Text |
|
Average Shipment Size |
New column |
OptimizationOutputCustomerFlows |
AverageShipmentSize |
Float |
|
Shipment Size Basis |
New column |
OptimizationOutputCustomerFlows |
ShipmentSizeBasis |
Text |
|
InterSite Flows |
Temperature Class |
New column |
OptimizationOutputCustomerFlows |
TemperatureClass |
Text |
Hazardous Goods |
New column |
OptimizationOutputCustomerFlows |
HazardousGoods |
Text |
|
Average Shipment Size |
New column |
OptimizationOutputCustomerFlows |
AverageShipmentSize |
Float |
|
Shipment Size Basis |
New column |
OptimizationOutputCustomerFlows |
ShipmentSizeBasis |
Text |
|
Return Flows |
Temperature Class |
New column |
OptimizationOutputCustomerFlows |
TemperatureClass |
Text |
Hazardous Goods |
New column |
OptimizationOutputCustomerFlows |
HazardousGoods |
Text |
|
Average Shipment Size |
New column |
OptimizationOutputCustomerFlows |
AverageShipmentSize |
Float |
|
Shipment Size Basis |
New column |
OptimizationOutputCustomerFlows |
ShipmentSizeBasis |
Text |
|
Lane Criticality Summary
|
Source Name |
New table/column |
LaneCriticalitySummary |
SourceName |
Text |
Destination Name |
New table/column |
LaneCriticalitySummary |
DestinationName |
Text |
|
Product Name |
New table/column |
LaneCriticalitySummary |
ProductName |
Text |
|
Mode |
New table/column |
LaneCriticalitySummary |
Mode |
Text |
|
Starting Period |
New table/column |
LaneCriticalitySummary |
StartingPeriod |
Int |
|
Ending Period |
New table/column |
LaneCriticalitySummary |
EndingPeriod |
Int |
|
Flow Units |
New table/column |
LaneCriticalitySummary |
FlowUnits |
Float |
|
Total Value |
New table/column |
LaneCriticalitySummary |
TotalValue |
Money |
|
Total Revenue |
New table/column |
LaneCriticalitySummary |
TotalRevenue |
Money |
|
Total Cost |
New table/column |
LaneCriticalitySummary |
TotalCost |
Money |
|
Lane Quantity Criticality |
New table/column |
LaneCriticalitySummary |
LaneQtyCriticality |
Float |
|
Lane Value Criticality |
New table/column |
LaneCriticalitySummary |
LaneValueCriticality |
Float |
|
Lane Revenue Criticality |
New table/column |
LaneCriticalitySummary |
LaneRevenueCriticality |
Float |
|
Lane Profit Criticality |
New table/column |
LaneCriticalitySummary |
LaneProfitCriticality |
Float |
|
Scenario ID |
New table/column |
LaneCriticalitySummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
LaneCriticalitySummary |
StepNumber |
Int |
|
Site Criticality Summary
|
Site Criticality |
Removed column |
SiteCriticalitySummary |
SiteCriticality |
Float |
Site Quantity Criticality |
New column |
SiteCriticalitySummary |
SiteQtyCriticality |
Float |
|
Site Value Criticality |
New column |
SiteCriticalitySummary |
SiteValueCriticality |
Float |
|
Site Revenue Criticality |
New column |
SiteCriticalitySummary |
SiteRevenueCriticality |
Float |
|
Site Profit Criticality |
New column |
SiteCriticalitySummary |
SiteProfitCriticality |
Float |
|
Cost To Serve Product Details
|
Starting Period ID |
New column |
OptimizationOutputNetworkPathsProductDetails |
StartPeriodID |
Int |
Ending Period ID |
New column |
OptimizationOutputNetworkPathsProductDetails |
EndPeriodID |
Int |
|
Driver Schedule |
Route ID |
New table/column |
DriverSchedule |
RouteId |
Text |
Driver ID |
New table/column |
DriverSchedule |
DriverId |
Text |
|
Start Time |
New table/column |
DriverSchedule |
StartTime |
Float |
|
Route Time |
New table/column |
DriverSchedule |
RouteTime |
Float |
|
Equipment Type ID |
New table/column |
DriverSchedule |
EquipmentTypeId |
Text |
|
Start Timestamp |
New table/column |
DriverSchedule |
StartTimestamp |
DateTime |
|
Total Distance |
New table/column |
DriverSchedule |
TotalDistance |
Float |
|
Scenario ID |
New table/column |
DriverSchedule |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
DriverSchedule |
StepNumber |
Int |
|
Driver Scheduling Summary |
Time Stamp |
New table/column |
DriverSchedulingSummary |
TimeStamp |
DateTime |
Total Cost |
New table/column |
DriverSchedulingSummary |
TotalCost |
Float |
|
Total Drivers |
New table/column |
DriverSchedulingSummary |
TotalDrivers |
Float |
|
Scheduled Routes |
New table/column |
DriverSchedulingSummary |
ScheduledRoutes |
Float |
|
Unscheduled Routes |
New table/column |
DriverSchedulingSummary |
UnscheduledRoutes |
Float |
|
Earliest Route Start Time |
New table/column |
DriverSchedulingSummary |
EarliestRouteStartTime |
DateTime |
|
Total Runtime |
New table/column |
DriverSchedulingSummary |
TotalRuntime |
Float |
|
Scenario ID |
New table/column |
DriverSchedulingSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
DriverSchedulingSummary |
StepNumber |
Int |
|
Driver Summary |
Driver ID |
New table/column |
DriverSummary |
DriverId |
Text |
Cost |
New table/column |
DriverSummary |
Cost |
Float |
|
Total ROutes |
New table/column |
DriverSummary |
TotalRoutes |
Float |
|
Start Date Time |
New table/column |
DriverSummary |
StartDateTime |
DateTime |
|
End Date Time |
New table/column |
DriverSummary |
EndDateTime |
DateTime |
|
Total Duration |
New table/column |
DriverSummary |
TotalDuration |
Float |
|
Busy Duration |
New table/column |
DriverSummary |
BusyDuration |
Float |
|
Idle Duration |
New table/column |
DriverSummary |
IdleDuration |
Float |
|
Total Distance |
New table/column |
DriverSummary |
TotalDistance |
Float |
|
Scenario ID |
New table/column |
DriverSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
DriverSummary |
StepNumber |
Int |
|
Unscheduled Routes |
Route ID |
New table/column |
UnscheduledRoutes |
RouteId |
Text |
Equipment Type ID |
New table/column |
UnscheduledRoutes |
EquipmentTypeId |
Text |
|
Start Date Time |
New table/column |
UnscheduledRoutes |
StartDateTime |
DateTime |
|
End Date Time |
New table/column |
UnscheduledRoutes |
EndDateTime |
DateTime |
|
Total Distance |
New table/column |
UnscheduledRoutes |
TotalDistance |
Float |
|
Scenario ID |
New table/column |
UnscheduledRoutes |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
UnscheduledRoutes |
StepNumber |
Int |
Optional solver parameter changes
This table lists parameters that have been added to the Advanced Parameter Tables for the various technologies:
Technology |
Parameter Name |
Parameter Value |
Description |
---|---|---|---|
Transportation Optimization |
ApplyDistanceSavingConstraint |
True |
Construct a route for a shipment pair if the total distance of resulting route is less than or equal to the total distance of the 2 routes created for each individual shipment. |
Transportation Optimization |
BackhaulMatchingMaxRepositionDistance |
Float >= 0 |
Upper limit to the total distance of empty legs on a route (in miles). Constraint is only applied to double-shipment routes. |
Transportation Optimization |
BackhaulMatchingMaxRepositionDistancePercentage |
0 <= Float <=1 Default: 1 |
Upper limit to the total distance of empty legs on a route as a fraction of the route's total distance. Constraint is only applied to double-shipment routes. |

Composite risk score
For the supplier nodes in your supply chain model, you can now augment the supply chain information with risk scores from Coupa Risk and Performance Management (RPM). This feature enables you to perform a more complete risk assessment of suppliers by considering a number of metrics including financial score, judicial score and news sentiment. The RPM scores can be populated in your Decision Data Model (DDM). From there, this data can be pulled into your model for use in Network Optimization. You can also enter risk profile information directly in the model.
Within your model, the Risk Profiles input table contains the profiles that include these scores, as well as 4 optional custom scores if you have other risk factors you want to consider. You can apply a relative weight to each score, and an overall node criticality weight which is applied to the actual solution flow when calculating the composite risk scores. For example, supplier financial risk may be more significant to you than other risk factors. In this case, you apply a higher weight to the financial score than to other scores to represent this condition.
You associate risk profiles with suppliers in the Sites table. Using scenarios, you can exclude or constrain the activity for high risk suppliers to assess the impact on your network. You can also analyze the effects of various weighting approaches. This feature allows you to consider tradeoffs between risk and cost in your network.
When you solve the model, the Composite Risk Score is calculated in each of three output tables:
-
Risk Summary
-
Site Risk Summary
-
Site Product Risk Summary
The Composite Risk Score calculation accounts for the actual flow volume for each record. Each of these tables provides the various scores, the composite risk score and the percentage of flow represented by the record. The Network Summary includes an overall Network Risk Health column that you can use to evaluate the high level effect of supplier risk mitigation strategies on your supply chain.
You can create map layers using the Site Risk Summary and Site Product Risk Summary tables, using scaling features to visualize the risk scores.
Spend constraints
Spend constraints have been enhanced to provide additional network costs that enable you to align the costs in your model to the financials of your business. The Network Cost column in the Spend Accounts table now includes the following values:
Fixed Asset Cost | Unit Inventory Storage Cost | ||
Fixed Resource Cost | Unit Inbound Warehousing Cost | ||
Fixed Shipment Cost | Unit Outbound Warehousing Cost | ||
Hourly Asset Cost | Unit Production Cost | ||
Hourly Resource Cost | Unit Return Policy Cost | ||
Inventory Holding Cost | Unit Site Demand Penalty Cost | ||
Unit Customer Demand Penalty Cost | Unit Site Sourcing Cost | ||
Unit Customer Sourcing Cost | Variable Transportation Cost |
The spend constraints are currently limited to work on "(ALL_Periods)" or a single period (i.e. Period_001). If you have filters or groups defined for periods, such as a group of the summer periods, spend constraints will treat this the same as "(ALL_Periods)". This limitation will be addressed in a future release.
Predicted runtime information in the Launch Pad Run Log
Network Optimization includes a method to identify a solve time range and highlight complexities in the model that may contribute to longer solve times. This information is now included in the Run Log displayed on the Launch Pad, in addition to being written to the NO_RunTime_Log.txt file. You will find it on the Solving Model node. The information will be similar to the following:
Predictions:
Predicted Runtime [0,5]
Leading causes of complexity:
Number of Existing Facilities
Number of Flow variables
Number of Facilities that can only Expand
Dynamic sourcing in Transportation Optimization
When you introduce a new customer or drop off point to your Transportation Optimization network, you may need to determine the source for the affected shipments. Previously, this required Network Optimization to answer sourcing questions. Dynamic sourcing in Transportation Optimization enables you to determine optimal sourcing locations for shipments without the need to run Network Optimization. For example, you can define shipments with no Origin value populated, then let Transportation Optimization optimize where the product needs to be picked up.
Use the new Shipment Sourcing table to identify which sites can act as sources for selected destinations. The destinations can be sites or customers. You select whether or not the source acts as a single source for the selected destinations. If a Source-Destination combination has Single Source = "Yes", all shipments with the specified destination must be sourced from a single site. If Single Source = "No", shipments can be sourced by one or more of the available sources, up to the capacity of each site. If all available source site capacities are exceeded, the shipment is invalid and the Invalid Shipments table identifies that the pickup location capacity has been exceeded. Shipment Sourcing records are not used as constraints, rather they determine which sources are eligible to serve specific destinations while the sources themselves may have constraints.
In terms of site constraints, you can use the Maximum Capacity column in the Sites table to specify the maximum outbound quantity for each of the sites under consideration. The Fixed Startup Cost is used to track the cost incurred if a site is used as a source for one or more shipments and the new Unit Production Cost column enables you to determine the variable production cost incurred based on the shipment throughput at the site. This new Unit Production Cost column is used only by Transportation Optimization. Note that Network Optimization continues to use the Unit Production Cost column in the Production Policies table to track site-product production costs.
When you solve the model, Transportation Optimization defaults to using the closest source for shipments. However, you can configure a parameter in the Config_TO user defined table to use the network optimization MIP (mixed integer program) solver to optimize the sourcing decisions based on cost and capacity. Add a parameter called "Optimize Dynamic Sourcing" to the Config_TO table and set the value to "TRUE" to make use of the network optimization feature. Once the sourcing has been determined, Transportation Optimization does the shipment routing.
The new Site Sourcing Summary output table provided metrics in terms of the costs incurred based on the fixed and variable costs applied in the Sites table. The Transportation Summary includes a Total Sourcing Cost column, and the Shipment Output table provides the Allocated Sourcing Cost per shipment.
Mapbox geocoding improvements
Mapbox geocoding has been further improved based on a number of settings to refine geocoding calls. These settings control the following:
-
If you populate the Country column in Sites and Customers with the 2-character iso code, such as US, MX, or AU, the results are restricted to locations in that country.
-
If you don't populate the Address column, specific results won't consider address in the response returned. This alleviates issues where values in other columns, such as Postal Code, were assessed as part of the Address when evaluating results.
Transit Matrix connection generation improvement
The process used to generate connections in the Transit Matrix table has been improved, with a significant reduction in time. This improvement is most evident when trying to generate large numbers of records. The time required to clear existing waypoints has also been significantly reduced.
Command line solver update
A new argument has been added to the command line solver tool that enables you to select the optimization engine to use when running a Network Optimization model. By default, the tool uses the current .NET solver. You can use the --optimizer argument to run the previous optimizer engine. Valid values for the argument are dotnet for the current solver or gol for the previous solver.

Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Sites |
Risk Profile |
New column |
Sites |
RiskProfile |
Text |
No |
Unit Production Cost |
New column |
Sites |
UnitProductionCost |
Text |
No |
|
Risk Profiles |
Name |
New table/column |
RiskProfiles |
RiskProfileName |
Text |
Yes |
Financial Score |
New table/column |
RiskProfiles |
FinancialScore |
Float |
No |
|
Judicial Score |
New table/column |
RiskProfiles |
JudicialScore |
Float |
No |
|
News Sentiment Score |
New table/column |
RiskProfiles |
NewsSentimentScore |
Float |
No |
|
Screening List |
New table/column |
RiskProfiles |
ScreeningList |
Float |
No |
|
Residual Score |
New table/column |
RiskProfiles |
ResidualScore |
Float |
No |
|
Inherent Score |
New table/column |
RiskProfiles |
InherentScore |
Float |
No |
|
Business Continuity Score |
New table/column |
RiskProfiles |
BusinessContinuityScore |
Float |
No |
|
Performance Score |
New table/column |
RiskProfiles |
PerformanceScore |
Float |
No |
|
Labor Score |
New table/column |
RiskProfiles |
LaborScore |
Float |
No |
|
Geography Score |
New table/column |
RiskProfiles |
GeographyScore |
Float |
No |
|
Custom Score 1 |
New table/column |
RiskProfiles |
CustomScore1 |
Float |
No |
|
Custom Score 2 |
New table/column |
RiskProfiles |
CustomScore2 |
Float |
No |
|
Custom Score 3 |
New table/column |
RiskProfiles |
CustomScore3 |
Float |
No |
|
Financial Weight |
New table/column |
RiskProfiles |
FinancialWeight |
Float |
No |
|
Judicial Weight |
New table/column |
RiskProfiles |
JudicialWeight |
Float |
No |
|
News Sentiment Weight |
New table/column |
RiskProfiles |
NewsSentimentWeight |
Float |
No |
|
Screening List Weight |
New table/column |
RiskProfiles |
ScreeningListWeight |
Float |
No |
|
Residual Weight |
New table/column |
RiskProfiles |
ResidualWeight |
Float |
No |
|
Inherent Weight |
New table/column |
RiskProfiles |
InherentWeight |
Float |
No |
|
Business Continuity Weight |
New table/column |
RiskProfiles |
BusinessContinuityWeight |
Float |
No |
|
Performance Weight |
New table/column |
RiskProfiles |
PerformanceWeight |
Float |
No |
|
Labor Weight |
New table/column |
RiskProfiles |
LaborWeight |
Float |
No |
|
Geography Weight |
New table/column |
RiskProfiles |
GeographyWeight |
Float |
No |
|
Custom Weight 1 |
New table/column |
RiskProfiles |
CustomWeight1 |
Float |
No |
|
Custom Weight 2 |
New table/column |
RiskProfiles |
CustomWeight2 |
Float |
No |
|
Custom Weight 3 |
New table/column |
RiskProfiles |
CustomWeight3 |
Float |
No |
|
Custom Weight 4 |
New table/column |
RiskProfiles |
CustomWeight4 |
Float |
No |
|
Node Criticality Weight |
New table/column |
RiskProfiles |
NodeCriticalityWeight |
Float |
No |
|
Status |
New table/column |
RiskProfiles |
Status |
Text |
No |
|
Notes |
New table/column |
RiskProfiles |
Notes |
Text |
No |
|
Shipment Sourcing
|
Source Name |
New table/column |
ShipmentSourcing |
SourceName |
Text |
Yes |
Destination Name |
New table/column |
ShipmentSourcing |
DestinationName |
Text |
Yes |
|
Single Source |
New table/column |
ShipmentSourcing |
SingleSource |
Binary |
Yes |
|
Status |
New table/column |
ShipmentSourcing |
ShipmentSourceStatus |
Text |
No |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Risk Summary |
Risk Profile |
New table/column |
OptimizationOutputSupplierRiskSummary |
RiskProfileName |
Text |
Flow Quantity |
New table/column |
OptimizationOutputSupplierRiskSummary |
FlowQuantity |
Float |
|
% Total Flow |
New table/column |
OptimizationOutputSupplierRiskSummary |
FlowPercent |
Float |
|
Financial Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
FinancialScore |
Float |
|
Judicial Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
JudicialScore |
Float |
|
News Sentiment Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
NewsSentimentScore |
Float |
|
Screening List |
New table/column |
OptimizationOutputSupplierRiskSummary |
ScreeningList |
Float |
|
Residual Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
ResidualScore |
Float |
|
Inherent Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
InherentScore |
Float |
|
Business Continuity Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
BusinessContinuityScore |
Float |
|
Performance Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
PerformanceScore |
Float |
|
Labor Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
LaborScore |
Float |
|
Geography Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
GeographyScore |
Float |
|
Custom Score 1 |
New table/column |
OptimizationOutputSupplierRiskSummary |
CustomScore1 |
Float |
|
Custom Score 2 |
New table/column |
OptimizationOutputSupplierRiskSummary |
CustomScore2 |
Float |
|
Custom Score 3 |
New table/column |
OptimizationOutputSupplierRiskSummary |
CustomScore3 |
Float |
|
Custom Score 4 |
New table/column |
OptimizationOutputSupplierRiskSummary |
CustomScore4 |
Float |
|
Composite Risk Score |
New table/column |
OptimizationOutputSupplierRiskSummary |
CompositeRiskScore |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputSupplierRiskSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputSupplierRiskSummary |
StepNumber |
Int |
|
Site Risk Summary |
Risk Profile |
New table/column |
OptimizationOutputSiteRiskSummary |
RiskProfileName |
Text |
Site |
New table/column |
OptimizationOutputSiteRiskSummary |
SiteName |
Text |
|
Flow Quantity |
New table/column |
OptimizationOutputSiteRiskSummary |
FlowQuantity |
Text |
|
% Total Flow |
New table/column |
OptimizationOutputSiteRiskSummary |
FlowPercent |
Float |
|
Financial Score |
New table/column |
OptimizationOutputSiteRiskSummary |
FinancialScore |
Float |
|
Judicial Score |
New table/column |
OptimizationOutputSiteRiskSummary |
JudicialScore |
Float |
|
News Sentiment Score |
New table/column |
OptimizationOutputSiteRiskSummary |
NewsSentimentScore |
Float |
|
Screening List |
New table/column |
OptimizationOutputSiteRiskSummary |
ScreeningList |
Float |
|
Residual Score |
New table/column |
OptimizationOutputSiteRiskSummary |
ResidualScore |
Float |
|
Inherent Score |
New table/column |
OptimizationOutputSiteRiskSummary |
InherentScore |
Float |
|
Business Continuity Score |
New table/column |
OptimizationOutputSiteRiskSummary |
BusinessContinuityScore |
Float |
|
Performance Score |
New table/column |
OptimizationOutputSiteRiskSummary |
PerformanceScore |
Float |
|
Labor Score |
New table/column |
OptimizationOutputSiteRiskSummary |
LaborScore |
Float |
|
Geography Score |
New table/column |
OptimizationOutputSiteRiskSummary |
GeographyScore |
Float |
|
Custom Score 1 |
New table/column |
OptimizationOutputSiteRiskSummary |
CustomScore1 |
Float |
|
Custom Score 2 |
New table/column |
OptimizationOutputSiteRiskSummary |
CustomScore2 |
Float |
|
Custom Score 3 |
New table/column |
OptimizationOutputSiteRiskSummary |
CustomScore3 |
Float |
|
Custom Score 4 |
New table/column |
OptimizationOutputSiteRiskSummary |
CustomScore4 |
Float |
|
Composite Risk Score |
New table/column |
OptimizationOutputSiteRiskSummary |
CompositeRiskScore |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputSiteRiskSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputSiteRiskSummary |
StepNumber |
Int |
|
Site Product Risk Summary |
Risk Profile |
New table/column |
OptimizationOutputProductRiskSummary |
RiskProfileName |
Text |
Site |
New table/column |
OptimizationOutputProductRiskSummary |
SiteName |
Text |
|
Product |
New table/column |
OptimizationOutputProductRiskSummary |
ProductName |
Text |
|
Flow Quantity |
New table/column |
OptimizationOutputProductRiskSummary |
FlowQuantity |
Text |
|
% Total Flow |
New table/column |
OptimizationOutputProductRiskSummary |
FlowPercent |
Float |
|
Financial Score |
New table/column |
OptimizationOutputProductRiskSummary |
FinancialScore |
Float |
|
Judicial Score |
New table/column |
OptimizationOutputProductRiskSummary |
JudicialScore |
Float |
|
News Sentiment Score |
New table/column |
OptimizationOutputProductRiskSummary |
NewsSentimentScore |
Float |
|
Screening List |
New table/column |
OptimizationOutputProductRiskSummary |
ScreeningList |
Float |
|
Residual Score |
New table/column |
OptimizationOutputProductRiskSummary |
ResidualScore |
Float |
|
Inherent Score |
New table/column |
OptimizationOutputProductRiskSummary |
InherentScore |
Float |
|
Business Continuity Score |
New table/column |
OptimizationOutputProductRiskSummary |
BusinessContinuityScore |
Float |
|
Performance Score |
New table/column |
OptimizationOutputProductRiskSummary |
PerformanceScore |
Float |
|
Labor Score |
New table/column |
OptimizationOutputProductRiskSummary |
LaborScore |
Float |
|
Geography Score |
New table/column |
OptimizationOutputProductRiskSummary |
GeographyScore |
Float |
|
Custom Score 1 |
New table/column |
OptimizationOutputProductRiskSummary |
CustomScore1 |
Float |
|
Custom Score 2 |
New table/column |
OptimizationOutputProductRiskSummary |
CustomScore2 |
Float |
|
Custom Score 3 |
New table/column |
OptimizationOutputProductRiskSummary |
CustomScore3 |
Float |
|
Custom Score 4 |
New table/column |
OptimizationOutputProductRiskSummary |
CustomScore4 |
Float |
|
Composite Risk Score |
New table/column |
OptimizationOutputProductRiskSummary |
CompositeRiskScore |
Float |
|
Scenario ID |
New table/column |
OptimizationOutputProductRiskSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
OptimizationOutputProductRiskSummary |
StepNumber |
Int |
|
Network Summary |
Network Risk Health |
New column |
OptimizationOutputNetworkSummary |
NetworkRiskHealth |
Float |
Transportation Summary |
Total Sourcing Cost |
New column |
VehicleRouteOptimizationSummary |
TotalSourcingCost |
Money |
Shipment Output |
Allocated Sourcing Cost |
New column |
VRPOutputShipmentOutput |
AllocatedSourcingCost |
Money |
Site Sourcing Summary
|
Site Name |
New table/column |
SiteSourcingSummary |
SiteName |
Text |
Total Sourcing Cost |
New table/column |
SiteSourcingSummary |
TotalSourcingCost |
Money |
|
Total Fixed Startup Cost |
New table/column |
SiteSourcingSummary |
TotalFixedStartupCost |
Money |
|
Total Variable Production Cost |
New table/column |
SiteSourcingSummary |
TotalVariableProductionCost |
Money |
|
Scenario ID |
New table/column |
SiteSourcingSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
SiteSourcingSummary |
StepNumber |
Int |
This table lists parameters that have been added to the Advanced Parameter Tables for the various technologies:
Technology |
Parameter name |
Parameter value |
Description |
Enter parameter manually |
---|---|---|---|---|
Transportation Optimization |
Optimize Dynamic Sourcing |
TRUE |
Use the network optimization MIP (mixed integer program) solver to optimize the sourcing decisions based on cost and capacity. |
Yes |

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. Use cases 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.
You control spend constraints using two input tables: Spend Accounts and Spend Expressions. Utilization information for these accounts and expressions is provided in the Network Spend Account Summary and Network Spend Expression Summary output tables.
Model complexity and solve time prediction
When running Network Optimization models, it can be hard to know the complexity of the problem and how long it will take to solve. The solve process now includes a method to both identify a solve time range and highlight complexities in the model that may contribute to longer solve times. For example, a predicted run time is provided in one of 4 ranges: 0 to 5 minutes, 5 to 20 minutes, 20 to 120 minutes, and greater than 120 minutes. Sources of complexity include items such as Number of Work Center constraints, Number of Flow variables, and Number of Periods. This information can help you understand what drives model complexity and how this affects solve times. For this release, the predictive information is included in the NO_RunTime_Log.txt that is written to the run folder.
Updated Network Optimization solver
The Network Optimization solver has been updated to achieve uniformity in the solver language between Network Optimization, Inventory Optimization and Transportation Optimization.
Minimum units for asset availability
In the Asset Availability table, you can specify the minimum number of vehicles that Transportation Optimization must use in routing shipments. Use the Minimum Units column to set this minimum for the specific asset availability record. Example use cases include:
-
The cheapest option is to deliver all shipments in the model using 5 vehicles but there are 6 drivers so I want to use 6 vehicles. Define a Minimum Units value of 6 for the Asset Availability record.
-
Both small and large vehicles are defined in the model, and I want to use at least 3 small vehicles. Define a Minimum Units value of 3 for the small vehicle Asset Availability record.

Input Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
Required |
---|---|---|---|---|---|---|
Input Tables |
||||||
Asset Availability |
Minimum Units |
New column |
AssetAvailability |
MinimumQty |
Int |
No |
Spend Accounts |
Name |
New table/column |
SpendAccounts |
SpendAccountName |
Text |
Yes |
Spend Accounts |
Network Cost |
New table/column |
SpendAccounts |
NetworkCost |
Text |
Yes |
Spend Accounts |
Max Spend |
New table/column |
SpendAccounts |
MaxSpend |
Text |
No |
Spend Accounts |
Period |
New table/column |
SpendAccounts |
PeriodName |
Text |
No |
Spend Accounts |
Location |
New table/column |
SpendAccounts |
LocationName |
Text |
No |
Spend Accounts |
Product |
New table/column |
SpendAccounts |
ProductName |
Text |
No |
Spend Accounts |
Source |
New table/column |
SpendAccounts |
SourceName |
Text |
No |
Spend Accounts |
Mode |
New table/column |
SpendAccounts |
ModeName |
Text |
No |
Spend Accounts |
Work Center |
New table/column |
SpendAccounts |
WorkCenterName |
Text |
No |
Spend Accounts |
Work Resource |
New table/column |
SpendAccounts |
WorkResourceName |
Text |
No |
Spend Accounts |
Process |
New table/column |
SpendAccounts |
ProcessName |
Text |
No |
Spend Accounts |
Process Step |
New table/column |
SpendAccounts |
ProcessStepName |
Text |
No |
Spend Accounts |
Next Process Step |
New table/column |
SpendAccounts |
NextProcessStepName |
Text |
No |
Spend Accounts |
Bill Of Material |
New table/column |
SpendAccounts |
BOMName |
Text |
No |
Spend Accounts |
Transportation Asset |
New table/column |
SpendAccounts |
TransportationAssetName |
Text |
No |
Spend Accounts |
Expression |
New table/column |
SpendAccounts |
ExpressionName |
Text |
No |
Spend Accounts |
Status |
New table/column |
SpendAccounts |
Status |
Text |
No |
Spend Accounts |
Notes |
New table/column |
SpendAccounts |
Notes |
Text |
No |
Spend Expressions |
Name |
New table/column |
SpendExpressions |
SpendExpressionName |
Text |
Yes |
Spend Expressions |
Element |
New table/column |
SpendExpressions |
Element |
Text |
Yes |
Spend Expressions |
Value |
New table/column |
SpendExpressions |
Value |
Float |
Yes |
Spend Expressions |
Status |
New table/column |
SpendExpressions |
Status |
Text |
No |
Spend Expressions |
Notes |
New table/column |
SpendExpressions |
Notes |
Text |
No |
Output Tables
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
Data Type |
---|---|---|---|---|---|
Output Tables |
|||||
Network Spend Account Summary |
Spend Account |
New table/column |
NetworkSpendAccountSummary |
SpendAccountName |
Text |
Cost Type |
New table/column |
NetworkSpendAccountSummary |
CostType |
Text |
|
Period |
New table/column |
NetworkSpendAccountSummary |
PeriodName |
Text |
|
Location |
New table/column |
NetworkSpendAccountSummary |
LocationName |
Text |
|
Product |
New table/column |
NetworkSpendAccountSummary |
ProductName |
Text |
|
Source |
New table/column |
NetworkSpendAccountSummary |
SourceName |
Text |
|
Mode |
New table/column |
NetworkSpendAccountSummary |
ModeName |
Text |
|
Work Center |
New table/column |
NetworkSpendAccountSummary |
WorkCenterName |
Text |
|
Work Resource |
New table/column |
NetworkSpendAccountSummary |
WorkResourceName |
Text |
|
Transportation Asset |
New table/column |
NetworkSpendAccountSummary |
TransportationAssetName |
Text |
|
Process |
New table/column |
NetworkSpendAccountSummary |
ProcessName |
Text |
|
Process Step |
New table/column |
NetworkSpendAccountSummary |
ProcessStepName |
Text |
|
Next Process Step |
New table/column |
NetworkSpendAccountSummary |
NextProcessStepName |
Text |
|
Bill Of Material |
New table/column |
NetworkSpendAccountSummary |
BOMName |
Text |
|
Expression |
New table/column |
NetworkSpendAccountSummary |
ExpressionCostName |
Text |
|
Total Spend |
New table/column |
NetworkSpendAccountSummary |
TotalSpend |
Float |
|
Max Budget |
New table/column |
NetworkSpendAccountSummary |
MaxBudget |
Float |
|
Remaining Budget |
New table/column |
NetworkSpendAccountSummary |
RemainingBudget |
Float |
|
Budget Utilization |
New table/column |
NetworkSpendAccountSummary |
BudgetUtilization |
Float |
|
Scenario ID |
New table/column |
NetworkSpendAccountSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
NetworkSpendAccountSummary |
StepNumber |
Int |
|
Network Spend Expression Summary |
Spend Expression |
New table/column |
NetworkSpendExpressionSummary |
SpendExpressionName |
Text |
# Accounts Considered |
New table/column |
NetworkSpendExpressionSummary |
NumAccounts |
Text |
|
Constraint Type |
New table/column |
NetworkSpendExpressionSummary |
ConstraintType |
Text |
|
Total Spend |
New table/column |
NetworkSpendExpressionSummary |
TotalSpend |
Float |
|
Constraint Value |
New table/column |
NetworkSpendExpressionSummary |
ConstraintValue |
Float |
|
Constraint Excess |
New table/column |
NetworkSpendExpressionSummary |
ConstraintExcess |
Float |
|
% Constraint Utilized |
New table/column |
NetworkSpendExpressionSummary |
PercentConstraintUtilized |
Float |
|
Scenario ID |
New table/column |
NetworkSpendExpressionSummary |
ScenarioID |
Int |
|
Sub-Scenario ID |
New table/column |
NetworkSpendExpressionSummary |
StepNumber |
Int |

Product attributes for transportation
New columns have been added to the Products table to track additional attributes about each product in terms of specific transportation requirements. Within Supply Chain Guru X, you can use these columns to filter records in the Products table.
Name | Description |
---|---|
Temperature Class |
Defines the class of temperature control required for the product. Select one of:
|
Hazardous Goods | Indicates whether or not the product is considered a hazardous material. |
Improved logging for Simulation
When running Simulation, the run log displayed in the Launch Pad now includes additional diagnostic information. For example, if you have LTL Transportation Policies with a Shipment Size of 1000 LB and a product has a Unit Weight that exceeds the Shipment Size, you see a violation warning in the log.

Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
---|---|---|---|---|
Input Tables |
||||
Products |
Temperature Class |
New column |
Products |
TemperatureClass |
Products |
Hazardous Goods |
New column |
Products |
HazardousGoods |

Adjustments to grouped records in constraints tables
In previous versions of Supply Chain Guru X, constraints that are not used with Network Optimization based on their structure were being written to the input files. This could result in excessive time to build the input files. During input file generation, Supply Chain Guru X now checks for specific conditions and ignores constraint rows that satisfy all of these conditions:
-
Record contains an Expression Name.
-
Record has a group applied to one or more columns that support groups, such as Source, Destination and Product.
-
Record has a Constraint Type of "Define".
If records meet all these conditions, information about the records is written to ErrorLog.txt in order to help diagnose the issue.
Intelligent input file generation for cost data
As described above, the optimization algorithms do not handle nested expressions where groups are used for sites, customers or products. When these expressions are defined, the model can fail or be returned as a complex infeasible model that is difficult to troubleshoot. Some of these issues stem from the way cost data is written when generating input files. Logic has been added to skip the records that would result in nested expressions containing groups, preventing failures and infeasibilities that could be caused by these records and the associated cost data.
Multi-Stop Estimation region calculation
The calculation of the area for a region-mode combination has been updated. This includes additional control for handling of drop outliers. In other words, you can eliminate a specific percentage of outliers. Previously, the furthest 20 percent of the drops were eliminated from the area based on the calculated centroid of all the drops. In this release, an option has been added allowing you to control the percentage of drop outliers that are removed from the region calculation:
-
MSEAreaDistanceExtentPercentage - Set this value to the percentage of drops to be included when calculating the region area. The value must be in the range of 0.001 – 1.000 where 1.000 indicates 100 percent.
Problem Type updates
The Problem Types available in the Simulation technology have been changed: "New Simulation" is now called "Simulation". The default Problem Type is "Simulation". This change reflects the more efficient Simulation engine as the default engine going forward.
LTL capacity modeling in Simulation
You can now specify the maximum capacity for a shipment using the Shipment Size in the Transportation Policies when the Mode Function is "LTL". The capacity is enforced without having to model Transportation Assets. If a shipment cannot adhere to the shipment size constraint, rather than not shipping, the shipment will violate the constraint and ship as is. For example, this condition can occur if the product's Unit Weight exceeds the Shipment Size.
Related to this update, if multiple shipments reach a destination and can be added into inventory at the same time, any backorders waiting at that destination are filled after all the shipments have been added into inventory. Where possible, shipments are consolidated before being shipped to the customer. This change generally results in fewer shipments.
LTL consolidation
Simulation now makes use of the Shipment Period in the Transportation Policies table when looking to consolidate eligible shipments. For example, if a lane supports both Product1 and Product2 and the Shipment Period is 1 DAY, shipments for each of these products that occur on a specific date, such as 1/1/2021, can be consolidated. This consolidation is not supported with Classic Simulation.
State management for LTL
Support for state management with Simulation has been extended to the "LTL" Mode Function in the Transportation Policies table. You can use the Load Schedule Rule and Unload Schedule Rule as constraints on loading/unloading at a site. The Asset Departure Schedule Rule for LTL is always evaluated as "LeaveImmediately", regardless of the value entered in the column.
Transactional forecast data with Simulation
Forecast driven inventory policies such as DOS-Forecast require transactional level data. You can now use the Site Forecasts table in combination with new columns in the Inventory Policies table to enter this data more intuitively than when using the Forecasts table. The new columns also support multiple aggregation levels, such as Daily, Weekly, etc. as well as disaggregation periods to account for weekdays and weekends.
This feature is supported when selecting the "Simulation" problem type.
Material requirements planning
Material requirements planning (MRP) helps you compare your near-term inventory position to your future inventory forecast. When simulating your network, if the near-term inventory is less than required for the future forecasted demand, an order is placed to cover the requirement. To use MRP with Simulation, select the Inventory Policy column value of "MRP", available in the dropdown list in the Inventory Policies table. This feature is supported when selecting the "Simulation" problem type.
Work Resource support in Simulation
Support has been added for work resources when using Simulation.
You can review work resources output in the Simulation Work Resource Summary and Shipment Handling Log output tables. Both summarized and individual resource statistics are provided by default. For example, if you create a work resource with 500 units, you get the work resource summary and statistics for each of the 500 units.
When both state management and work resources are modeled, load and unload activities can be idle because of business hours or resource availability. When these activities are idle due to business hours, the activities resume in order of their start times, with activities that have made some progress prioritized over those that have not. The resource queue maintains FIFO (first in first out) order.
Solver setting value in output
The Solver Setting option enables you to control the effort factor used during Transportation Optimization, with a solution quality vs. solve time tradeoff. This option is found on the General tab in the Transportation Optimization options. The different Solver Setting values adjust multiple parameters to collectively control the heuristic search-space. The value you select (one of Fastest, Fast, Balanced, Expanded or Detailed) is now displayed in the Solver Setting column in the Transportation Summary output table.
Out of Route output information
Two columns have been added to the Route Summary output table to report out of route information for Transportation Optimization. Out Of Route Distance displays the total out of route distance for the route, and Out of Route Cost displays the cost incurred based on the out of route distance.
Support for SQL Server 2017
The default database version for the Supply Chain platform is SQL Server 2017. In order to keep the desktop and platform products aligned, the default version of SQL Server LocalDB installed with Supply Chain Guru X is now SQL Server 2017. If you previously had SQL Server 2016 LocalDB installed and used as the database instance for Supply Chain Guru X, Coupa recommends that you now use the SQL Server 2017 LocalDB.
Improved error reporting when Customers and Sites have duplicate names
Having Customers and Sites with duplicate names can cause issues when running the model. A warning is now displayed in the ErrorLog.txt file if there are any Customers that have the same names as Sites. You can then adjust the names to make them unique.
Input pipes no longer support Access data sources
Supply Chain Guru X complies with the .NET Standard specification. In order to adhere to that standard, Microsoft Access databases are no longer supported as data sources for input pipes. When running a scenario that uses an Access database in the input pipe, an error message is written to the ErrorLog.txt fie. If you currently have an input pipe that uses an Access data source, Coupa recommends that you export the Access table as an Excel or csv format file and update the input pipe to use the new data source.
Model Database Changes
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
---|---|---|---|---|
Input Tables |
||||
Inventory Policies |
Forecast Aggregation Period |
New column |
InventoryPolicies |
ForecastAggregationPeriod |
Inventory Policies |
Forecast Disaggregation Pattern |
New column |
InventoryPolicies |
ForecastDisaggregationPattern |
Site Forecasts |
Snapshot Date |
New column |
FacilityHistoricalForecast |
SnapshotDate |
Site Forecasts |
Status |
New column |
FacilityHistoricalForecast |
Status |
Site Forecasts |
Notes |
New column |
FacilityHistoricalForecast |
Notes |
Output Tables |
||||
Transportation Summary |
Solver Setting |
New column |
VehicleRouteOptimizationSummary |
SolverSetting |
Route Summary |
Out Of Route Cost |
New column |
VRPOutputRoutes |
OutOfRouteCost |
Route Summary |
Out Of Route Distance |
New column |
VRPOutputRoutes |
OutOfRouteDistance |

Partitioning
For more complex models, partitioning provides a way to break the model into smaller subproblems based on periods, products, sites, demand, customers or lanes. The solver then solves each subproblem before determining the overall solution which can result in better performance. Generally, the types of models that may benefit from partitioning include those with long solve times or with a large number of integer or binary variables (large period, product or demand sets).
Network criticality
To pursue resilient supply chain designs, it is important to identify the critical nodes in your network and the products they affect. As part of Cost To Serve Analysis, the criticality of nodes in delivering products to customers is calculated. You can use this information to explore alternative network paths and make your supply chain more adaptable, with less reliance on the critical nodes.
Two new output tables provide information about how critical specific sites and site-product combinations are in the solution. The Site Criticality Summary details the criticality of sites based on values such as Total Product Value and Revenue To Cost Ratio, as well as a Site Criticality factor. The Site Product Criticality Summary includes values at the site-finished good level such as Total Revenue, Total Demand, and Percentage of Total Demand.
Improved support for product substitution
Modeling product substitution has been simplified. The process is:
- Create all required products in the Product table.
- Create a group or a filter with the name of the product for which its members can be used as substitutes. The members of this group/filter must be the products that can be used as substitutes.
- Create Customer Demand/Orders records using the product group/filter in those cases where product substitution is permitted. Use “All” as the way to apply the group/filter.
NO model runtime information
Network Optimization now reports the length of time the solver ran (in seconds) in the Network Summary Solve Duration column.
State management
You can now define Business Hours by Activity (Load, Unload, Production). This enables you to set up both standard operational hours for a site (with no Activity populated) and specific hours during which the activity can occur. For example, assume the business hours of the site are 08:00 to 15:00, but production does not need to be constrained by these general business hours. You create a record using these hours with no Activity selected to model the operational hours of the site. You then create a second record with hours from 12:00 to 17:00 where the Activity is "Production". The business hours of the activity act as the constraint on production, rather than the business hours of the site itself.
Load and unload with LTL
In New Simulation, support for load and unload times is supported when the Mode Function in Transportation Policies is LTL. Previously, only Full TL considered load and unload times. This provides for more consistent modeling with resources. Please note that Business Hours do not apply to LTL modeling.
New formats for Review Period and Shipment Period
New Simulation supports in Review Period in Inventory Policies and Shipment Period in Transportation Policies supports values defined as day of week plus time. For example, you can enter Mon 0700, Wed 0930, Wed 1530.
Rolling horizon modeling and cloud solver
The problem types for rolling horizon modeling are now supported with Cloud Solving:
- Safety Stock Optimization + Rolling Horizon Modeling
- Rolling Horizon Modeling
- Rolling Horizon Validation
SQL Server support
The default SQL Server version for models and databases created on llama.ai is now SQL Server 2017. Models and databases in SQL Server 2014 and SQL Server 2016 are also supported when uploaded to llama.ai. When you download a model or database, it maintains its original SQL Server version. If you create a new model on llama.ai and download it to Supply Chain Guru X, you will need SQL Server 2017 installed locally. Do not create models using SQL Server 2019 if you plan to upload them to llama.ai.
Model database changes
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
---|---|---|---|---|
Output Tables |
||||
Network Summary |
Solve Duration |
New column |
OptimizationOutputNetworkSummary |
SolveTime |
Site Criticality Summary |
Site |
New table/column |
OptimizationOutputSiteCriticalitySummary |
Site |
Site Criticality Summary |
Total Cost |
New table/column |
OptimizationOutputSiteCriticalitySummary |
TotalCost |
Site Criticality Summary |
Total Product Value |
New table/column |
OptimizationOutputSiteCriticalitySummary |
TotalProductValue |
Site Criticality Summary |
Value To Cost Ratio |
New table/column |
OptimizationOutputSiteCriticalitySummary |
ValueToCostRatio |
Site Criticality Summary |
Total Product Revenue |
New table/column |
OptimizationOutputSiteCriticalitySummary |
TotalProductRevenue |
Site Criticality Summary |
Revenue To Cost Ratio |
New table/column |
OptimizationOutputSiteCriticalitySummary |
RevenueToCostRatio |
Site Criticality Summary |
Site Criticality |
New table/column |
OptimizationOutputSiteCriticalitySummary |
SiteCriticality |
Site Product Criticality Summary |
Site |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
Site |
Site Product Criticality Summary |
Finished Good |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
FinishedGood |
Site Product Criticality Summary |
Flow Units |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
FlowUnits |
Site Product Criticality Summary |
Unit Value |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
UnitValue |
Site Product Criticality Summary |
Total Value |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
TotalValue |
Site Product Criticality Summary |
Unit Price |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
UnitPrice |
Site Product Criticality Summary |
Total Revenue |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
TotalRevenue |
Site Product Criticality Summary |
Total Cost |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
TotalCost |
Site Product Criticality Summary |
Total Demand |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
TotalDemand |
Site Product Criticality Summary |
Percentage Of Total Demand |
New table/column |
OptimizationOutputSiteProductCriticalitySummary |
PercentageOfTotalDemand |

Custom constraints
Custom constraints use .dll files as the source for the constraint. In order to ensure that these embedded dlls cannot execute malicious code when models are uploaded to llama.ai, additional safeguards have been added. Custom constraint dll files are secured using a signing method. Each custom constraint is provided with a signature file. When a scenario using the constraint is run on llama.ai or using cloud solving, the signature is verified before the execution can proceed. When running scenarios locally in Supply Chain Guru X, signature file verification is not required.
If you are using a custom constraint, you are provided with both the constraint dll and an associated signature file (.sig), or you are provided with a .scgc file, which is an archive containing both the constraint and signature files.
When creating and updating custom constraints through the Supply Chain Guru X interface, only constraints using .dll format files are supported.
Shelf life
In New Simulation, you can assign a shelf life to a product to control when that product expires and may no longer be used. The Shelf Life column in the Products table define how long after production the product expires. Different batches of a product can have different expiry dates, based on when they are completed. At the point a manufacturer sends product to a distribution center immediately upon completion of production, the age is 0. Products can expire either on-site or in-transit. For products expiring in-transit, this is attributed to the source location and will be reflected in the source expiration statistics. Simulation will look to prioritize project batches to use those closer to the end of shelf life first.
You can track expired product units and the average age of products in columns in various output tables, including the Expired Product Detail table. Based on these statistics, you can look at changing other policies in the model as required, such as inventory and transportation.
State management
New Simulation allows you to model state management using the Business Hours table. This enables you to control the state of a site (open or closed) in the network. As a result, you can model nodes in the network with different cadences and with different business hours (as opposed to open 24 hours a day, 7 days a week). In effect when locations are closed, activities that are in process are "on hold" until the location next opens.
Default solve engine
For Network Optimization, Inventory Optimization and Transportation Optimization, the solve engine is now "Next Gen".
Cloud solve
When using cloud solve, the Default Cloud Engine is now the "Next Gen" solver. This applies to Network Optimization, Inventory Optimization and Transportation Optimization.
Wildcards in table filters
Filters in Supply Chain Guru X tables now support the ? character as a wildcard for text values. ? represents a single character. For example, ?_1233 returns A_1233, but not AB_1233. In addition to the ?, Supply Chain Guru X also supports the * and % characters, which represent any number of characters.
Case sensitivity in table filters
Filter criteria for text fields is not case sensitive in table filters. For example, "ann arbor" returns "Ann Arbor", "ANN ARBOR", "ann arbor" and all other case combinations of the characters entered.
LNP Conversion
LNP Conversion has been removed as a Model Transformation. The LNP Converter link has also been removed from the Supply Chain Guru X Getting Started page.
Python
The Supply Chain Guru X installation now includes Python 3.8.5, which is required for running scripts with Classic Simulation. The installation of Python is optional - you can decide whether or not to install it. If you already have a 3.8.x version of Python, you can use the existing Python installation.
Model database changes
Table |
Column |
Description of Change |
Model Database Table Name |
Model Database Column Name |
---|---|---|---|---|
Input Tables |
||||
Production Policies |
Schedule Rule |
New column |
ProductionPolicies |
ScheduleRule |
Business Hours |
Activity |
New column |
OpenHourLocation |
Activity |
Transportation Policies |
Load Schedule Rule |
New column |
TransportationPolicies |
LoadScheduleRule |
Transportation Policies |
Unload Schedule Rule |
New column |
TransportationPolicies |
UnloadScheduleRule |
Transportation Policies |
Asset Departure Schedule Rule |
New column |
TransportationPolicies |
AssetDepartureScheduleRule |
Output Tables |
||||
Production Transactions |
Idle Time |
New column |
SimulationOutputProductionTransactionDetail |
IdleTime |
Shipment Handling |
Idle Time |
New column |
SimulationOutputShipmentHandlingDetail |
IdleTime |
Last modified: Wednesday May 15, 2024