注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語(yǔ)言/工具運(yùn)籌優(yōu)化常用模型、算法及案例實(shí)戰(zhàn)(Python+Java實(shí)現(xiàn))

運(yùn)籌優(yōu)化常用模型、算法及案例實(shí)戰(zhàn)(Python+Java實(shí)現(xiàn))

運(yùn)籌優(yōu)化常用模型、算法及案例實(shí)戰(zhàn)(Python+Java實(shí)現(xiàn))

定 價(jià):¥128.00

作 者: 劉興祿、熊望祺、臧永森、段宏達(dá)、曾文佳、陳偉堅(jiān)
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787302600145 出版時(shí)間: 2022-10-01 包裝: 平裝-膠訂
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《運(yùn)籌優(yōu)化常用模型、算法及案例實(shí)戰(zhàn)》主要講述運(yùn)籌優(yōu)化領(lǐng)域常用的數(shù)學(xué)模型、精確算法以及相應(yīng)的代碼實(shí)現(xiàn)。首先簡(jiǎn)要介紹基本理 論,然后用豐富的配套案例講解多個(gè)經(jīng)典的精確算法框架,最后結(jié)合常用的優(yōu)化求解器(CPLEX 和 Gurobi)說(shuō)明如何用 Python 和 Java 語(yǔ)言實(shí)現(xiàn)書(shū)中提到的所有精確算法。 全書(shū)共分 3 部分。第 I 部分(第 1~4 章)為運(yùn)籌優(yōu)化常用模型及建模技巧。該部分著重介紹整數(shù)規(guī) 劃的建模技巧和常見(jiàn)的經(jīng)典模型。第 II 部分(第 5~7 章)為常用優(yōu)化求解器 API 詳解及應(yīng)用案例。該 部分主要介紹兩款常用的商業(yè)求解器(CPLEX 和 Gurobi)的使用方法,包括 Python 和 Java 的 API 詳 解、簡(jiǎn)單案例以及復(fù)雜案例。第 III 部分(第 8~17 章)為運(yùn)籌優(yōu)化常用算法及實(shí)戰(zhàn)。該部分詳細(xì)介紹幾 個(gè)經(jīng)典的精確算法的理論、相關(guān)案例、偽代碼以及相應(yīng)的代碼實(shí)現(xiàn)。 本書(shū)適合作為高等院校工業(yè)工程、管理科學(xué)與工程、信息管理與信息系統(tǒng)、數(shù)學(xué)與應(yīng)用數(shù)學(xué)、物流 工程、物流管理、控制科學(xué)與工程等開(kāi)設(shè)運(yùn)籌學(xué)相關(guān)課程的高年級(jí)本科生、研究生教材,同時(shí)也可供在 物流與供應(yīng)鏈、交通、互聯(lián)網(wǎng)、制造業(yè)、醫(yī)療、金融、能源等領(lǐng)域從事有關(guān)運(yùn)籌優(yōu)化的開(kāi)發(fā)人員以及廣 大科技工作者和研究人員參考。

作者簡(jiǎn)介

暫缺《運(yùn)籌優(yōu)化常用模型、算法及案例實(shí)戰(zhàn)(Python+Java實(shí)現(xiàn))》作者簡(jiǎn)介

圖書(shū)目錄


第I部分  運(yùn)籌優(yōu)化常用模型及建模技巧
第1章  運(yùn)籌優(yōu)化算法相關(guān)概念  3
1.1  幾類常見(jiàn)的數(shù)學(xué)規(guī)劃模型  3
1.1.1  線性規(guī)劃  3
1.1.2  混合整數(shù)規(guī)劃  3
1.1.3  二次規(guī)劃  4
1.1.4  二次約束規(guī)劃  4
1.1.5  二次約束二次規(guī)劃  4
1.1.6  二階錐規(guī)劃  5
1.2  凸集和極點(diǎn)  6
1.2.1  凸集  6
1.2.2  極點(diǎn)  7
1.3  多面體、超平面與半平面  7
1.3.1  多面體  7
1.3.2  超平面與半平面  7
1.4  凸組合和凸包  8
1.4.1  凸組合和凸包的概念  8
1.4.2  一些結(jié)論  8
第2章  運(yùn)籌優(yōu)化經(jīng)典問(wèn)題數(shù)學(xué)模型  9
2.1  指派問(wèn)題  9
2.2  最短路問(wèn)題  11
2.3  最大流問(wèn)題  12
2.3.1  問(wèn)題描述  12
2.3.2  問(wèn)題建模及最優(yōu)解  13
2.3.3  最大流問(wèn)題的一般模型  14
2.3.4  Ford–Fulkerson 算法求解最大流問(wèn)題  15
2.3.5  Java實(shí)現(xiàn)Ford–Fulkerson算法求解最大流問(wèn)題  18
2.4  最優(yōu)整數(shù)解特性和幺模矩陣  23
2.4.1  指派問(wèn)題的最優(yōu)解特性驗(yàn)證  24
2.4.2  最短路問(wèn)題的整數(shù)最優(yōu)解特性驗(yàn)證  27
2.4.3  最優(yōu)整數(shù)解特性的理解  31
2.4.4  幺模矩陣和整數(shù)最優(yōu)解特性  32
2.5  多商品網(wǎng)絡(luò)流問(wèn)題  34
2.6  多商品流運(yùn)輸問(wèn)題  37
2.7  設(shè)施選址問(wèn)題  38
2.8  旅行商問(wèn)題  39
2.8.1  TSP建模方法1:子環(huán)路消除約束  41
2.8.2  TSP建模方法2:MTZ約束消除子環(huán)路  42
2.8.3  TSP建模方法3:1-tree建模方法  45
2.9  車輛路徑規(guī)劃問(wèn)題  47
2.9.1  概述  47
2.9.2  VRPTW的一般模型  48
第3章  整數(shù)規(guī)劃建模技巧  51
3.1  邏輯約束  51
3.1.1  兩個(gè)命題  51
3.1.2  二選一約束條件  51
3.1.3  指示約束條件  53
3.2  線性化  54
3.2.1  分段線性函數(shù)線性化  54
3.2.2  含絕對(duì)值形式的線性化  58
3.2.3  含乘積形式的線性化  60
3.2.4  含分式形式的線性化  61
3.2.5  含max/min形式的線性化  62
第4章  大規(guī)模線性規(guī)劃的對(duì)偶  64
4.1  對(duì)偶理論概述  64
4.2  原問(wèn)題與對(duì)偶問(wèn)題之間的關(guān)系  65
4.3  對(duì)偶理論相關(guān)重要定理  66
4.4  最短路問(wèn)題的對(duì)偶  73
4.4.1  借助Excel和具體小算例寫(xiě)出大規(guī)模SPP的對(duì)偶  74
4.4.2  SPP中存在負(fù)環(huán)的特例  76
4.5  多商品網(wǎng)絡(luò)流問(wèn)題的對(duì)偶  81
4.5.1  借助Excel和具體小算例寫(xiě)出大規(guī)模MCNF的對(duì)偶  81
4.5.2  將Excel中的對(duì)偶問(wèn)題表轉(zhuǎn)化成公式形式  83
4.5.3  Python調(diào)用Gurobi求解MCNF  83
第II部分  常用優(yōu)化求解器API詳解及應(yīng)用案例
第5章  CPLEX的Java API詳解及簡(jiǎn)單案例  93
5.1  基于Eclipse的CPLEX Java API的安裝與配置:適用于macOS  93
5.2  基于Eclipse的CPLEX Java API的安裝與配置:適用于Windows  97
5.2.1  基本環(huán)境配置  97
5.2.2  環(huán)境設(shè)置中java.library.path的問(wèn)題  98
5.2.3  Javadoc的設(shè)置  100
5.3  CPLEX建模  102
5.3.1  類與接口  102
5.3.2  變量   102
5.3.3  表達(dá)式   102
5.3.4  范圍約束   104
5.3.5  目標(biāo)函數(shù)   104
5.3.6  建模方式  105
5.3.7  模型求解  108
5.3.8  獲取解的信息  108
5.3.9  模型導(dǎo)出與模型導(dǎo)入  109
5.3.10  參數(shù)  109
5.3.11  其他  114
5.4  傳統(tǒng)回調(diào)  114
5.4.1  參考回調(diào)  115
5.4.2  查詢或診斷回調(diào)  116
5.4.3  控制回調(diào)  117
5.4.4  回調(diào)的終止  118
5.4.5  傳統(tǒng)回調(diào)示例  119
5.5  通用回調(diào)  121
5.5.1  簡(jiǎn)介  121
5.5.2  功能  121
5.5.3  通用回調(diào)的上下文  121
5.5.4  通用回調(diào)示例  123
5.6  Java調(diào)用CPLEX求解整數(shù)規(guī)劃的小例子  124
5.6.1  書(shū)架生產(chǎn)問(wèn)題  124
5.6.2  包裝盒選擇問(wèn)題  128
第6章  Gurobi的Python API詳解及簡(jiǎn)單案例  132
6.1  Python調(diào)用Gurobi環(huán)境配置  132
6.1.1  完整步驟  132
6.1.2  相關(guān)問(wèn)題  132
6.2  Gurobi算法框架介紹  138
6.2.1  Gurobi MIP Algorithms  138
6.2.2  Presolving  140
6.2.3  Node Selection  141
6.2.4  Cutting Planes  142
6.2.5  Heuristics  143
6.2.6  設(shè)置啟發(fā)式的參數(shù)  144
6.2.7  Branching  144
6.3  Gurobi能夠求解的模型類別  145
6.3.1  線性規(guī)劃  145
6.3.2  混合整數(shù)規(guī)劃  147
6.3.3  二次規(guī)劃  148
6.3.4  二次約束二次規(guī)劃  150
6.3.5  二階錐規(guī)劃  152
6.4  Python 調(diào)用Gurobi總體流程  154
6.5  Gurobi求解MIP輸出的日志信息解釋  156
6.5.1  MIP日志示例  156
6.5.2  預(yù)求解部分  157
6.5.3  求解進(jìn)程部分  158
6.5.4  匯總部分  160
6.6  Python接口概述  161
6.6.1  模型概述  161
6.6.2  求解模型  162
6.6.3  多個(gè)解、目標(biāo)函數(shù)和場(chǎng)景  162
6.6.4  不可行的模型  162
6.6.5  查詢和修改模型屬性  163
6.6.6  其他修改模型信息的方法  163
6.6.7  惰性更新  164
6.6.8  參數(shù)管理  164
6.6.9  管理求解進(jìn)程:日志和回調(diào)  165
6.6.10  修改求解器的行為:回調(diào)  165
6.7  Python調(diào)用Gurobi常用類和函數(shù)  165
6.7.1  全局函數(shù)  165
6.7.2  Model類  166
6.7.3  Var類和MVar類  169
6.7.4  Column類  170
6.7.5  目標(biāo)函數(shù)  170
6.7.6  表達(dá)式  171
6.7.7  約束類  172
6.7.8  求解  175
6.7.9  解的輸出  176
6.8  Python接口中的GRB類  176
6.8.1  GRB類中的常量  176
6.8.2  GRB類中的屬性:GRB.Attr 180
6.8.3  GRB類中的參數(shù):GRB.Param 185
6.9  Gurobi的回調(diào)函數(shù)  190
6.9.1  什么是Gurobi的回調(diào)函數(shù)  190
6.9.2  Gurobi回調(diào)函數(shù)的用法  192
6.10  Python 調(diào)用Gurobi的參數(shù)調(diào)優(yōu)  193
6.11  Python調(diào)用Gurobi求解整數(shù)規(guī)劃的簡(jiǎn)單例子  194
第7章  調(diào)用CPLEX和Gurobi求解MIP的復(fù)雜案例:VRPTW和TSP  197
7.1  調(diào)用CPLEX和Gurobi求解VRPTW  197
7.1.1  VRPTW的一般模型  197
7.1.2  Java調(diào)用CPLEX求解VRPTW  198
7.1.3  Java調(diào)用Gurobi求解VRPTW  213
7.1.4  Python調(diào)用Gurobi求解VRPTW  221
7.2  Python調(diào)用Gurobi求解TSP  232
7.2.1  TSP的MTZ建模及調(diào)用Gurobi求解  235
7.2.2  TSP:Python調(diào)用Gurobi實(shí)現(xiàn)callback添加消除子環(huán)路約束  237
第III部分  運(yùn)籌優(yōu)化常用算法及實(shí)戰(zhàn)
第8章  單純形法  249
8.1  線性規(guī)劃問(wèn)題的標(biāo)準(zhǔn)形式  249
8.2  單純形法流程圖及詳細(xì)案例  251
8.3  大$M$法和兩階段法  257
8.4  單純形法偽代碼  259
8.5  Python實(shí)現(xiàn)單純形法  260
第9章  Dijkstra算法  265
9.1  Dijkstra算法求解最短路問(wèn)題詳解  265
9.2  Dijkstra算法步驟及偽代碼  269
9.3  Python實(shí)現(xiàn)Dijkstra算法  271
9.3.1  網(wǎng)絡(luò)數(shù)據(jù)準(zhǔn)備  271
9.3.2  Dijkstra算法實(shí)現(xiàn)  272
9.3.3  算例測(cè)試  273
9.4  拓展  274
第10章  分支定界算法  275
10.1  整數(shù)規(guī)劃和混合整數(shù)規(guī)劃  275
10.2  分支定界算法求解混合整數(shù)規(guī)劃  276
10.3  分支定界算法的一般步驟和偽代碼  286
10.4  分支定界算法執(zhí)行過(guò)程的直觀展示  290
10.5  分支定界算法的分支策略  291
10.6  分支定界算法的搜索策略  292
10.7  分支定界算法的剪枝策略  292
10.8  Python調(diào)用Gurobi實(shí)現(xiàn)分支定界算法的簡(jiǎn)單案例  293
10.9  Python調(diào)用Gurobi實(shí)現(xiàn)分支定界算法求解TSP  300
10.10  Python調(diào)用Gurobi實(shí)現(xiàn)分支定界算法求解VRPTW  301
第11章  分支切割算法  303
11.1  什么是分支切割算法  303
11.2  有效不等式  306
11.3  割平面算法  308
11.3.1  Gomory's分?jǐn)?shù)割平面算法  309
11.3.2  其他割平面算法  313
11.4  分支切割算法: 分支定界 割平面  314
11.4.1  分支切割算法偽代碼  314
11.4.2  分支切割算法: 一個(gè)詳細(xì)的例子  317
11.5  Java調(diào)用CPLEX實(shí)現(xiàn)分支切割算法求解VRPTW  319
11.5.1  分支定界  319
11.5.2  割平面  320
11.6  Python調(diào)用Gurobi實(shí)現(xiàn)分支切割算法求解VRPTW完整代碼  321
11.7  Java 調(diào)用 CPLEX 實(shí)現(xiàn)分支切割算法求解CVRP: 回調(diào)函數(shù)添加割平面  322
11.7.1  CVRP的基本模型  322
11.7.2  割平面  323
第12章  拉格朗日松弛  326
12.1  最優(yōu)性和松弛  326
12.1.1  原始邊界  327
12.1.2  對(duì)偶邊界  328
12.2  對(duì)偶  328
12.3  拉格朗日松弛  329
12.3.1  拉格朗日松弛介紹  329
12.3.2  拉格朗日對(duì)偶問(wèn)題  330
12.3.3  拉格朗日松弛應(yīng)用案例:無(wú)容量限制的設(shè)施選址問(wèn)題  331
12.4  拉格朗日對(duì)偶的加強(qiáng)  333
12.5  求解拉格朗日對(duì)偶  335
12.5.1  次梯度算法求解拉格朗日對(duì)偶  335
12.5.2  應(yīng)用案例:拉格朗日松弛求解TSP  338
12.6  如何選擇拉格朗日松弛  340
12.7  Python調(diào)用Gurobi實(shí)現(xiàn)拉格朗日松弛求解選址--運(yùn)輸問(wèn)題  342
12.7.1  拉格朗日松弛應(yīng)用案例:選址--運(yùn)輸問(wèn)題  342
12.7.2  Python代碼實(shí)現(xiàn)  345
第13章  列生成算法  347
13.1  為什么用列生成算法  347
13.2  下料問(wèn)題  349
13.2.1  引例  349
13.2.2  列生成求解下料問(wèn)題的一般模型及其偽代碼  352
13.2.3  列生成最優(yōu)性的幾個(gè)小問(wèn)題  355
13.3  列生成求解下料問(wèn)題的實(shí)現(xiàn)  356
13.3.1  Python調(diào)用Gurobi實(shí)現(xiàn)列生成求解下料問(wèn)題示例算例:版本1  357
13.3.2  Python調(diào)用Gurobi實(shí)現(xiàn)列生成求解下料問(wèn)題示例算例:版本2
(以人工變量為初始列的方式)  360
13.3.3  Python調(diào)用Gurobi實(shí)現(xiàn)列生成求解下料問(wèn)題 : 版本3  362
13.4  列生成求解TSP  365
13.4.1  TSP的1-tree建模及列生成求解  365
13.4.2  主問(wèn)題  366
13.4.3  子問(wèn)題  367
13.5  列生成求解VRPTW  369
13.5.1  主問(wèn)題  370
13.5.2  子問(wèn)題  372
13.5.3  詳細(xì)案例演示  373
第14章  動(dòng)態(tài)規(guī)劃  393
14.1  動(dòng)態(tài)規(guī)劃  393
14.1.1  動(dòng)態(tài)規(guī)劃求解最短路問(wèn)題  394
14.1.2  問(wèn)題建模和求解  394
14.1.3  一個(gè)較大規(guī)模的例子  396
14.2  動(dòng)態(tài)規(guī)劃的實(shí)現(xiàn)  397
14.2.1  偽代碼  397
14.2.2  Java代碼  398
14.3  動(dòng)態(tài)規(guī)劃求解TSP  403
14.3.1  一個(gè)簡(jiǎn)單的TSP算例  403
14.3.2  偽代碼  408
14.3.3  Python實(shí)現(xiàn):示例算例  409
14.3.4  Python實(shí)現(xiàn):中大規(guī)模算例  412
14.4  標(biāo)簽算法求解帶資源約束的最短路問(wèn)題  419
14.4.1  帶資源約束的最短路問(wèn)題  419
14.4.2  標(biāo)簽算法  424
14.4.3  標(biāo)簽算法的偽代碼   425
14.4.4  標(biāo)簽設(shè)定算法和標(biāo)簽校正算法  426
14.4.5  優(yōu)超準(zhǔn)則和優(yōu)超算法  426
14.4.6  Python實(shí)現(xiàn)標(biāo)簽算法求解SPPRC  427
14.5  Python實(shí)現(xiàn)標(biāo)簽算法結(jié)合列生成求解VRPTW  435
14.5.1  初始化RMP  435
14.5.2  標(biāo)簽算法求解子問(wèn)題  437
第15章  分支定價(jià)算法  438
15.1  分支定價(jià)算法基本原理概述  438
15.2  分支定價(jià)算法求解VRPTW  440
15.2.1  VRPTW的通用列生成建模方法  440
15.2.2  分支定價(jià)算法完整流程及偽代碼  442
15.2.3  分支策略  445
15.2.4  界限更新  449
第16章  Dantzig-Wolfe分解算法  450
16.1  引例  450
16.2  塊角模型與Dantzig-Wolfe分解  454
16.2.1  塊角模型  454
16.2.2  Minkowski表示定理  455
16.2.3  模型分解  455
16.2.4  兩階段法  458
16.3  詳細(xì)案例  459
16.4  Dantzig-Wolfe分解求解大規(guī)?;旌险麛?shù)規(guī)劃  464
16.4.1  兩階段法實(shí)現(xiàn)Dantzig-Wolfe分解算法介紹  465
16.4.2  第1階段  465
16.4.3  第2階段  471
16.5  Python調(diào)用Gurobi實(shí)現(xiàn)Dantzig-Wolfe分解求解多商品流運(yùn)輸問(wèn)題  482
16.5.1  多商品網(wǎng)絡(luò)流模型的區(qū)塊結(jié)構(gòu)  482
16.5.2  多商品流運(yùn)輸問(wèn)題 : Dantzig-Wolfe分解求解  483
16.5.3  Python調(diào)用Gurobi實(shí)現(xiàn)Dantzig-Wolfe分解求解多商品流運(yùn)輸問(wèn)題  487
16.5.4  完整代碼  487
16.5.5  算例格式說(shuō)明  497
16.5.6  算例運(yùn)行結(jié)果  498
16.6  Dantzig-Wolfe分解求解VRPTW  500
第17章  Benders分解算法  504
17.1  分解方法  504
17.1.1  Benders分解的原理  504
17.1.2  Benders分解的全過(guò)程  509
17.1.3  算法框架圖  510
17.1.4  算法偽代碼  511
17.2  詳細(xì)案例  512
17.2.1  問(wèn)題描述和模型轉(zhuǎn)換  512
17.2.2  第1次迭代  513
17.2.3  第2次迭代  515
17.2.4  第3次迭代  516
17.2.5  第4次迭代  517
17.3  Benders分解應(yīng)用案例  518
17.3.1  固定費(fèi)用運(yùn)輸問(wèn)題  518
17.3.2  設(shè)施選址問(wèn)題  520
參考文獻(xiàn)  523
 

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)