产品配置的求解器策略

本文介绍如何使用求解器策略改进产品配置的性能。

求解器这一概念最初是在 Microsoft Dynamics AX 2012 R2 的累积更新 7 (CU7) 中引入的。 并在 Microsoft Dynamics AX 2012 R3 的累积更新 8 (CU8) 和财务和运营应用 Enterprise edition 7.3 中得以延伸。

求解器策略概念现在包含以下策略:

  • 默认
  • 最小域数量优先
  • 自上而下
  • Z3

求解器策略

可将产品配置模型编制为约束满足问题 (CSP)。 Microsoft Solver Foundation (MSF) 提供两种类型的求解器策略来解决可从产品配置模型使用的 CSP。 这些求解器策略依赖于启发,启发用于确定解决问题时考虑 CSP 变量的顺序。 解决一个问题或一类问题时,启发可显著影响性能。

产品配置模型的求解器策略确定启发使用哪个求解器。 默认最小域数量优先自上而下策略使用 MSF 中的两个求解器,而 Z3 策略则使用 Z3 求解器。

真实的客户实施研究已表明产品配置模型的求解器策略中的更改可将响应时间从以分钟计缩短到以毫秒计。 因此,值得努力尝试不同求解器策略以找出对产品配置模型效率最高的策略。

更改求解器策略的设置

若要更改求解器策略,请在配置产品模型页面中的操作窗格上,选择模型属性。 然后,在编辑模型详细信息对话框中,选择求解器策略。

更改求解器策略。

目前不存在自动检测哪个求解器策略对基于约束的产品配置效率最高的逻辑。 因此,必须逐一尝试求解器策略。

下表提供有关各种方案中要使用的求解器策略的建议。

求解器策略 策略的使用方案
默认 默认策略已经过优化,可解决依赖于表约束的模型。 客户实施研究已表明,在广泛使用表约束的方案中,此策略效率最高。
最小域数量优先 最小域数量优先自上而下策略之间的关系非常密切。 客户实施研究已表明自上而下策略比最小域数量优先策略更优秀。 但是,产品中仍然保留了最小域数量优先策略,以提供向后兼容。 研究已表明,在求解其中包含多个不使用表约束的算术表达式的模型时,这两种求解器策略的效率更高。 但是在某些情况下,默认策略比这两个策略更优秀。 因此,请务必尝试每个策略。
自上而下 最小域数量优先自上而下策略之间的关系非常密切。 客户实施研究已表明自上而下策略比最小域数量优先策略更优秀。 但是,产品中仍然保留了最小域数量优先策略,以提供向后兼容。 研究已表明,在求解其中包含多个不使用表约束的算术表达式的模型时,这两种求解器策略的效率更高。 但是在某些情况下,默认策略比这两个策略更优秀。 因此,请务必尝试每个策略。
Z3 建议您将 Z3 策略用作默认求解器策略。 如果您注重性能和可扩展性,则可评估其他策略。

其他资源

产品配置概览

启发式

约束满意度问题