新書推薦:
《
慈悲与玫瑰
》
售價:HK$
87.4
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:HK$
76.2
《
云中记
》
售價:HK$
76.2
《
中国古代妇女生活(中国古代生活丛书)
》
售價:HK$
47.0
《
你的认知正在阻碍你
》
售價:HK$
65.0
《
我们身边的小鸟朋友:手绘观鸟笔记
》
售價:HK$
78.2
《
拯救免疫失衡
》
售價:HK$
55.8
《
收尸人
》
售價:HK$
72.8
|
編輯推薦: |
运筹学不仅可以“运筹帷幄之中,决胜千里之外”, 也在当今社会各领域都发挥着核心“运筹”的作用!MATLAB是当前主流的科学计算平台,它包含了运筹学中绝大多数理论与方法的程序库,可以高效、快捷地将运筹学理论应用于实际的科研、工程和学习中。《MATLAB运筹学》融合了中外经典的运筹学著作的优点,形成一套完善、易理解的理论体系,并以案例形式通过MATLAB程序对理论进行进一步的深化,既有助于理论学习又促进了理论到实际应用的转化,是一本务实、有价值的科技书!
理论体系更完善
本书综合了国内运筹学著作逻辑清晰、易理解的优点,同时吸纳了国外教材中的部分理论,使得运筹学的理论体系更加完善。例如,第 4 章介绍的内点法在当前的国内运筹学教材中比较少见,但作为运筹学和计算数学非常常用的方法,内点法是不可或缺的。从理论角度,如何在可行域内设置势函数、障碍函数,内点法都十分有效,也很具有代表性,值得学习。另外,本书也包含了遗传算法、模拟退火、多目标优化和粒子群等经典的全局优化算法,将全局优化理论并入运筹学中,也让运筹学的理论体系更完备。
程序案例更丰富
运筹学涉及大量的算法推演和计算,会让部分读者感
|
內容簡介: |
本书以经典运筹学理论为基础,借鉴国外优秀运筹学领域的部分经典理论,新增全局优化算法,并融合MATLAB实现案例,系统介绍运筹学的原理、模型、算法及使用MATLAB的实现。本书采用运筹学理论与MATLAB实现相辅相成的编写模式,理论和实践相结合,更有利于读者学习并将学习成果快速转换为实际应用。全书分三篇,共13章内容。第一篇(第1~7章),主要介绍经典的运筹学理论和方法;第二篇(第8~11章),介绍四种经典的全局优化算法;第三篇(第12和第13章),介绍两个运筹学的综合应用案例。前两篇是本书的主体,主要包括运筹学模型的概念、原理、算法的实现步骤,参数的选取,算法、案例的MATLAB实现过程(通过实际案例将算法与命令融合在一起,包括详细的代码、结果)等内容。
本书可作为本科生、研究生的运筹学教材或参考用书,还可作为广大科研人员、学者、工程技术人员的参考用书。
|
關於作者: |
卓金武(1982-),硕士,MathWorks中国高级工程师,教育行业经理。曾获全国大学生数学建模竞赛一等奖二项(2003, 2004),全国研究生数学建模竞赛一等奖一项(2007)
|
目錄:
|
第一篇运筹学基础
第1章单纯形法
1.1本章内容
1.2线性规划问题及其标准数学模型
1.2.1什么是线性规划问题
1.2.2线性规划问题的标准形式
1.3用单纯形法解决线性规划问题
1.3.1线性规划问题中的概念和原理
1.3.2单纯形法的原理
1.3.3两阶段法求解一般的线性规划问题
1.4单纯形法的MATLAB实现
1.4.1MATLAB知识储备
1.4.2S函数
1.4.3主程序
1.4.4直接用优化工具箱解线性规划问题
1.5利用linprog命令解决投资问题
1.6单纯形法的计算复杂度浅析
1.7本章小结
第2章对偶单纯形法
2.1本章内容
2.2对偶问题的提出
2.2.1拉格朗日乘数法
2.2.2对偶问题的生成
2.3对偶问题的性质
2.4对偶单纯形法
2.4.1单纯形法的矩阵表达
2.4.2对偶单纯形法的基本原理
2.4.3对偶单纯形法的计算步骤
2.5对偶单纯形法的MATLAB实现
2.6凡卡引理与资产定价
2.6.1凡卡引理
2.6.2资产定价
第3章灵敏度分析
3.1本章内容
3.2灵敏度分析的概念和思路
3.2.1灵敏度分析的概念
3.2.2灵敏度分析的实现思路
3.3资源向量b的变化分析与全局依赖
3.3.1资源向量b的变化分析原理
3.3.2资源向量b的全局依赖
3.3.3资源向量b灵敏度分析的MATLAB实现
3.3.4b对目标函数值和最优解的影响
3.4价值向量c的变化分析与全局依赖
3.4.1价值向量c的变化分析原理
3.4.2价值向量c的全局依赖
3.4.3价值向量c变化的MATLAB实现
3.4.4c对目标函数值和最优解的影响
3.5增加变量的分析
3.5.1增加变量的分析原理
3.5.2增加变量分析的MATLAB实现
3.6改变约束系数矩阵的分析
3.6.1改变约束系数矩阵的分析原理
3.6.2改变约束系数矩阵分析的MATLAB实现
3.6.3改变A的影响
3.7增加约束条件的分析
3.7.1增加约束条件的分析原理
3.7.2增加约束条件分析的MATLAB实现
第4章内点法
4.1本章内容
4.2总述
4.3仿射尺度算法
4.3.1仿射尺度算法的原理
4.3.2仿射尺度算法的实现步骤
4.3.3仿射尺度算法的MATLAB实现
4.3.4初始值
4.3.5仿射尺度算法的计算复杂度浅析
4.4势函数下降算法
4.4.1势函数下降算法的原理
4.4.2势函数下降算法的实现步骤
4.4.3势函数下降算法的MATLAB实现
4.4.4初始值
4.4.5势函数下降算法的计算复杂度
4.5原始路径跟踪算法
4.5.1原始路径跟踪算法的原理
4.5.2原始路径跟踪算法的实现步骤
4.5.3原始路径跟踪算法的MATLAB实现
4.5.4初始值
4.5.5原始路径跟踪算法的计算复杂度
4.6原始对偶路径跟踪算法
4.6.1用牛顿方法寻找非线性方程组的根
4.6.2用牛顿方法解决线性规划问题的原理
4.6.3原始对偶路径跟踪算法的实现步骤
4.6.4原始对偶算法的MATLAB实现
4.6.5自对偶方法
4.6.6原始对偶路径跟踪算法计算复杂度
第5章整数规划
5.1本章内容
5.2建模方法
5.2.1二元选择
5.2.2强制约束
5.2.3变量之间的关系
5.2.4析取约束
5.2.5值的约束范围
5.2.6分段线性成本函数
5.3整数规划的例子
5.4问题的公式化
5.5割平面法
5.6Gomory割平面法的MATLAB实现
5.7分支定界法
5.8分支定界法的MATLAB实现
5.9整数规划的解法
5.1001整数规划的MATLAB实现
5.11整数规划解决旅行商问题的MATLAB实例
第6章图与网络流
6.1本章内容
6.2图
6.2.1图的概念
6.2.2有向图
6.2.3顶点的次
6.2.4子图
6.2.5连通图
6.2.6树
6.2.7生成树
6.3网络流问题的求解
6.3.1网络流解的定义
6.3.2网络流问题的变式
6.4最短路径问题
6.4.1公式化
6.4.2Bellman等式
6.4.3BellmanFord算法
6.4.4Dijkstra算法
6.4.5Dijkstra算法的MATLAB实现
6.4.6Floyd算法
6.4.7Floyd算法的MATLAB实现
6.5最大流问题
6.5.1标号法
6.5.2最大流最小割定理
6.5.3FordFulkerson算法的MATLAB实现
6.6最小费用流问题
6.7最小生成树问题
6.7.1算法1(Kruskal算法)
6.7.2Kruskal算法的MATLAB实现
6.7.3算法2(破圈法)
6.7.4根树及其应用
第7章线性规划的复杂度和椭球法
7.1本章内容
7.2有效算法及其复杂度
7.3椭球法背后的关键几何结果
7.4线性规划的多项式时间算法
7.4.1椭球法
7.4.2算法分析
第二篇全局优化算法
第8章遗传算法
8.1本章内容
8.2遗传算法的原理
8.3遗传算法的步骤
8.3.1初始参数
8.3.2染色体编码
8.3.3适应度函数
8.3.4约束函数的处理
8.3.5遗传算法算子
8.3.6搜索终止条件
8.4遗传算法实例
8.5全局和局部极小值
8.6遗传算法的特点
第9章模拟退火算法
9.1本章内容
9.2退火过程的物理原理
9.2.1固定温度下粒子的转移原则
9.2.2温度对粒子能量分布的影响
9.2.3能量与粒子分布的关系
9.3模拟退火的模型和步骤
9.3.1参数的设定
9.3.2操作要求
9.3.3模拟退火的步骤
9.4模拟退火的MATLAB实现
9.4.1MATLAB实现模拟退火算法的代码
9.4.2一个简单的应用
9.5用模拟退火算法解决TSP问题
9.5.1TSP问题概述与分析
9.5.2能量函数与状态转移函数
9.5.3sa函数的使用
9.5.4设定上的一些问题
9.6模拟退火函数simulannealbnd
9.6.1基本用法
9.6.2options选项
9.6.3problem结构
9.6.4应用实例
第10章粒子群优化算法
10.1本章内容
10.2粒子群优化算法的原理
10.2.1种群的信息共享
10.2.2粒子群优化算法的数学表达
10.3粒子群优化算法的MATLAB实现
10.3.1初始参数
10.3.2MATLAB实现
10.3.3一个简单的例子
10.4粒子群优化算法的进一步说明
10.4.1为什么要重复多次执行算法
10.4.2初始参数如何设定
10.5粒子群优化算法函数particleswarm
10.5.1基本用法
10.5.2应用实例
10.5.3options的使用
10.6粒子群优化算法的收敛机制及优点和缺点讨论
第11章多目标优化算法
11.1本章内容
11.2多目标优化算法概况
11.3Pareto最优解
11.4Gamultiobj算法
11.4.1算法迭代步骤
11.4.2迭代停止条件
11.5Gamultiobj算法的MATLAB实现
11.6多目标优化算法的例子
11.6.1简单的多目标问题
11.6.2具有线性限制条件的多目标问题
11.6.3具有上下界限制的多目标问题
11.7Paretosearch算法
11.8Paretosearch和Gamultiobj算法的比较
第三篇运筹学应用案例
第12章债券优化问题
12.1问题的描述
12.2从Excel中提取数据
12.2.1导入债券价格
12.2.2导入现金流
12.3最优化问题的求解
12.3.1允许债券单个购买时的求解
12.3.2以千支为单位进行购买时的求解
第13章水电站大坝优化
13.1载入数据并定义常值
13.2定义目标函数
13.2.1计算总收益及其Hessian矩阵
13.2.2创建目标函数
13.3限制条件
13.4最小化目标函数并输出结果
参考文献
|
內容試閱:
|
运筹学作为一门现代科学,是在第二次世界大战期间首先在英国和美国发展起来的,但运筹学的思想在中国早已应用于实际,“运筹帷幄之中,决胜千里之外”就体现了运筹学的思想与作用。运筹学以应用数学为基础,利用数学模型和算法寻找复杂问题中的最优或近似最优的解答,对学习、工作、生活都很有帮助。随着科学技术和生产的发展,运筹学已被广泛应用于多个领域,发挥着越来越重要的作用。
关于运筹学的教材已经有一些,国内的教材更容易理解,国外的教材理论体系更强。所以本书综合国内教材逻辑清晰、更容易理解的优点,同时吸纳国外教材中的部分理论,使运筹学的理论体系更加完善。运筹学涉及大量的算法推演和计算,部分读者可能会感觉枯燥,丧失学习的兴趣。其实,随着计算机软件的发展,很多计算工作可以交由软件代劳,这样读者只需轻松理解概念,理解运筹学算法的逻辑,然后直接通过软件得到计算结果即可。在常用的处理运筹学问题的软件中,MATLAB包含的内容全,代码容易理解,且拓展性强,比较有利于学习和后期的应用,所以本书的案例采用MATLAB实现。读者可以通过代码快速实现运筹学的应用,同时可以通过分析代码理解运筹学实现的逻辑,也更有利于理论的学习和理解。
全书内容分三篇,第一篇为运筹学基础,包括第1~7章; 第二篇为全局优化算法,包括第8~11章; 第三篇为运筹学应用案例,包括第12章和第13章。
第1章介绍线性规划最基本的解法——单纯形法。在原理的叙述上,尽量避免冗长的算式,采用线性代数的方式揭示该算法工作的本质。在本章的最后给出了单纯形法的实现代码,可以帮助读者深入理解单纯形法,以及单纯形法的数学语言与计算机语言的转换方式。
第2章介绍对偶单纯形法。在对偶单纯形法的学习中,最容易遇到的问题是知其然而不知其所以然,为此本章从读者熟悉的拉格朗日乘数法开始讲解,解释为什么需要对偶单纯形法,并对原问题和对偶问题的有关性质用代数证明。值得一提的是,我们介绍如何利用对偶单纯形法证明凡卡引理,由此引出资产定价中重要的无套利原理。
第3章首先介绍何为灵敏度分析,接下来将其具体应用到线性规划问题中。灵敏度分析是衡量一个模型的重要准则,求解小体量的线性规划问题可能不足以看到它的优越性,但这种思路是应该掌握的。
第4章内点法的内容在当前国内运筹学教材中比较少见。作为计算数学常用的方法,掌握内点法对于有志于进行算法学习的读者是必要的。在可行域内寻找势函数、障碍函数的设置,内点法都是十分有代表性、值得深入理解的方法。本章涉及丰富的代数证明,需要读者有一定的线性代数基础。
第5章介绍整数规划方法,包括割平面法、分支定界法和01整数规划,并针对每种算法,利用相关例子和具体代码演示。对于实际案例,很多优化问题的变量往往存在整数限制,所以整数规划的各种方法都具有实际意义。基于整数规划算法的应用意义,本章在模型建立阶段具体介绍模型的选择、限制条件的转换、整数规划模型的变式,将各种情况的一般问题归结为容易解决的数学形式。本章的最后介绍利用整数规划解决问题的MATLAB实例,帮助读者理解整数规划的应用场景和具体应用过程。
第6章介绍图与网络流问题,包括几种经典的网络流问题,即最短路径问题、最大流问题、最小费用流问题和最小生成树问题的解决方法。标记法等人工计算方法和较为复杂的借助程序的算法并重,针对不同问题都给出了较为简便的优化算法。另外,引入了一些网络流问题变式的形成过程和BellmanFord算法,丰富网络流问题的公式化和最短路径问题的解决方案。
第7章介绍线性规划的复杂度和椭球法。本章着眼于线性规划的新方向,这一方向强调几何方法,并引进非线性规划的技巧,介绍研究椭球法的目的,即增强算法有效性及几何基础知识。解释椭球法的思想旨在为读者解决线性规划问题提供新的思路,为算法有效性的改进提供可能性,同时提示读者在学习、研究规划算法时需注意对算法的计算复杂度有所考查。
第8章介绍遗传算法。遗传算法是启发式算法中最为经典的一种算法,是根据遗传进化过程而设计的算法,也是全局优化算法中适应非常广的著名的方法之一。本章详细介绍遗传算法的原理、步骤和MATLAB实现过程。
第9章介绍模拟退火算法,也是全局优化算法中比较经典的算法,其最有趣的过程是基于固体退火的原理而设计。本章介绍模拟退火算法的原理、参数设置的方法、旅行商问题的求解实例以及MATLAB求解器的使用方法。
第10章介绍粒子群优化算法。其算法原理是鸟群采用信息共享的机制进行觅食,也是比较有趣的全局优化算法。本章除了介绍算法的原理、实现过程外,还介绍相关的使用经验,以及与其他全局优化算法在收敛性方面的比较。
第11章介绍多目标优化算法。重点介绍多目标优化的机理、算法步骤和应用实例,丰富了运筹学的内容。
第12章介绍经典运筹学在金融行业的综合应用案例,使用的是线性规划方法,并分别介绍是否有整数约束的两种情况下的求解过程。
第13章介绍工程上的水电站大坝优化的综合应用案例,使用非线性规划和二次规划,给出详细的工程背景介绍及实现过程。
最后,感谢清华大学出版社盛东亮和钟志芳老师一直以来的支持和鼓励,帮助我们顺利完成书稿!
由于作者水平有限,书中疏漏之处在所难免,在此,诚恳地期待广大读者批评指正,我将在科学与技术的路上与大家互勉共进!
卓金武2022年10月
|
|