内容简介
LINDO和LINGO是美国LINDO系统公司开发的一套专门用于求解优化问题的软件包。LINDO用于求解线性规划和二次规划问题,LINGO除了具有LINDO的全部功能外,还可以用于求解非线性规划问题,也可以用于一些线性和非线性方程(组)的求解,等等。LINDO和LINGO软件的特色在于可以允许优化模型中的决策变量是整数(即整数规划),而且执行速度很快。LINGO实际上还是优化问题的一种建模语言,包括许多常用的函数可供使用者建立优化模型时调用,并提供与其他数据文件(如文本文件、Excel电子表格文件、数据库文件等)的接口,易于方便地输入、求解和分析大规模优化问题.由于这些特点,LINDO和LINGO软件在教学、科研和工业、商业、服务等领域得到了广泛应用。
《优化建模与LINDO/LINGO软件》详细介绍在Microsoft Windows环境下运行的新版本(LIND06.1,LING010.0)的使用方法,并包括社会、经济、工程等方面的大量实际应用问题的数学建模和求解实例,可供了解和使用优化建模和优化软件的教师和学生、管理决策者、科技工作者及其他对此感兴趣的读者阅读,也可作为运筹学课程的教学参考书,
内页插图
目录
第1章 引言
1.1 优化模型的基本概念
1.1.1 优化模型的一般形式
1.1.2 可行解与最优解
1.1.3 优化模型的基本类型
1.2 优化问题的建模实例
1.2.1 线性规划模型
1.2.2 二次规划模型
1.2.3 非线性规划模型
1.2.4 整数规划模型
1.2.5 其他优化模型
1.3 LINDO/LINGO软件简介
1.3.1 LINDO/LINGO软件的基本功能
1.3.2 LINDO/LINGO软件的求解过程
1.3.3 建立LINDO/LINGO优化模型需要注意的几个基本问题
习题1
第2章 LINDO软件的基本使用方法
2.1 LINDO入门
2.1.1 LINDO软件的安装过程
2.1.2 编写一个简单的LINDO程序
2.1.3 一些注意事项
2.2 敏感性分析
2.3 整数线性规划的求解
2.4 二次规划的求解
2.5 LINDO的主要菜单命令
2.5.1 文件主菜单
2.5.2 编辑主菜单
2.5.3 求解主菜单
2.5.4 报告主菜单
2.6 LINDO命令窗口
2.6.1 INFORMATION(信息类命令)
2.6.2 INPUT(输入类命令)
2.6.3 DISPLAY(显示类命令)
2.6.4 OUTPUT(输出类命令)
2.6.5 SOLUTION(求解类命令)
2.6.6 PROBLEM EDITING (编辑类命令)
2.6.7 QUIT(退出类命令)
2.6.8 INTEGER,QUADRATIC,AND PARAMETRIC PROGRAMS(整数、二次与参数规划类命令)
2.6.9 CONVERSATIONAL PARAMETERS(对话类命令)
2.6.10 USER SUPPLIED ROUTINES(用户过程类命令)
2.6.11 MISCELLANEOUS(其他命令)
2.7 LINDO命令脚本文件
附录 MPS格式数据文件
习题2
第3章 LINGO软件的基本使用方法
3.1 LINGO入门
3.1.1 LINGO软件的安装过程和主要特色
3.1.2 在LINGO中使用LINDO模型
3.1.3 编写一个简单的LINGO程序
3.2 在LINGO中使用集合
3.2.1 集合的基本用法和LINGO模型的基本要素
3.2.2 基本集合与派生集合
3.2.3 稠密集合与稀疏集合
3.2.4 集合的使用小结
3.3 运算符和函数
3.3.1 运算符及其优先级
3.3.2 基本的数学函数
……
第4章 LINGO软件与外部文件的接口
第5章 生产与服务运作管理中的优化问题
第6章 经济与金融中的优化问题
第7章 图论与网络模型
第8章 目标规划模型
第9章 对策论模型
第10章 排队论模型
第11章 存储论模型
第12章 数学建模竞赛中的部分优化问题
参考文献
前言/序言
在工程技术、经济管理、科学研究和日常生活等诸多领域中,人们经常遇到的一类决策问题是,在一系列客观或主观限制条件下,寻求使所关注的某个或多个指标达到最大(或最小)的决策.这种决策问题通常称为最优化(或简称为优化)问题,研究处理这类问题的数学方法称为最优化方法,它也是运筹学和管理科学中解决定量决策问题的基本方法,在决策科学化、定量化的呼声日益高涨的今天,用最优化方法解决定量决策问题无疑是符合时代潮流和形势发展需要的,
用最优化方法解决决策问题包括两个基本步骤:首先,需要把实际决策问题翻译、表述成数学最优化的形式,即用数学建模的方法建立决策问题的优化模型,或简称为优化建模;其次,建立优化模型后,需要选择、利用优化方法和工具求解模型.优化建模方法自然具有一般的数学建模方法的共同特性,但优化模型又是一类既重要、又特殊的数学模型,因此优化建模方法又具有一定的特殊性和专业性.此外,由于优化模型的种类很多,很多模型目前还没有有效的求解方法,不同的算法用于求解不同模型的效果可能差异很大,如何利用优化软件求解优化模型也有一定的专业性和技巧性.
本书就是希望以上面两个步骤为突破口,一方面重点介绍优化建模的思想和方法,另一方面重点介绍专业的优化软件包LINDO和LINGO的使用.全书结合具体的案例进行介绍,而很少介绍有关优化的数学理论.之所以这样组织,主要是基于以下考虑:目前国内有关优化的数学理论方面的专门书籍已经很多,有兴趣的读者随时可以从几乎任何一本运筹学或最优化方法的书中找到相应的数学理论;此外,我们希望使本书的起点尽量低,让没有太多数学基础的读者也能读懂绝大部分内容,从而把本书的重点放到强调优化建模方法的重要性和实用性上,并借助专业优化软件的强大功能,直接得到优化模型的结果.
目前国际市场上的专业优化软件以及包含部分优化功能的数学类软件很多,本书之所以选择LINDO和LINGO软件进行介绍,主要是因为LINDO和LINGO软件是著名的专业优化软件,其功能比较强、计算效果比较好,与那些包含部分优化功能的非专业软件相比,通常具有明显的优势.此外,LINDO和LINGO软件使用起来非常简便,很容易学会,在优化软件(尤其是运行于个人电脑上的优化软件)市场占有很大份额,在国外运筹学类的教科书中也被广泛用做教学软件.
《数值计算方法与实践》 图书简介 本书是一部关于数值计算方法的综合性教程,旨在为读者提供深入的理论理解和丰富的实践指导。在当今科学研究和工程应用日益依赖计算能力的时代,掌握高效、准确的数值计算方法已成为科研人员、工程师以及相关领域学生必备的核心技能。本书将系统地介绍线性代数、微积分、常微分方程、偏微分方程等基础数学领域中遇到的核心计算问题,并详细阐述解决这些问题的经典算法和最新进展。 第一部分:数值计算基础与线性代数 本部分将从最基本的数值概念入手,为读者打下坚实的理论基础。我们将首先探讨误差的来源与传播,包括舍入误差、截断误差以及它们如何影响计算结果的精度。理解误差的性质是进行可靠数值计算的前提。 接着,我们将重点关注线性代数方程组的数值求解。这包括直接法,如高斯消元法、LU分解法,以及迭代法,如雅可比迭代法、高斯-赛德尔迭代法和超松弛迭代法(SOR)。我们将深入分析这些方法的原理、收敛条件、计算复杂性,并探讨它们在不同规模和性质的矩阵方程组中的适用性。对于大型稀疏线性系统,还将介绍一些专门的迭代方法,如共轭梯度法(CG)、广度优先搜索法(GMRES)等,并讨论其在大规模科学计算中的优势。 此外,本部分还将涵盖特征值与特征向量的计算。我们将介绍幂法、反幂法、QR算法等经典求解方法,并讨论它们在动力系统分析、主成分分析(PCA)等领域的应用。矩阵的分解技术,如QR分解、SVD(奇异值分解)也将被详细阐述,并说明它们在数据降维、图像处理、推荐系统等方面的广泛用途。 第二部分:插值、逼近与数值积分 在许多应用场景中,我们无法直接获得精确的函数表达式,而只能得到一组离散的数据点。如何根据这些数据点来近似或估计函数在其他点的值,是插值与逼近的核心问题。本部分将详细介绍多项式插值,包括拉格朗日插值和牛顿插值,并分析其存在的吉布斯现象。样条插值作为一种更优越的插值方法,其不同阶数的样条(线性、二次、三次)的构造与性质将被深入剖析,尤其强调三次样条的平滑性和广泛应用。 函数逼近方面,我们将引入最佳平方逼近的概念,以及傅里叶级数和最小二乘逼近在函数逼近中的作用。这些技术对于信号处理、数据压缩等领域至关重要。 数值积分是计算定积分的近似值的方法。本书将系统介绍梯形法则、辛普森法则等牛顿-科特斯公式,并分析它们的精度与收敛性。对于积分区域复杂或被积函数奇点较多的情况,我们将介绍高斯积分法,并阐释其高效率的原理。此外,针对多重积分,还将介绍相应的数值积分方法。 第三部分:数值微分与非线性方程求解 数值微分是利用离散数据点来近似计算函数导数的方法。本书将介绍有限差分法,包括前向差分、后向差分和中心差分,并分析它们的精度。我们将讨论如何利用高阶差分公式提高数值微分的精度,以及如何处理边界效应。 求解非线性方程(组)是科学与工程计算中的另一大类重要问题。本部分将详述一系列经典的求解方法。对于单变量非线性方程,我们将介绍二分法、牛顿法、割线法等,并分析它们的收敛速度和局限性。对于多变量非线性方程组,我们将重点介绍牛顿法的推广——多维牛顿法,并讨论其迭代过程和雅可比矩阵的计算。此外,还将介绍一些鲁棒性更强的全局搜索方法,如模拟退火、遗传算法等,以及在特定问题背景下的其他迭代方法。 第四部分:常微分方程与偏微分方程的数值解法 常微分方程(ODE)在描述动态系统方面扮演着至关重要的角色。本书将系统介绍求解初值问题的各种数值方法。我们将从最简单的欧拉法开始,逐步深入到更精确的方法,如改进欧拉法(斜率法)、龙格-库塔法(RK4等)、以及 Adams-Bashforth 和 Adams-Moulton 等多步法。我们将详细分析这些方法的收敛性、稳定性和计算效率,并讨论如何根据问题的特点选择合适的方法。对于刚性常微分方程,还将介绍特殊的求解器,如向后微分公式(BDF)方法。 偏微分方程(PDE)是描述复杂物理现象(如热传导、流体动力学、电磁场等)的关键数学工具。本书将重点介绍求解PDE的几种主流数值方法。有限差分法将作为基础,详细讲解如何将PDE离散化到网格上,并推导出一系列差分格式(如显式、隐式和Crank-Nicolson格式),分析它们的稳定性和收敛性。有限元方法(FEM)作为一种更灵活、更适用于复杂几何形状的强大工具,也将被重点介绍。我们将从基本概念入手,阐述单元划分、形函数、弱形式以及线性系统的组建,并展示其在实际问题中的应用。对于某些特定类型的PDE,如双曲型方程,还将介绍特征线法、WENO格式等。 第五部分:数据分析与应用 本书的最后一部分将聚焦于数据分析与实际应用。我们将探讨回归分析,包括线性回归和多项线性回归,以及如何利用最小二乘法进行模型拟合。我们将介绍统计量的计算,如均值、方差、协方差,以及置信区间的概念。 此外,还将结合具体的工程和科学案例,演示如何运用前面介绍的数值计算方法解决实际问题。例如,如何利用线性代数方法进行图像压缩,如何利用插值与逼近技术进行数据平滑,如何利用ODE求解器模拟物理系统的演化,以及如何利用PDE求解器模拟热扩散过程等。这些案例将帮助读者巩固所学知识,并体会数值计算方法在解决现实世界问题中的强大能力。 适用读者 本书适合高等院校数学、物理、工程、计算机科学、经济学、金融学等专业的本科生、研究生,以及从事相关领域研究和开发的科研人员和工程师。具备一定的数学基础(如微积分、线性代数)的读者将更容易理解和掌握本书内容。 学习目标 通过学习本书,读者将能够: 深刻理解数值计算方法的核心思想和数学原理。 熟练掌握各类数值计算算法的实现细节和应用技巧。 能够根据具体问题选择最合适的数值计算方法。 具备利用数值计算方法解决实际科学与工程问题的能力。 为进一步深入学习更高级的数值计算技术打下坚实基础。