基于一阶理论的个性化定制需求可满足性研究
2023-01-07王国栋刘国华
马 耀,王国栋,刘国华
(东华大学 计算机科学与技术学院,上海 201610)
0 引言
以工业互联网为技术支撑的中国制造2025具备支撑大规模个性化定制的能力,同时大规模个性化定制意味着生产商与客户产生更多的交流,生产商从单纯的生产产品转为获取并满足客户需求,客户则从购买有限范围内的产品转为参与产品设计。工业互联网的应用将帮助生产商更好地根据需求调整供应,降低生产成本,减少生产商资源消耗并增强竞争力。
客户也更希望产品能够满足个人需求,通过直接参与产品设计过程定制满意的产品[1]。在这种模式中,客户与生产商交流需求,直接参与产品设计是个性化定制与传统生产模式的重要区别[2]。有客户参与的设计过程能够使个性化设计更符合客户需求,但也给为个性化定制需求带来更多的不确定性。客户通常不具备相应的专业设计知识,而且个性化定制需求各不相同;另一方面,生产商生产能力存在差异。在此场景下,如何调整客户与生产商之间的匹配关系成为提升效率的关键。
个性化定制产品设计的研究集中于个性化定制需求的表示。模块化的设计模式、标准化需求和配置优化策略是当前关注的主要方向,并已在汽车、家具、服装和餐饮等行业进行实践[3-4]。在服装设计[5-6]和家具[7]个性化定制的方法中,目标产品采用模块化设计方式来处理需求,通过设计系统向客户展示设计结果,同时获取生产商可以使用的结构化或者半结构化特征需求。这些研究中需求的规范化描述多采用谓词逻辑形式[8]。
在需求评估的研究中通常采用模糊数学的方法计算客户在生产商中的满意度,将客户满意度作为评价指标选择满足客户需求的最佳生产配置方案。质量功能展开(Quality Functional Deployment,QFD)是一种客户驱动的产品生产规划方法,该方法的规划过程包括建立质量屋和质量屋决策两个过程。文献[9]研究了基于QFD的模块化产品改进,文献[10]中采用QFD方法将用户需求映射到设计需求,用于选择更符合要求的定制方案。采用参数化模式的个性化定制侧重于定制产品的参数配置对生产的影响,用于构建、检索产品[11-12]。实际生产流程中存在任意无法完成的生产工艺都会导致整个流程无法完成,因此在一些研究中将生产流程的验证可以看作一个规划问题,寻找从初始状态到达预定目标的动作序列。Kautz等人[13]在SATPLAN系统中提出一种使用逻辑编码规划问题的方法,将有限步骤内到达目标状态的规划表示为一阶谓词逻辑公式,满足公式的模型对应于一个有效的规划。针对将规划作为可满足问题求解方法,Rintanen提出改进了变量选择策略的SAT求解器[14-15]。
采用转换为可满足问题的方法,可以很方便地从工业互联网平台中的数据库构建生产线资源的谓词集合。需求可以规范化地描述为逻辑公式,与生产商信息使用相同形式的描述方法,方便将使用可满足性方法求解问题。本文针对个性化定制模式中客户参与的产品设计阶段,根据明确的用户需求和生产线判断个性化需求在生产商中是否是可满足的。个性化定制中客户与生产商之间的关系如图1所示,其中设计师是用于将客户需求转化为生产商可直接使用形式的人或系统,虚线方框内的流程描述客户参与产品设计的阶段,该流程可能会进行若干次,直到双方达成一致后进入生产阶段。为了可以通过转换为可满足性问题解决判断需求可满足性的问题,还提出一种将需求和生产线编码为逻辑公式的方法。
图1 个性化定制中客户与生产商的交流模式Fig.1 Communication model between customer and manufacturer in personalization
1 生产线与需求的关键要素
在工业互联网体系中资源被划分为人、机、料、法、环五种类型[16],分别对应生产线的工作人员、可用设备、物料、具备加工工序以及对前四种资源的配置和约束。得益于工业互联网对数据的全方位互联互通的优势,用户可以随时获取资源相关的数据。由于工厂的生产能力取决于资源的种类和数量,在这些详细数据的基础上可以构建工厂的。
个性化定制需求描述客户对目标产品要求,范围包括外观、材质和生产流程等。根据模块化设计方式,本文从客户角度将需求划分为结构需求、物料需求和工艺需求三个层次。结构需求描述产品几何特征的要求,如产品的外形、颜色等;物料需求描述生产中各种物料种类、用量等;工艺需求是加工过程中涉及的工艺方法。
2 形式化定义
2.1 工厂生产线
物料、员工、设备和工序构成了生产线的基本要素,四个相互独立的元素通过生产环境纳入整体,构成一个独立、完整的系统。生产线定义为一个元组PL=(H,E,M,O,S,P),其中H是所有人员的集合;E是所有设备的集合;M是所有物料的集合;O是生产工序的集合;S是所有资源所有可能状态的集合;P是定义在Η∪Ε∪M∪O∪S上的谓词集合。各种的资源相互关联或者约束,通过不同方式参与生产流程,文中将分别针对不同资源的特点分别给出。
员工和设备作为执行工序的实体参与生产流程,物料是工序中操作的对象,这三者共同构成工序执行的先决条件。不同员工和设备可以参与的工序各不相同,因此表示为二元谓词关系employee:H×O和equipment:M×O。物料表示为二元谓词material:M×S,每个物料m具有唯一的状态,即
material(m1,s1)∧material(m2,s2)∧
(m1=m2)→(s1=s2),
(1)
其中:m1,m2∈M;s1,s2∈S。在工序执行的先决条件中只要求具备相应工作技能的工作人员和设备以及某些状态的物料,而无需区分具体的人员、设备和物料,工序执行后产生相应的作用。
生产线可以表示为其中各种资源的集合,这个集合就表示了生产线的状态。生产产品的过程从初始状态开始,经过一系列工序的转化到包含目标产物的状态,如何安排中间工序的顺序对应一个规划问题。生产线初始状态通常为现实中生产线的当前状态,并且需要在目标状态中符合客户的所有需求,状态之间的转换通过动作实现,在生产线中被称为工序。在STRIPS动作中将工序定义为集合O:Pre×Effect中的一个二元组〈pre,e〉,即〈pre,e〉∈O,其中Pre是工序执行的先决条件集合,Effect是执行效果的集合。
从初始状态s1到达目标状态sn+1的生产过程中,工序o执行必须满足下列三个条件:
siprei
(2)
si+1ei
(3)
sn+1=execon(…execo2(execo1(s1))…),
(4)
其中,oi=〈prei,ei〉,prei∈Preei∈Effect。式(2)、(3)分别要求工序执行前符合前提条件并且执行后产生指定效果,式(4)描述了状态si+1是在状态si时执行工序oi的后继状态。其他所有满足p∉ei的原子谓词p有si+1(p)=si(p)。序列o1,o2,…,on是到达目标状态按顺序执行的工序。
2.2 个性化定制需求
用户的需求通常使用自然语言的形式进行描述,但是这种方式表达的需求容易存在歧义,而且无法直接用于计算。将客户的需求表示为明确无歧义且易于计算的形式尤为重要,本节中给出从样式、物料和工艺的三个层次规范化表示需求的方式。
个性化定制产品的结构各异,这些产品从结构角度可以看作由更小的结构组合而成。个性化产品的样式可以表示为样式子模块的集合,用户通过选择不同样式的子模块定制产品。个性化定制产品的样式需求表示为
φD={m1,m2,…,mn}
(5)
式中,mi∈Module,φD是所有个性化定制的模块组成的集合,满足需求φD需要满足其中所有模块。
对物料需求包含种类和数量,不同设计对物料的需求存在差异,因此物料需求需要建立在样式需求的基础上。不同产品所需物料用量的方式因产品种类而异,对物料a的需求表示为
(6)
式中,M′⊂Material是需求中要求的所有物料,qty:M→R+是表示生产线中物料数量的函数,常数qa是物料a用量。类似物料需求,生产流程中的工艺需求可以表示为
φo={o1,o2,…,on}
(7)
工艺需求描述客户需求中明确要求采用的工序。
用户描述的工序不能满足生产需求,隐含要求其他工序,此外工序之间还会存在冲突。式(5)~(7)中使用谓词公式描述了个性化需求中的要求,此外需求之间还存在隐含关联。如图2所示,图中矩形表示用户个性化需求中描述的要求,圆形表示三个层次的需求,圆角矩形表示工作人员,缺角矩形表示设备。实线表示需求依赖关系,满足箭尾需求时必须满足箭头的需求;虚线表示需求矛盾关系,箭尾满足箭尾需求时不能满足箭头指向的需求。
图2 层次化需求及需求之间的关系Fig.2 Hierarchical needs and the relationship between needs
需求间的关联也需要编码为谓词关系。使用需求的二元组(φ1,φ2)表示箭尾和箭头的需求,需求之间的依赖R→和矛盾R⊕分别定义为
φ1→φ2
(8)
┐φ1∨┐φ2
(9)
满足个性化定制需求不仅要求三个层次的需求同时满足,而且要求满足其中的关联,客户的需求中所有要求φ表示为
φ=φD∧φM∧φO∧R→∧R⊕
(10)
其中:φD∧φM∧φO与具体的个性化定制需求相关,在不同生产线验证时保持不变;R→和R⊕是生产线中的谓词关系,与生产线的环境相关。
3 可满足性验证
前述章节将生产线和个性化需求规范化描述,其中将生产目标产品的过程描述为一个规划问题,并将其它资源和用户需求使用谓词逻辑描述。本章使用将规划问题作为可满足性问题的方法判断是否存在同时满足个性化定制需求与工厂资源限制条件的产品。
资源需求的检查采用证明需求公式φ是理论T的语义属性方法[17]实现,其中理论T是闭合谓词的集合,描述了生产线的能力。通过找到一个模型,满足T∪{φ}∪H┐φ∪Nφ,其中理论H┐φ∪N┐φ可能为空,分别用于保证理论T满射以及处理否定谓词。当存在一个模型时可以证明Tφ,即公式φ是理论T的语义属性。
生产资源是生产的先决条件,完成生产还要求生产车间能构建将服装从物料加工成最终产品的生产流程,构建的生产流程经过有限多工序加工之后得到目标产品。
将规划转换为可满足问题需要分别编码规划的动作和状态。经过有限步骤到达目标的工序规划问题中,每个工序o=〈pre,e〉在第t步的效果表示为
(11)
(12)
式中,ot和pt分别表示o和p在t步的状态。生产线状态在工序执行时的状态x∈SPL,在t∈{1,…,n-1}时刻的状态编码为
(13)
(14)
ot是产生效果x的工序流程中第t步执行的工序,xt,xt+1分别是在t和t+1时刻的状态。布尔变量adopto表示工序流程中是否使用了工序o,当工序o在任何时刻执行后谓词adopto在之后的状态中为真。
工序流程采用的顺序执行方式描述,每一步只执行一个工序,该过程表示为
(15)
生产线共有的理论编码为上述所有谓词的集合T={(11),(12),(13),(14),(15)}。此外生产线还存在不同的部分,表示为理论TEnv。验证生产线中是否有长度为不超过n的生产流程满足个性化需求φ,可以通过找到一个模型实现,使得
(16)
现在常用的可满足性问题求解基于CDCL(conflict-driven clause learning)算法,该算法是很多有效求解算法的基础,通过结合其他理论也可以实现求解未定义函数等的可满足性模型论,通用求解器实现有Z3 Solver[18]等。
4 产品个性化定制需求验证
在工业互联网中,生产商具有管理生产线中员工、设备、物料、工艺以及生产环境数据的能力,这些数据通过某种形式存放在数据库中。以数据库中的数据为基础,将其中每个表或视图看作关系的集合,表中的每条元组对应一个客观事实,可以构建生产线中各种资源的谓词描述模型。在关系型数据库中,每个表均对应一个谓词关系R,其中存放的记录是符合表要求,即表中存在记录使关系成立[19]。基于数据库的这一特点,每个表可以构建一个关系R′,使得
R(a1,…,an)→R′(…,ai,…,aj,…),
(17)
式中,1≤i≤j≤n,R是所有关系的集合,A1,…,An是n个属性的集合。这为从关系数据库创建谓词关系提供了依据。
4.1 生产线模型的构建
在服装生产中面料是贯穿整个生产流程的资源,直接影响生产线可生产的产品。这些资源在数据库中存在表1所示的面料库存表,该表有S、Material、Weave、Color和Qty五个属性,分别是布料状态、材质、编制方式、布料颜色和库存量,包含了生产商和客户关注的属性。
表1 面料库存表Tab.1 Table of fabric stock
表1中包含若干面料相关的事实,与蕴含Material×Weave×Color×Qty上的一个谓词关系fabric,所有使谓词fabric为真的元组组成集合Fabric。其中的事实如下所示:
生产线中另一个重要内容是决定物料状态变化关系的工序。如图3所示的西装生产流程,描述了不同状态物料构成的服装部件与流程之间的关系。谓词skill描述人员和设备可参与的工序,决定了生产线具备加工能力的工序,间接影响生产线的生产能力。
图3 服装生产流程工序依赖关系Fig.3 Process dependency of suit production process
表2中列出了图3中所有物料及状态的符号描述,物料需求与输出物料状态之间的关系进一步描述为表3,表中描述了工序的输入与输出之间的关系。
表2 裁片状态表Tab.2 Table of pieces status
表3 物料状态转移表Tab.3 Table of material status transform
生产线TPL不仅要符合所有理论T,还包含特定于生产线的事实,表示为
TPL=T∪TEnv∪Fabric
(18)
其中TEnv=R⊕∪R→。
4.2 构建需求
模块化设计在服装个性化设计中也是常用方法,通过不同部位的模块组合形成目标服装。西服可以划成版型、领子、袖口、袖子、面料,可选模块分别对应有限集合Figure、Collar、Cuff、Sleeve、Fabric,这些集合包含对应服装部位所有可选模块。如下述需求实例中明确给出了款式、面料种类和颜色需求,以及计算物料用量的服装尺寸,客户没有提及工艺需求。
服装个性化定制中,客户可能会提出以下服装个性化定制需求:一件H版型的欧式西服,尺寸是165/84A,化纤面料或毛呢面料,采用化纤面料时只能是黑色。
在集合Matrial中毛呢面料记为m2,化纤面料记为m3;集合Color黑色记为c1。用户需求中描述的两种个性化服装可以分别表示为
φD1={(∃w,∃c,∃q)fabric(m2,w,c,q),
module(H),module(suit)}
(19)
φD2={(∃w,∃q)fabric(m3,w,c1,q),
module(H),module(suit)}。
(20)
工艺在个性化定制需求中没有明确提及,因此工艺需求φO=∅。每个需求φ是直接描述个性化需求的谓词的集合,表示所有谓词的合取。
用户提出两个需求满足其中一种需求即可。即用户需求表示为
m=m2,w=w1,c=c1是其中一个模型。
5 总结
文中提出了一种将生产线和客户个性化定制需求编码为理论和谓词公式的方法,采用统一的形式化描述生产线与需求,描述在此基础上验证需求的方式,给出需求能否满足的判断。文中还给出服装个性化定制需求的实例,验证了方案的可行性。得益于生产线数字化建设程度不断深入,从生产资源数据中提取与生产能力相关的数据,构建描述特定生产线资源与生产流程的模型更为便捷,可以反映生产线的当下能力。