MATLAB優(yōu)化算法(第2版)
鏈接:https://pan.baidu.com/s/1jx3NiJ-egXTpoD5XIukkXQ?pwd=wpmk?
提取碼:wpmk

本書基于MATLAB 2020a軟件,根據(jù)常用優(yōu)化算法進行編寫,包含多種優(yōu)化算法的MATLAB實現(xiàn)方法,可以幫助讀
者掌握MATLAB在優(yōu)化算法中的應(yīng)用。
全書分為4部分,包括MATLAB基礎(chǔ)知識、常規(guī)優(yōu)化算法、智能優(yōu)化算法和拓展運用。第一部分從初識MATLAB開
始詳細(xì)介紹MATLAB基礎(chǔ)、程序設(shè)計、圖形繪制等內(nèi)容;第二部分介紹MATLAB線性規(guī)劃、非線性規(guī)劃、無約束一維極
值、無約束多維極值、約束優(yōu)化方法、二次規(guī)劃、多目標(biāo)函數(shù)優(yōu)化方法等;第三部分介紹遺傳優(yōu)化算法免疫優(yōu)化算法、
粒子群優(yōu)化算法、小波變換、神經(jīng)網(wǎng)絡(luò)等;第四部分介紹MATLAB在分形維數(shù)和經(jīng)濟金融優(yōu)化中的應(yīng)用。
本書以MATLAB優(yōu)化實現(xiàn)為主線,結(jié)合各種優(yōu)化算法函數(shù)的說明、優(yōu)化模型案例的講解,使讀者易看懂、會應(yīng)用。
本書深入淺出,實例引導(dǎo),講解翔實,既可以作為高等院校數(shù)學(xué)建模和數(shù)學(xué)實驗的參考教材,也可作為廣大科研工程
技術(shù)人員的參考用書。
作者簡介
張巖:畢業(yè)于北京航空航天大學(xué),博士。精通MATLAB、Mathematica、Lingo等工程仿真計算軟件。熟練掌握利用MATLAB解決數(shù)學(xué)建模、科學(xué)計算、算法優(yōu)化等工程應(yīng)用問題。在國內(nèi)外期刊發(fā)表SCI、EI檢索學(xué)術(shù)論文多篇,獲得授權(quán)專利多項,獲得國家及省部級科技獎各一項,出版多部暢銷科技圖書。
目錄
第一部分 MATLAB基礎(chǔ)知識
第1章 初識MATLAB 3
1.1 工作環(huán)境 3
1.1.1 操作界面簡介 3
1.1.2 命令行窗口 4
1.1.3 “命令歷史記錄”窗口 6
1.1.4 “當(dāng)前文件夾”窗口和路徑管理 8
1.1.5 搜索路徑 8
1.1.6 “工作區(qū)”窗口和數(shù)組編輯器 10
1.1.7 變量的編輯命令 11
1.1.8 存取數(shù)據(jù)文件 12
1.2 幫助系統(tǒng) 13
1.2.1 純文本幫助 13
1.2.2 幫助導(dǎo)航 13
1.2.3 示例幫助 14
1.3 本章小結(jié) 15
第2章 MATLAB基礎(chǔ) 16
2.1 基本概念 16
2.1.1 數(shù)據(jù)類型概述 16
2.1.2 整數(shù)類型 17
2.1.3 浮點數(shù)類型 19
2.1.4 常量與變量 20
2.1.5 標(biāo)量、向量、矩陣與數(shù)組 21
2.1.6 字符型 22
2.1.7 運算符 23
2.1.8 復(fù)數(shù) 25
2.1.9 無窮量和非數(shù)值量 26
2.2 向量 26
2.2.1 向量的生成 26
2.2.2 向量的加、減和乘、除運算 28
2.2.3 向量的點、叉積運算 29
2.3 數(shù)組 30
2.3.1 數(shù)組的創(chuàng)建和操作 31
2.3.2 數(shù)組的常見運算 34
2.4 矩陣 37
2.4.1 矩陣的生成 37
2.4.2 向量的賦值 40
2.4.3 矩陣的加、減運算 41
2.4.4 矩陣的乘法運算 42
2.4.5 矩陣的除法運算 43
2.4.6 矩陣的分解運算 43
2.5 字符串 44
2.5.1 字符串變量與一維字符數(shù)組 44
2.5.2 對字符串的多項操作 45
2.5.3 二維字符數(shù)組 46
2.6 符號 47
2.6.1 符號表達式的生成 47
2.6.2 符號矩陣 48
2.6.3 常用符號運算 49
2.7 關(guān)系運算和邏輯運算 50
2.7.1 關(guān)系運算 50
2.7.2 邏輯運算 51
2.7.3 常用函數(shù) 53
2.8 復(fù)數(shù) 54
2.8.1 復(fù)數(shù)和復(fù)矩陣的生成 54
2.8.2 復(fù)數(shù)的運算 55
2.9 數(shù)據(jù)類型間的轉(zhuǎn)換 56
2.10 本章小結(jié) 57
第3章 程序設(shè)計 58
3.1 MATLAB編程概述 58
3.1.1 “編輯器”窗口 58
3.1.2 編程原則 59
3.2 M文件和函數(shù) 61
3.2.1 M文件 61
3.2.2 匿名函數(shù) 63
3.2.3 主函數(shù)與子函數(shù) 63
3.2.4 重載函數(shù) 65
3.2.5 eval、feval函數(shù) 65
3.2.6 內(nèi)聯(lián)函數(shù) 67
3.2.7 向量化和預(yù)分配 69
3.2.8 函數(shù)參數(shù)傳遞 70
3.3 程序控制 72
3.3.1 分支控制語句 72
3.3.2 循環(huán)控制語句 74
3.3.3 其他控制語句 76
3.4 程序調(diào)試和優(yōu)化 80
3.4.1 程序調(diào)試命令 80
3.4.2 常見錯誤類型 81
3.4.3 效率優(yōu)化 84
3.4.4 內(nèi)存優(yōu)化 85
3.5 經(jīng)典案例 90
3.6 本章小結(jié) 97
第4章 圖形繪制 98
4.1 數(shù)據(jù)圖像繪制簡介 98
4.1.1 離散數(shù)據(jù)可視化 98
4.1.2 連續(xù)函數(shù)可視化 100
4.2 二維繪圖 102
4.2.1 二維繪圖命令 102
4.2.2 二維圖形的修飾 104
4.2.3 子圖繪制法 110
4.2.4 二維繪圖的經(jīng)典應(yīng)用 112
4.3 三維繪制 116
4.3.1 三維繪圖基本命令 116
4.3.2 隱藏線的顯示和關(guān)閉 119
4.3.3 三維繪圖的實際應(yīng)用 119
4.4 特殊圖形的繪制 120
4.4.1 特殊二維圖形的繪制 121
4.4.2 特殊三維圖形的繪制 122
4.5 本章小結(jié) 124
第二部分 常規(guī)優(yōu)化算法
第5章 線性規(guī)劃 127
5.1 線性規(guī)劃基本理論 127
5.1.1 線性規(guī)劃問題的一般形式 127
5.1.2 線性規(guī)劃問題的標(biāo)準(zhǔn)形式 128
5.1.3 線性規(guī)劃問題的向量標(biāo)準(zhǔn)形式 128
5.1.4 非標(biāo)準(zhǔn)形式的標(biāo)準(zhǔn)化 129
5.1.5 線性規(guī)劃模型的求解 130
5.2 優(yōu)化選項參數(shù)設(shè)置 131
5.2.1 創(chuàng)建或編輯優(yōu)化選項參數(shù) 131
5.2.2 獲取優(yōu)化參數(shù) 133
5.3 線性規(guī)劃函數(shù) 134
5.3.1 調(diào)用格式 134
5.3.2 參數(shù)含義 135
5.3.3 命令詳解 137
5.3.4 算例求解 138
5.4 線性規(guī)劃應(yīng)用 141
5.4.1 生產(chǎn)決策問題 141
5.4.2 工作人員計劃安排問題 142
5.4.3 投資問題 143
5.4.4 工件加工任務(wù)分配問題 144
5.4.5 廠址選擇問題 145
5.4.6 確定職工編制問題 147
5.4.7 生產(chǎn)計劃的最優(yōu)化問題 148
5.5 本章小結(jié) 149
第6章 非線性規(guī)劃 150
6.1 非線性規(guī)劃基礎(chǔ) 150
6.1.1 非線性規(guī)劃標(biāo)準(zhǔn)形式 150
6.1.2 最優(yōu)解 151
6.1.3 求解方法概述 151
6.2 有約束非線性規(guī)劃函數(shù) 153
6.2.1 調(diào)用格式 153
6.2.2 參數(shù)含義 154
6.2.3 命令詳解 160
6.2.4 算例求解 161
6.3 一維搜索優(yōu)化函數(shù) 163
6.3.1 調(diào)用格式 163
6.3.2 參數(shù)含義 164
6.3.3 算例求解 166
6.4 多維無約束優(yōu)化函數(shù) 167
6.4.1 調(diào)用格式 168
6.4.2 參數(shù)含義 168
6.4.3 算例求解 170
6.5 多維無約束搜索函數(shù) 172
6.5.1 調(diào)用格式 172
6.5.2 參數(shù)含義 173
6.5.3 算例求解 174
6.6 多維非線性最小二乘函數(shù) 176
6.6.1 調(diào)用格式 176
6.6.2 參數(shù)含義 177
6.6.3 算例求解 180
6.7 非線性規(guī)劃實例 182
6.7.1 資金調(diào)用問題 182
6.7.2 經(jīng)營最佳安排問題 184
6.7.3 廣告最佳投入問題 184
6.8 本章小結(jié) 186
第7章 無約束一維極值 187
7.1 無約束算法概述 187
7.2 常用算法 188
7.2.1 進退法 188
7.2.2 黃金分割法 191
7.2.3 斐波那契法 194
7.2.4 牛頓型法 196
7.2.5 割線法 199
7.2.6 拋物線法 200
7.2.7 坐標(biāo)輪換法 201
7.3 本章小結(jié) 204
第8章 無約束多維極值 205
8.1 直接法 205
8.1.1 模式搜索法 206
8.1.2 單純形法 207
8.1.3 Powell法 210
8.2 間接法 214
8.2.1 最速下降法 214
8.2.2 共軛梯度法 216
8.2.3 擬牛頓法 218
8.3 本章小結(jié) 220
第9章 約束優(yōu)化方法 221
9.1 約束優(yōu)化方法簡介 221
9.2 常用算法 222
9.2.1 隨機方向法 222
9.2.2 復(fù)合形法 223
9.2.3 可行方向法 225
9.2.4 懲罰函數(shù)法 228
9.3 本章小結(jié) 230
第10章 二次規(guī)劃 231
10.1 數(shù)學(xué)模型 231
10.2 常用算法 231
10.2.1 拉格朗日法 231
10.2.2 有效集法 233
10.3 二次規(guī)劃函數(shù) 236
10.3.1 調(diào)用格式 236
10.3.2 參數(shù)含義 237
10.3.3 算例求解 240
10.4 本章小結(jié) 242
第11章 多目標(biāo)優(yōu)化方法 243
11.1 數(shù)學(xué)模型 243
11.2 多目標(biāo)線性優(yōu)化問題求解 244
11.2.1 理想點法 245
11.2.2 線性加權(quán)和法 247
11.2.3 最大最小法 249
11.3 目標(biāo)規(guī)劃法 251
11.4 多目標(biāo)優(yōu)化函數(shù) 251
11.4.1 調(diào)用格式 252
11.4.2 參數(shù)含義 252
11.4.3 算例求解 257
11.5 本章小結(jié) 258
第三部分 智能優(yōu)化算法
第12章 遺傳算法 261
12.1 遺傳算法基礎(chǔ) 261
12.1.1 遺傳算法基本運算 261
12.1.2 遺傳算法的特點 262
12.1.3 遺傳算法中的術(shù)語 262
12.1.4 遺傳算法的應(yīng)用領(lǐng)域 263
12.2 遺傳算法的原理 263
12.2.1 遺傳算法運算過程 263
12.2.2 遺傳算法編碼 266
12.2.3 適應(yīng)度及初始群體選取 266
12.2.4 遺傳算法參數(shù)設(shè)計原則 267
12.2.5 適應(yīng)度函數(shù)的調(diào)整 267
12.2.6 程序設(shè)計 268
12.3 遺傳算法工具箱 272
12.3.1 命令調(diào)用 272
12.3.2 遺傳算法工具箱的調(diào)用 276
12.3.3 遺傳算法的優(yōu)化 279
12.4 遺傳算法的典型應(yīng)用 285
12.4.1 求函數(shù)極值 285
12.4.2 旅行商問題 297
12.4.3 非線性規(guī)劃問題 302
12.4.4 多目標(biāo)優(yōu)化問題 309
12.5 本章小結(jié) 310
查看全部↓
前言/序言
MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,常用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境。MATLAB在優(yōu)化算法的實現(xiàn)上有著卓越的優(yōu)勢。
優(yōu)化算法有很多,針對不同的優(yōu)化問題,如可行解變量的取值(連續(xù)還是離散)、目標(biāo)函數(shù)和約束條件的復(fù)雜程度(線性還是非線性)等,需應(yīng)用不同的算法。
對于連續(xù)和線性等較簡單的問題,可以選擇一些經(jīng)典算法,如梯度、Hessian矩陣、拉格朗日乘數(shù)、單純形法、梯度下降法等。而對于更復(fù)雜的問題,則可考慮用一些智能優(yōu)化算法,如遺傳算法和蟻群算法、模擬退火算法、禁忌搜索算法、粒子群優(yōu)化算法等。