1

给定产品的各种功能、功能选项以及功能之间的兼容性规则,我想生成所有可行产品配置的列表。

例如,我当前的用例类似于配置笔记本电脑。许多变量,如屏幕尺寸、内存、cpu、主板,每个变量都有多个有效值。我们也可以有限制,比如这个主板与这个 cpu 兼容等。我需要的输出是笔记本电脑所有有效配置的列表。

该场景看起来像一个典型的约束满足问题 (CSP)。我尝试了 Minion、Choco 等 CSP 库。不幸的是,它们只使用数字变量,并且兼容性规则也是一个数学函数。

我还尝试了http://labix.org/python-constraint,我在其中使用了功能约束,并将我的兼容性规则作为 If 语句提供。这适用于小场景。但根据我的要求,我将拥有 10 个功能,每个功能都有 4 到 5 个选项,从而产生数百万个配置。

有人可以建议我的要求的最佳方法吗?

4

0 回答 0