当前位置: 首页>博士论文>资源详情
大规模演化计算研究及其在工程优化中的应用
中文摘要

 大数据时代的到来使得工程优化问题结构越来越复杂,规模也越来越大。这大大增加了求解的难度,传统的数学方法已经无法全面有效的解决大规模工程优化问题。植根于生物行为和进化论的演化算法经过多年的发展在小规模工程优化问题上取得了不错的成绩。但在大规模问题上性能仍然乏善可陈。大规模工程优化问题给演化算法带来的压力具体表现在:1)问题维度的增长导致解空间规模急速增长,使得演化算法无法在巨大的解空间中获取高精度解;2)问题变量关联的复杂性给演化算法采用协同演化机制造成了很大麻烦;3)实际工程优化问题中约束条件的存在以及对实时性的要求使得演化算法收敛速度不足以快速找到可行区域并且优化;4)大量目标的存在以及目标之间的关联性处理也同样是棘手的问题。 为了提高大规模演化算法解决大规模工程优化问题的效率,本文针对以上挑战性难题,从正向研究思路上对目前两种主流大规模演化算法各自的缺点也是大规模工程优化的前两个难点,求解精度不高和不能解决不可分解问题,分别进行相应的改进,并在大规模供水网络优化问题上进行验证。同时从反向研究思路上围绕另外大规模工程优化两个难点,巨大搜索空间下的实时性要求和目标数量多,选择了两个典型的大规模工程优化问题,云工作流调度问题和自动化测试数据生成问题,进行研究,洞悉大规模演化算法目前难以解决这两个难点的本质原因,发现大规模演化算法可能的研究目标以及发展方向。 具体地,在大规模整体式演化算法研究方面,本文提出了全局搜索算法与局部搜索策略相结合的文化基因算法,将高效的个体学习算法融入大规模整体式演化算法,设计了个体学习算法自适应启动方法,在保留了大规模整体式演化算法全局搜索能力的同时提高了算法后期的求解精度,弥补了整体式算法在局部搜索空间中优化能力不足的弱点。在大规模分治式演化算法方面,本文改进了传统的协同演化框架,将竞争与共享机制带入协同演化框架,取代了原有的独立进化且仅依靠全局解来沟通的协同机制,为带有社区网络结构的重叠优化问题提出了带有重叠的分组方法,使此类问题从不可分解问题变为可分解问题,并设计了随机正交试验竞争方法来解决共享变量在不同分组中值不同的情况,同时我们针对演化策略算法设计了三种不同的合作演化机制以提高算法的收敛速度。新的协同演化算法的提出一定程度上解决了大规模工程优化问题所带来的变量关系复杂这一难点。随后我们将大规模整体式演化算法与所提出的新型分治式协同演化算法应用于大规模供水网络优化问题上,在与传统演化算法的对比中可以看出大规模演化算法的优势,而两种大规模演化算法的相互对比展示了两种类型算法各自的优劣势。 在大规模工程优化应用研究方面,本文针对大规模云工作流调度问题提出了一个新的智能调度系统。大规模云工作流调度问题由于任务数量多和计算资源多而拥有巨大的搜索空间,并且如果调度方法使用不当还会出现大量冗余搜索空间,并且执行时间约束的存在和对实时性的要求需要演化算法能够快速找到可行解。本文设计了一种新型的带有动态搜索空间控制方法的自适应蚁群算法对问题进行求解,该算法可以有效去除冗余搜索空间,加快调度方案生成速度,提高调度方案质量。在与大规模整体式演化算法的比较中揭示了提高收敛速度对于此类大规模工程优化问题的重要性,为大规模演化算法在此类问题上的应用点明了昂贵优化及代理模型的研究方向。另外本文针对自动化测试数据生成问题设计了基于粒子群算法的的测试数据生成工具。自动化测试数据生成问题是基于搜索的软件工程领域的热点问题。它将所测程序中的条件语句转化为优化目标,然后使用演化算法进行求解,由于程序中条件语句众多,在问题转化过程中会生成大量目标,对所有目标进行全覆盖是非常困难的。根据代码判定之间的关系,本文设计了新的初始化方法使得所应用的粒子群算法可以高效的找到每个条件的覆盖。同时在对此问题的研究中我们发现,问题的多目标特性使得在面临参数众多的大规模测试数据生成问题时,大规模多目标演化算法将会发挥重要作用。 总的来说,本文对大规模演化算法的研究一定程度上提高了目前大规模演化算法的性能,在大规模供水网络优化问题上的实验也说明了大规模演化算法相对于传统演化算法的优势,对有相似网络结构的问题求解带来了新的思路。而本文对于大规模云工作流调度问题和测试数据生成问题的研究也探讨了大规模演化算法的研究方向。 关键词:大规模优化;演化计算;工程优化;协同演化

英文摘要

 With the advent of the era of big data, the scale of engineering optimization problems becomes larger and larger, which greatly increases the difficulty of solving such problems. Traditional mathematical methods are no longer able to solve large-scale engineering optimization problems effectively and efficiently. Inspired by the theory of evolution and some biological behaviors, scholars proposed a variety of algorithms to solve the problems that are difficult to be solved by mathematical methods. These algorithms are called evolutionary algorithms. With the advance of both theoretical and practical research, evolutionary algorithms have achieved very good results in many small-scale engineering optimization problems. However, when the dimension increases, the performance of most evolutionary algorithms also degenerates significantly. The pressure brought by large-scale engineering optimization problem to the evolutionary algorithm is shown as follows: 1) the increase of problem dimension leading to the rapid growth of solution space scale, making the evolutionary algorithm unable to obtain high-precision solutions in the huge solution space; 2) the complexity of the problem variable association; 3) the existence of constraints in engineering optimization problems and the real-time requirements; 4) the existence of a large number of objectives and the relevance between the goals. In order to improve the efficiency of evolutionary algorithm in solving large-scale engineering optimization problems, this paper refines two major large-scales evolutionary algorithms by making up their deficiencies in solution precision and unseparable problems, and testifies the refinement on the water distribution network optimzition problem. At the same time, two typical large-scale engineering optimization problems, cloud workflow scheduling problem and automated test data generation problem, are selected to study around two other difficulties in large-scale engineering optimization, namely, large redundant search space and large number of objectives. Specifically, in the study of large-scale monolithic evolutionary algorithm, this paper proposes a memetic algorithm by combining a global search algorithm with local search strategy. It merges an effective individual-learning algorithm into a large-scale monolithic evolutionary algorithm. An automatic scheme is designed to activate the individual-learing algorithm. It makes up the deficiency of the monolithic evolutionary algorithm in local searching. As to the divide-and-conquer algorithms, this paper improves the traditional cooperative co-evolution framework, bringing competition and sharing mechanism to cooperative co-evolution to replace the orginal independent evolution scheme. New grouping algorithm is designed for the overlapping problems with community structure. A random orthogonal experiment algorithm is devised to handle the shared variables. Three different cooperation scheme are proposed for evolution strategy algorithms to accelerate the convergence speed. Moreover, these two algorithms are applied in a large-scale water distribution network optimization problem. The comparison shows the advantages and disadvantages of each algorithm. In the application research of large-scale engineering optimization, this paper proposes a new intelligent scheduling system for the large-scale cloud workflow scheduling problem. Large-scale cloud workflow scheduling problem has a large number of redundant search space, and the existence of execution time constraints and the requirement for real-time performance require the evolutionary algorithm to find feasible solutions quickly. In the new scheduling system, we propose a new estimation model based on the actual public cloud configuration and workflow execution. On this basis, this paper designs a new adaptive ant colony algorithm with dynamic search space control method to solve the problem. This algorithm can effectively remove the redundant search space, speed up the generation of scheduling scheme and improve the quality of scheduling scheme. The comparison with the large-scale monolithic evolutionary algorithm reveals the importance of improving the convergence speed for this kind of large-scale engineering optimization problem and points out the research directions of expensive optimization and surrogate models. In addition, this paper designs a test data generation tool based on particle swarm optimization for automated test data generation. Automated test data generation is a hot topic in search-based software engineering. It converts the conditions in the tested program into optimization objectives, and then uses the evolutionary algorithm to solve the problem. Because there are many conditional statements in the program, a large number of objectives will be generated in the process of problem transformation, and it is very difficult to cover all the objectives. According to the relationship between the conditions, this paper designs a new initialization method so that the applied particle swarm optimization algorithm can efficiently find the coverage of each condition. Meanwhile, in the study of this problem, we find that the multi-objective nature of the problem makes the large-scale multi-objective evolutionary algorithm play an important role in the large-scale test data generation problem with many parameters. Key Words: Large-scale Optimization; Evolutionary Computation; Engineering Optimization; Cooperative Co-evolution

作者相关
主题相关
看过该书的人还在看哪些书