詳解MATLAB在最優(yōu)化計算中的應用(第2版)
定 價:68 元
叢書名:MATLAB仿真應用精品叢書
- 作者:李明 編著
- 出版時間:2017/11/1
- ISBN:9787121328701
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP317
- 頁碼:
- 紙張:膠版紙
- 版次:2
- 開本:16開
本書首先介紹MATLAB的基本使用方法和程序設計基礎,然后將MATLAB與*化計算相結(jié)合,基于*化理論與方法,講解如何使用MATLAB求解*化領域的實際問題。這些問題涵蓋*化理論與方法中的線性規(guī)劃問題、整數(shù)規(guī)劃問題、非線性規(guī)劃問題、二次規(guī)劃問題、多目標規(guī)劃問題、圖與網(wǎng)絡優(yōu)化問題,以及現(xiàn)代智能優(yōu)化問題。本書內(nèi)容循序漸進、由淺入深,并結(jié)合大量實例幫助讀者理解和掌握*化問題的建模方法與求解技巧。
案例翔實,MATLAB*化計算的經(jīng)典之作。 提供MATLAB教學視頻免費下載。
前 言
人們在處理生產(chǎn)過程、金融投資、工程應用、機械設計、經(jīng)營管理等實際問題時,都希望以最優(yōu)的方式求得人力、物力和財力的合理運用。如何運用數(shù)學和工程的方法獲取這個最佳處理結(jié)果的問題稱為最優(yōu)化問題。而針對最優(yōu)化問題,如何確定一系列可行方案,然后從可行方案中通過分析、比較和判斷使所得結(jié)果最佳的方法稱為最優(yōu)化方法。
最優(yōu)化理論和方法自古就有,最典型的實例就是黃金分割,最優(yōu)化方法成為科學方法則在17世紀以后。牛頓和萊布尼茨所創(chuàng)建的微積分理論為最優(yōu)化問題的解決提供了理論基礎,而后產(chǎn)生的變分法和簡單的庫存模型等精確的解析方法可以稱為古典最優(yōu)化方法。
古典最優(yōu)化方法雖然出現(xiàn)得比較早,但是由于計算手段的限制導致這些方法在解決實際問題時遇到了瓶頸。到了20世紀40年代末期,第二次世界大戰(zhàn)前后,由于軍事上的需要產(chǎn)生了運籌學,此后,因為計算機的興起和日益普及,使得原來根本制約優(yōu)化設計方法的大運算量問題得以解決,為數(shù)值優(yōu)化方法的發(fā)展提供了有效的手段,于是最優(yōu)化技術突飛猛進,得到了廣泛的應用并創(chuàng)造了巨大的經(jīng)濟效益和社會價值。這個技術熱點也促使了近代最優(yōu)化理論的建立,它主要以數(shù)學規(guī)劃法為基礎,研究各種系統(tǒng)的優(yōu)化途徑及方案,為決策者提供科學決策的依據(jù)。
與此同時,隨著計算機應用技術的發(fā)展,各種可用于最優(yōu)化方法設計與實現(xiàn)的軟件層出不窮,豐富了科研技術人員的開發(fā)研究手段,提高了解決實際問題的效率,MATLAB就是其中的一種。MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學軟件,與Mathematica、Maple并稱為三大數(shù)學軟件。MATLAB以其強大的科學計算功能和覆蓋面廣、專業(yè)性強的工具箱發(fā)展成為適合多學科、跨平臺的大型實用科學計算軟件,也為最優(yōu)化計算問題的解決提供了有力的工具。
在筆者的教學過程中,發(fā)現(xiàn)許多非數(shù)學專業(yè)的學生在學習數(shù)學規(guī)劃、運籌學等與最優(yōu)化理論和方法相關的課程時,往往覺得這些數(shù)學理論晦澀難懂,且由于拘泥于某些細節(jié),很難形成對最優(yōu)化理論和方法的全面了解,阻礙了其分析和解決實際問題的能力。因而筆者一直想撰寫這么一本書,讓讀者覺得最優(yōu)化方法是有趣而且實用的,并且能夠運用科學計算的方法,跳出艱深數(shù)學理論的囹圄,利用MATLAB這個強大的工具實現(xiàn)并驗證自己的想法,加深對最優(yōu)化理論的理解。故本書以工程應用為基礎,將最優(yōu)化理論和方法與MATLAB相結(jié)合,幫助讀者從理論和實踐兩個方面提高解決最優(yōu)化問題的能力,讓即便是數(shù)學基礎不夠深厚的讀者也同樣能夠利用MATLAB解決較難的最優(yōu)化數(shù)學問題,為讀者能夠快速進入這個領域、設計高效可行的最優(yōu)化方案奠定扎實的基礎。
本書的內(nèi)容以最優(yōu)化理論為主線,以最優(yōu)化方法與實際應用相結(jié)合的實例為基礎,并結(jié)合筆者多年的教學實踐經(jīng)驗,介紹各種最優(yōu)化理論和方法在MATLAB中的實現(xiàn)方法。本書的內(nèi)容涵蓋了最優(yōu)化理論與方法中的杰出成果,例如線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃、二次規(guī)劃、多目標規(guī)劃、圖與網(wǎng)絡優(yōu)化等,還兼顧了新近發(fā)展的近代智能優(yōu)化方法,例如遺傳算法、模擬退火、禁忌搜索等,使讀者有機會結(jié)合MATLAB去接觸解決較為復雜最優(yōu)化問題的啟發(fā)式搜索方法,通過探索提高讀者的自我學習能力。
本書由淺入深、循序漸進地讓讀者從整體上把握最優(yōu)化計算的實質(zhì),進而可以將實際的問題抽象成易于理解的數(shù)學模型,同時轉(zhuǎn)換成MATLAB語言進行求解。書中的實例是筆者多年教學中理解和思想的凝練,內(nèi)容經(jīng)過精心的考量和裁剪,相信會受到讀者的認可。
本書分為11章,第1章主要講解MATLAB的應用基礎,包括MATLAB的基本使用方法、MATLAB的數(shù)據(jù)類型和各種運算、MATLAB的圖形功能及工具箱的使用;第2章介紹MATLAB的控制流程、M文件等基礎編程技術及MATLAB的接口知識,并結(jié)合VC 講解如何將MATLAB和其他高級編程語言相結(jié)合,高效地解決實際應用開發(fā)問題;第3章針對本書探討的核心問題最優(yōu)化計算,首先介紹最優(yōu)化問題的概念、最優(yōu)化理論和方法的產(chǎn)生與發(fā)展,然后歸納總結(jié)出最優(yōu)化問題的建模方法;第4章至第10章將MATLAB和最優(yōu)化理論相結(jié)合,分別介紹如何使用MATLAB解決線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃、二次規(guī)劃、多目標規(guī)劃、圖與網(wǎng)絡優(yōu)化和智能優(yōu)化等最優(yōu)化領域的實際問題,分析和總結(jié)各種最優(yōu)化問題的建模方法與求解算法,并給出MATLAB優(yōu)化工具箱中相應函數(shù)的使用方法,通過大量的實例幫助讀者理解最優(yōu)化計算是如何應用于實際問題的。本書對各種最優(yōu)化方法的講解均注重專業(yè)知識和MATLAB實踐應用的結(jié)合,都給出了基本的推導和結(jié)論,分析了各種最優(yōu)化問題的理論求解方法和MATLAB求解方法,方便讀者比照和理解。值得一提的是,筆者在數(shù)學理論的完整性和可讀性之間作了大量權(quán)衡,使得廣大讀者可以各取所需,既滿足了希望深入了解最優(yōu)化理論的讀者的需求,又兼顧了在復雜數(shù)學理論上有所困擾的讀者在應用方面的需求。第11章給出各種最優(yōu)化方法的綜合實例及其MATLAB求解方法。
筆者在撰寫本書的過程中,得到很多同事、同行和朋友的幫助,他們?yōu)楸緯木帉懱峁┝嗽S多寶貴的意見和建議,使得本書的思路和內(nèi)容臻于完善,在此表示深深的謝意。本書還從使用者的角度出發(fā),將筆者自身教學和科研中豐富的經(jīng)驗融入書中知識點的講解,并將MATLAB工具箱與最優(yōu)化實際問題相結(jié)合,使讀者在學習理論知識的同時可以嘗試設計各種最優(yōu)化方案以解決各領域的實際問題,提高讀者將知識轉(zhuǎn)化為能力的水平。
本書在第1版的基礎上,將MATLAB軟件平臺升級到了MATLAB R2014a版本。本書可供最優(yōu)化領域的研究人員參考,也可作為高校該類課程高年級本科生和研究生的教材,還可作為其他科技工作者在科學計算等方面的參考書。
本書提供案例的源代碼及MATLAB R2014a基礎教學視頻下載,讀者可登錄華信教育資源網(wǎng)(www.hxedu.com.cn),注冊成會員后查找本書所在頁面免費下載。
本書主要由李明編著,同時參加編寫工作的還有張玉蘭、高克臻、張云霞、許小榮、王東、王龍、張銀芳、周新國、蔡娜、胡書敏、李爽、蘇靜、張秀梅、賈東永。
由于筆者水平所限,加之時間緊迫,書中疏漏、不當甚至謬誤之處在所難免,在此懇請廣大讀者、同行和各界人士批評和指正。
編 著 者
2017年8月
李明,中國科技大學自動化專業(yè)博士,廣東工業(yè)大學副教授;《運籌學學報》特約編輯。精通MATLAB、最優(yōu)化計算、C/C 。主持的科研項目曾獲科技部三等獎1項,省級優(yōu)秀項目1項。具備豐富的實踐經(jīng)驗和寫作經(jīng)驗,編寫的圖書通俗易懂,指導性強。
目 錄
第1章 MATLAB語言基礎1
1.1 MATLAB簡介1
1.1.1 MATLAB的產(chǎn)生與發(fā)展1
1.1.2 MATLAB語言的優(yōu)勢1
1.2 MATLAB入門2
1.2.1 MATLAB工作環(huán)境2
1.2.2 MATLAB中的數(shù)據(jù)類型8
1.2.3 MATLAB語言中的常量與變量11
1.2.4 MATLAB中的矩陣13
1.2.5 符號運算20
1.2.6 關系與邏輯運算22
1.3 MATLAB中的矩陣運算22
1.3.1 矩陣的代數(shù)運算22
1.3.2 矩陣的關系與邏輯運算25
1.3.3 矩陣分析25
1.4 MATLAB中的圖形功能28
1.4.1 二維圖形29
1.4.2 三維圖形33
1.5 MATLAB工具箱的使用35
1.5.1 MATLAB工具箱的特點35
1.5.2 MATLAB工具箱的使用方法36
1.6 本章小結(jié)37
第2章 MATLAB程序設計38
2.1 MATLAB程序設計方法38
2.1.1 MATLAB中的控制結(jié)構(gòu)38
2.1.2 MATLAB中的M腳本文件和M函數(shù)文件46
2.1.3 MATLAB程序的調(diào)試53
2.2 MATLAB擴展編程55
2.2.1 調(diào)用MATLAB引擎56
2.2.2 調(diào)用動態(tài)鏈接庫65
2.3 本章小結(jié)73
第3章 最優(yōu)化計算問題概論74
3.1 引言74
3.1.1 最優(yōu)化問題的提出74
3.1.2 最優(yōu)化理論和方法的產(chǎn)生與發(fā)展75
3.2 最優(yōu)化問題的典型實例76
3.2.1 資源利用問題76
3.2.2 分派問題77
3.2.3 投資決策問題79
3.2.4 多目標規(guī)劃問題80
3.3 最優(yōu)化問題的數(shù)學描述81
3.3.1 最優(yōu)化問題三要素81
3.3.2 最優(yōu)化問題分類82
3.4 最優(yōu)化問題的解決方案83
3.5 本章小結(jié)84
第4章 線性規(guī)劃85
4.1 引言85
4.2 線性規(guī)劃問題的一般提法85
4.3 線性規(guī)劃問題的標準型87
4.3.1 線性規(guī)劃問題的一般標準型87
4.3.2 線性規(guī)劃問題的矩陣標準型87
4.3.3 線性規(guī)劃問題的向量標準型88
4.3.4 非標準型的標準化88
4.4 線性規(guī)劃問題中解的概念89
4.4.1 基本解90
4.4.2 可行解、可行域91
4.4.3 基本可行解91
4.4.4 最優(yōu)解91
4.4.5 實例91
4.5 線性規(guī)劃問題的求解92
4.5.1 圖形解法93
4.5.2 單純形法94
4.5.3 人工變量單純形法102
4.6 線性規(guī)劃問題的MATLAB求解方法107
4.6.1 線性規(guī)劃問題的MATLAB標準型107
4.6.2 線性規(guī)劃問題求解的MATLAB函數(shù)調(diào)用108
4.7 線性規(guī)劃實例114
4.7.1 生產(chǎn)計劃問題115
4.7.2 連續(xù)投資問題117
4.7.3 配料問題119
4.7.4 運輸問題120
4.7.5 絕對值問題122
4.8 本章小結(jié)124
習題124
第5章 整數(shù)規(guī)劃127
5.1 引言127
5.2 整數(shù)規(guī)劃的數(shù)學模型127
5.2.1 典型的整數(shù)規(guī)劃問題127
5.2.2 整數(shù)規(guī)劃問題的數(shù)學模型131
5.3 整數(shù)規(guī)劃的求解131
5.3.1 理論基礎131
5.3.2 分枝定界法132
5.3.3 隱枚舉法136
5.3.4 匈牙利算法141
5.4 整數(shù)規(guī)劃問題的MATLAB求解方法145
5.4.1 用MATLAB求解一般混合整數(shù)規(guī)劃問題145
5.4.2 用MATLAB求解0-1規(guī)劃問題150
5.4.3 已給出實例的MATLAB求解153
5.5 整數(shù)規(guī)劃的應用實例157
5.5.1 計劃排班問題157
5.5.2 合理下料問題159
5.5.3 生產(chǎn)計劃問題162
5.5.4 背包問題166
5.6 本章小結(jié)168
習題168
第6章 非線性規(guī)劃171
6.1 引言171
6.2 非線性規(guī)劃問題的數(shù)學模型171
6.2.1 典型的非線性規(guī)劃問題171
6.2.2 非線性規(guī)劃問題的數(shù)學模型173
6.3 理論基礎173
6.3.1 全局最優(yōu)解和局部最優(yōu)解174
6.3.2 凸函數(shù)和凸規(guī)劃174
6.3.3 無約束非線性規(guī)劃問題的極值條件177
6.3.4 多維有約束非線性規(guī)劃問題的極值條件179
6.4 非線性規(guī)劃問題的求解183
6.5 一維搜索185
6.5.1 一維搜索的基本思想185
6.5.2 試探法黃金分割法188
6.5.3 插值法牛頓法190
6.5.4 拋物線法192
6.5.5 一維搜索的MATLAB求解192
6.6 多維無約束非線性優(yōu)化196
6.6.1 最速下降法196
6.6.2 牛頓法198
6.6.3 共軛方向法201
6.6.4 Powell算法210
6.6.5 多維無約束優(yōu)化的MATLAB求解函數(shù)fminunc213
6.6.6 多維無約束優(yōu)化的MATLAB求解函數(shù)fminsearch223
6.7 多維約束非線性優(yōu)化226
6.7.1 拉格朗日乘子法226
6.7.2 序列無約束極小化法228
6.7.3 近似規(guī)劃法234
6.7.4 多維約束優(yōu)化的MATLAB求解236
6.8 綜合實例252
6.8.1 商品最優(yōu)存儲方法253
6.8.2 產(chǎn)銷量的最佳安排256
6.9 本章小結(jié)258
習題258
第7章 二次規(guī)劃262
7.1 二次規(guī)劃問題的數(shù)學模型262
7.2 等式約束的二次規(guī)劃問題262
7.2.1 直接消去法263
7.2.2 拉格朗日乘子法264
7.3 有效集方法266
7.4 Wolfe算法270
7.5 Lemke算法273
7.6 二次規(guī)劃問題的MATLAB求解277
7.6.1 輸入?yún)?shù)和輸出參數(shù)278
7.6.2 控制參數(shù)設置278
7.6.3 命令詳解279
7.6.4 綜合實例281
7.7 本章小結(jié)284
習題284
第8章 多目標規(guī)劃286
8.1 多目標規(guī)劃問題的數(shù)學模型286
8.2 多目標規(guī)劃問題的解集和象集288
8.2.1 多目標規(guī)劃的解集288
8.2.2 多目標規(guī)劃的象集291
8.3 處理多目標規(guī)劃的方法292
8.3.1 約束法292
8.3.2 評價函數(shù)法293
8.3.3 功效系數(shù)法297
8.3.4 多目標規(guī)劃的MATLAB求解300
8.4 線性目標規(guī)劃306
8.4.1 線性目標規(guī)劃的數(shù)學模型309
8.4.2 線性目標規(guī)劃的求解方法316
8.4.3 線性目標規(guī)劃的MATLAB求解326
8.5 綜合實例333
8.6 本章小結(jié)337
習題338
第9章 圖與網(wǎng)絡優(yōu)化340
9.1 引言340
9.2 基本概念341
9.2.1 圖的基本概念341
9.2.2 樹的基本概念348
9.3 最短路徑問題353
9.3.1 兩個指定頂點之間的最短路徑353
9.3.2 任意兩個頂點之間的最短路徑356
9.3.3 最短路徑問題的MATLAB求解359
9.4 網(wǎng)絡最大流問題363
9.4.1 基本概念與基本定理363
9.4.2 最大流問題的求解366
9.5 最小費用最大流373
9.5.1 基本概念373
9.5.2 最小費用最大流問題的求解374
9.5.3 最小費用最大流的MATLAB求解375
9.6 本章小結(jié)379
習題380
第10章 現(xiàn)代智能優(yōu)化算法簡介382
10.1 引言382
10.2 遺傳算法382
10.2.1 概述383
10.2.2 基本要素383
10.2.3 遺傳算子385
10.2.4 遺傳算法的基本步驟387
10.2.5 遺傳算法的MATLAB實現(xiàn)391
10.3 模擬退火算法397
10.3.1 模擬退火算法的基本思想397
10.3.2 模擬退火的算法步驟397
10.3.3 模擬退火算法的參數(shù)控制問題400
10.3.4 模擬退火的MATLAB工具箱求解405
10.4 禁忌搜索409
10.4.1 局部鄰域搜索簡介409
10.4.2 禁忌搜索的基本原理410
10.4.3 禁忌搜索的關鍵技術411
10.4.4 禁忌搜索的MATLAB實現(xiàn)414
10.5 本章小結(jié)419
第11章 綜合案例420
11.1 線性規(guī)劃農(nóng)業(yè)改造問題420
11.1.1 農(nóng)業(yè)改造問題的建模420
11.1.2 農(nóng)業(yè)改造問題的求解423
11.2 整數(shù)規(guī)劃組件配套問題426
11.2.1 組件配套問題的建模426
11.2.2 組件配套問題的求解427
11.3 非線性規(guī)劃廣告問題428
11.3.1 廣告問題的建模429
11.3.2 廣告問題的求解432
11.4 多目標規(guī)劃投資問題433
11.4.1 投資問題的建模434
11.4.2 投資問題的求解435
11.5 圖與網(wǎng)絡優(yōu)化通信網(wǎng)問題437
11.5.1 通信網(wǎng)問題的建模438
11.5.2 通信網(wǎng)問題的求解438