Scaling issues

Models can be considered "badly scaled" when there is a very large range between the largest and smallest values in the model. As a result, there may be issues in the accuracy of the solution. Poorly scaled models often take a long time to solve and you may notice that convergence between the Current Solution and the Solution Bound is extremely slow.

Examples of poorly scaled models include:

  • Large demand (in the millions) with very small costs (.001).
  • Bills of material Quantity values that are very tiny for products that have large demand values.

If your model is poorly scaled, you can consider scaling the data yourself to reduce the range of values. For example, if the demand is very large and costs are very small, you may want to increase all costs by several orders of magnitude or decrease demand by several orders of magnitude.

Additionally, there are Network Optimization options that you may also consider using for poorly scaled models:

  • Feasibility Tolerance (Solver Settings tab) – If your model is poorly scaled, you may want to try increasing the feasibility tolerance to counter the effects of the poor scaling.
  • Product Flow BoundsHandle Using Logic Constraints option (Advanced Settings tab) - Select this option if your model is not well scaled (that is, contains both extremely large and extremely small models), or if there are decisions dependent on sums of binary variables (on/off decisions).
  • Calibrate Data Before Optimization (Advanced Settings tab) – Coupa recommends that you select this option even when you do not believe your model is poorly scaled. This option is selected by default and provides good results in the majority of cases.

Last modified: Friday May 12, 2023

Is this useful?