论文部分内容阅读
线性规划作为运筹学的重要分支,是进行高效的科学管理决策的重要方法之一,其应用领域日益广泛。在当今大数据背景下,从实际应用中抽象出来的线性规划问题的规模越来越大,复杂性越来越高,而且在模型形成过程中很可能包含大量的冗余约束和变量,因此数据预处理技术在线性规划问题求解中的重要性日渐突显。对于线性规划模型中的冗余问题,很早就有研究者提出了数据预处理的概念和技术,虽然国内学者在这方面也取得了一些成果,但相较国外的研究而言,目前国内的研究还不够完善。因此,对线性规划数据预处理技术进行系统性研究仍具有一定的应用价值和理论意义。 本文以有上下界的线性规划模型为研究对象,首先,应用无效约束的概念对弱优先列可被引入到预处理过程中的性质进行了证明,其证明过程不同于已有文献的证明且更清晰易懂;其次,从原始和对偶两个角度系统地总结和分析了11种数据预处理技术:固定变量、零行、零列、单独行、强制行、单独列、优先列、双元素行、比例行、比例列,弥补了国内在预处理方面研究的不足;再次,应用C语言编程实现了所有预处理方法以及预测修正算法,一方面验证了预处理方法的有效性和可行性,另一方面确保了预处理结果及算法实现过程的正确性;最后,以国际通用数据库中的线性规划标准测试题为实例对所实现的算法进行测试。测试结果表明,预处理技术能够有效减小线性规划问题的规模,对于某些问题减小的规模能够达到原规模90%以上,这也充分体现了预处理对线性规划问题的应用价值。此外,本文根据有上下界的线性规划问题标准化过程中所形成的约束矩阵的特征,利用矩阵分块的性质对约束矩阵进行变换和消去处理,能够将对大规模矩阵的Cholesky分解转化为对小规模矩阵的Cholesky分解,从而大大减小了问题求解过程中的计算量,提高了算法求解的效率。 本文的意义在于:可将实现的程序作为一个内核,为开发一款解决线性优化问题的软件起到引导和铺垫的作用,同时也能为后续进行线性规划或其预处理的相关研究提供参考。