本書以MATLAB R2015b版本進(jìn)行編寫,以*化計(jì)算為主線、MATLAB為輔助工具進(jìn)行講述,實(shí)用性非常強(qiáng),優(yōu)化方法也非常豐富,主要包括MATLAB R2015b概述、MATLAB計(jì)算基礎(chǔ)、MATLAB數(shù)值計(jì)算、*化計(jì)算概述、線性規(guī)劃、非線性規(guī)劃、整數(shù)規(guī)劃、二次規(guī)劃、多目標(biāo)規(guī)劃及其他規(guī)劃、群智能算法等內(nèi)容。
本書側(cè)重于*化算法的MATLAB實(shí)現(xiàn),精選了大量的*化實(shí)例,通過(guò)實(shí)例分析求解,做到理論與實(shí)踐相結(jié)合。
本書適用于計(jì)算應(yīng)用、*化領(lǐng)域和科學(xué)計(jì)算方向的研究人員使用,也可作為高校該類課程的本科生和研究生教材,還可作為讀者查詢*化數(shù)學(xué)問(wèn)題求解方法的參考書。
本書是精通MATLAB叢書之一,全書基于MATLAB R2015a平臺(tái),以*化計(jì)算為主線、MATLAB為輔助工具進(jìn)行講述,實(shí)用性強(qiáng),優(yōu)化方法豐富。作者還將理論與實(shí)踐相交融,結(jié)合實(shí)際工作中的開發(fā)經(jīng)驗(yàn)、心得體會(huì),而且精心編寫了200多個(gè)MATLAB*化計(jì)算應(yīng)用典型實(shí)例,供讀者學(xué)習(xí)、開發(fā)時(shí)參考。本書提供所有程序源代碼。精通MATLAB相關(guān)書目如下:MATLAB 8.X實(shí)戰(zhàn)指南(R2014a中文版)數(shù)字圖像處理高級(jí)應(yīng)用基于MATLAB和CUDA的實(shí)現(xiàn)MATLAB通信系統(tǒng)建模與仿真MATLAB R2015a數(shù)字圖像處理MATLAB R2015b數(shù)學(xué)建模MATLAB R2015a小波分析MATLAB R2015b神經(jīng)網(wǎng)絡(luò)技術(shù)MATLAB R2015b*化計(jì)算
前言MATLAB作為一款科學(xué)計(jì)算軟件逐漸被廣大科研人員所接受,以其強(qiáng)大的數(shù)據(jù)計(jì)算功能、圖像的可視化界面及代碼的可移植性受到了廣大高校師生及科研人員的認(rèn)可,借助MATLAB能夠解決絕大部分的工程問(wèn)題。對(duì)于從事數(shù)據(jù)分析和計(jì)算方面的工作者和學(xué)習(xí)者來(lái)說(shuō),MATLAB是一個(gè)很好的工具。MATLAB的創(chuàng)始人是Cleve Moler,他是美國(guó)工程院院士,MathWroks董事長(zhǎng)和首席數(shù)學(xué)家。MATLAB可用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為需要進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。最優(yōu)化理論和方法自古就有,最典型的實(shí)例就是黃金分割,最優(yōu)化方法形成為科學(xué)方法則是在17世紀(jì)后。牛頓和萊布尼茨創(chuàng)立的微積分理論為最優(yōu)化問(wèn)題的解決提供了理論基礎(chǔ),而后產(chǎn)生的優(yōu)化方法和簡(jiǎn)單庫(kù)存模型等精確的解析方法可以稱為古典最優(yōu)化方法。雖然古典最優(yōu)化方法出現(xiàn)得比較早,但是由于計(jì)算手段的限制,這些方法在解決實(shí)際問(wèn)題時(shí)遇到了瓶頸,隨著計(jì)算機(jī)的興起和日益普及,原來(lái)制約優(yōu)化設(shè)計(jì)的技術(shù)突飛猛進(jìn),得到了廣泛的應(yīng)用并創(chuàng)造了巨大的經(jīng)濟(jì)效益和社會(huì)價(jià)值。隨著計(jì)算機(jī)應(yīng)用技術(shù)的發(fā)展,各種可用于最優(yōu)化的方法設(shè)計(jì)與實(shí)現(xiàn)的軟件層出不窮,豐富了科研技術(shù)人員的開發(fā)研究手段,提高了解決實(shí)際問(wèn)題的效率。而MATLAB以其強(qiáng)大的科學(xué)計(jì)算功能和覆蓋面廣、專業(yè)性強(qiáng)的工具箱發(fā)展成適合多學(xué)科、跨平臺(tái)的大型實(shí)用科學(xué)計(jì)算軟件,也為最優(yōu)化計(jì)算問(wèn)題的解決提供了有力的工具。本書以工程應(yīng)用為基礎(chǔ),將最優(yōu)化理論和方法與MATLAB相結(jié)合,幫助讀者從理論和實(shí)踐兩個(gè)方面提高解決最優(yōu)化的能力,讓即便是數(shù)學(xué)基礎(chǔ)不夠深厚的讀者,也同樣能夠利用MATLAB解決較難的最優(yōu)化數(shù)學(xué)問(wèn)題,為讀者能夠快速地進(jìn)入這個(gè)領(lǐng)域、設(shè)計(jì)高效可行的最優(yōu)化方案奠定一個(gè)扎實(shí)的基礎(chǔ)。編寫本書具有如下特點(diǎn)。(1) 版本新,函數(shù)新。MATLAB每年更新兩次,神經(jīng)網(wǎng)絡(luò)工具箱也隨之更新?lián)Q代,許多舊的函數(shù)廢棄不用,同時(shí)又有新的函數(shù)補(bǔ)充進(jìn)來(lái)。本書基于MATLAB R2015b,介紹了新版本下的神經(jīng)網(wǎng)絡(luò)工具箱的使用方法。(2) 由淺入深,層次分明。本書的內(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)方法。(3) 內(nèi)容講解不枯燥。本書結(jié)合相關(guān)理論和實(shí)踐,由實(shí)踐支撐理論,通過(guò)求解流程以及算法迭代過(guò)程的實(shí)現(xiàn),讓讀者更容易理解并且掌握,書中許多實(shí)例是讀者經(jīng)常碰到的,讀起來(lái)不枯燥。(4) 應(yīng)用性強(qiáng)。在介紹最優(yōu)化設(shè)計(jì)的章節(jié)中,每章都有應(yīng)用MATLAB解決各領(lǐng)域中的實(shí)際最優(yōu)化問(wèn)題,最后以一個(gè)或幾個(gè)實(shí)際應(yīng)用的例子總結(jié)本章內(nèi)容,幫助降低讀者學(xué)習(xí)門檻、提高學(xué)習(xí)效率。全書共分為10章,主要內(nèi)容包括:第1章介紹MATLAB R2015b,主要包括MATLAB的發(fā)展史、MATLAB R2015b的新功能、MATLAB的工作環(huán)境及控制流等內(nèi)容。第2章介紹MATLAB計(jì)算基礎(chǔ),主要包括MATLAB的矩陣、繪圖、編程技巧等內(nèi)容。第3章介紹MATLAB數(shù)值計(jì)算,主要包括數(shù)據(jù)排序、符號(hào)運(yùn)算、多項(xiàng)式運(yùn)算、數(shù)據(jù)插值等內(nèi)容。第4章對(duì)最優(yōu)化計(jì)算進(jìn)行概述,主要包括最優(yōu)化的發(fā)展史、最優(yōu)化的定義、優(yōu)化工具箱等內(nèi)容。第5章介紹線性規(guī)劃,主要包括對(duì)線性規(guī)劃的概述,線性規(guī)劃的標(biāo)準(zhǔn)型、方法、實(shí)際應(yīng)用等內(nèi)容。第6章介紹非線性規(guī)劃,主要包括非線性規(guī)劃的概述、一維最優(yōu)化方法、多維無(wú)約束非線性、非線性規(guī)劃的實(shí)際應(yīng)用等內(nèi)容。第7章介紹整數(shù)規(guī)劃,主要包括整數(shù)規(guī)劃的概述、案例分析、求解、實(shí)際應(yīng)用等內(nèi)容。第8章介紹二次規(guī)劃,主要包括等式約束二次規(guī)劃及二次規(guī)劃的MATLAB實(shí)現(xiàn)等內(nèi)容。第9章介紹多目標(biāo)規(guī)劃及其他規(guī)劃,主要包括多目標(biāo)規(guī)劃、最大最小化、半無(wú)限規(guī)劃、動(dòng)態(tài)規(guī)劃等內(nèi)容。第10章介紹了群智能算法,主要包括粒子群算法、遺傳算法、模擬退火算法等內(nèi)容。本書適用于計(jì)算應(yīng)用、最優(yōu)化領(lǐng)域和科學(xué)計(jì)算方向的研究人員使用,也可作為高校該類課程的本科生和研究生的教材,還可作為讀者查詢最優(yōu)化數(shù)學(xué)問(wèn)題求解方法的參考書。本書主要由李婭編寫,此外參與編寫的還有李炳輝、李丹、曾虹雁、鄧俊輝、鄧秀乾、鄧耀隆、高泳崇、李嘉樂(lè)、李旭波、梁朗星、梁志成、劉超、劉泳、盧佳華、張棣華、張金林、鐘東山、詹錦超、葉利輝、楊平和許興杰。由于時(shí)間倉(cāng)促,加之作者水平有限,錯(cuò)誤和疏漏之處在所難免。在此,誠(chéng)懇地期望得到各領(lǐng)域的專家和廣大讀者的批評(píng)指正。作者2016年5月
目錄
第1章MATLAB R2015b概述
1.1MATLAB簡(jiǎn)介
1.1.1MATLAB的發(fā)展史
1.1.2MATLAB的優(yōu)點(diǎn)
1.1.3MATLAB系統(tǒng)組成
1.1.4MATLAB應(yīng)用程序
1.1.5MATLAB R2015b新功能
1.2MATLAB R2015b的工作環(huán)境
1.2.1MATLAB R2015b的安裝
1.2.2MATLAB集成開發(fā)環(huán)境
1.3MATLAB R2015b的幫助系統(tǒng)
1.3.1純文件幫助
1.3.2文檔幫助
1.3.3Demos幫助
1.4MATLAB初步使用
1.5MATLAB的基礎(chǔ)知識(shí)
1.5.1數(shù)據(jù)類型
1.5.2運(yùn)算符
1.6控制流
1.6.1順序結(jié)構(gòu)
1.6.2選擇結(jié)構(gòu)
1.6.3循環(huán)結(jié)構(gòu)
1.6.4錯(cuò)誤控制結(jié)構(gòu)
1.7M文件
1.7.1M腳本文件
1.7.2M函數(shù)文件
第2章MATLAB計(jì)算基礎(chǔ)
2.1矩陣及其運(yùn)算
2.1.1矩陣的創(chuàng)建
2.1.2矩陣的運(yùn)算
2.1.3矩陣的分解
2.2復(fù)數(shù)及其運(yùn)算
2.2.1復(fù)數(shù)的表示
2.2.2復(fù)數(shù)的繪圖
2.2.3復(fù)數(shù)操作函數(shù)
2.3MATLAB繪圖
2.3.1繪圖的基本步驟
2.3.2在工作區(qū)直接繪圖
2.3.3利用函數(shù)繪圖
2.3.4圖形的修飾
2.3.5繪制特殊圖形
2.4簡(jiǎn)單圖像處理
2.5MATLAB函數(shù)
2.5.1函數(shù)類型
2.5.2參數(shù)傳遞
2.6編程技巧
2.6.1嵌套計(jì)算
2.6.2循環(huán)計(jì)算
2.6.3處理機(jī)制
2.6.4使用全局變量
第3章MATLAB數(shù)值計(jì)算
3.1數(shù)據(jù)排序
3.1.1最值
3.1.2平均值與中值
3.1.3分位數(shù)
3.1.4求和(積)
3.1.5求累積積(和)
3.1.6方差與標(biāo)準(zhǔn)差
3.1.7協(xié)方差與相關(guān)系數(shù)
3.1.8排序
3.1.9偏斜度與峰值
3.2符號(hào)運(yùn)算
3.2.1符號(hào)對(duì)象的生成
3.2.2符號(hào)表達(dá)式的操作
3.2.3符號(hào)微積分
3.3多項(xiàng)式運(yùn)算
3.3.1多項(xiàng)式的四則運(yùn)算
3.3.2多項(xiàng)式的導(dǎo)數(shù)
3.3.3多項(xiàng)式的求值
3.3.4多項(xiàng)式求根
3.3.5有理多項(xiàng)式
3.4數(shù)據(jù)插值
3.4.1一維插值
3.4.2二維插值
3.4.3三次樣條插值
3.4.4高維插值
3.5數(shù)據(jù)擬合
3.5.1多項(xiàng)式擬合
3.5.2最小二乘擬合
3.5.3非線性最小二乘擬合
第4章最優(yōu)化計(jì)算概述
4.1最優(yōu)化的定義
4.2最優(yōu)化問(wèn)題的提出
4.3常規(guī)設(shè)計(jì)與優(yōu)化設(shè)計(jì)
4.4最優(yōu)化的發(fā)展史
4.5最優(yōu)化問(wèn)題的數(shù)學(xué)描述
4.5.1模型的三要素
4.5.2問(wèn)題分類
4.5.3幾何意義
4.6最優(yōu)化的實(shí)現(xiàn)步驟
4.7最優(yōu)化的應(yīng)用
4.8優(yōu)化工具箱
4.8.1優(yōu)化工具箱函數(shù)
4.8.2foptions函數(shù)
第5章線性規(guī)劃
5.1概述
5.1.1線性規(guī)劃的發(fā)展史
5.1.2線性規(guī)劃的一般問(wèn)題
5.2線性規(guī)劃的標(biāo)準(zhǔn)型
5.2.1一般標(biāo)準(zhǔn)型
5.2.2矩陣標(biāo)準(zhǔn)型
5.2.3向量標(biāo)準(zhǔn)型
5.2.4非標(biāo)準(zhǔn)型
5.3單純形法
5.4修正單純形法
5.5大M法
5.6有界單純形法
5.7MATLAB函數(shù)實(shí)現(xiàn)線性規(guī)劃
5.7.1MATLAB線性規(guī)劃標(biāo)準(zhǔn)型
5.7.2MATLAB實(shí)現(xiàn)線性規(guī)劃
5.8線性規(guī)劃的實(shí)際應(yīng)用
5.8.1生產(chǎn)決策問(wèn)題
5.8.2生產(chǎn)計(jì)劃安排問(wèn)題
5.8.3配料問(wèn)題
5.8.4投資選擇問(wèn)題
5.8.5平衡指派問(wèn)題
5.8.6人員安排問(wèn)題
5.8.7運(yùn)輸問(wèn)題
5.8.8投資收益與風(fēng)險(xiǎn)問(wèn)題
第6章非線性規(guī)劃
6.1概述
6.1.1非線性規(guī)劃的發(fā)展史
6.1.2非線性規(guī)劃的數(shù)學(xué)模型
6.1.3非線性規(guī)劃的常見問(wèn)題
6.1.4非線性規(guī)劃的典型代表
6.2一維最優(yōu)化方法
6.2.1基本思想
6.2.2進(jìn)退法
6.2.3黃金分割法
6.2.4斐波那契法
6.2.5牛頓法
6.2.6割線法
6.2.7MATLAB實(shí)現(xiàn)一維最優(yōu)化
6.3多維無(wú)約束非線性
6.3.1最速下降法
6.3.2牛頓法
6.3.3共軛梯度法
6.3.4Powell算法
6.3.5多維無(wú)約束MATLAB實(shí)現(xiàn)
6.4多維約束非線性規(guī)劃
6.4.1拉格朗日乘子法
6.4.2罰函數(shù)法
6.4.3混合罰函數(shù)法
6.4.4MATLAB實(shí)現(xiàn)多維約束非線性規(guī)劃
6.5非線性規(guī)劃的實(shí)際應(yīng)用
6.5.1物理問(wèn)題
6.5.2供應(yīng)與選址問(wèn)題
6.5.3資金調(diào)用問(wèn)題
6.5.4商品最優(yōu)存儲(chǔ)問(wèn)題
6.5.5產(chǎn)銷量最佳安排問(wèn)題
6.5.6經(jīng)營(yíng)方式安排問(wèn)題
6.5.7證券投資組合問(wèn)題
6.5.8飛行管理問(wèn)題
第7章整數(shù)規(guī)劃
7.1概述
7.2整數(shù)規(guī)劃的案例分析
7.2.1多方案選擇方法
7.2.2多方案選擇的應(yīng)用
7.3整數(shù)規(guī)劃的求解
7.3.1分支定界法
7.3.2隱枚舉法
7.3.3割平面法
7.4MATLAB實(shí)現(xiàn)整數(shù)規(guī)劃
7.5指派問(wèn)題
7.6整數(shù)規(guī)劃的實(shí)際應(yīng)用
7.6.1工作安排問(wèn)題
7.6.2新產(chǎn)品研制問(wèn)題
7.6.3合理下料問(wèn)題
7.6.4資金分配問(wèn)題
7.6.5生產(chǎn)計(jì)劃問(wèn)題
7.6.6選課問(wèn)題
7.6.7背包問(wèn)題
第8章二次規(guī)劃
8.1等式約束二次規(guī)劃
8.1.1直接消去法
8.1.2拉格朗日乘子法
8.1.3起作用集法
8.1.4Wolfe算法
8.1.5路徑跟蹤法
8.2MATLAB實(shí)現(xiàn)二次規(guī)劃
第9章多目標(biāo)規(guī)劃及其他規(guī)劃
9.1多目標(biāo)規(guī)劃
9.1.1多目標(biāo)規(guī)劃的基本定義
9.1.2多目標(biāo)規(guī)劃的簡(jiǎn)史
9.1.3多目標(biāo)規(guī)劃的數(shù)學(xué)模型
9.1.4多目標(biāo)規(guī)劃的求解方法
9.1.5處理多目標(biāo)規(guī)劃的方法
9.1.6MATLAB實(shí)現(xiàn)多目標(biāo)規(guī)劃
9.1.7多目標(biāo)規(guī)劃的實(shí)際應(yīng)用
9.2最大最小化
9.2.1最大最小化的模型
9.2.2MATLAB實(shí)現(xiàn)最大最小化
9.2.3最小最大化在選址問(wèn)題中的應(yīng)用
9.3半無(wú)限規(guī)劃
9.3.1半無(wú)限規(guī)劃的概述
9.3.2MATLAB實(shí)現(xiàn)半無(wú)限規(guī)劃
9.4動(dòng)態(tài)規(guī)劃
9.4.1動(dòng)態(tài)規(guī)劃的概念意義
9.4.2動(dòng)態(tài)規(guī)劃的基本意義
9.4.3動(dòng)態(tài)規(guī)劃的實(shí)現(xiàn)方法
9.4.4動(dòng)態(tài)規(guī)劃的實(shí)際應(yīng)用
9.5圖與網(wǎng)絡(luò)優(yōu)化
9.5.1圖的基本概念
9.5.2樹的基本概念
9.5.3最短路徑問(wèn)題
9.5.4網(wǎng)絡(luò)最大流問(wèn)題
9.5.5最小費(fèi)用最大流
第10章群智能算法
10.1粒子群算法
10.1.1粒子群算法的概述
10.1.2粒子群算法極值的求解
10.2遺傳算法
10.2.1遺傳算法的概述
10.2.2 MATLAB實(shí)現(xiàn)遺傳算法
10.3模擬退火算法
10.3.1模擬退火的原理
10.3.2模擬退火的尋優(yōu)步驟
10.3.3MATLAB求解模擬退火
10.3.4模擬退火的背包問(wèn)題
參考文獻(xiàn)