1、过程系统智能工程和计算机集成环境课程论文间歇化工过程调度的研究Study on Scheduling of Batch Chemical Process 学 生: 孔令启 指导教师: 韩方煜教授 专业名称: 化学工程专业 研究方向: 化工系统工程 年 级: 2003 博士 单位名称: 化工学院 2004 年 12 月间歇化工过程调度的研究(华南理工大学 化工学院,广东 广州 510640)摘要:二十一世纪的间歇化工过程将成为化学工业主要的生产方式。本课题根据间歇化工过程本身的特点和时代要求,对间歇化工过程的调度、柔性调度、多目标柔性调度的建模理论和求解策略进行了调研,并以多目的间歇过程的零等待
2、(zerowait)模式的调度为例来说明随机型优化算法在间歇过程调度中的应用。本课题的研究将为间歇化工过程的调度提供理论指导和技术支持。关键词:间 歇 化 工 过 程 多 目 标 柔 性 调 度 求 解 策 略1、引言20 世纪无论是模拟分析、还是实时优化都是基于稳态、连续过程为主,这些技术基本上满足了 20 世纪化学工业发展的要求,但到 21 世纪就难以满足:这是因为新世纪化学工业要求(1) 、产品的个性化强以满足客户的特定需求;生产是根据客户需求进行产品设计,然后是过程设计。 (2) 、生产产品的投资少、上马快,以快速满足不断变化的市场需求。(3) 、生产是柔性生产,便于多产品、多牌号生产
3、,改造更新也比较容易,以灵活地满足客户的需求和应对新产品被快速更新的局面。鉴于间歇生产过程能满足上述要求,特别适应批量小、产值高、品种多、变化易、上市快的生产,所以 21 世纪不是越来越少用,而将上升成为化工过程的主要生产形式。间歇化工厂的一个最突出的特点是它的灵活性,即通过对处理设备、原材料等资源的共享,在同一组设备上生产多种产品,并且可以实现较为复杂的合成过程。间歇化工厂可以分成两类:多产品(Multiproduct) 厂和多目的 (Multipurpose)厂。在多产品厂所有产品的处理步骤都相同,类似于流水作业(Flow Shop);而在多目的厂中,产品可以有各不相同的处理步骤 ,类似于
4、工件作业(Job Shop) 。由于有多种产品要共享时间和有限资源( 如原材料、处理设备、公用工程), 而调度的主要任务就是在时间和空间上合理利用系统的有限资源,以满足性能指标的要求,因此间歇化工厂在生产和经济上优势的实现很大程度上依赖于生产调度,从而确定产品在过程中每一设备上被加工的次序,合理的分配这些公用资源,以优化某些经济的或系统的性能指标,使生产约束得到满足的同时生产代价最小。关于离散制造操作的调度理论已经很好地建立了1.而间歇化工厂的调度未能得到较好的发展,多半因为所涉及操作的复杂性及被处理物料的连续性质。国际上已有了一定的研究成果2,5,而国内的化工过程大多采用连续或半间歇生产模式
5、,工艺流程基本不变,其生产调度的研究主要集中于流程工业3,4,而间歇化工厂调度的研究才刚刚开始。在市场经济的激烈竞争下, 间歇化工厂生产模式为企业快速适应变化的市场提供了选择,为此开展间歇化工厂调度的研究,无疑具有相当的社会及经济意义。间歇生产调度一般有两种研究方法,一种是刚性调度(或预调度,Prior Schedule),另外一种是柔性调度(Flexible Scheduling 或反应式调度(Reactive Schedule) 、动态调度(Dynamic Scheduling )) 。由间歇化工过程的特点及其调度问题的一般框架可知,间歇化工过程操作同时涉及离散与连续操作,从而大大增加了调
6、度问题的复杂性,所以在间歇化工调度的研究中,多数文献假设静态或离线的刚性调度,即过程生产将计划层来的定单一起分配到可用设备上去,并按调度准确地执行。实际上,由于频繁的需求变化、处理时间波动等,几乎任何间歇化工过程不能按事先制定好的调度运作,因此用常规的离线调度去指导生产,不仅使在制品可能增加,设备利用率、产品质量及间歇过程性能降低;而且原始调度可能变得不可行。为此需要采用柔性调度的方法来解决此类问题。所谓柔性调度,是当生产过程参数或调度数据变化时(如市场需求变化、原料供应或设备出现故障等) ,根据过程的实时状况(近期的调度及工艺条件) ,在短时间内重新产生一个调度或对原有调度进行在线调整的方法
7、,以使生产约束得到满足的情况下生产代价最小,这种调度更适用于实际生产过程。其定义主要包含重调度(Rescheduling)与在线调整( On-line Modification)两个方面。柔性调度的任务是根据来自设备级的反馈信息和实际的系统状态数据,决定下一步该执行哪个操作,它的目标是在整个过程遇到扰动和故障时,根据系统监控到的实时情况修改原定的生产顺序和调度系统的所有资源,使间歇化工系统持续地、健康地、优化地运行。柔性调度是一种先进的生产调度,适合于多品种、中小批量生产,可迅速适应产品变化,具有提高资源和设备利用率、减少产品库存量或时间、提高产品质量和一致性等诸多潜在优点,采用柔性调度将提高
8、整个系统的有效性和柔性。目前,间歇过程调度的优化目标都是单一的,而由于间歇生产过程的灵活性,实际生产过程中往往需要同时考虑多个目标才更合理,随着市场竞争日益激烈,生产过程各个环节的相互联系越来越紧密,这种需要同时考虑两个或多个目标的情况也更加普遍,所得到的调度也更加合乎生产实际。从上述分析中可以得如下结论:间歇生产过程将可能成为 21 世纪化学工业的主要生产方式,对间歇生产过程调度的研究是间歇过程研究的重要内容,对间歇过程的柔性调度和多目标调度进行研究将使间歇过程调度具有更加强大的灵活性和适用性。本课题的研究将在分析间歇过程调度本身特点的基础上,建立间歇过程的多目标柔性调度模型,并对其求解策略
9、进行研究,为间歇过程调度的研究提供新理论和方法,为实际应用提供理论指导和技术支持2、间歇过程的多目标柔性调度建模目前对于间歇化工过程调度的研究一般都形成一个混合整数线性规划(MILP)或混合整数非线性规划(MINLP)问题,可分为以下几类:(1) 、经验规则法(Heuristic Method )(Yeh et al.,1987; Espuna et al.,1989;许锡恩 et al.,1993; Ku et al.,1987;Kim and Lee, 1997;): 又称启发法。它应用一些积累下来的经验的、直观的推断规则,剔除部分或全部不可能或不合理的方案以缩小搜索空间,从而得到一个较优
10、的可行解。这些近似方法以牺牲解的精确性而节省了计算时间,它们大多是基于启发推理。一般有两种途径:一种是借助启发推理产生一个好的解集,然后再从中选出最好的解;另一种是从一个初始解开始,然后不断地改善直到不再能改善为止。这些规则没有经过严格的证明,一般不能保证得到最优解。这种直观推断调优的方法可以充分发挥设计者的实践经验,它是目前在工程实际中应用较多、也较为成熟的一种方法。随着计算机人工智能技术的发展,有这些经验规则可以形成知识库,以此为基础可以建立起相应的专家系统来指导间歇过程的设计与进度安排。由于间歇过程固有的复杂性以及研究内容的不断扩大,经验规则法很难建立起适应各种情形的统一规则,从而限制了
11、该方法的应用。如适合单机器两产品厂调度的 Johnson 规则。(2)数学规划法(Mathematical Programming):是把间歇过程问题归结为一个较为符合实际的包括若干限制条件的模型,在此基础上建立一个有约束多变量的最优化模型,再采用适当的算法得到问题的最优解。在间歇过程的研究中,通常建立的是 MILP 或 MINLP 模型,求解的方法主要有分支定界法、外近似法和广义 Benders 分解法等,这几种方法都在间歇过程问题的求解中得到应用。但这些方法的求解要么采用对所有节点的树枚举法,要么将原问题的数学模型采用一定的方法分解为 MILP 和 NLP 进行求解。由于间歇过程调度的组合
12、爆炸特性,问题的求解时间往往与问题的规模成指数函数关系,如果建立模型为规模较小的 MILP 或 MINLP 模型,可以采用一些优化软件包如 LINDO、DICOPT+等求解(Ku et al.,1987;Jung et al.1994),而对于规模较大的问题,求解一般很困难,需根据问题的特点选择方法。目前对于这类问题的求解,一是对特殊形式的问题,寻找普遍化的算法;或者是对精度要求不是很高的问题,使用启发规则来求得一个满意解;另外就是借鉴其它学科的发展,寻找一些智能型的方法。(3)随机型算法(Stochastic Algorithm):一般的算法都是从单一初始点按确定性原则寻找最优解,而随机型算
13、法则沿多条路径按随机转换原则求解,它们一般仅使用问题本身所具有的目标函数进行工作,而不需要其它先决条件或信息。随机型算法主要有蒙特卡罗法(Bassett et al.,1997) 、模拟退火法(Das et al., 1990)和遗传算法(Wang et al.,1996) 。蒙特卡罗法是完全基于随机性的算法,主要用于数值计算,而模拟退火法和遗传算法都是以蒙特卡罗法为背景的智能型算法,广泛应用于优化求解(Kirkpatrick et al.1983;Cardoso et al.1994; Venkatasubramanian et al., 1994) 。随机型算法在求解 MILP 和 MIN
14、LP 问题方面确实有其优越性,特别是由于它不受搜索空间的限制性假设的约束,不必要求诸如连续性、导数存在和单峰等假设,以及其并行性(如遗传算法) ,目前已经在最优化、机器学习和并行处理等领域得到了越来越广泛的应用。但目前对于随机型算法用于间歇过程调度方面的研究还不深入,尤其是在柔性调度方面和多目标优化方面。(4)神经网络和专家系统方法 由于间歇过程涉及许多不确定或难以数量化的因素,因此,对其进行精确建模或信息管理往往很困难。近年来,一些模拟人的思维过程的方法如神经网络、专家系统等在间歇过程的研究中得到应用。Dong 等(1996)把神经网络用于间歇过程控制最优化,取得了满意的结果。Joseph(
15、1989)和 Rosenof(1992)等提出用专家系统对间歇过程间歇控制和管理。Crowe 等(1995)指出人工智能的应用可以提高间歇过程工业的竞争力。王保国等(Wang, et al.,1995a,1995b,1997)则详细地研究了人工智能和专家系统在间歇过程配方管理中的应用,并建立了一个可以实用化的配方管理系统。但该方法在间歇过程的柔性调度和多目标优化方面的应用还没有,在多目标优化方面的应用很难实现。3、实例研究本文以多目的间歇过程的调度为例,来介绍随机型算法在间歇过程调度中的应用:(1) 、多目的间歇过程调度建模多目的间歇过程按照中间储罐的设置方式可以分为无限中间储罐(UIS) 、
16、无中间储罐(NIS) 、有限中间储罐(FIS) 、零等待(ZW)和含有多种储罐设置方式的混合中间储罐(MIS) 。ZW 问题是一类特殊的多产品间歇过程,以下以 ZW 的多目的厂间歇过程为例,对多目的厂间歇过程排序问题进行研究。从数学上来看,生产个产品,台设备单元的多目的厂,对于 ZW 问题,以总生产时间(makespan)最短作为优化目标,则该问题的数学模型如下:一般的,令,C(xi,k)表示产品 xi 在设备 k 上的完工时间。T(xi,k)表示产品 xi 在设备 k 上的加工时间。 M(xi,k)表示产品 xi 在设备 k 上加工的工序在该产品所有加工工序中的次序。Tc (xi,j)表示产
17、品 xi 的第 j 工序加工时间。Mc(xi,j) 表示产品 xi 的第 j 工序操作所在的机器号码。事实上,如果产品 xi 在设备 k 上的加工工序为产品 xi 的第 j 工序,则 Tc (xi,j)T(xi,k) 。所以 Tc 和 T 为了计算的方便而采用的加工时间两种表达方法。对于 ZW 问题,如果给定了各产品的第一加工工序的开始时间,则各产品的所有工序的加工时间表问题即调度问题就确定了。为此需要首先确定各产品加工序列。同多产品厂不同,多目的厂各工序的加工所经过的设备顺序是不同的,为了便于染色体编码,这里作如下规定:对于给定产品加工序列 X=X1,X (i-1 ) ,Xi,X(i+1)X
18、N ,表示产品X1 优先加工,其加工时间表就固定了,而产品 Xi 的第一加工工序在其所在某设备上的加工顺序为产品 X(i-1)在该设备上某一加工工序之后,如果 X(i-1)在该设备上没有加工任务,产品 Xi 第一加工工序在其所在设备上加工顺序为产品 X(i-2)在该设备上某一加工工序之后。如果 X1, X(i-1)都没有工序在该设备上加工,则 Xi 的第一加工工序就是该设备的第一加工任务。为了得到基于给定产品加工序列 X 的最少总生产时间,同时避免设备任务重叠;即设备的前一任务没完成,后一任务已经来到这一约束,即当式 )( 1 j)1,-T(xij)(i, j),-T(xij)1,-C(ij)
19、T(xi,j)C(i,absC-xabs成立时,成立时,此时需要采用将产品i 的所有加工工序向后拖,如图 1 所示即将i 的 Gannt 曲线向右平行移动。直到和产品(i-1)的 Gannt 曲线刚不发生重叠为止,所以为了得到最小的加工时间,产品 Xi 的初始加工时刻必须满足如下条件:在加工产品 Xi 的各个设备中,至少存在某一或几个设备(图中机器 3) ,使在该设备上加工的该产品的任务和在该设备上加工的与其相邻的产品的加工方式为零等待(ZW) ,即该机器在产品切换时无空闲。此时(1)式为等式表达,图 1 表达了平移的过程。k = 1产 生 m 个 家 族 , x j ( k ) , j =
20、1 , 2 m .计 算 目 标 函 数 值 f ( x j ) , j = 1 , 2 m .按 目 标 函 数 值 对 m 个 家 族 排 序根 据 排 列 次 序 对 m 个 家 族 分 别 变 异 , 进 行 列 队竞 争 计 算 , 计 算 最 优 值 。k = N结 束Yk = k + 1 ;开 始时间机器机器机器机器X i - 1 , 1X i - 1 , 2X i - 1 , 3X i - 1 , 4X i , 1X i , 2X i - 1 , 1X i - 1 , 2X i - 1 , 3X i - 1 , 4X i , 1X i , 2X i , 3X i , 4X i
21、, 3X i , 4Fig.1 the schematic diagram of the horizontal Fig.2 Program diagram for LCAmoving of the Gannt curve图 1 Gannt 曲线平移示意 图 2 列队竞争算法的计算框图为此,得到多目的间歇厂调度的数学模型如下: N.1,23i Nxi1 .M1,23j4k)Tc(x,Mc(xi,1)Cj)(, .,j k,j, .,j23i j)-T(i)xi j)1,-T(xi)-C(i)T(x,j,abs1,j,abs .uect okC(xi,nimk1xinj)i,2kx,1k )如果给
22、定产品加工序列 X=X1,X2 ,X3XN,应用上述模型可计算最小总生产周期。(2) 、一种随机型算法列队竞争算法列队竞争算法是一类随机算法,同遗传算法(GA) 、进化策略( ES)和进化规划(EP)一样,它属于一种模拟生物进化过程的进化算法,但是与后者不同之处在于列队竞争算法在模拟进化过程中采用无性繁殖,即始终保持家族独立并行进化。同时,在该算法中通过家族内部的生存竞争和家族间的地位竞争这两种竞争方式,使群体快速进化到最优或接近最优的区域。家族内的生存竞争是指各家族中仅性状(与目标函数值有关)最好的家族成员得以生存并作为该家族的变异的母体,家族间的地位竞争是根据各家族变异母体的性状从好到坏来
23、排定位次,不同地位的家族具有不同的竞争推动力。竞争推动力可以理解为家族变异能力的大小,处于第一位的最优秀的个体只进行一次变异,所迁移的范围较小,有利于加速局部搜索;列队中处于越靠后的个体,变异次数逐渐增加,个体在搜索空间的迁移范围逐渐增大,起到了 全局搜索的作用。这两种竞争方式起到均衡局部的精细搜索与全局的粗略搜索的作用,能确保得到最优解或者满意解。列队竞争算法的计算框图如图 2 所示。(3) 、用列队竞争算法求解该建模用列队竞争算法来对多目的间歇过程排序进行优化时,首先要解决的是染色体编码问题,其次是选择策略和变异算子问题。至于家族排位由于目标函数是求 CN,M 的最小值,这里的家族排位是按
24、 CN,M 的升序进行排队的,使目标函数值较小的家族靠前。染色体编码 由于多产品间歇过程排序需要优化的是产品序列 X,因此采用序列 X 本身进行编码是比较方便和直接的,并且根据(2)式知道,只要给定了产品加工序列(由于 tXi,j 是给定的),就可以求得按照该加工序列进行加工的最早加工完成时间 CN,M。 选择策略和变异算子列队竞争算法的选择策略采用父子混合选择策略,这种选择策略同自然选择的不同之处在于父代种群参与家族内部竞争,这样使真正优秀的家族成员得以生存,从而保证整个家族不会退化,各家族并行进化的总体效果是“物种的进化” 。列队竞争算法的变异算子对算法的收敛性有很大的影响,在实际应用中合
25、理地制定出变异策略是至关重要的,依据列队竞争算法的思想在制定变异策略时需遵循如下两条原则,1)个体进行一次变异操作,对系统结构的改变不会产生显著的差异;2)、个体经过多次的变异操作,系统结构应有较大的改变,即要求随着变异操作次数,对系统结构的改变应具有量变引起质变的特性。根据这两原则,这里选择倒位变异(inversion Mutation) ,又叫反转变异,是随机的选择两个位置,并将这两个位置之间的基因串反转的变异,如下所示:随机的选择两位置: 1 2 3 4 5 6 7 8 9进行倒位变异运算后得到 1 2 6 5 4 3 7 8 9对于产品加工问题,即随机的选择产品加工序列中两个位置,并将
26、两个位置之间(包括这两个位置)的产品加工次序反转,得到新的产品加工序列。(3) 、算例分析本文采用文献 6中的例子,其中需要生产 4 个产品 P1、P2、P3、P4,在一个生产周期内需生产 P1、 P2 各 3 批,需生产 P3、P4 各 2 批。 生产这些产品需要在 5 个设备上进行加工,生产各产品所用的设备顺序及所需时间见表 1,要求对该间歇生产过程进行排序,使得在一个生产周期内所消耗的时间最短。为了解决这类在一个周期内生产多个批次同一产品的情况,同一产品的不同批次当作不同产品来进行处理,这样就相当于一个周期内生产 10 个产品,这样产品 P1 的 3 个批次产品代号分别为1,2,3 ,产
27、品 P2 的 3 个批次的产品代号分别为4,5,6 ,产品 P3 的 2 个批次产品代号分别为7,8 ,产品 P4 的 2 个批次的产品代号分别为9,10 ,根据本文提出的模型,分别用简单遗传算法和本文所提供算法计算,比较结果见表 2。最优解为4, 1,2, 3, 7, 5, 9,10, 8, 6 ,最短完工时间(52hr)和最优调度的 Gannt 图见图 3。Table 1 The process machines and production time table of the products表 1 产品的加工序列和加工时间表产品名称 所用的设备顺序 操作时间 (hr) 加工序列代号P1
28、 1,4,5 8,5,3 1,2,3P2 1,3,5 7,3,4 4,5,6P3 2,4,5 6,9,3 7,8P4 2,3,5 4,6,4 9,10Table 2 the comparison of SGA and LCA*表 2 本文所用方法于标准遗传算法的比较项目 种群规模 选择策略 交叉方法 变异方法简单遗传算法 80 轮盘赌 部分匹配交叉(PMX) 倒位变异本算法 8 父子混合 无 倒位变异项目 平均计算次数 终止代数 平均收敛次数 平均收敛概率简单遗传算法 1887 1000 312 16.54本算法 1920 60 345 17.96*注:分别对两种算法进行 20,平均计算次数指
29、平均每次运算调用计算目标函数值的次数。简单遗传算法采用选择概率为 0.8,变异概率为 0.01。设 备 5时 间 ()设 备 3设 备 4设 备 1设 备 2Fig.3 the Gannt of the optimal result图 3 最优调度的 Gannt图4、结论多目标的间歇过程柔性调度问题本身是一个复杂的多目标不确定类型的 MINLP 优化问题,同时又是一个考虑各种因素不确定的概率优化问题,目前的问题是建模复杂,求解困难。本文旨在其建模理论和求解策略上有所突破,对于多目标优化问题可以采用前人的研究成果,在求解策略上可以参照随机规划和模糊规划。文中用多目的间歇过程的零等待(zero w
30、ait)模式的调度为例来说明随机型优化算法在间歇过程调度中的应用。5、参考文献1BakerKR.IntroductiontoSequencingGrossmann, I.E., Comput. Chem.Eng.1996,20(11):13351360Study on Scheduling of Batch Chemical Process School of Chemical Engineering, South China University of Technology,Guangzhou, 510640, P. R. ChinaAbstractThe batch chemical pr
31、ocess has been and will be the main mode of chemical industry in the new century; this paper focuses on the research and study of the scheduling of batch chemical engineering and its flexibility and its multi-objective problems. Problem formulation has been driven by various factors, the primary one
32、s being problem complexity, available computing resources and solution methodology. A real chemical case is introduced to illustrate the availability of the stochastic algorithm for the scheduling of the batch chemical processes.Keywords: Batch Chemical Process, Multi-objective Flexible Scheduling, Solution Strategies