本書是羅納德L.拉丁所著的經(jīng)典教材,時隔18年首次修訂,面向本科生(姊妹篇DiscreteOptimization針對研究生階段的學(xué)生,1988年問世),首版于1998年,被美國工業(yè)工程師協(xié)會(IIE)評選為年度圖書。本書宗旨是給不同學(xué)科背景的讀者提供運籌學(xué)學(xué)習的全面指南。涵蓋運籌學(xué)的全部內(nèi)容(整數(shù)、非整數(shù)算法,網(wǎng)絡(luò)編程,動態(tài)數(shù)學(xué)建模等),加入了眾多主題和案例,每種算法和分析都配有一個小故事和計算練習。修訂版本提升了本書作為本科生教材的難度,與研究生階段的內(nèi)容銜接更為緊密,同時又可作為研究、專業(yè)人員的自學(xué)和參考用書。已被普渡大學(xué)、加州大學(xué)歐文分校、華盛頓大學(xué)等高校采用。
前 言距離《運籌學(xué)》(Optimization in Operations Research)第1版出版已近20年了。在此期間上千學(xué)生和百余名教師、研究人員和相關(guān)從業(yè)者有機會從本書的連貫性內(nèi)容和易讀性設(shè)計中受益。誠然,這本書很難讓所有讀者都受益,但仍然有很多人通過書評或信件的方式表達了他們對這本書的贊許之情。美國工業(yè)工程師協(xié)會也高度評價了此書,并授予其1999年聯(lián)合出版年度圖書獎。
在第2版中,我盡量保留了上一版中最好的部分,并在其基礎(chǔ)上加入了新的內(nèi)容。本書的編寫目標不變——給那些在學(xué)習過程中的高年級本科生或剛?cè)雽W(xué)的研究生以及參照本書自學(xué)的研究人員和業(yè)界相關(guān)從業(yè)者提供優(yōu)化建模和分析的工具,希望他們將學(xué)習到的相關(guān)知識技能與管理洞察力應(yīng)用在實際操作中,為以后的工作提供幫助。
本書第2版中增加了許多新內(nèi)容:
●在第4章隨機優(yōu)化問題中,第一次引入了隨機規(guī)劃的相關(guān)內(nèi)容,并在第9章討論了馬爾可夫決策過程。
●關(guān)于線性規(guī)劃的討論,在第6章加入了兩種對偶方法(即encompass dual和primal-dual方法)。
●新內(nèi)容詳細整理了最優(yōu)化問題的各種情況,包括第6章的線性規(guī)劃與第12章的割平面法。
●將匈牙利算法納入作業(yè)部分,并在第10章加入最小/最大生成樹方法的介紹。
●新加入的第13章介紹了大規(guī)模最優(yōu)化問題的相關(guān)知識,包括延遲列生成算法、拉格朗日松弛定理、Dantzig-Wolfe分解與Benders分割法。
●新加入的第14章介紹了有關(guān)計算復(fù)雜度的各種理論,以便更精確地比較問題和算法。
●有關(guān)非線性規(guī)劃的第17章現(xiàn)在涵蓋了比較流行的序列二次規(guī)劃方法。
●在整本教材中提高了數(shù)學(xué)的嚴謹性,比如細化了相關(guān)計算步驟。
為了滿足讀者的興趣和需求,本書加入了很多新內(nèi)容,使得關(guān)于最優(yōu)化和數(shù)學(xué)規(guī)劃問題的討論更加全面。這些內(nèi)容涵蓋線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃、網(wǎng)絡(luò)規(guī)劃和動態(tài)規(guī)劃模型及算法,以及這些問題應(yīng)用領(lǐng)域的豐富案例。
由于本書內(nèi)容面廣,顯然許多讀者閱讀和課程教學(xué)中很少會用到整本書的內(nèi)容,也不會按照書中內(nèi)容順序來使用。所以,我盡量合理組織各章節(jié)內(nèi)容,讓它們盡可能通俗易懂并易于跳躍、重復(fù)閱讀。
章節(jié)之間互相依賴的內(nèi)容已盡可能刪減,留下的部分也有清晰的引用標注。預(yù)備知識簡明地梳理了與所學(xué)內(nèi)容相關(guān)的基礎(chǔ)知識。而定義、原理和算法被安排在顯眼的框圖中,便于讀者查詢和理解。當需要更多篇幅涉及計算和延伸討論等細節(jié)內(nèi)容時,為了易于閱讀,它們被概括總結(jié)到例題中。每個章節(jié)最后都配有練習題,題前有相關(guān)圖標標識哪些題目需要電腦軟件()、計算器()和在網(wǎng)站配有參考答案()。
為了能讓不同知識背景的讀者都感到最優(yōu)化問題的教材有趣且易讀,需要將最優(yōu)化模型和問題相結(jié)合,這是我在撰寫此書時一個堅定的想法。所以在應(yīng)用案例中每個算法和分析都由一個簡短的故事引入。而且在練習題中,計算題也通常會先將問題模型化。這些故事大部分都源于真實的運籌學(xué)案例。故事的設(shè)定有時看起來不太自然,但都能幫助讀者理解模型的決策變量、約束和目標以及計算的步驟。比如相比于單單一個抽象的數(shù)學(xué)函數(shù),故事中的某些變量能隨著算法的引入而改善,那么這種改善建議就會給讀者更直觀的感受。同樣,如果讀者能體會到一些現(xiàn)實決策本質(zhì)上是判斷是否引入某項行動時,就更容易理解二元決策變量的含義了。
一般人認為學(xué)生通過作業(yè)練習題能更好地掌握相關(guān)的知識。這也是第2版延續(xù)第1版的傳統(tǒng),在每個章節(jié)最后加入練習題的原因。其中一些練習題摘自教材第1版,而大部分是新的或改良后的題目。這些題目涵蓋范圍十分廣泛,有關(guān)于算法細節(jié)、定義及性質(zhì)的證明題,用以加強對方法的理解;也加入了大量定量計算的練習題,包括對小型案例解決方法的說明與驗證,和更加復(fù)雜困難的應(yīng)用題的案例介紹。它們改編自實際運籌問題,有助于鍛煉讀者的數(shù)理能力。
早期最優(yōu)化問題入門級教材很大程度關(guān)注于如何依靠算法來計算小案例的解。但隨著現(xiàn)今實際問題逐漸改由大型計算機軟件計算,教材有時會將注意力局限在構(gòu)建數(shù)據(jù)集合而非算法——將計算過程本身看作黑箱。
我盡量避免了上述的兩種極端。如果學(xué)生想掌握計算過程所基于的原理,那么實例的圖解和算法實現(xiàn)就是十分重要的。本書第2版延續(xù)了上一版的模式,在介紹新概念時將篇幅著重于算法實現(xiàn)和求解過程。但是,沒有讀者會僅僅看到算法應(yīng)用到小型例子中就能真切感受到最優(yōu)化方法的力量,所以第1版和第2版的大部分案例和練習中都要求學(xué)生在課上使用軟件求解更加龐大復(fù)雜的問題。這些問題不像小案例那樣易于觀察到答案,需要應(yīng)用正確的求解方法。此外,書中一些部分還涉及了建模編程語言,例如AMPL。
本書的讀者既有本科生也有低年級研究生,在平衡兩類學(xué)生對于內(nèi)容接受程度的過程中,最大的挑戰(zhàn)就是數(shù)理內(nèi)容嚴謹性的問題。初級教材僅簡單介紹計算方法的內(nèi)容,而很少證明其正確性。進階的教材通常很快進入嚴謹?shù)臄?shù)學(xué)定理和公式的證明,幾乎不包含任何關(guān)于基本策略和思路的討論。
在第1版中我努力縮小兩者的差異,在書中不僅關(guān)注于方法背后的策略和思路,同時提供
目 錄
譯者序
前 言
作者簡介
第1章 運用數(shù)學(xué)模型解決問題1
1.1 運籌學(xué)應(yīng)用案例1
1.2 優(yōu)化及運籌學(xué)方法的步驟3
1.3 系統(tǒng)邊界、敏感性分析、易處理性以及有效性7
1.4 描述性模型與仿真模擬9
1.5 數(shù)值搜索,精確解與啟發(fā)解12
1.6 確定模型與隨機模型14
1.7 本章小結(jié)16
練習題17
第2章 運籌學(xué)中的確定性優(yōu)化模型19
2.1 決策變量、約束條件以及目標函數(shù)19
2.2 圖解法和最優(yōu)化產(chǎn)出22
2.3 大型優(yōu)化模型及其標引32
2.4 線性規(guī)劃與非線性規(guī)劃38
2.5 離散(或者整數(shù))規(guī)劃43
2.6 多目標優(yōu)化模型50
2.7 優(yōu)化模型分類小結(jié)54
2.8 計算機求解技術(shù)以及AMPL54
練習題61
參考文獻76
第3章 搜索算法77
3.1 搜索算法、局部和全局最優(yōu)77
3.2 沿可行改進方向的搜索86
3.3 可行改進方向的代數(shù)條件93
3.4 線性目標和凸集的易處理性102
3.5 尋找初始可行解109
練習題116
參考文獻119
第4章 線性規(guī)劃120
4.1 資源分配模型120
4.2 混料模型124
4.3 運營規(guī)劃模型128
4.4 排班和人員規(guī)劃模型137
4.5 多階段模型141
4.6 可線性化的非線性目標模型146
4.7 隨機規(guī)劃152
練習題157
參考文獻175
第5章 線性規(guī)劃的單純形法176
5.1 線性規(guī)劃的最優(yōu)解和標準型176
5.2 頂點搜索和基本解187
5.3 單純形法196
5.4 字典和單純形表204
5.5 兩階段法208
5.6 退化與零步長217
5.7 單純形法的收斂和循環(huán)220
5.8 力求高效:修正單純形法222
5.9 有簡單上下限的單純形法233
練習題240
參考文獻245
第6章 線性規(guī)劃的對偶理論與靈敏度分析246
6.1 通用的活動視角與資源視角246
6.2 對線性規(guī)劃模型系數(shù)變化的定性靈敏度分析250
6.3 線性規(guī)劃模型系數(shù)靈敏度的定量分析:對偶模型259
6.4 構(gòu)造線性規(guī)劃的對偶問題267
6.5 計算機輸出結(jié)果與單個參數(shù)變化的影響271
6.6 模型大幅度改動,再優(yōu)化以及參數(shù)規(guī)劃285
6.7 線性規(guī)劃中的對偶問題和最優(yōu)解292
6.8 對偶單純形法的搜索304
6.9 原始—對偶單純形法搜索308
練習題313
參考文獻327
第7章 線性規(guī)劃內(nèi)點法328
7.1 在可行域內(nèi)部搜索328
7.2 對當前解進行尺度變換336
7.3 仿射尺度變換搜索342
7.4 內(nèi)點搜索的對數(shù)障礙法348
7.5 原始對偶內(nèi)點法358
7.6 線性規(guī)劃搜索算法的復(fù)雜性364
練習題365
參考文獻371
第8章 目標規(guī)劃372
8.1 多目標優(yōu)化模型372
8.2 有效點和有效邊界377
8.3 搶占式優(yōu)化和加權(quán)目標382
8.4 目標規(guī)劃387
練習題396
參考文獻407
第9章 最短路與離散動態(tài)規(guī)劃408
9.1 最短路模型408
9.2 利用動態(tài)規(guī)劃解決最短路問題415
9.3 一對多的最短路問題:貝爾曼—福特算法422
9.4 多對多最短路問題:弗洛伊德—瓦爾肖算法428
9.5 無負權(quán)一對多最短路問題:迪杰斯特拉算法435
9.6 一對多無環(huán)圖最短路問題440
9.7 CPM項目計劃和最長路444
9.8 離散動態(tài)規(guī)劃模型450
9.9 利用動態(tài)規(guī)劃解決整數(shù)規(guī)劃問題458
9.10 馬爾科夫決策過程461
練習題466
參考文獻476
第10章 網(wǎng)絡(luò)流與圖477
10.1 圖、網(wǎng)絡(luò)與流477
10.2 用于網(wǎng)絡(luò)流搜索的圈方向487
10.3 消圈算法求最優(yōu)流497
10.4 網(wǎng)絡(luò)單純形法求最優(yōu)流504
10.5 最優(yōu)網(wǎng)絡(luò)流的整性512
10.6 運輸及分配模型514
10.7 用匈牙利算法求解分配問題521
10.8 最大流與最小割527
10.9 多商品及增益/損耗流533
10.10 最。畲笊蓸539
練習題544
參考文獻560
第11章 離散優(yōu)化模型561
11.1 塊狀/批量線性規(guī)劃及固定成本561
11.2 背包模型與資本預(yù)算模型566
11.3 集合包裝、覆蓋和劃分模型571
11.4 分配模型及匹配模型579
11.5 旅行商和路徑模型588
11.6 設(shè)施選址和網(wǎng)絡(luò)設(shè)計模型596
11.7 處理機調(diào)度及排序模型602
練習題613
參考資料630
第12章 離散優(yōu)化求解方法631
12.1 全枚舉法求解631
12.2 離散優(yōu)化模型的松弛模型及其應(yīng)用633
12.3 分支定界搜索649
12.4 分支定界法的改良660
12.5 分支切割法671
12.6 有效不等式組676
12.7 割平面理論681
練習題688
參考資料702
第13章 大規(guī)模優(yōu)化方法703
13.1 列生成算法和分支定價算法703
13.2 拉格朗日松弛算法713
13.3 Dantzig-Wolfe分解算法726
13.4 Benders分解算法731
練習題737
參考文獻742
第14章 計算復(fù)雜性理論743
14.1 問題、實例和求解的難度743
14.2 衡量算法復(fù)雜性及問題的難度745
14.3 可解問題的多項式時間驗證標準748
14.4 多項式可解和非確定多項式可解749
14.5 多項式時間歸約和NP難問題753
14.6 P問題和NP問題755
14.7 求解NP難問題757
練習題760
參考文獻764
第15章 離散優(yōu)化的啟發(fā)式算法765
15.1 構(gòu)造型啟發(fā)式算法765
15.2 針對離散優(yōu)化INLPs問題改進搜索啟發(fā)式算法771
15.3 元啟發(fā)式算法:禁忌搜索和模擬退火777
15.4 進化元啟發(fā)式算法和遺傳算法784
練習題787
參考文獻793
第16章 無約束的非線性規(guī)劃794
16.1 無約束非線性規(guī)劃模型794
16.2 一維搜索803
16.3 導(dǎo)數(shù)、泰勒級數(shù)和多維的局部最優(yōu)解條件812
16.4 凹凸函數(shù)和全局最優(yōu)822
16.5 梯度搜索827
16.6 牛頓法831
16.7 擬牛頓法和BFGS搜索835
16.8 無導(dǎo)數(shù)優(yōu)化和Nelder-Mead法842
練習題849
參考文獻854
第17章 帶約束的非線性規(guī)劃855
17.1 帶約束的非線性規(guī)劃模型855
17.2 特殊的NLP:凸規(guī)劃、可分離規(guī)劃、二次規(guī)劃和正項幾何規(guī)劃862
17.3 拉格朗日乘子法876
17.4 KARUSH-KUHN-TUCKER最優(yōu)性條件882
17.5 懲罰與障礙法890
17.6 既約梯度法898
17.7 二次規(guī)劃求解方法909
17.8 序列二次規(guī)劃917
17.9 可分離規(guī)劃方法920
17.10 正項幾何規(guī)劃方法927
練習題934
參考文獻945