4.3第三种具体情况的求解
4.3.1故障判断和维修时间的确定模型
针对第三种具体情况,我们首先确定故障判断和维修时间的实现。
对于故障判断,我们选择为每一个CNC工作的时刻生成一个从0到100的随机数a,如果生成的随机数a<1,即该时刻会发生故障。
而对于维修时间,我们同样采用了随机数的方法,生成了一个从600到1200的随机数b,b代表该次维修所花的秒数。
4.3.2基于智能RGV动态过程的改进模型
在这个模型中,我们对RGV与CNC赋予了更多的智能,使得它们能够识别故障行为。具体过程为:当利用贪心算法确定最优解时,我们会进行最优解是否故障的判断,如果判断为真,则跳过该解,重新进行利用贪心算法确定优解的步骤。如果判断为假,则按照4.1,4.2的模型继续进行调度。当调度过程进行至上下料完成时刻,我们会对CNC进行一次故障判断,如果判断为真,则进入维修操作,如果判断为假,则重新进行利用贪心算法确定优解的步骤。算法流程图如下图所示:
图7
对于这种模型,我们进行了C++的代码实现,得到了RGV的调度策略和系统的作业效率。针对结果,我们发现故障的发生基本服从泊松过程,且故障发生之后调度策略会发生极大的变化,而产量也会下降,与我们的预期相同。
/*-----