本書是一本著重實際應(yīng)用又有一定理論深度的最優(yōu)化方法教材,內(nèi)容包括線性規(guī)劃、運輸問題、整數(shù)規(guī)劃、目標(biāo)規(guī)劃、非線性規(guī)劃(無約束最優(yōu)化與約束最優(yōu)化)、動態(tài)規(guī)劃等最基本、應(yīng)用最廣又最有代表性的最優(yōu)化方法.各章都由實例引入,對主要定理進行證明,引入相應(yīng)的數(shù)學(xué)模型與算法,配有算法例題與詳細(xì)步驟.章末附有習(xí)題,書末有習(xí)題解答與提示.本書還專辟一章,列舉了用新版本的MATLAB軟件包及LINDO/LINGO優(yōu)化軟件包來計算的實例.
本教材在闡述基本概念與基本理論時,力求清晰、透徹,在適當(dāng)?shù)胤脚渲昧艘恍┧伎碱},以促使讀者深入思考,加深對內(nèi)容的理解.在文字?jǐn)⑹龇矫媪η笳Z言淺顯、簡易明了、深入淺出,以便于學(xué)生學(xué)習(xí).
序言
數(shù)學(xué)科學(xué)不僅是自然科學(xué)的基礎(chǔ),也是一切重要技術(shù)發(fā)展的基礎(chǔ).電子計算機的發(fā)明及計算技術(shù)的發(fā)展都以數(shù)學(xué)為其理論基礎(chǔ).計算機技術(shù)的發(fā)展使得數(shù)學(xué)的應(yīng)用更加直接和廣泛,同時也正在改變?nèi)藗儗?shù)學(xué)的傳統(tǒng)認(rèn)識.數(shù)學(xué)素質(zhì)已成為今天培養(yǎng)高層次創(chuàng)新人才的重要基礎(chǔ).
計算數(shù)學(xué)是一門隨著計算機發(fā)展而形成的學(xué)科,研究如何應(yīng)用計算機有效地求解各類計算問題的方法和理論,其中涉及的計算問題主要來源于科學(xué)研究和工程設(shè)計,因此人們又稱這門學(xué)科為科學(xué)計算.今天,計算和實驗、理論分析一起成為當(dāng)今科學(xué)活動的主要方式.在物理、化學(xué)、力學(xué)、材料科學(xué)、環(huán)境科學(xué)、信息科學(xué)和生物科學(xué)等領(lǐng)域,計算方法和技術(shù)已經(jīng)成為被廣泛接受的科學(xué)研究手段,這一系列計算性的分支學(xué)科統(tǒng)稱為計算科學(xué).現(xiàn)在,計算在科學(xué)研究和工程設(shè)計中幾乎無處不在,對科技的發(fā)展起到舉足輕重的作用.由于計算數(shù)學(xué)的發(fā)展已有50多年的歷史,在教學(xué)科研方面有著深厚的積累,傳統(tǒng)的教材建設(shè)也相對比較規(guī)范.伴隨著計算機技術(shù)突飛猛進的發(fā)展,特別是超大規(guī)模計算機平臺的建立和使用,以及科學(xué)研究中不斷增長的對計算方法和技術(shù)的需求,傳統(tǒng)的計算數(shù)學(xué)教材已不能滿足教學(xué)的需要.
信息化已成為當(dāng)今世界發(fā)展的重要趨勢,也是衡量一個國家現(xiàn)代化水平的重要標(biāo)志.信息科學(xué)可以理解為信息獲取、傳輸、處理與控制的科學(xué).我國信息科學(xué)發(fā)展的時間相對較短,但發(fā)展迅猛.發(fā)展信息科學(xué)需要數(shù)學(xué)基礎(chǔ),當(dāng)然也離不開計算機科學(xué).由于信息科學(xué)的多學(xué)科交叉的特點,在不同院校和專業(yè),信息科學(xué)都得到了一定的發(fā)展.但也正是這些原因,使得信息科學(xué)的學(xué)科定位,尤其是教材建設(shè)百家爭鳴,缺乏統(tǒng)一的規(guī)范,給教學(xué)帶來了很大的實際困難.
教育部1998年頒布的普通高等院校專業(yè)目錄中,“信息與計算科學(xué)”專業(yè)被列為數(shù)學(xué)類下的一個新專業(yè).這一新專業(yè)的設(shè)置很好地適應(yīng)了新世紀(jì)以信息和計算技術(shù)為核心的數(shù)學(xué)人才的培養(yǎng).然而,作為一個新專業(yè),對其專業(yè)內(nèi)涵、專業(yè)規(guī)范、教學(xué)內(nèi)容與課程體系等有一個認(rèn)識與探索的過程.教育部數(shù)學(xué)與統(tǒng)計學(xué)教學(xué)指導(dǎo)委員會經(jīng)過多年艱苦細(xì)致的工作,對一些問題有了比較明確的指導(dǎo)意見,發(fā)表了《關(guān)于信息與計算科學(xué)專業(yè)辦學(xué)現(xiàn)狀與專業(yè)建設(shè)相關(guān)問題的調(diào)查報告》及《信息與計算科學(xué)專業(yè)教學(xué)規(guī)范》(討論稿)(見《大學(xué)數(shù)學(xué)》第19卷1期(2003)).按照新的教學(xué)規(guī)范,信息與計算科學(xué)專業(yè)是以信息技術(shù)和計算技術(shù)的數(shù)學(xué)基礎(chǔ)為研究對象的理科類專業(yè).其目標(biāo)是培養(yǎng)學(xué)生具有良好的數(shù)學(xué)基礎(chǔ)和數(shù)學(xué)思維能力,掌握信息與計算科學(xué)基礎(chǔ)理論、方法與技能,能解決信息技術(shù)和科學(xué)與工程計算中實際問題的高級專門人才.
近年來在教育部領(lǐng)導(dǎo)下,高等院校每年大量擴大招生,從而使得我國的高等教育從精英化向大眾化轉(zhuǎn)變.現(xiàn)在全國大約有400所高校開辦了“信息與計算科學(xué)”專業(yè),每年招收 3萬名左右的本科生.其中大部分學(xué)校缺乏從事該領(lǐng)域教學(xué)科研經(jīng)驗的教師,對專業(yè)的定位及課程設(shè)置也不明確.即使是全國一流的高校,也是偏向于單一學(xué)科,新專業(yè)沒有一個完整的切實可行的教學(xué)大綱,適合交叉學(xué)科專業(yè)的教材極其匱乏。
“信息與計算科學(xué)”專業(yè)屬于數(shù)學(xué)類,前兩年的課程基本上是明確的,教材也很多.本套系列教材重點建設(shè)后兩年的專業(yè)課.由于重點高校大部分有自己的課程體系和教材建設(shè),本系列教材主要針對普通高等學(xué)校開辦的該專業(yè).依據(jù)教育部“強基礎(chǔ),寬口徑,重實際,有側(cè)重,創(chuàng)特色”的辦學(xué)指導(dǎo)思想,清華大學(xué)出版社組織的《高等院校信息與計算科學(xué)專業(yè)系列教材》編委會成員對專業(yè)定位、課程設(shè)置、教材內(nèi)涵等進行了深入的探討,并邀請有多年教學(xué)和科研經(jīng)驗的教師編寫系列教材.特別是北京大學(xué)姜明教授等對涉及信息科學(xué)的教材建設(shè)花費了大量心血,在此對他們表示感謝.
為適應(yīng)不同類型院校和不同層次要求的課程需求,教材建設(shè)也需要多樣化和層次化.我們相信,該系列教材的出版對緩解本專業(yè)教材的緊缺局面,逐步形成專業(yè)定位與課程設(shè)置,推動信息與計算科學(xué)的發(fā)展,培養(yǎng)適應(yīng)時代發(fā)展的交叉學(xué)科人才,提高中國數(shù)學(xué)教育水平起到一定的作用.
張平文2005年9月
前言
最優(yōu)化方法廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、交通運輸、商業(yè)、國防、建筑、通信與政府機關(guān)、管理等各個部門、各個領(lǐng)域;它主要解決最優(yōu)計劃、最優(yōu)分配、最優(yōu)決策、最佳設(shè)計、最佳管理等最優(yōu)化問題.掌握最優(yōu)化思想并善于對遇到的問題進行優(yōu)化處理是各級各類管理人員必須具備的基本素質(zhì),也是培養(yǎng)高層次創(chuàng)新人才所必須具有的重要素質(zhì).本教材就是幫助信息與計算科學(xué)專業(yè)的學(xué)生學(xué)習(xí)如何根據(jù)各類實際問題的特點,抽象出不同的數(shù)學(xué)模型,然后選擇相應(yīng)的方法進行計算及分析其結(jié)果,為在今后工作中進行優(yōu)化處理打下基礎(chǔ).其次,本課程也是該專業(yè)的學(xué)生學(xué)習(xí)某些相關(guān)課程的前提.
本教材是一本著重實際應(yīng)用又有一定理論深度的最優(yōu)化方法教材,內(nèi)容包括線性規(guī)劃、運輸問題、整數(shù)規(guī)劃、目標(biāo)規(guī)劃,非線性規(guī)劃(無約束最優(yōu)化與有約束最優(yōu)化),動態(tài)規(guī)劃等最基本、應(yīng)用最廣又最有代表性的最優(yōu)化方法.書中對于基本的理論、主要的定理都給予了證明,使讀者不僅知其然,而且知其所以然,為其舉一反三、擴大應(yīng)用面打好基礎(chǔ).
本書注重聯(lián)系實際.在介紹每一種規(guī)劃模型前都以實際問題引入.在講清概念和理論后,對各種算法都有詳細(xì)的推導(dǎo)過程,且配有例題、參照例題的解法,讀者可以比較容易理解算法的原理和掌握算法的基本步驟,并學(xué)會如何應(yīng)用這些算法.書中還配有幾十個各行各業(yè)的應(yīng)用實例,讀者參照這些實例可以學(xué)習(xí)到如何根據(jù)實際問題建立相應(yīng)數(shù)學(xué)模型的方法與技巧.
建立數(shù)學(xué)模型是為了解決實際問題,得到計算結(jié)果.書中還列舉了用新版本的MATLAB及LINDO/LINGO軟件包進行計算分析結(jié)果的實例.
本教材在闡述基本概念與基本理論時,力求清晰、透徹,在適當(dāng)?shù)胤脚渲昧艘恍┧伎碱},以促使讀者深入思考,加深對內(nèi)容的理解.在文字?jǐn)⑹龇矫媪η笳Z言淺顯、簡易明了、深入淺出,以便于讀者學(xué)習(xí).
書中各章都配有習(xí)題,書末給出了答案與提示.
本書主要對象是“信息與計算科學(xué)”專業(yè)的大學(xué)生.也可供其他專業(yè)的教學(xué)作參考.
在編寫本書的過程中,得到“高等院校信息與計算科學(xué)專業(yè)系列教材”編委會成員與清華大學(xué)出版社的大力支持.在多年的教學(xué)實踐及編寫本書的過程中,編者從許多國內(nèi)外專家、學(xué)者的著作中汲取了營養(yǎng),獲益匪淺,本書直接或間接地引用了他們的部分成果(見書末參考文獻(xiàn)).第7章中用MATLAB及LINDO/LINGO軟件計算的部分例題是由牛波同學(xué)完成的.在此一并表示感謝與敬意.
由于成書時間倉促,作者水平有限,書中缺點甚至錯誤在所難免,敬請專家、學(xué)者及讀者不吝指教.
編者2006年10月
第1章線性規(guī)劃1
1.1線性規(guī)劃問題的基本概念1
1.1.1線性規(guī)劃問題及其數(shù)學(xué)模型1
1.1.2兩個變量問題的圖解法5
1.1.3線性規(guī)劃數(shù)學(xué)模型的標(biāo)準(zhǔn)形式及解的概念10
1.1.4線性規(guī)劃的基本理論17
1.2單純形法27
1.2.1單純形法原理27
1.2.2單純形表44
1.2.3人工變量及其處理方法53
1.2.4單純形法的矩陣描述61
*1.2.5改進單純形法66
1.3線性規(guī)劃的對偶理論74
1.3.1對偶問題74
1.3.2對偶理論84
1.3.3對偶解(影子價格)的經(jīng)濟解釋94
1.3.4對偶單純形法95
1.3.5靈敏度分析102
1.4運輸問題116
1.4.1運輸問題的數(shù)學(xué)模型及其特點117
1.4.2表上作業(yè)法121
1.4.3產(chǎn)銷不平衡的運輸問題141
1.5線性目標(biāo)規(guī)劃147
1.5.1線性目標(biāo)規(guī)劃的基本概念與數(shù)學(xué)模型148
1.5.2線性目標(biāo)規(guī)劃的圖解法153
1.5.3線性目標(biāo)規(guī)劃的序貫式算法159
1.5.4線性目標(biāo)規(guī)劃的單純形算法166
1.6線性規(guī)劃應(yīng)用實例172
1.6.1配料問題172
1.6.2有配套約束的資源優(yōu)化問題174
1.6.3多周期動態(tài)生產(chǎn)計劃問題177
習(xí)題1179
第2章整數(shù)規(guī)劃197
2.1整數(shù)規(guī)劃問題的數(shù)學(xué)模型197
2.1.1整數(shù)規(guī)劃問題舉例197
2.1.2整數(shù)規(guī)劃的一般數(shù)學(xué)模型199
2.2分枝定界法202
2.3割平面法212
2.401型整數(shù)規(guī)劃220
2.4.1特殊約束的處理220
2.4.201型整數(shù)規(guī)劃的典型應(yīng)用問題222
2.4.3求解小規(guī)模01型規(guī)劃問題的隱枚舉法225
2.5指派問題與匈牙利解法227
2.5.1指派問題的數(shù)學(xué)模型227
2.5.2匈牙利法的基本原理228
2.5.3匈牙利法的求解步驟232
習(xí)題2242
第3章非線性規(guī)劃的基本概念與基本原理246
3.1非線性規(guī)劃的數(shù)學(xué)模型246
3.1.1非線性規(guī)劃問題舉例246
3.1.2非線性規(guī)劃問題的一般數(shù)學(xué)模型249
3.1.3局部最優(yōu)解與全局最優(yōu)解252
3.2無約束問題的最優(yōu)性條件253
3.2.1多元函數(shù)的導(dǎo)數(shù)與極值253
3.2.2無約束問題的最優(yōu)性條件263
3.3凸函數(shù)與凸規(guī)劃271
3.3.1凸函數(shù)的定義與性質(zhì)271
3.3.2凸函數(shù)的判別準(zhǔn)則277
3.3.3凸規(guī)劃283
3.4解非線性規(guī)劃的基本思路285
3.4.1基本迭代格式285
3.4.2下降方向與可行下降方向286
3.4.3非線性規(guī)劃迭代算法的一般步驟288
3.4.4計算的終止條件291
3.4.5有關(guān)收斂速度問題291
3.5一維搜索292
3.5.1黃金分割法294
3.5.2加步探索法302
3.5.3牛頓法305
3.5.4拋物線法307
習(xí)題3311
第4章無約束問題的最優(yōu)化方法313
4.1變量輪換法313
4.2最速下降法317
4.2.1基本原理317
4.2.2最速下降法的算法步驟320
4.3牛頓法323
4.3.1牛頓方向和牛頓法324
4.3.2計算舉例326
4.3.3修正牛頓法328
4.4共軛梯度法330
4.4.1共軛方向與共軛方向法331
4.4.2正定二次函數(shù)的共軛梯度法335
4.4.3非二次函數(shù)的共軛梯度法344
*4.5變尺度法簡介346
習(xí)題4347
第5章約束問題的最優(yōu)化方法349
5.1約束極值問題的最優(yōu)性條件349
5.1.1起作用約束與可行下降方向349
5.1.2庫恩塔克條件353
5.2可行方向法360
5.2.1可行方向法的基本原理361
5.2.2可行方向法的計算步驟365
5.3近似規(guī)劃法377
5.3.1線性近似規(guī)劃的構(gòu)成378
5.3.2近似規(guī)劃法的算法步驟379
5.3.3計算舉例380
5.4制約函數(shù)法384
5.4.1外點法385
5.4.2內(nèi)點法391
5.5二次規(guī)劃396
5.5.1正定二次規(guī)劃的起作用集方法396
*5.5.2逐步二次逼近法介紹412
習(xí)題5414
第6章動態(tài)規(guī)劃417
6.1動態(tài)規(guī)劃問題實例417
6.2動態(tài)規(guī)劃的基本概念420
6.2.1多階段決策過程420
6.2.2動態(tài)規(guī)劃的基本概念423
6.3最優(yōu)性定理與基本方程428
6.3.1最優(yōu)性原理428
6.3.2最優(yōu)性定理429
6.3.3動態(tài)規(guī)劃的基本方程430
6.4動態(tài)規(guī)劃的應(yīng)用舉例439
6.4.1資源分配問題440
6.4.2生產(chǎn)與庫存計劃問題447
*6.4.3設(shè)備更新問題456
習(xí)題6461
第7章用優(yōu)化軟件計算實例464
7.1用MATLAB 7.0優(yōu)化工具箱計算實例464
7.2用LINDO/LINGO軟件計算實例480
習(xí)題答案與提示494
參考文獻(xiàn)529