论文摘要
随着科学技术的发展,现代工业产品往往是机械、电子、液压及控制等多领域耦合的多物理系统,且产品模型的规模也越来越复杂,复杂产品多领域模型基于仿真的优化是一个计算密集而耗时的过程。在单机性能有限的情况下,对多领域仿真优化系统的并行化处理已迫在眉睫。MWorks系统是一个集建模、编译、仿真与优化等过程的集成化多领域分析平台,其中的优化子系统包括建模、算法库和优化过程等模块。优化过程的每次迭代需要进行多次仿真求解计算,这个过程需要耗费大量的时间,串行计算效率低下;针对系统仿真优化求解时的效率问题,本文研究了一种基于套接字的并行化处理方法,设计实现多机或多核环境下的并行计算环境,将计算任务划分为若干子任务,通过任务调度算法把任务分配给合适的节点进行计算,并通过实例验证了方法的有效性。本文的主要工作如下:首先,研究了并行计算技术的基本原理,分析了当前并行计算环境的主要实现技术;重点阐述了基于Socket技术的并行计算环境的实现过程:运用Winsock技术和多线程技术,为仿真优化提供多线程和多机计算相结合并行计算模式;并行计算环境采用改进的客户端/服务器结构,通过客户端和服务器间角色转换机制实现了高效的数据传递和通信效率,最大限度利用系统资源;通过实现客户端管理、任务传递和消息处理以及任务调度管理三个功能模块,实现了并行多任务的分配和执行;考虑各客户端性能以及网络带宽的差异性,提出了一种按能分配的任务调度方法,实现了多任务在多客户端上的动态负载平衡。其次介绍了几种常用优化算法的并行化处理技术,结合MWorks系统现有的优化算法,实现了约束变尺度法的并行化过程,将该算法中的数值梯度计算划分为多个子任务,实现并行计算。最后,进行了数值算例和工程优化问题的测试,测试结果验证了本文所研究的并行化方法能有效提高仿真优化的效率。并通过多机实验,分析了不同数量处理器对并行计算参数的影响。