论文部分内容阅读
大规模调度问题的计算难处理性和实际调度环境的动态不确定性是调度问题复杂性的重要体现。滚动时域调度方法是处理这两方面复杂调度环境的一种有效的通用方法,虽然已有一些关于滚动时域调度方法应用研究,但是初步和有限的,在其理论和应用两方面还存在很大的研究空间。
本论文研究处理静态和动态不确定下的大规模调度问题的滚动时域方法,将滚动时域调度方法的机理归于预测控制的广义原理之下。首先给出了滚动时域调度策略的规范化描述。对单机调度问题,提出了一种基于初始调度的滚动调度策略,在其子问题中考虑了局部目标和全局目标的一致性,对这种滚动调度策略进行了性能分析。这是一种全局性能不断改善的滚动调度策略,本论文把它用于三种不同的信息环境:全局信息已知的确定性环境、全局信息不全的动态环境和存在机器故障的动态扰动环境。最后将一类JobShop调度和重调度问题分解为单机调度问题来求解。归纳起来,本论文主要做了以下六个方面的研究工作:
●从预测控制的广义原理出发,剖析滚动时域调度方法的内在机理和关键技术,建立了滚动时域调度策略的一般描述框架,规范滚动时域调度方法的有关概念和参数的定义。
●对已有滚动时域调度方法的调度子问题进行改进。通过在调度子问题的局部目标函数中加入一个终端惩罚项,在局部目标中考虑了与全局目标的一致性,并证明了一个已有分枝定界方法的修正算法可以精确求解终端惩罚调度子问题。大量的仿真实验比较了改进的滚动时域调度方法和已有方法,计算结果说明了子问题改进的成功和有效。
●对于全局信息已知的大规模静态调度问题提出了一种基于初始调度的滚动调度策略,建立起滚动调度进程中对全局调度及其性能的描述。对一类性能指标可分的单机调度模型采用终端约束调度子问题,对单机调度模型采用终端惩罚调度子问题,由于在局部子问题中考虑了全局目标,可在滚动进程中控制全局调度性能的变化趋势,从而保证了全局调度性能不断改善,避免了最差调度解的可能。这是一种两阶段调度方法,大量的仿真实验结果表明,相对已有的两阶段算法和滚动时域方法,在算法复杂度没有增加的前提下,在大多数情况下解的质量皆有一致的改善。
●将基于初始调度的终端惩罚滚动调度策略用于全局信息不全的动态调度问题,提出了一种两级滚动调度策略。首先提出了虚拟调度的概念,解决了信息不全时全局调度的描述问题。第一级滚动调度是建立在预测窗口之上的预调度,第二级是建立在滚动窗口之上的局部调度,性能分析表明两级滚动都能改善全局调度的性能。仿真实验表明在绝大多数情况下这一两级滚动调度相对已有滚动时域方法有优势。
●研究了机器故障扰动下的大规模单机重调度问题。考虑重调度的效率(调度性能)和稳定性(与原始调度的偏离)两个指标,采用部分调度策略处理计算复杂性,在部分调度中反映全局的双目标。当出现多次机器故障时,采用事件驱动的滚动部分重调度,性能分析的结论证明了历次的部分重调度目标与全局重调度目标的一致性。计算结果表明,所提出的部分重调度策略可以对重调度质量和计算代价进行折中,相对右移重调度在保持调度的效率目标或仅有微小牺牲的前提下,调度的稳定性目标可以大大改善。
●对一类JobShop调度问题进行了研究。利用移动瓶颈方法的空间分解和滚动时域方法的时间分解,将大规模的JobShop调度问题分解为迭代地求解单机调度问题,处理了机器故障下兼具效率和稳定的大规模JobShop重调度问题,仿真计算的例子说明了该方法的有效性。