[IEEE 2010 Second Pacific-Asia Conference on Circuits,Communications and System (PACCS) - Beijing,...

4
2010 Second Pacific-Asia Conference on Circuits, Communications d System (PACCS) Research on the solution of product configuration based on constraint satisfaction problem LiuQio吨, Xu Yg, Xie Jing , Wg Yulin School ofMach ine Eng ineer ing, Univ ersity of Sou Ch ina, H engyg, Ch ina הppg m pr叫 on pblemω sa也faon pblem (CSP) so atwe use CSPω p e owlge of pun pblem. The commong me也叫s for CSP v d 甜in out n combln con曲fo a n me, wchsoe e puct coon outb配. sa也on problem, p coon, on , bac 基于约束满足问题的产品配置问题求解研究 刘琼, 徐洋, 谢静, 王玉林 南华大学机械工程学院, 湖南, 衡阳, 中国 本文采用了基于约束满足问题的产品配置知识表示方法,建立了产品配置问题与约束满足问题的映射关系,分析了目前 常用的算法及其优缺点。 采用二元决策图将产品配置问题的解空间进行可视化表示,结合弧一致性算法提出了无回溯产品配置算法, 该算法可以在离线的情况下编译配置问题的解空间,使得用户进行在线配置时可以实现无回溯搜索,不仅可以提高搜索效率,还可以 改善用户配置体验。 关键词 会议约束满足问题,产品配置,二元决策图,弧一致性算法,无回溯 1. 引言 产品配置是在一组预定义好的、 模块化的零部件集合 中, 根据一定的约束规则, 选择并确定零部件之间的连接以获得符合设计要求和满足客户需求产品的一种方法和技 术。 产品配置是通过使用一定的配置方法和相应的配置系 统来实现产品配置的。 基于约束的产品配置方法采用约束 满足问题 ( Consa int Sat isfact ion Probl em, CSP) 来表示产 品配置问题。 产品配置问题中的基本元素可以映射到约束 满足问题中, 使得配置问题的描述比较直观和方便:约束 满足问题的众多求解方法使得产品配置问题更易求解。 2. 基于约束满足问题的产晶配置模型 约束满足问题的研究始于Walꜩ对画面标识问题的研 究[1 ]。 随着人工智能领域的研究 发展, 在解决约束满足问 题的推理算法方面, 出现了弧一致、 路一致和 i 一致等多 种推理算法。 文献[2] 提出的回跳算法可以提高求解的效 率, 文献[3 ]提出了无回溯算法, 避免了在求解过程中回溯 本论文受到湖南省教育厅项目(09C858)和南华大学博士科研启动 基金(2007XQD35)资助。 978-1-4244-7968-9/10/$26.00 2010 IEEE 39 现象的发生, 采用无回溯算法是目前基于W eb 的产品配置 系统发展的主流。 2 . 1 约束满足问题的描述 约束问题是现实中的一些实际问题的抽象和简化的模 型。 与约束问题相关的问题称为约束满足问题。 在对组成 问题的变量进行赋值后, 需要判断赋值后的变量组合是否 满足变量之间的关系。 如果不违反任何一个变量之间的关 系, 则称该约束问题是可以被满足的。 否则, 称该约束问 题是不可以被满足的。被满足的约束问题有一个或多个解, 也可以称该约束问题是一致的:不可以被满足的约束问题 无解, 是 由于变量之间的关系存在冲突或者变量的赋值不 满足变量关系的要求。 2 . 2基于约束满足问题的产品配置模型 最早采用基于约束满足问题的方法来解决产品配置问 题是 由Gusg e n [4 ]提出的, 后来Falt ings [5]和G e ll e[6 ] 也相 继提出了基于约束满足问题的产品配置方法。 他们将约束 PACCS 2010

Transcript of [IEEE 2010 Second Pacific-Asia Conference on Circuits,Communications and System (PACCS) - Beijing,...

Page 1: [IEEE 2010 Second Pacific-Asia Conference on Circuits,Communications and System (PACCS) - Beijing, China (2010.08.1-2010.08.2)] 2010 Second Pacific-Asia Conference on Circuits, Communications

2010 Second Pacific-Asia Conference on Circuits, Communications and System (PACCS)

Research on the solution of product configuration based on constraint satisfaction problem

LiuQio吨, Xu Yang, Xie Jing , Wang Yulin

School ofMach inery Eng ineer ing, Univ ersity of South Ch ina, H engyang, Ch ina

AA耐rlø-The mappiDg from pr叫.uctcoDfiguration problemω ωn耐创ntsa也fac:tion problem (CSP) Is b回lt so that we can use CSPω

present the knowledge of productωd酬ration problem. The common回,lving me也叫s for CSP are given and 甜甜W倒恤倒is pointed

out. BIn缸Y d,创Isfon dIagram Is comblned w恤arc con曲tencyω form a new method, which帽皿solve the product coDfiguration

w恤.outb配ktracldng.

KØ)柳棚命-eon由alntsa也fac:tion problem, p凹Mluct conflguration, bln缸'Y declsfon dIagram, arc-ωnslsteD叮, backtracldng'击回

基于约束满足问题的产品配置问题求解研究刘琼, 徐洋, 谢静, 王玉林

南华大学机械工程学院, 湖南, 衡阳, 中国摘 要 本文采用了基于约束满足问题的产品配置知识表示方法,建立了产品配置问题与约束满足问题的映射关系,分析了目前

常用的算法及其优缺点。 采用二元决策图将产品配置问题的解空间进行可视化表示,结合弧一致性算法提出了无回溯产品配置算法,

该算法可以在离线的情况下编译配置问题的解空间,使得用户进行在线配置时可以实现无回溯搜索,不仅可以提高搜索效率,还可以

改善用户配置体验。

关键词 会议约束满足问题,产品配置,二元决策图,弧一致性算法,无回溯

1. 引言

产品配置是在一组预定义好的、 模块化的零部件集合中, 根据一定的约束规则, 选择并确定零部件之间的连接,以获得符合设计要求和满足客户需求产品的一种方法和技术。 产品配置是通过使用一定的配置方法和相应的配置系统来实现产品配置的。 基于约束的产品配置方法采用约束满足问题 (Constra int Sat isfact ion Probl em, CSP) 来表示产品配置问题。 产品配置问题中的基本元素可以映射到约束满足问题中, 使得配置问题的描述比较直观和方便:约束满足问题的众多求解方法使得产品配置问题更易求解。

2. 基于约束满足问题的产晶配置模型

约束满足问题的研究始于Waltz对画面标识问题的研究[1 ]。 随着人工智能领域的研究 发展, 在解决约束满足问题的推理算法方面, 出现了弧一致、 路一致和 i 一致等多种推理算法。 文献[2] 提出的回跳算法可以提高求解的效率, 文献[3 ]提出了无回溯算法, 避免了在求解过程中回溯

本论文受到湖南省教育厅项目(09C858)和南华大学博士科研启动基金(2007XQD35)资助。

978-1-4244-7968-9/1 0/$26.00 (Ç)20 1 0 IEEE

39

现象的发生, 采用无回溯算法是目前基于W eb 的产品配置系统发展的主流。

2.1 约束满足问题的描述

约束问题是现实中的一些实际问题的抽象和简化的模型。 与约束问题相关的问题称为约束满足问题。 在对组成问题的变量进行赋值后, 需要判断赋值后的变量组合是否满足变量之间的关系。 如果不违反任何一个变量之间的关系, 则称该约束问题是可以被满足的。 否则, 称该约束问题是不可以被满足的。被满足的约束问题有一个或多个解,也可以称该约束问题是一致的:不可以被满足的约束问题无解, 是 由于变量之间的关系存在冲突或者变量的赋值不满足变量关系的要求。

2.2基于约束满足问题的产品配置模型

最早采用基于约束满足问题的方法来解决产品配置问题是 由Gusg en[4 ]提出的, 后来Falt ings [5 ]和G ell e[6 ]也相继提出了基于约束满足问题的产品配置方法。 他们将约束

PACCS 2010

Page 2: [IEEE 2010 Second Pacific-Asia Conference on Circuits,Communications and System (PACCS) - Beijing, China (2010.08.1-2010.08.2)] 2010 Second Pacific-Asia Conference on Circuits, Communications

满足问题用于表达产品配置问题的模型, 将产品配置问题中的因素映射到约束满足问题中的元素一一变量, 值域和约束, 利用约束满足问题便于表达知识的特点将产品配置知识表示出来。

产品配置问题中的基本元素可以映射到约束满足问题中, 它们之间的元素映射如表1所示。

表1产品配置问题与约束满足问题之间的元素映射

产品配置问题 约束满足问题

可配置组件 变量

可配置组件的选项 变量的域值

组件之间的关系 变量之间的约束

用户的个性化需求 约束

个性化的产品个体 条件最优解

可配置产品的配置知识表示为等价的约束满足问题中的变量、 变量的域值和变量之间的约束, 建立了一个用约束满足问题表示可配置产品的配置模型。

2.3 基于约束满足问题的产品配置常用求解方法

在产品配置的约束满足模型中, 约束满足问题的解 就是等价的产品配置问题的解。 传统约束满足问题的求解算法包括推理算法, 搜索算法和约束传播算法等。

推理算法的原理是对原有的约束满足中的约束进行推理, 从而对约束作用域中变量的取值范围进行限制。 常用的推理算法是基于一致性算法的。 包括节点一致性, 弧一致性和路径一致性算法。

搜索算法是指 对赋值空间的所有部分进行系统搜索,即遍历问题中的每个变量。 回溯法是典型的搜索算法, 在对问题进行搜索的过程中, 从第一个变量开始赋值, 变量被逐一赋值。 对于一个约束, 一且其有关的变量都被赋值了, 该约束的判断程序就被激活, 用来判断赋值是否满足约束。 如果部分变量的赋值与任何一条约束有冲突, 则回溯到最近一个被赋值的变量, 改变该变量的值, 继续进行约束判断。

假设n 为变量总数, d为变量值域的大小, p为约束被满足的概率。 对于一个有n 个节点的约束图, 所有约束被满足的概率为 pD(D- 1)/2。 第n 层的约束预期检测数为zdD p(D- 1)(叫12 1- 主:

1- P

从上面的公式可以看出, 回溯搜索仍然具有指 数相关的计算复杂度。 将搜索算法和一致性推理算法结合起来,形成了求解约束满足问题的另一种方法一一约束传播算

40

法。约束传播算法与回溯的区别在于对变量之间约束的考

虑。 回溯算法只考虑了己经被赋值的变量是否满足约束,而约束传播算法还要考虑己赋值变量与将被赋值的变量是否符合一致性。因此, 约束传播算法对一致性的要求更高,是对回溯搜索算法的改进。

3 基于二元决策图的无回溯产品配置求解方法一致性推理算法只能进行一致性检查, 进行变量的值

域剪除, 缩小问题的求解空间, 问题的求解还是需要搜索算法。 搜索算法作为求解约束满足问题的最终手段, 包括穷举算法和回溯算法。 穷举算法不能用于大规模的求解问题, 而回溯算法需要修改己赋值变量的值, 在配置过程中会影响参与配置用户的体验。而约束传播算法的效率较低。

目前, 面向大批量定制的产品配置系统越来越倾向于在web 上运行。基于web 的产品配置系统 由于使用环境的特殊性, 应该实现无回溯搜索。 这样, 一方面可以提高搜索效率, 另一方面可以改善产品配置使用者的体验, 参与配置的用户不希望因为产品配置系统逻辑推断的不完全性而修改己经做出的选择。 因此, 本文引入二元决策图作为一种无回溯的产品配置求解算法, 并将配置解空间的编译在网下进行, 与求解过程分离。

无回溯意味着求解算法不允许用户选择变量值域中的一个不合理的变量值,因为这可能会导致最后没有可行解。为了避免回溯, 算法需要从变量值域中剪除那些不能产生可行解的值。 无回溯算法 就是要在进行变量赋值的同时,从所有的解空间中去处那些不可性行解, 从而避免回溯。

3.1 二元决策图的基本概念

二元决策图 (Bin 町Decision Diagram, BDD) 是采用具有标号的二叉树表示布尔逻辑函数的直接非循环表示图,图形只有两种终端节点O或者1,分别代表常量O和L中间节点为布尔变量X, 节点引出的两条边分别代表两个表达式, 称为 0 边与1 边。BDD是一种规范且紧凑的布尔函数表达。 由于其规范性和紧凑性, 使得空间需要大大降低,使得基于BDD算法的在线产品配置器能够进行较复杂产品的配置。

本文所采用的BDD是一个从根节点出发的无环有向图, 代表了一个布尔函数, 函数的变量为一组线性的有序的布尔变量。 终端节点标记为O和1, 从根节点到终端节点之间有一系列的变量节点, 每一个变量节点都与一个布尔变量相关联,并且具有低值和高值两条出口边可以选择。给布尔变量赋值之后, 得到的布尔函数的值取决于从根节

Page 3: [IEEE 2010 Second Pacific-Asia Conference on Circuits,Communications and System (PACCS) - Beijing, China (2010.08.1-2010.08.2)] 2010 Second Pacific-Asia Conference on Circuits, Communications

点经过这些代表布尔变量的变量节点后所形成的路径, 路径的终点如果是标记为O的终端节点则代表布尔函数值为0 , 对应的配置为不可行配置:路径的终点如果是标记为1的终端节点则代表布尔函数值为1, 对应的配置为可行配置。 由于每一个变量节点都有低值和高值两条出口, 因此当变量节点关联的布尔变量值为true 时, 选择高值出口,并用实线表示:当变量节点关联的布尔变量值为false 时,选择低值出口, 并用虚线表示。

3.2BDD简化方法

当一个变量冉的值域写的大小为n 时, 用来表示它的

布 尔向 量 为 (才ι利 , 其 中�=f /og2(n斤, 即/og2(n)向上取整。 当n 比较大时 �会变得很大,BDD 层数会很多:而且每层的节点会以指数级别增长, 第m 层的节点数为2m-!个。可以采用简化BDD的方法:如图1 (a) 中所示的一对不同节点x和y, 它们处于BDD的同一层,它们的低值和高值两条出口都指向相同的后继节点, 简化后只保留一个节点:图1 (b) 中所示的节点X, 它的低值和高值两条出口都指向同一后继节点y, 简化后省略x节点, 原来进入x节点的弧直接指向y 节点。 当后继节点y为终端节点时, 采用同样的方法简化, 如图1 (c)所示。

争夺『久

己;J, φ)

已同4(。

图1 BDD的简化方法

简化后的BDD可以使节点的数量比实际中的少很多,并且使得BDD更加规范。 简化后的BDD会在处理复杂产品配置问题时节省更多的空间。

3.3 BDD结合弧一致性算法实现无回溯搜索的方法

BDD可以将解空间进行形象化的表示, 将产品配置问题的解空间按照可行解和不可行解分为两部分。BDD是一种树状结构的约束图, 而树状结构的约束图的宽度都为1.根据定理,只要BDD是强2一致的, 就可以使该约束满足

41

问题不经过任何回溯就可以求得解。 强2一致性包括的是节点一致性和弧一致性。 节点一致性可以理解为满足用户对变量的赋值要求, 而弧一致性则为保证与用户己赋值变量具有约束关系的其他变量的一致性。 因此, 我们将BDD与弧一致性算法结合起来, 用于实现无回溯搜索。

在产品配置模型建立好以后,就可以使用BDD将其解空间表示出来,然后对约束进行一致性检查。 采用弧一致性算法对约束涉及 的变量进行值域剪除, 这样可以减少

BDD中节点的数量, 降低问题的复杂性。弧一致性维护算法可以采用深度优先的搜索策略, 从第一个约束所涉及 的变量开始, 对所有包含该变量的约束进行检测。然后从下一个约束开始进行检测,直到所有约束通过弧一致性检查。

由于基于BDD的产品配置模型的编译部分是在离线情况下进行的, 可以考虑在所有的约束通过弧一致性检查后, 应用搜索算法将所有不能够到达"1"节点的路径从

BDD中删除。在用户进行赋值之后,再进行一次相关变量的一致性检查, 删除不能够到达"1"节点的路径。 这样,可以缩小问题的规模, 在一定程度上提高求解的效率。 用户进行下一步配置之前, 就已经对用户己经赋值的变量进行过全局一致性检查: 用户一旦对某个变量进行赋值, 算法不仅对己经赋值变量之间存在的约束进行检查, 并且对己赋值变量与未赋值变量之间存在的约束也进行检查, 即进行弧一致约束传播。 这样, 就可以计算出所有的可行解空间。 提示用户在进行下一步配置时不能够选择变量的某些值,避免了一致性冲突的产生。图2为该算法的流程图。

图2 BDD 结合弧一致性算法的流程图

由于产品配置模型的建立及 编译的完成都是在网下完

Page 4: [IEEE 2010 Second Pacific-Asia Conference on Circuits,Communications and System (PACCS) - Beijing, China (2010.08.1-2010.08.2)] 2010 Second Pacific-Asia Conference on Circuits, Communications

成的,因此产品配置系统可以较快地响应用户的输入。BDD的建立是基于所有变量的取值, 并按照配置规则完成的,因此配置结果是完整的。一旦用户输入选项,BDD就会在解空间中进行搜索并判断是否能够得到可行解, 因此可以做到无回溯性的配置。

4实例分析

自行车是一种典型的机械产品,具有较强的可配置性。为简单起见,采用休闲车某系列的部分参数及 约束对BDD的构建进行说明。 该系列休闲车的参数主要包括颜色、 车体大小、 及其喷涂图案。 基于CSP 的配置问题描述为:

P ={X, D, C }, 其中X 为属性变量, D为变量值域,C 为约束。 该配置问题的变量、 值域及 约束描述如表2 所示:

表2 示例模型中的变量、 值域及约束

变量X 变量X的值域D 约束C

颜色 码 黑色, 白色,红色, (毛=图案1, .tï

蓝色 27式);

车体大小毛 24式,26式,27式 (码=图案2, X2"# 图案毛 图案1,图案2 黑色)

该示例包括三个变量: 码'X2 和X:J, 它们相应的值域大小分别是4,3 和2 。 每一个变量都可以 由一个布尔变量的向量来表示。 根据BDD的定义, 得到如图6 (a ) 所示的自行车配置示例解空间, 再根据图5 所示的BDD的简化原则进行简化, 得到如图6 (b) 所示简化的解空间。

4

。)简化前的解空间 (b)简化后的解空间

图3自行车配置示例解空间的简化 BDD示意图

在图3 中, 变量毛代表的是车体大小, 用布尔向量

(� ,�) 来表示。当 (� ,xn 都取低值, 即 ( 0 , 0) 时, 表示车体大小为24式。 相应的 ( 0 ,1) 和 (1, 0) 分别代表

26式和27式。 在BDD中,任何一条从根节点到终端节点1 的路径, 都相应地代表了一种或多种可行的配置:任何一条从根节点到终端节点O的路径, 都相应地代表了一种

42

或多种不可行的配置。 例如, 从根节点到终端节点1, 如果 �,矿 ,习 ,� 节点选择低值 � 节点选择高值, 代表了一种可行的配置 (黑色 27式, 图案1), 另外一条路径如

果 �ι 节点选择低值, 矿 ,� 节点选择高值, 代表了两种可行的配置 (白色, 24式, 图案2) 和 (白色, 26式,图案2)。在这一条路径中, 由于没有考虑 习 的值, 因此在

过 节点处既可以选择低值, 也可以选择高值, 这就产生了两种可行的配置。

使用BDD可以简单有效地表示配置问题的解空间,将所有可行解与不可行解在配置开始前就计算出来。 计算的结果可以使用XML文件存储起来, 基于web 的产品配置器用户配置界面通过读取该文件, 生成相应配置界面, 指导用户在可行解范围内进行选择。

5总结

本文介绍了基于约束满足问题的产品配置知识表示方法, 建立了产品配置问题与约束满足问题的映射关系。 采用二元决策图将产品配置问题的解空间进行可视化表示,结合弧一致性算法提出了无回溯产品配置算法, 该算法可以在离线的情况下编译配置问题的解空间, 使得用户进行在线配置时可以实现无回溯搜索。通过实例分析, 对BDD结合弧一致性算法实现无回溯搜索的产品配置方法进行了验证, 实例证明该方法不仅可以提高搜索效率, 还可以改善用户配置体验。

参考文献

[1] Walt D.L.Understanding line drawings of scenes with shadows.

Psychology of Computer Vision [C]. McGraw-Hill, New York,

1975:19-91.

[2] Pros阳P. Hybrid algorithms for constraint satisfaction

problerns [J]. Computational Intelligence, 1993,9(3).

[3] Freuder E.C. A suficient condition for backtrack-ftee s回rch [J].

Journal of the ACM, 1982,21(11):958-965.

[4] Gusgen H., Hertzberg J. A Perspective of Cons位aint-Based

Re也.soning [M]. Berlin: Springer-Verlag, 1992.

[5] Faltings 区 Weigel R. Constraint-based knowledge

r叩,resentation for conflguration systems [R]. Technical report

No.TR-94/59, Depar恤.entD'Informatique, 1994.

[6] Gelle E., Weigel R. Interactive Configura剑on using Constraint

Satisfaction Techniques [R]. Artificial Intelligence and

Manufacturing Research Planning Workshop, 1996: 37-44.