混合订单分配

2024-08-23

混合订单分配(通用4篇)

混合订单分配 篇1

0 引言

发光二极管 (Light-Emitting Diode, LED) 产业由于具有节能环保特性在我国处于快速成长阶段, 产业链包括原材料、上游的磊晶片制造、中游的芯片制造和下游的产品封装。一般的LED芯片厂商将上游和中游整合制造, 成为LED产业很重要的一环。LED芯片厂的生厂过程分为两部分, 包括前端和后端。前端主要生产磊晶片, 后端将晶片加工成芯片, 并经由点测、切割、分类和包装, 最后入库或出货。一片磊晶片可产出成千上万颗结构、大小、电性功能不等的芯片。芯片中电性功能 (分亮度和波长) 的分布与前端的磊晶片的制造过程相关[1~3], 由于生产过程的不稳定特性, 满足投产工单的电性需求规格的芯片数量占的比例 (即合工单率, Hit Target) 普遍不高, 导致产生很高的副产品库存。然而, 这些副产品库存并不是残次品, 它们可以满足其他的订单。因此如何合理地分配订单, 有效地安排生产, 最大幅度地降低库存水平, 是LED芯片厂所必须面对的问题。

1 LED芯片厂的订单分配问题

L E D芯片厂一般将芯片按其不同的电性功能以不同的区段 (BIN) 来分类。表1所示为一家LED厂的黄光芯片不同电性组合的BIN存货表, 共9种BIN, 括号中所注为BIN的编号。电性功能主要分为波长和亮度。黄光L E D的波长为584nm~588nm, 分三种波段, 亮度为0mcd~300mcd, 分三个等级。客户下单时的订单规格, 是以各电性范围来表示, 例如客户A的订单要求规格为波长587nm~594nm, 亮度为100mcd~300mcd, 数量为800K。如表1的灰色部份所示, 有4种BIN满足需求, 即{ (2, 2) , (2, 3) , (3, 2) , (3, 3) }。由于分配给客户的BIN若越集中, 则表示品质越好, 价格应更高, 因此出货时最好满足需求的BIN都出一些, 不要为零或太低, 否则会造成升级的问题 (例如客户下次要求一样的品质) 。要满足一张订单的规格和数量, 有无限种BIN芯片数量的组合可满足, 应如何选取最佳的BIN出货组合?也就是如何能让更多的订单可出货[4~7]。例如上述客户A的订单, 如果出货时满足订单规格的4个BIN出货量各为200K, 则出货后4个BIN的存货数量分别为 (263, 212, 201, 179) 。如果还有另一客户B, 订单要求规格为波长584nm~591nm, 亮度为200mcd~300mcd, 数量为600K, 则因满足规格的2个BIN, 即{ (3, 1) , (3, 2) }的存货总计只有543K, 无法满足这张订单的需求, 生管只能下工单安排生产。但是如果客户A的订单BIN (3, 2) 少出货100K, 而让其他3个BIN多出货100K, 则剩余的存货即可满足客户B的订单需求。因此, 选择最佳的BIN订单分配组合, 不但有助于存货的有效利用, 而且能大幅提高客户的满意度。

2 订单分配优化模型

假设LED芯片的亮度等级有J个等级, 波长分为K种波段, 总共有J×K个BIN, 各BIN编号用 (j, k) 表示, j=1, …, J, k=1, …, K。bjk表示BIN编号为 (j, k) 的初始库存。有I张订单须分配, 订单i (i=1, …, I) 的需求数量为qi, 需求波长波段等级范围k为wli~wui, 亮度等级范围j为lli~lui, 则LED芯片厂的订单分配优化模型可以描述如下。

决策变量dijk为分配给订单i的亮度等级编号为j, 波长波段编号为k的BIN的出货量。式 (1) 为目标函数, 表示出货量需最大。希望通过各决策变量dijk的优化, 找到最佳BIN出货组合, 让尽可能多的订单出货需求得到满足。式 (2) 为第一类约束条件, 共J×K个不等式, 表示对于每一个亮度等级编号为j, 波长波段编号为k的BIN, I张订单的总出货量不能大于其库存量。式 (3) 为第二类约束条件, 共I个不等式, 表示对于每一张订单, 其出货量不能超过需求量。式 (4) 为决策变量的取值范围下界约束, 即为避免问题升级, 出货时每个BIN都要出的最少数量。式 (5) 表示各决策变量、各BIN库存量和各订单需求量须为正整数。

上述模型的决策变量值需为整数, 属于整数规划模型, 具有NP性质[8]。对于小规模整数规划问题, 可以通过使用隐枚举法、动态规划方法、分支定界法等传统方法来求解[9], 而对于中等规模甚至大规模问题, 计算量会出现组合爆炸的现象, 很难在合理的时间内求得模型最优解[10]。上述模型由于变量和约束非常多, 且随着问题规模的变大会急剧增加, 再加上决策变量属三维结构, 增加了模型求解的难度, 不适合使用传统方法求解。智能优化算法较常应用于中大规模的整数规划求解[11,12], 因此针对该模型的特点, 本文提出了基于转换矩阵的一种编码方法, 将三维决策变量转换为二维矩阵, 而后形成一维决策变量, 使用混合粒子群算法进行求解, 不仅降低了算法计算过程的复杂度, 而且提高了求解效率。

3 求解订单分配优化模型的混合粒子群算法

使用标准粒子群算法求解时, 随着迭代次数的增加, 在种群快速收敛集中的同时, 各粒子越来越来相似, 算法很难跳出这个局部最优范围, 即早熟收敛[13,14]。混合粒子群算法引用了遗传算法中的交叉和变异操作, 不仅增大了种群的多样性, 也有利于算法的全局搜索[15]。因此, 本文提出了使用混合粒子群算法求解该订单分配优化模型, 具体步骤如下:

步骤1:生成转换矩阵。决策变量dijk属于三维结构, 本文引入一个二维矩阵S (如式 (6) 所示) 将三维变量转换为二维矩阵, 最后形成一维决策变量求解。

其中矩阵中i表示订单号, 每一行代表一张订单, 共I张订单。m表示BIN的序号, m与BIN的编号 (j, k) 对应关系如式 (7) 所示。矩阵元素sim值1表示m所对应的BIN的波长和亮度符合订单i的需求, 0表示不符合。

步骤2:个体编码。粒子个体采用整数编码, 每个粒子表示所有订单的各BIN出货组合。假设LED厂有I张订单须满足, J个亮度等级和K种波段等级, 则每个粒子的长度为I×J×K (即式 (6) 中转换矩阵的元素个数) 。由于编码太长, 不仅浪费大量的存储空间, 而且降低运行效率。分析式 (6) 的转换矩阵, 属稀疏矩阵。为了解除其稀疏特性, 本文仅对矩阵中值为1的元素进行编码, 不仅有效减少个体长度, 降低了算法计算过程的复杂度, 在一定程度上也提高了算法性能。

步骤3:确定参数值。根据数据规模和分布特征确定混合粒子群算法的控制参数, 如种群个体数目N、最大进化代数G和变异概率P。由于该模型决策变量和限制条件都较多, 为保证求解效果, 因此种群个体数目N和最大进化代数G须设得较大。

步骤4:粒子初始化。产生初始种群时, 通过在变量范围内随机生成正整数方式。各变量最小值根据式 (4) 定为β×qi, 最大值根据式 (3) 定为qi。

步骤5:粒子修复。对于限制式 (2) 和式 (3) , 共 (J×K+I) 个条件。对每个条件依次进行判断, 如有不满足的, 对粒子相应位置的数值采取等比例缩小的策略进行调整以达到修复的目的。

步骤6:适应度值计算。粒子适应度值表示订单分配量。在本文中由于引入转换矩阵S将三维决策变量转换为二维, 适应度函数因此表示为:

根据式 (8) 计算适应度值, 得到个体最优粒子及群体最优粒子。

步骤7:交叉操作。交叉操作分为个体最优交叉和群体最优交叉。随机选定两个交叉位置, 将个体分别和个体最优粒子及群体最优粒子进行交叉。

步骤8:变异操作。按变异概率P执行变异操作, 生成新的个体。

步骤9:判断算法是否结束。判断是否达到最大进化代数G, 如果未达到, 则转步骤5, 否则执行以下步骤。

步骤10:群体最优粒子即为最佳解。

4 算例

为了验证本研究提出的方法的有效性和优越性, 本文针对具体的一家LED芯片厂的订单分配进行优化, 求解各BIN的最佳出货组合。假设该LED厂将芯片按波长分为3种波段, 按亮度分为3个等级, 各BIN期初存货如表1所示。已知8张订单需要分配, 各需求量与规格如表2所示。设定β值为2%, 也就是每个符合产品规格的BIN最小出货量为其订单需求的2%, 小数点部份无条件进位。具体优化步骤如下。

首先根据已知条件生成转换矩阵S, 共8行9列, 如式 (9) 所示。

接着构建用于优化的适应度函数如式 (10) ~式 (13) 所示。

最后使用本文提出的混合粒子群算法进行求解, 经400次进化后, 得到群体最优粒子为[176 9138 7 95 6 175 152 38 4 157 18 23 74 135 156 10746 163 156 166 5 46], 转换为二维矩阵D (共8行9列) , 如式 (14) 所示。算法进化过程如图1所示。由式 (10) 得到此时的订单分配总量为2052, 即所有的订单需求均得到满足。式 (14) 中每一行的和即为各订单的分配量 (也就是330, 276, 194, 272, 291, 153, 319, 217) , 每一列的和即为该列号所对应的BIN的总出库量 (也就是323, 294, 314, 23, 218, 389, 0, 175, 316) , 各BIN期末库存如表3所示。从式 (14) 和表3可以看出, 符合订单1的BIN有4个, 分别对应表3中的编号为 (1, 2) , (1, 3) , (2, 2) , (2, 3) 的BIN, 其出货量分别为176, 9, 138, 7。满足订单2的BIN有3个, 分别对应表3中的编号为 (1, 2) , (2, 2) , (3, 2) 的BIN, 其出货量分别为95, 6, 175, 依此类推。

5 结论

LED芯片厂为LED产业很重要的一环。LED厂一般将芯片按亮度和波长用不同的BIN来分类。客户下单时的产品需求规格以亮度等级范围和波长波段范围表示, 因此合乎规格的BIN有多种。要满足一张订单, 有无限种BIN出货数量组合可满足。为了让尽量多的订单可出货, 如何优化各订单的BIN库存分配组合, 是一个必须解决的重要问题。本研究提出一种混合粒子群算法来决定各订单的最佳BIN库存分配组合, 以实现出货数量最大的目标。实证结果充分证明了该方法的有效性。本研究提出的方法在现实的LED厂中具有良好的经济效益和广阔的应用前景, 不仅最大限度地满足了订单需求, 提高了客户的满意度, 而且有效降低总体库存水平, 减少生产资金占用, 提高企业的经济效益和市场竞争能力。

摘要:LED芯片厂将芯片按亮度和波长用不同的BIN来分类, 客户下单时的产品需求规格以亮度等级范围和波长波段范围表示, 因此要满足一张订单, 有相当多种的BIN出货数量组合可满足。BIN出货组合越合理, 越多的订单可满足, 企业的库存水平可降至越低。为了达到此目的, 提出采用混合粒子群算法来优化各订单的BIN库存分配组合, 以实现出货数量最大的目标。实证结果证明该方法实用有效, 能够为企业带来更大的经济效益。

关键词:LED芯片厂,订单分配,优化,混合粒子群算法

混合订单分配 篇2

在全球经济一体化的进程中,越来越多的

企业参与全球化生产网络中,与其他企业建立合作关系,分工合作地进行生产与贸易,实现互利共赢,特别是在BTO生产环境下,大量零组件需要外部协作。实现这种协作性生产的一种委托代理加工方式称为OEM(original equipment manufacturing),在这种协作生产方式中,品牌企业如何合理分配订单给不同的代工企业(OEM供应商)进行生产,即生产任务分配问题,就成为这种生产方式的主要决策。

在此类任务分配问题中,一方面每个订单的交货期和售价各不相同;另一方面,承担这些订单的供应商,其加工成本及加工时间也是各不相同的。针对这些情况,为找到一个最优的订单分配方案,就需要考虑成本收益、服务水平等目标因素,以最终达到整体的订单效益最大化。这种多目标分配问题基本模型形式可描述为

min F(x)=(α1f1(x),α2f2(x),…,αnfn(x)) (1)

s.t. xS

其中,fi(x)(i=1,2,…,n)为目标分配所要满足并追求的各维度目标(包括成本、时间等)函数;S为多维可行空间[1]。每个目标函数可根据实际情况按一定权重加权评估,其中αi(i=1,2,…,n)为各权重,且满足∑αi=1。

对于订单/任务分配问题,传统的方法包括层次分析法、模糊综合分析法等,考量的评价目标也各不相同。国内外已有学者进行了研究,如考虑成本最低及长期能力,并基于AHP与目标规划方法对外包商选择和任务分配的探索[2];研究制定最小生产时间为目标的任务优化分配策略[3];此外还有从多代理协商合同设计角度确定任务分配机制的研究[4];文献[5,6]分别利用改进遗传算法、灰色理论求解设计优化的任务分配策略。这些研究主要集中在任务分配目标及评价因素选择、新方法应用研究及信息化支持[7]等方面。

与其他研究方法不同,本文采用混合蚁群算法进行研究。蚁群算法(ant colony algorithm,ACA)首先应用于解决经典的TSP问题[8],随后因其自身的并行性、较好的寻优能力等特性在工程优化、流程规划、机器智能、数据挖掘等领域取得了成功的应用。文献[1]应用基本的蚁群算法初步研究了多目标优化问题,并从Pareto改进及种群多样化等方面对算法进行了改进。文献[9]尝试利用蚁群算法解决与多目标任务分配问题相类似的武器分配问题(WTA),在求解离散整数规划上,蚁群算法因其自身的并行搜索机制而具有良好的寻优能力,但基本的蚁群算法在解决大型的NP难题时,常常存在着局部收敛等早熟现象。针对这种情况,许多学者提出了混合算法的思想。其中一个尝试是将易局部早熟的蚁群算法与收敛较慢的模拟退火算法相结合,利用结合蚁群算法搜索高效性和模拟退火算法全局搜索性的混合算法来解决组合优化问题。文献[10,11]提出了结合模拟退火与蚁群算法的混合优化算法,在思路上均以模拟退火作为算法主体,结合了蚁群算法信息素正反馈机制,大大提高了算法求解的寻优能力,但在解种群多样性上略显不足。

本文在前人研究的基础上,首先建立能力约束的多目标的任务分配问题模型;然后利用模拟退火蚁群算法——即以蚁群算法为主体的思路对模型进行仿真求解,实现订单的最优分配,同时对算法在解空间多样性及信息素更新方面做了进一步的改进;最后用数值分析验证了模型与算法的有效性与合理性。

1 带能力约束的多目标任务分配问题的模型构建

多目标任务分配问题可以描述为存在m个不同的订单需要加工完成,现有n个产能不同的OEM供应商可以承担这些订单,因此加工成本和时间各不相同。从成本收益(表现为总的任务利润最大化)及服务水平(表现为交货延误时间最小化)两个目标出发,可建立任务分配的问题模型如下:

maxΡt=i=1m(Ri-j=1nXijcji)minΤd=i=1m|j=1nXijtji-Τi|s.t.i=1mtjiXijΚj,j(2)

j=1nXij=1,iXij={0,1},i,j

式中,目标函数Pt为总的加工利润;Td为交货延误时间,即实际订单完工时间与预定的理想交货期的差异;订单i被供应商j加工时状态变量Xi j为1,否则为0;Ri为各订单的售价;Kj为供应商的加工能力或产能;ci jti j分别为各订单的生产成本和加工时间;Ti为理想的订单交货期。

由目标函数的约束形式可知:订单必须满足供应商产能,即加工能力约束(约束1);订单具有不可分割性,即一个订单只能由一个供应商加工(约束2)。

最后,如前所述,为方便目标的量化评估,达到效益的最大化,可根据实际情况对两项目标属性进行加权并标准化为求总的适应度最小值。设加工利润权重为α,交货延误时间权重为β,且满足α+β=1,则总的适应度函数可变形为

min(α(-Pt)+βTd) (3)

据此建立多任务分配问题的数学模型。

2 算法设计

针对上述问题,本文采用模拟退火结合蚁群算法的混合智能算法进行求解。其主要思路是首先用随机算法初始化信息素矩阵,然后以蚁群算法为迭代计算的主体,完成一次迭代后,采用模拟退火算法对当前解进行随机扰动产生不同的领域解,在Metropolis接受准则下允许解在有限范围内分散化,产生更多可行解,最后用当前解与改进解所带的路径信息更新信息素矩阵,不断重复上述过程。

在领域的局部搜索中,对当前找到的迭代路径序列进行随机扰动,并按照模拟退火的思想,当扰动解优于当前解时,则无条件接受扰动解;当扰动解次于当前解时,则在当前温度下按接受规则有条件接受或拒绝该解,不断重复这个退火过程直到找到改进后的解。这种做法增加了对当前解的随机扰动,从而扩大了解样本的多样性,并在一定程度上发挥了退火算法的优势,有利于稳定状态的大范围全局寻优。

2.1 任务分配过程的蚁群网络图

构造蚁群网络图如图1所示,假设有m个不同的订单O1,O2,…,Om,n个不同的OEM供应商S1,S2,…,Sn;每个订单都有n个OEM供应商可供选择交付加工,但是一个订单只能选择一个供应商来加工。在Oi处分别设置ri只蚂蚁,每只蚂蚁从Oi(i=1,2,…,m)处根据转移概率转移到各级节点S1~Sn处,完成周游,从而形成一条行走路径,即不同的蚂蚁形成不同的解。这里的处理相当于生成m维的1~n的序列,分别对应于各订单所分配的加工供应商。

2.2 算法相关参数及规则的确定

本算法在计算过程中主要考虑了如蚂蚁各节点转移概率、信息素更新规则、随机扰动策略、退火算法Metropolis接受准则等。

2.2.1 转移概率

理论上,各订单可选择并分配给各供应商,在t时刻,蚂蚁k从某级供应商节点i转移到下一级供应商节点j的概率为

Ρij(k)(t)=τij(k)(t)/j=1nτij(k)(t)(4)

其中,τi j表示各级供应商节点之间的信息素浓度;供应商节点的信息素越大,则此供应商被选取的概率越大。

2.2.2 解的领域随机扰动

为增加解样本的多样性,使搜索空间更全面,当蚁群算法产生本次迭代最优路径之后,便在该路径基础上采取逆转策略[12],亦即随机产生两个不同的数,如t1与t2(t2>t1);对应订单分配的解序列两个位置,在此当前解C0中将订单t1与订单t2之间的供应商分配关系(子路径)以反方向插入,其余不变,此时新解为C1。为进一步增加解的多样性,考虑双向逆转策略的改进,即对分配矩阵行列上均使用逆转策略进行扰动。

2.2.3 Metropolis准则

本文考虑在上一步的解领域随机扰动中加入小规模的退火算法过程,即根据退火算法的统计规律,设定初始温度T0(200~280,退火算法中温度为量纲一的量,仅表示初始状态)和退火速率αk(0.8~0.95),一般按照直线函数反比递减。如前所述,按照一定的概率在当前最优路径上随机产生新解,每次接受新解的概率为

Ρ={1fCifCjexp(-ΔfijΤ)fCifCj(5)

Δfi j=fCj-fCi

式中,fCi为当前最优解Ci的适应度;fCj为扰动后产生的新解Cj的适应度;Δfi j为两个解的适应度之差。

从式(5)可以看出,当通过退火算法随机扰动产生新解后,若此解较优于原当前解,则百分之百接受新产生的扰动解为当前解;否则以一定的随机概率有条件地接受或拒绝新解。继续降温,重复下一次温度下的扰动,直至达到设定的最低温度。这里采用了模拟退火算法的思想,允许目标函数在有限范围内变坏,增加了解抽样的多样性,有效地避免了计算过早地陷入局部最优状况。

2.2.4 信息素更新规则

在融合模拟退火算法Metropolis扰动之后,其更新方程为

τi j(t+1)=ρ τi j(t)+Δτ (6)

Δτ={QfCij0(7)

式中,τi j(t)为t时刻路径上的原信息素浓度;ρ为信息素强度的持久性系数(0.5~0.9);Δτ为本次迭代计算的信息素增量;Q为一正的常数;fC为目标函数适应度值。

最后要提及的是,在目标函数的处理上,本文借鉴了大M法的思想,对超出约束的解引入惩罚系数,从而有利于模型在程序实现上的处理。

2.2.5 算法求解步骤

混合算法程序伪代码如下:

(1)初始化

相关参数的设定及任务、供应商信息的读入;

NC=1:NC_max;//NC为迭代计算次数;NC_max为规定的最大循环次数

τ=C;//信息素浓度初始化,C为初始化信息数

Initial(τ);//随机算法初始化信息浓度

Δτ=0;//信息素增量置0;每次更新取C/5左右效果为佳

Tabuk=Φ;//蚂蚁k的分配路径表清零

k=1;Ant_number;//k为蚂蚁编号;Ant_number为蚂蚁个数

(2)蚂蚁重复周游寻解

while NC⇐NC_max do

for k=1:Ant_number do

蚂蚁k以概率P(k)i j为订单i选择下一供应商j;//见式(4)

Tabuk(NC)=j://供应商j写入分配路径表

(3)适应度目标值计算

for k=1:Ant_number do

for i=1:M do

for j=1:N do//M为订单数,N为供应商数

计算总的加工收益Pt与服务水平Td,并加权处理;//见式(3)及模型(2)

(4)退火算法领域搜索

设定退火算法相关参数;

T0=U;//定义初始温度,常数U代表某高温状态

while T>T_acceptionp and Makob=1∶L do;//T_acceptionp为最低温度点,Makob为链长,并判断迭代次数是否到达设定链长

exchange(Ci,Cj);//行列双向的逆转策略与随机扰动

if (E) AcceptNewSolution(Ci,Cj)

else disturbance(Ci,Cj);//以Metropolis规则判断本次迭代两解优劣,并决定取舍

end if

T=T*α;//降温

(5)信息素更新

for k=1:Ant_number do

for j=1∶N do

Δτil=c1fiter(nc)+c2fglabal;//按式(7),具体可考虑同时更新扰动前后两解的路径信息

τi l(nc+1)←ρ τi l(nc)+Δτi l;//参见式(6)

(6)最终计算结果

if未到达结束条件,返回第(2)步;

else记录并输出最终解

3 算例分析

为了验证本文构建的模型与算法的有效性,本文用两算例(单资源约束与多资源约束)来进行数值模拟分析。

(1)算例一:单一资源约束情况

只考虑加工时间的单资源约束时,假设某品牌制造商接到9个不同顾客的订单(生产任务),每个订单的交货期与售价见表1。

现有5个OEM供应商可以承担这些订单,但是成本及加工时间不同,同时各供应商也有生产能力上的限制,具体见表2。其加工时间及成本信息见表3,例如4/18中4表示加工时间,18代表订单加工成本,依此类推。此外,根据该品牌制造商追求目标的侧重特点,对式(3)中选取加工利润权重系数为α=0.3,交货延误时间权重为β=1-α=0.7。

本文采用MATLAB仿真编程工具,依次利用单纯的模拟退火算法、蚁群算法及混合SA-ACO算法进行订单的分配问题求解,单资源约束仿真实验结果分别如图2~图4所示。

经多次仿真实验,三种算法均能以其自身的寻优性能求解出此简单算例的最好解,求解出的最佳订单分配矩阵见表4。即供应商1负责订单4;供应商2同时负责订单7与8;供应商3负责订单6;供应商4负责订单1、5和9;供应商5负责订单2与3,具体对应的订单分配矩阵结果如表4所示。此时,可由此算出加工利润Pt目标函数值为285万元,交货延误时间Td目标函数值为89d,按照式(3)赋权加总的最小适应度值为-23.2。

(2)算例二:考虑多种资源约束的情况

综合考虑加工时间和关键物料的多资源约束时,其他条件不变,假设各订单的加工关系到某种关键物料的使用,使用情况wi如表2中最后一列数据所示;此时就要考虑OEM供应商在加工这些订单时有关键物料可用量的资源约束Wj,可用量具体如表3所示。亦即在原模型基础上加入如下新约束:

i=1mwiXijWj,j

据此用同样的仿真实验求解过程,由实验结果可得,混合算法在问题复杂度增大的情况下依然能保持良好的求解效率,求解出的最佳订单分配矩阵如表5所示。同理,加工利润Pt目标函数值为284万元,交货延误时间Td目标函数值为97d,按照式(3)赋权加总的最小适应度值为-17.3。多资源约束情况下混合算法及基本蚁群算法的仿真实验结果如图5、图6所示。

在单一资源约束情况下,从图2可以看出,模拟退火算法具有很好的全局搜索性能;但是由于反馈信息利用不足,收敛速度较慢,直到100多次迭代计算才收敛至最优解,而且求解结果并不稳定,耗时较长;而在加入多资源约束考虑时,相同的计算时间内甚至很少找到最优解。从图5及图6可以看出基本蚁群算法相对快速的搜索能力,在60~70次左右便能找到最优解,有时也容易陷入局部收敛;而加入自适应条件与退火搜索的混合算法无论在收敛速度还是在寻优的稳定性上均优于前两者,基本上结合了两种算法的长处:最好情况下,在20次左右迭代计算便能找到最优解,经笔者多次实验,其最佳寻优次数也平均多于单一算法情况,具有较好的鲁棒性。

本文也利用商业优化软件Lingo11.0对该问题进行了求解,得到与混合算法相同的结果。经笔者多次实验,对每种计算方法都重复10次求解,各方法计算结果(包括多资源约束情况)统计分析与对比见表6。由此可证明各算法的自身求解能力及混合算法的有效性。

注:表中的负值为适应变值(量纲一),其值越小越好。

4 结束语

任务分配问题是当前供应链协作环境下普遍存在的问题。本文建立了多目标的订单分配模型,并尝试通过结合具有全局搜索性的模拟退火算法及有快速寻优性能的蚁群算法,来对此类问题进行求解。希望借以充分利用两算法的优势,克服如退火算法收敛慢、蚁群局部收敛的缺陷,在新解的扰动中加入了退火算法的规则,有效提高了搜索空间的多样性。最终对基本模拟退火算法、基本蚁群算法、混合算法三种方法的同算例求解结果进行了对比,可以证明混合算法在求解速度及质量上都有让人满意的效果。

参考文献

[1]池元成,蔡国飙.基于蚁群算法的多目标优化[J].计算机工程,2009,35(15):168-172.

[2]朱云.目标规划及AHP在企业外包任务分配中的应用[J].吉林省经济管理干部学院学报,2010,24(3):23-26.

[3]何霆,郭世伟,徐汉川.基于最小生产时间的制造任务分配策略[J].黑龙江大学自然科学学报,2009,26(5):591-595.

[4]谢经明,娄平,陈幼平,等.供应链中基于多Agent协商的任务分配机制的研究[J].中国机械工程,2005,16(21):1911-1915.

[5]郭志明,莫蓉,孙惠斌.改进GSA算法在协同制造任务分配中的应用[J].计算机工程与应用,2011,47(14):210-213.

[6]张卫,潘晓弘,田景红,等.基于灰色理论的制造任务分配服务研究[J].中国机械工程,2010,21(14):1694-1703.

[7]朱金达,宋海生,张永弟.网络化制造执行系统任务分配的研究[J].设计与研究,2006,7(33):9-11.

[8]Dorigo M,Ganbardella L.Ant Colony System a Co-operative Learning Approach to the Traveling Sales-man Problem[J].IEEE Trans.on Evolutionary Computing,1997,1(1):53-66.

[9]罗德林,段海滨,吴顺详,等.基于启发式蚁群算法的协同多目标攻击空战决策研究[J].航空学报,2006,27(6):1166-1170.

[10]刘少伟,王洁,杨明,等.防空C3I目标分配问题的ACO-SA混合优化策略研究[J].系统工程与电子技术,2007,29(11):1886-1890.

[11]麻士东,龚光红,韩亮,等.目标分配的蚁群_模拟退火算法及其改进[J].系统工程与电子技术,2011,33(5):1182-1186.

混合订单分配 篇3

多工序订单生产排序计划问题(以下简称订单排序),是一类典型的组合优化问题,描述的是在工厂有限处理能力的前提下,如何安排大量订单的生产顺序,以达到利润最大化的目的。其经典描述如下:

设:一个工厂接收到n个客户订单,对于其中任何订单i,其处理时间Ti、交货期di以及销售ri收益都是已知的。由于生产能力的限制,某些订单可能需要延迟交货,对于延迟交货的订单对应有与延迟时间成正相关的处罚(或者销售价格折扣),而提前完成任务没有任何奖励。决策的目标就是寻找一个订单排序,以最大化企业的收益。

订单排序问题具有NP—HARD计算复杂性[1],混合整数规划[2]被用来解决此类问题。近年来出现的一些启发式算法如:模拟退火算法[3]、遗传算法[4]、神经网络[5]、禁忌搜索算法[6]以及蚁群算法[7]为解决更大规模的此类问题提供了新的途径。蚁群算法是近些年新出现的一种从群体智能演变而来的新算法,在解决大规模组合优化问题上显示了强大的实力。模拟退火算法也在求解此类问题时也有良好的表现。现有的有关订单排序的研究文献中,大多假定订单的处理过程是单工序的[5,6,7],而这与企业的多工序制造是不相符合的。本文将基于多处理工序订单排序模型,应用将蚁群算法(ACA)和模拟退火算法(SA)结合的混合蚁群算法(HACA)进行求解,并对算法的有效性和鲁棒性进行分析。

1 问题描述与数学建模

订单生产有多道工序,所有订单需要在这多道工序顺序处理完毕后才能交付客户。订单数目,每个订单交货期、收益以及在各道工序的处理时间是已知的。订单的加工工序遵循严格的串行顺序,每个工序的设备在同一时刻不能同时完成不同的订单,在同一时刻,同一订单的各个工序不能同时进行。当订单的完工时间晚于交货期时,企业要承担延迟成本。延迟成本和延迟时间正相关,不同的订单有不同的延迟惩罚系数,而工厂要完成所有的订单。

基于上文对多工序订单生产计划的描述,现转换为数学模型,首先对参数和变量进行说明:

n:表示工厂在某时期接到的订单数目;

i:表示订单序号;

m:表示订单处理工序的数目;

j:表示工序序号;

di:表示订单的交货时间;

ri:表示订单i的期望收益;

wi:表示订单i延迟的惩罚系数;

Tij:表示订单i在工序的处理时间;

Xij:表示订单i的在工序完成时间;

S:表示n个订单的可能的一个排列;

S(k):表示在排列S中第k个被处理的订单号;

f:表示企业的利润函数;

cost:表示在S中所有库存持有成本和惩罚成本之和。

该问题的数学模型可描述为:

约束条件:

目标函数式(1)表示企业利润,是期望收益减去延迟交货成本,+表示仅取正数;约束条件式(2)表示在工序处排在订单i前面的订单必须完成;约束条件式(3)表示订单i在进行j工序之前,j-1工序也必须已经完成;约束条件式(4)表示第一个加工的订单第一个工序完成时间要不小于其加工时间。

2 算法介绍

2.1 蚁群算法(ACA)

蚁群算法是20世纪90年代由意大利学者M-Dorigo等人首先提出的一种新型的模拟进化算法,称为蚁群算法(ant colony algorithm,ACA)。蚁群算法的基本原理是:当蚂蚁在搜索食物源的过程当中,会在其所走过的路径上释放一种特殊的分泌物——信息素,一定范围内的蚂蚁在寻找食物的过程中都会受到这种信息素的影响。当某些路径上走过的蚂蚁越来越多,留下的这种信息素也越多,以致后来蚂蚁选择该路径的概率也越高,从而更增加了该路径的吸引强度。利用这种正反馈机制,最终蚂蚁群体能够在食物源与蚁巢之间找到一条最短的最优路径。

蚁群算法的步骤可简要表述为:(1)设置所有参数,信息素初始化;(2)每只蚂蚁根据状态转移方程建立一个完整的解,状态转移方程主要取决于信息素和能见度因子;(3)更新信息素。重复后两个过程直到满足条件为止。

2.2 模拟退火算法(SA)

模拟退火算法思想最早由Metropolis[8]在1953年提出,Kirkpatrick[9]在1983年成功地应用于组合优化问题。模拟退火算法的基本原理是:金属或玻璃加热后逐渐冷却,其物理性质(稳定性)就会发生改变,这其实是分子重新以一定的结构进行了排列。对冷却过程加以控制,从而获得最好的物理特性。

模拟退火算法步骤可简要表述为:(1)随机给一个初始解;(2)按照一定的方式搜寻初始解的相邻解,并按照某一状态转移方程判断此相邻解是否被接受;(3)重复过程(2)直到温度降低到指定的阀值。

2.3 混合蚁群算法(HACA)

研究表明,蚁群算法开始寻优速度很快,随着迭代次数的增加,其发现更好解的速度变慢,最终收敛。虽然有很多学者研究通过对信息素更新等改进来克服这个缺陷,但要付出增加大量迭代次数和运算时间的代价。而模拟退火算法迭代初期寻优速度很慢,随着温度的降低,其发现更好解的速度变快,最终收敛。加快退火速度和降低初始温度能改善初期寻优慢的问题,但要付出搜寻结果变差的代价。混合蚁群算法的思想就是将蚁群算法和模拟退火算法结合起来,充分利用两种算法的优点。

混合蚁群算法的步骤可简要表述为:(1)适当减少蚁群算法的迭代次数,并取得某一最好解;(2)以蚁群算法取得最好解作为模拟退火算法的初始解进行运算,并适当降低初始温度和加快退火速度;(3)满足某一条件,停止运算,输出结果。

3 混合蚁群算法的求解策略

在用于订单排序问题的混合蚁群算法中,每个人工蚂蚁都是具有下述特征的智能体:(1)当它选择执行完订单i再去执行订单b时,它会在连接(i,b)上留下信息素τkib;(2)它以一定的概率Pkib进行状态转移(从订单i转移到订单b),该概率是启发式信息ηib和信息素量τib的函数;(3)在构造一个完整的解时,已经被处理的订单被加以禁忌,如此重复直到所有订单都被处理完毕;(4)重复以上步骤,在蚁群收敛时,输出当前最好解的蚂蚁参数;(5)以最好解蚂蚁的参数,进行模拟退火的运算,以优化次最好解;(6)达到某一条件,输出运算结果。

按照以上步骤,对其中涉及到的一些参数作如下定义:

相应地,能见度因子ηib表示为:

式(5)和式(6)中,μ、λ为正的可调系数μ燮1,λ叟1。

信息素的更新方程定义为:

式(7)、式(8)和式(9)中,ρ为非负可调系数,表示信息素的持久性,且ρ燮1;Δτib表示蚂蚁转移后的信息素的增加。H为含有(i,b)的解的集合,Q为正的可调系数;如果H为空集,那么Δτib=0;这说明只有蚂蚁经过时才会有信息素的增强。

状态转移方程表示为:

式(10)中,α,β为非负的可调系数,分别表示蚂蚁k在从订单i在转移到订单b时的信息素τib的相对重要性和能见度因子ηib的相对重要性。

初始温度的确定:

式(11)中,To为模拟退火初始温度,costmax和costmin分别表示蚁群算法中所输出的最好解和最差解。

解的接受概率:

式(12)、式(13)和式(14)中,γ为可调系数,0<γ<1,T为温度。

于是,伪代码可以写为:

(1)初始化过程。

参数初始化;

读入订单数据,虚拟一个初始订单,除其序号为1外其他参数均为0;

Nc:=1;/迭代次数置为1/

τib:=A;/信息素强度置为某一相等的较小数值/

Δτib=A;/初始信息素增量置为零/

ηib=1/Δdib;/读入能见度因子,参见式(5)和式(6)/

Sk=准;/蚂蚁k的禁忌表初始为空集/

读入虚拟订单,设;l:=;/l为禁忌表中元素索引/

for k:=1 to ant_num do/ant_num表示蚂蚁数目/

(2)重复到禁忌表满为止。

设置;l:=l+1

蚂蚁k以Pkib选择下个订单b;/见式(10)/S(l)=b;/订单j被列入到禁忌表中/

(3)计算每个蚂蚁的各个订单的完工时间,收益和额外成本。

计算完工时间Xij;/约束条件参见式(2)式(3)

计算企业利润f;/计算公式参见式(1)/

计算企业额外成本cost;/计算公式参见式(9)/(4)更新信息素。

(5)记录到目前为止的最优利润及其相应的排序。

if Nc<Nc_max/不满足终止条件/

清空所有禁忌表;

设Nc:=Nc+1;/迭代次数增加1/

Δτib=0;/清空信息素增量/返回步骤(2);/循环/

输出最好解和最差解;(6)参数初始化。

温度阀值,退火速度等/

初始温度To确定;/参见式(11)/T=To;/当前温度置于最高温度/

(7)for i:=1 to num do/num为某一数值/

进行邻域搜索;

判断搜索解是否接受;/判断条件见式(13)/

(8)记录目前解和相应的排序。

if T>Tf/温度没有达到阀值/

Nc:=Nc+1;/迭代次数增加1/

T=T*γ;/温度更新/

返回步骤(6);/循环/

输出最好利润和相应的订单排序。

4 算例比较

取如下几组(n,m)的随机参数订单进行比较:(10,3)、(50,3)、(50,4)、(100,4)。(10,3)表示订单数为10,工序数为3,其他类推。

运行环境为windows XP系统,MATLAB编程环境,CPU主频为1.5GHZ的笔记本电脑,采用三种计算方法进行比较分析,其参数分别为:(1)模拟退火算法γ=0.95,end T=0.01,L=3*n;(2)蚁群算法:ant_num=1.5*n,μ=0.5,λ=2,α=1,β=2,ρ=0.8,Q=15*n,N=50;(3)混合蚁群算法:ant_num=1.5*n,μ=0.5,λ=2,α=1,β=2,ρ=0.8,Q=15*n,N=50,γ=0.8,end T=0.01,L=3*n。都重复10次求解,求解结果表1~表4。

从统计指标来看,混合蚁群算在四次求解过程所有的指标值都是最好的。而且随着订单数目和工序数目的增加,混合蚁群算法相比其他两个算法更占优势,因而该算法具有良好的鲁棒性。由于三种算法在不同的订单与工序的组合中的寻优过程类似,因而只给出三种算法在(50,3)的最好解的进化图,见图1、图2、图3。

模拟退火算法中可接受解在150代开始收敛,蚁群算法在10代开始就陷入局部最优,而混合蚁群算法在30代开始收敛,从此可以看出混合蚁群算法综合了模拟退火算法和蚁群算法的优点。

5 结束语

订单排序是生产管理中常见的决策问题,也得到了广泛的理论研究和实践应用。本文尝试用混合蚁群算法对多工序的订单排序进行了求解,并通过和模拟退火算法、蚁群算法的横向比较,以及不同数目订单和工序组合的纵向比较,证明了混合蚁群算法在求解此类问题的有效性和良好的鲁棒性。其他的启发式算法,例如遗传算法、粒子群算法、禁忌搜索算法等等均可用于此种模型的求解。融合这些算法或者改进设计启发式算法来求解多工序订单排序问题是一个值得进一步研究的问题。

参考文献

[1]Ghosh J B.Job selection in a heavily loaded shop[J].Computers and Operation Research,1997,24(2),141-145.

[2]Simone Zanoni,Lucio Zavanella.Model and analysis of integrated production-inventory system:The case of steel production[J].International Journal of Production Economics,2005,93/94,197-205.

[3]肖依永、常文兵、张人千:《基于模拟退火算法的多节点订单排序模型》[J];《计算机应用研究》2009(2):460-463。

[4]Rubin P A,Ragatz G L.Scheduling in sequence dependent setup environment with genetic search[J].Computers and Operations Research,1995,22,85-99.

[5]Sabuncuoglu Gurgun.A neural network model for scheduling problems[J].European Journal of Operational Research,1996,93,288-299.

[6]Franca P M,Gendreau M,Laporte G,Muller F M.A tabu search heuristic for the multiprocessor scheduling problem with sequence dependent of setup time[J].International Journal of Production Economics,1996,43,79-89.

[7]Gagne C,Price W L,Gravel M.Comparing an ACO algorithm with other heuristics for the single machine scheduling problem with sequence dependent setup time[J].Journal of the Operations Research Society,2002,53,895-906.

[8]Metropolis N,Rosenbluth A.Equation of state calculations by fast computing machines[J].Journal of Chemical Physics,1953,21,1087-1092.

混合订单分配 篇4

在制造企业的生产运行中, 生产计划管理占有非常重要的地位, 其主要任务是科学地制订生产计划, 合理安排、组织、管理企业下属各个部门的生产。生产计划包含大量复杂信息, 如何对这些信息进行高效管理, 使得制订的生产计划更加系统化、科学化、规范化, 以达到提高企业经济效益目的, 对推动企业自身发展具有重要意义。

订单装配型 (Assemble To Order, ATO) 生产主要是以缩短交货期、减少成品库存为目的的一种比较先进的生产组织方式。零部件预先生产加工, 并储存于中间库房中, 在接到订单之后, 将有关零部件装配成客户所需的产品。这种生产以模块化设计为前提。在这种生产类型中, 客户对零部件或产品的某些配置给出要求, 生产商根据客户的要求提供为客户定制的产品。所以, 生产商必须保持一定数量的零部件库存, 以便当客户订单到来时, 可以迅速按订单装配出产品并发送给客户。

根据调查分析, 目前多数的中小型制造企业的生产管理系统依然停留在相对固定 (计划调整周期长) 的阶段, 难以满足市场需求的多变性, 使得企业生产计划难以及时有效调整。在考察了当前的一些面向订单装配的企业生产管理系统设计与实现的基础上, 从B/S (Browser/Server) 、C/S (Client/Server) 模式的各自特点出发, 以高效、准确地整合信息资源并最大限度发挥系统的作用为目的, 提出基于Web混合模式开发面向项目的制造企业生产计划管理系统, 为制造企业生产提供科学、准确的依据。

1 面向订单装配生产管理系统

1.1 系统的体系结构

C/S结构是一种二层结构体系, 应用处理在客户端完成, 数据访问和事务处理全部由服务器端承担, C/S体系结构的应用程序, 由于客户端实现与服务器的直接相连, 没有中间环节, 因此响应速度快。客户操作界面设计具有人性化特点, 可以满足客户个性化的操作要求。同时由于开发是有针对性的, 因此, 操作界面漂亮、形式多样, 可以充分满足客户的个性化要求。由于是针对性开发, 因此缺少通用性的特点, 业务变更或改变不够灵活, 需要重新设计和开发, 增加了维护和管理的难度, 进一步的业务拓展困难较多, 需要安装专门的客户端程序, 分布功能弱, 不能实现快速部署安装和配置。兼容性差, 对于不同的开发工具, 相互之间很难兼容, 具有较大的局限性。若采用不同工具, 需要重新改写程序。开发成本较高, 需要具有一定专业水准的技术员才能完成。B/S结构 (如图1所示) 即浏览器和服务器结构。它是随着Internet技术的兴起, 对C/S结构的一种变化或者改进的结构。B/S结构下, 用户工作界面是通过WWW浏览器来实现, 极少部分事务逻辑在前端 (Browser) 实现, 但是主要事务逻辑在服务器端 (Server) 实现, 形成三层结构。这样就大大降低了客户端电脑载荷, 减轻了系统维护与升级的成本和工作量, 降低了用户的总体成本 (TCO) 。以目前的技术看, 局域网建立B/S结构的网络应用, 并通过Internet/Intranet模式下数据库应用, 相对易于把握, 成本也是较低的。它是一次性到位的开发, 能实现不同的人员, 从不同的地点, 以不同的接入方式 (比如LAN, WAN, Internet/Intrane等) 访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限, 服务器数据库也很安全。

目前面向订单装配的中小企业生产管理中, 一方面, 涵盖的信息面比较广, 处理起来较为复杂;另一方面, 当企业管理人员需要详尽信息对企业生产进行决策的时候, 发现信息难以做到及时有效的流通。在对目前已有的面向订单装配的生产资源管理系统开发分析研究的基础上, 决定采用B/S、C/S的混合模式 (如图2所示) 开发本系统, 这样就将两种模式优点结合, 并能克服各自缺点。

1.2 软件实现

系统选用SQL 2000作为数据库管理系统, 网络操作系统选用WIN 2000, 采用IIS 5.0 (Internet Information Server 5.0) 作为应用服务器 (Web服务器) , 选用Dreamweaver 2004 MX和Visual C++6.0作为前台开发工具。

B/S端使用Dreamweaver 2004 MX设计HTML和ASP (Active Server Page) 程序脚本文件, 通过ADO与SQL 2000数据库服务器建立数据连接。当Web服务器接受到浏览器客户端的Request (请求) 后, 通过ADO技术从数据库服务器中提取所需信息以Web页面形式向用户反馈信息。C/S端客户端通过SQL语言利用ADO技术直接与数据库服务器进行数据交互。通过混合模式的使用, 可以将数据流量不大但又要求能及时动态交互的部分交由B/S模式处理, 对数据处理量大的交由C/S模式处理, 并能使浏览器和C/S客户端共享数据信息。

1.3 系统功能

整个系统不但要满足各职能部门的即时信息处理要求, 而且要求实现信息交流的网络远程互动, 下面分成两部分来介绍。

基于B/S结构模式的特点以及对企业组织机构布局方面的考虑, 系统功能模块如图3所示, 编程方法如图4所示。

C/S模式下的功能模块如图5所示, 编程方法如图6所示。

2 系统B/S与C/S结构功能介绍

2.1 B/S结构功能

(1) 财务部。负责企业往来账目管理、员工工资管理和企业固定资产信息方面的管理。提供信息的添加、删除、修改、打印功能。

(2) 质检部。负责企业生产原材料、外购件、外协件及产品质量信息管理。提供查询、添加、修改功能。

(3) 生产部。负责对车间信息、设备和生产调度信息进行管理。提供查询、添加和修改功能

(4) 计划科。提供企业年度、月度生产计划信息的查询功能。

(5) 营销部。负责对用户下订单、采购信息、库存信息和订单信息进行管理。提供查询、添加、修改和打印功能。

(6) 人事部。负责对企业员工人事档案进行管理。提供查询、修改、添加功能。

2.2 C/S结构功能

该部分主要为了实现生产辅助决策功能。其具体描述如下:

(1) 系统设置。为了保证本系统功能的实现, 提供包括零部件分类标准、周期确定标准、零部件预投计划及能力等参数的设置。

(2) 年度生产计划管理。根据销售预测和客户订单, 提供零部件库存、过往年度生产计划、预测计划的信息查询功能并能根据实际对计划进行调整并生成计划。

(3) 月度生产计划管理。根据客户订单信息, 提供零部件库存, 过往月度生产计划信息查询功能并能根据实际订单信息的变更调整并重新生成计划。

(4) 预投生产计划管理。为了不出现因为库存零部件数量不合理而无法满足订单需求或因此而影响企业经营成本, 提供产品预测、库存零部件数量、订单查询等功能, 并根据所得信息作出计划调整。

(5) 追加生产计划管理。在接收到订单后进行短期追加生产或在产品装配领料后, 为保证某些零部件的库存最低限度, 需要进行追加生产以满足客户需求。可提供订单查询、零部件库存和装配能力查询等功能, 并能根据所得信息进行计划调整。

(6) 产品装配计划管理。可根据接收到的订单和零部件库存进行计算, 可查询装配能力和零部件库存并能根据所得信息对产品装配计划进行调整。

(7) 物料需求计划管理。根据销售预测、客户订单及库存零部件等信息得出生产所需要产品而需准备的原材料的具体信息, 提供根据现有数据信息修订计划的功能。

3 系统的数据库设计和关键技术

3.1 数据库设计工具

ERwin是CA公司推出的数据库设计工具, 用于生成和维护数据库、数据仓库及企业数据资源模型。ERwin模型以一种可以帮助用户更有效地组织和管理的方式使数据结构可视化, 并减少数据、数据库技术和部署环境的复杂性。ERwin既能帮助用户快速开发数据库, 又能大大提高数据库的质量和可维护性。

ERwin使数据库设计更加容易, 只要单击鼠标就能生成满足数据需求和数据使用规则的图形化的实体关系 (E-R) 模型。双击对象后能借助任务专用编辑器添加关于实体描述、关系和属性的细节和说明。其强大的用户界面可以提供许多易于使用的指令, 因而能快速开发模型。“图表化编辑”方式使用户无需打开编辑器就能进行修改。“关系漫游”则允许用户在大型模型中快速移动, 以确定实体的从属关系。有助于实现大型的企业模型建立。由于信息必须在多个专业用户组之间交换, ERwin特别提供了“存储显示”, 用于生成整个模型或其主题范围内的多个图形化视图。

3.2 数据库逻辑设计

数据库逻辑设计是指根据概念设计的结果, 设计数据库的概念模式和外模式, 是数据库结构设计的重要阶段。其主要分为以下3个阶段:

(1) 收集和分析设计任务。准确了解设计任务是数据库逻辑设计的关键, 通过分析确定系统的范围以及所涉及的数据。

(2) 建立E-R模型。根据数据流图进行局部以及总体E-R模型设计。

(3) 数据模式设计。把E-R图转换成关系模型, 用关系数据描述语言进行定义, 以便得到数据库模式。

3.3 关键技术

(1) 产品清单BOM。生产过程当中, 产品结构为树状结构, 将生产计划根据BOM结构对产品进行分解, 结合库存情况以便于确定需要采购、生产的零件数量。由于面向订单的产品结构随着客户需求而变化, 所以要求BOM也要随着产品结构变动动态地改变。

(2) 系统安全。对整个系统而言, 数据占有非常重要的地位, 为了保证数据安全性, 必须加强数据的存取控制, 给机密数据加密, 防止非法用户的访问。对于特定权限用户给予恰当的数据阅读、修改、删除等权限并建立基于硬件、软件的防火墙, 防止黑客对系统的破坏, 同时需要定时定期对系统中的数据进行专门的备份维护工作, 以便在出现数据丢失或损害的异常情况时, 能够及时有效地恢复重要数据信息, 使整个系统得以正常运转。本系统采用操作系统级、Web服务器级、数据库级和应用程序级4级数据安全检验来保证数据安全。

4 结论

现今, 无论是与客户的交流还是企业内部各部门之间的协作, 中小企业的生存与发展越来越离不开网络技术的应用。对目前面向订单装配的中小企业而言, 采用Web混合模式的生产管理系统, 从企业实际出发, 无论从开发成本角度, 还是从技术和实用性角度而言都较为合适。采用本系统不仅能进行多种业务处理、提供辅助决策, 而且能有效地实现各部门、人员之间的信息资源共享, 为企业未来发展提供有力的保证。

参考文献

[1]郝刚, 吴功宜.面向大规模定制的ERP中基础数据管理的研究[J].计算机集成制造系统, 2005, 11 (4) :520-524.

[2]李智.面向订单装配的生产管理系统研究[J].中国制造业信息化, 2005 (9) :88-93.

[3]唐琳.网络化的生产计划管理流程[J].电力系统自动化, 2002, 26 (12) :74-77.

[4]张建林, 魏大涛.多品种小批量生产管理系统的需求分析[J].航天制造技术, 2006 (5) .

【混合订单分配】推荐阅读:

订单因素05-14

订单班05-15

订单预测05-18

订单结构05-25

订单计划06-02

订单分析06-20

订单对接06-27

订单设计08-13

农村订单08-14

订单企业08-27

上一篇:餐饮O2O下一篇:课例探讨