Using the Network Optimization configuration file
Network Optimization can make use of an optional configuration file (config.dat) that sets parameters used to control solver behavior. When you run Network Optimization, parameters are written to the Params_GURU_OPTIONS.DAT and Params_SOLVER_OPTIONS.DAT files in the NO folder for the specific scenario. If you include parameters in the Config_NO table, these will be used to populate the Config.dat file. In the case of duplicate parameters, those written to Config.dat override the parameters set in the Params_GURU_OPTIONS.DAT and Params_SOLVER_OPTIONS.DAT files.
Parameters Supported in Config_NO
The following table lists the parameters that are supported by default in the Config_NO. Note that Coupa may provide additional parameters as needed. You can use these parameters by setting the Status to "Include" and setting the Parameter Value as needed.
Parameters Name | Default Value | Description |
---|---|---|
Pair_Fixed_Variable_Step_Cost | 1 | In Modes and Transportation Policies, when both Fixed and Variable Costs use step costs with the same Min Quantity structure, and the quantity equals the step value, use 1 to ensure both cost columns use the same step. Otherwise set it to 0. |
Relax_All_HC_for_Infeasibility | 0 | When this parameter is set to 1, all hard constraints in the model are relaxed. This minimizes the violation of hard constraints. |
Autofind_Min_Conflicts | 0 | When this parameter is set to 1, it can identify the set of conflicting constraints for an infeasible model. When you run Infeasibility Diagnosis, this parameter is set automatically. |
Activate_Open_Close_Consistency_Constraints | 1 | In multi-period models, when this value is 1, if a Consider site/work center opens/closes it must stay open/closed for the rest of the horizon. Set the parameter to 0 to relax. When 0, a work center can open in a certain period, close, and open again. |
Skip_Printing_Risk_Outputs | 0 | When this parameter is set to 1, the Risk Summary output table is not populated. By default (when the parameter is set to 0), this table is populated. |
Guru_Verbose_Level | Basic | When this parameter is set to None, status updates are not reported to the user. Values are "Basic" or "None". |
Time_Between_UI_Messages | 1 | This parameter controls the frequency (in seconds) with which status updates are reported to the user. This parameter applies only when the Guru_Verbose_Level is not set to None. |
MAX_CAPEX | -1 | Use this constraint to put a maximum investment constraint on the sum of capital investments incurred when Sites or Work Centers are opened or expanded. |
ENFORCE_INTEGER_LOTS_FOR_PROCCESSES | 1 | Set this parameter to 1 if you want only integer lots to be produced by processes that is, fractional lots will not be produced. |
Enable_Audit_Tool | 0 | Set this parameter to 0 if you want to turn off the model audit tool that runs when you solve scenarios. |
SKIP_COST_ALLOCATION_OUTPUT | 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. |
MaxTimeSinceLastSolution | 3600 | Adds additional termination criteria to stop model after no better solution has been found for a period of time (in seconds). |
MaxTimeSinceLastImprovement |
7200 | Adds additional termination criteria to stop model after no better gap has been found for a period of time (in seconds). |
DynamicPercentGap | 0.01,3600|0.1,7200 | Allows the termination percent gap to change over the solving process (time in seconds). |
DynamicAbsoluteGap | 1000000,3600|2000000,7200 | Allows the termination absolute gap to change over the solving process (time in seconds). |
MaxMemoryConsumptionPercent | 95 | Max system memory to leverage in percent; will force a stop after memory consumption reaches the limit. |
The parameters below are not in Config_NO by default. You can add parameters to the table if needed. |
||
Relax_all_HC_for_NO | 0 |
When this parameter is set to 1, all the hard constraints in the model are relaxed. The model then runs in a sequential mode: in first phase it minimizes the violation of hard constraints and in the second phase it will minimize cost. |
Check_Size_of_GLB_File | 0 | When this parameter is set to 1, the size of the GLB file is checked and the run is terminated to avoid potential crashes. Termination occurs as soon as the GLB file size exceeds the Max_GLB_Size_Allowed_in_Mb parameter. |
Max_GLB_Size_Allowed_in_Mb | 10000 | Specify the maximum size allowed for GLB file. |
Check_Unbounded_Models | 0 | When this parameter is set to 1, variable(s) that cause a model to go unbounded are identified. |
Penalty_Cost_Add_Missing_Link | 20 | Specify the penalty of using the Diagnostic mode during path based infeasibility diagnosis. |
Use_SOS1_Modeling | 0 | When this parameter is set to 1, an alternate method for calculating Product Flow Bound is used. Similar to Handle Using Logic constraints, this method tries to write relational constraints without using large BigM values. |
Enforce_Equal_period_Lengths_in_Cross_Period_Modelling | 0 | When this parameter is set to 1, models with cross period transportation or production lead time use periods of equal lengths, which is highly recommended. Otherwise you can use this parameter to round all the periods lengths to 1, 7, 30, 91, or 365 days. |
SCALE_MIN_VALUE |
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. |
CTSFilter_TopProdsByCostPercentage | 0 | 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 |
0 | 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. |
Risk_Formulation_Basis | Flow | 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. |
Last modified: Friday May 12, 2023