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