Skip to main content

Network Optimization (NEO) Solver

A
Written by Alex Salb
Updated over 11 months ago

The Network Optimization (NEO) solver is used to find the optimal network structure, flows, and policies for any given set of Sites, Customers, Products, Demand (Customer or Site), Transportation Policies, Production Policies, Site and Customer Sourcing Policies.

To invoke the NEO solver, create a new scenario from a base scenario:

- Enter a name for the Output Scenario

- Choose the desired Base Scenario

- Select the Network Optimization solver from the Solver section

Settings

Once the settings appear in the right pane, you can select parameters as desired:

Use Infeasible Solution (IFS)

If turned on, the solver will look at solutions for any similar optimizations that have been solved to use as a starting point. Giving an IFS can help complicated optimizations converge faster. The better the starting point, the faster a solution will converge.

- The solver automatically sends an IFS by searching for solved scenarios with similar scenario names.

- If chosen, IFS is not a valid solution to the running scenario, the solver will proceed as if no IFS was found.

- This option will not cause harm if selected, it will just speed up the process if previous scenarios can help it.

Multi-Period

This setting should be turned on if your Model is a multi-period model. Multi-Period models are best when important factors of a model vary cyclically. For example, companies will often see a spike in demand leading up to Christmas. In order to not affect average demand for other times in the year, we would use multiple periods in our model.

Optimality Gap Percentage

Network Optimization model cost-minimization optimizations are solved by continually finding lower cost feasible solutions (values for all variable that satisfy all constraints) and comparing the cost of that solution against the highest cost best bound (no actual solution can be lower than the best bound). The percent difference between the lowest feasible solution and the highest best bound is called the optimality gap. In other words, the gap (percentage) is the difference between a perfect solution (lowest cost solution that satisfies all constraints) and a solution that may fit best with your company or project. We use the gap to acknowledge that achieving the perfect solution may be unsustainable or very hard to attain.

Instructions: When the optimality gap of an active solve reaches this value, the optimization will terminate and return the current best solution.

- The value given should be entered as a float, which will then convert to a percentage. i.e. 1 = 1%, .01 = .01%.

- A value of 0 defaults to .01%, the lowest possible value

Solve time limit

The maximum time (in minutes) that the solve will run for before returning the best solution found up to that point.

Scaling Big M

Big M constraints are solver generated constraints based on user created fixed costs and count constraints which use a constant to enforce relationships. If this value is too low, problems are infeasible. If this value is too high, solve will be infeasible and user will see the error message “Best bound is infinite”.

Percentage to add to native Supply Chain Architect scaling. 25% to 500% would be the normal range to try if you are experiencing Big M related issues.

Supply Chain Architect dynamically scales Big M based on problem characteristics of each model to be solved. However, in cases that are extremely complicated i.e. models with chains of multiple BOM’s or resources. Then, it may be necessary to scale.

Cost of Capital %

The opportunity cost associated with capital tied up in products or inventory inside of a network optimization model. Specifically, this is the rate of return that could be obtained by reinvesting any given product’s value elsewhere

- When this % is greater than 0 – an objective term is added to the optimization that represents the overall cost of capital for all inventory or products represented inside the network model.

- The value given should be entered as a float, which will then convert to a percentage. i.e. 1 = 1%, 01 = .01%

Use Extreme Numerical Precision

If turned on, it will use extreme numerical precision setting to solve. Can help numerical precision issues for models with large variances in scale but can take longer to run.

Multi Objective Flag

Multi Objective flag allows users to use the aa_ObjectiveSettings table to specify custom objective function components. When selected, it comes pre-loaded with default objectives: minimum cost (if null) or maximum profit (if a value is provided). Users can then add other constraints, for example maximum distance.

If turned on, it will add objectives weights and column as specified in the aa_ObjectiveSettings table.

Run Conflict Refiner

If turned on, the solver will run conflict refiner for any infeasible models. If not turned on, it will not run conflict refiner for infeasible models.

Is Baseline Scenario

This setting is used when replicating a historical baseline scenario that includes unbalanced flows. When enabled, it disables flow balance constraints, which are normally used to ensure that supply chain flows are consistent and interconnected.

Without flow balance, the model will only simulate flows explicitly defined by other constraints. If those constraints are missing, the model may produce no flows at all. Therefore, you must include constraints for every individual flow you want to replicate in the historical scenario.

If turned on, this setting essentially instructs the model to exactly replicate the flows you specify, rather than optimizing based on typical supply chain logic.

Optimization Emphasis

  1. Balanced: This approach aims to find a compromise between solution quality and computational efficiency. It seeks to deliver good solutions within a reasonable time, making it suitable for a wide range of problems where both speed and optimality are valued.

  2. Optimality: This emphasis prioritizes finding the best possible solution, regardless of the time taken. It’s ideal for situations where achieving the absolute optimal solution is crucial, even if it requires significant computational resources.

  3. Feasibility: This focus is on quickly finding a feasible solution, which may not be optimal. It is particularly useful in scenarios where having a valid solution is more important than its quality, such as in real-time decision-making or when dealing with uncertain data.

  4. Heuristic: This setting utilizes heuristic methods to find good solutions faster. Heuristics are rule-of-thumb strategies that can provide good-enough solutions in a shorter time frame, which is beneficial for large or complex problems where exact methods might be too slow.

  5. Hidden Solutions: This refers to the ability of CPLEX to discover solutions that may not be immediately obvious or are difficult to find through standard optimization techniques. This capability can help identify additional feasible or optimal solutions that could be beneficial for the overall problem.

Did this answer your question?