论文部分内容阅读
工业控制领域的实时监测往往涉及具体的监测网或传感网。该网络通常具有大量的中间节点,并且具体参数的监测和故障诊断需要考虑特定的约束条件。在寻找最优测量和诊断方案的过程中,需要对网络的路径进行优化,最终自动生成最优测量路径。路径优化问题通常涉及一些特定的要求,例如:寻找最优的节点测量顺序;最优路径的总测量代价最小;测量路径必须经过一些特殊节点;适应网络拓扑的动态变化等等。由于网络规模大,节点资源严格受限,所以要求网络节点数据采集的路径优化算法设计要简洁,尽可能减少算法存储和运算开销。 本文着重解决一类带约束的路径优化问题,即带保护点的最优路径问题。该问题模型可简单描述为找一条从起点出发,经过一个特定集合内的所有点,最后到终点的最短路径。 用整数线性规划的方法在ILP求解器中求解最优路径问题一般能找到问题的最优解,但是问题在于求解的时间复杂度会随着问题规模呈现指数级增加,因为这类似于广度优先搜索或深度优先搜索的方式遍历从原点到终点的所有可能路径。在网络规模增大的情况下,ILP求解器往往无法在合理的时间内找到问题的最优解,甚至无法找到一个可行解。 针对整数线性规划的方法解决这个问题遇到的困难,本文尝试着用一种启发式方法在合理的时间内寻找问题的近似最优解。 本文试着将ACO算法与SK算法结合,并在具体实施上解决SK算法存在的其他问题。新的SK_ACO将充分发挥两种算法的优势,特别是利用ACO的信息素概念优化解的结构,并且将SK算法的中间解的有用信息充分发挥出来,这样新的算法找到可行解的概率将大大提高。 最后本文在实验中将SK_ACO算法的运行结果与CPLEX的结果做一比较。SK_ACO所使用的ACO算法主要采用了AS、MMAS和ACS三个代表性的版本。实验结果表明,采用MMAS或ACS改进的SK算法比采用AS算法改进的SK算法具有更高的性能。实验分别从在合理的CPU运算时间内获得可行解的概率、不同的给定点比例下相对误差的概率以及改进的启发式算法与CPLEX求解器耗时方面进行比较。结果表明,在保护点的比例较低时,SK_ACO算法能够取得较理想的结果,并且运算时间比CPLEX求解器大为减少。因此SK_ACO算法对于解决大多数这类问题还是比较有效的方法。