论文部分内容阅读
随着信息产业技术的快速发展,多核处理器成为处理器市场上的主流产品,开发并行程序,充分利用多核处理器的多个内核成为程序开发的趋势。并行算法作为并行程序开发的核心,是算法研究的一个新的方向。但并行算法的设计与实现比向来都比较复杂,所以研究具有通用性的并行算法框架具有现实意义。本文针对求解优化问题中常用的分支定界算法进行研究,将分支定界算法分割成与问题相关和与问题无关的部分,进而设计基于多线程的并行分支定界算法框架。应用并行分支定界算法框架对板坯出库问题进行求解,并通过实验验证了算法框架的高效性。基于多线程的并行分支定界算法框架共有三个模块,分别是结点定义模块、相关接口模块和并行分支定界算法求解模块。结点定义模块和相关接口模块对应分支定界算法中与问题相关的部分,开发人员在使用框架求解具体问题时,需要对这两个模块中的结点类型和相关接口函数进行定义。求解模块对应分支定界算法中与问题无关的部分,该模块为并行分支定界算法的核心。其主要内容为并行环境参数的设置,分支定界算法的并行化等内容,开发人员在使用框架时不需要对模块的内容进行编辑。综上所述,本文提出了基于多线程的并行分支定界算法框架。算法框架采用Windows多线程编程技术中的Win32 API实现算法的并行化,可以有效的提高CPU使用率。使用并行分支定界算法框架求解问题时,将会提高算法设计的重复利用性,减少了开发人员的工作量,具有一定的实际应用价值。