Solver strategy for product configuration
A product configuration model can be formulated as a Constraint satisfaction problem (CSP). Microsoft Solver Foundation (MSF) provides two types of solver strategies to solve the CSPs that can be used from product configuration models.
These solver strategies rely on heuristics (rules of thumb), which are used to determine the order in which the variables of the CSPs are considered when the problem is being solved. Heuristics can significantly affect performance when a problem or class of problems is being solved.
In Supply Chain Management, the solver strategy for product configuration models determines which solver is used with heuristics. The Default, Minimal domains first, and Top-down strategies use the two solvers from MSF, whereas the Z3 strategy uses the Z3 solver.
Product information management > Products > Product configuration models > New
Customer implementation studies have shown that a change in the solver strategy for a product configuration model can reduce the response time from minutes to milliseconds. Therefore, it's worth the effort to try different solver strategies to find the most efficient strategy for your product configuration model.
Change settings for the solver strategy
To change settings for the solver strategy, on the Product configuration models page, on the Action Pane, select Model properties. Then, in the Edit the model details dialog box, select a solver strategy.
Currently, there is no logic that automatically detects which solver strategy will be the most efficient strategy for constraint-based product configuration. Therefore, you must try each solver strategy individually.
The following table provides recommendations about the solver strategy that you can use in various scenarios.
Solver strategy | Use the strategy in this scenario |
---|---|
Default | This strategy has been optimized to solve models that rely on table constraints. Customer implementation studies have shown that Default is the most efficient strategy in scenarios where table constraints are used extensively. |
Minimal domains first | The Minimal domains first and Top-down strategies are closely related. Customer implementation studies have shown that the Top-down strategy outperforms the Minimal domains first strategy. However, the Minimal domains first strategy is kept in the product for backward compatibility. Both solver strategies have been shown to be more efficient at solving models that contain several arithmetic expressions where no table constraints are used. However, in some cases, the Default strategy outperforms these two strategies. Therefore, remember to try each strategy. |
Top-down | The Minimal domains first and Top-down strategies are closely related. Customer implementation studies have shown that the Top-down strategy outperforms the Minimal domains first strategy. However, the Minimal domains first strategy is kept in the product for backward compatibility. Both solver strategies have been shown to be more efficient at solving models that contain several arithmetic expressions where no table constraints are used. However, in some cases, the Default strategy outperforms these two strategies. Therefore, remember to try each strategy. |
Z3 | We recommend that you use the Z3 strategy as the default solver strategy. If you're concerned about performance and scalability, you can evaluate the other strategies. |