MATLAB线性规划相关函数用法
一.線性規(guī)劃的Matlab標準形式及軟件求解
1. MATLAB中規(guī)定線性規(guī)劃的標準形式為
其中c和 x為n 維列向量, A、 Aeq 為適當維數(shù)的矩陣,b 、beq為適當維數(shù)的列向量。 (Aeq 對應(yīng)約束條件中等式約束的系數(shù)矩陣,A為約不等式約束的系數(shù)矩陣)
2. MATLAB函數(shù)用法——linprog
這里 x返回最優(yōu)值對應(yīng)自變量大多數(shù)是一個向量,fval 返回目標函數(shù)的最優(yōu)值,A是不等式矩陣,b不等式右邊的列向量,Aeq等式約束矩陣,beq等式右邊的列向量,LB 和 UB 分別是變量 x的下界和上界, OPTIONS 是控制參數(shù)。(b,beq,LB,UB均為列向量)
3.例題
4.可以轉(zhuǎn)化為線性規(guī)劃的問題
①對絕對值的處理
對于“x=u-v”和“|x|=u+v”,任何一個數(shù)都可以被兩個非負數(shù)表示如果這個數(shù)為正數(shù)+,那么x=u,v=0;如果這個數(shù)為負數(shù)-,那么x=v,u=0.
②例題
對于這個方法我看到只能用一個字形容——妙啊
二.整數(shù)線性規(guī)劃的Matlab求解
1. 線性規(guī)劃中實際情況中,很多情況要求自變量為整數(shù)
2. 整數(shù)線性規(guī)劃函數(shù)——intlinprog*
[x,fval]=intlinprog(c,intcon,A,b,Aeq,beq,LB,UB,x0,OPTIONS)這里intcon為代表了整數(shù)決策變量所在的位置,x0為初始變量(在求之前對所求變量做一個預(yù)估)。其它和linprog函數(shù)中的含義一樣。
3. 例題
3.非線性規(guī)劃的Matlab標準形式及軟件求解
1.MATLAB中規(guī)定非線性規(guī)劃的標準形式為
這里c(x)和ceq(x)為非線性向量函數(shù)
2. 非線性規(guī)劃函數(shù)——fmincon
[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,LB,UB,nonlcon,OPTIONS)這里fun是用M文件定義的函數(shù)f(x),x0是x的初始值,nonlcon是用M文件定義的非線性向量函數(shù)c(x)和ceq(x)。
其它和linprog函數(shù)中的含義一樣。
3. 例題
4.二次規(guī)劃的Matlab標準形式及軟件求解
1. MATLAB中規(guī)定二次規(guī)劃的標準形式為
若某非線性規(guī)劃的目標函數(shù)為自變量x的二次函數(shù),約束條件又全是線性的,就稱這種規(guī)劃為二次規(guī)劃
2. 二次規(guī)劃函數(shù)——quadprog
[x,fval]=quadprog(H,f,A,b,Aeq,beq,LB,UB,x0,OPTIONS)這里H為實對稱矩陣,f相當于除去二次的線性規(guī)劃系數(shù)
3. 例題
5.無約束極值問題的數(shù)值解
1. fminunc和fminsearch
[x,fval] = fminunc(fun,x0,OPTIONS) [x,fval] = fminsearch(fun,x0,OPTIONS)使用optimset可以設(shè)置OPTIONS
fminsearch只能求出給定初值附近的一個極小值點(如果要求極大值求相反數(shù))
2. 例題
6.約束極值問題的數(shù)值解
1. 單變量非線性函數(shù)極小值——fminbnd
[x,fval]=fminbnd(fun,x1,x2,OPTIONS)fun是用M文件定義的函數(shù)、匿名函數(shù)(@)或者Matlab中單變量數(shù)學(xué)函數(shù)。x∈[x1,x2]
2.fseminf函數(shù)
這里c(x),ceq(x)為向量函數(shù),Ki(x,wi)為標量函數(shù),w1,w2,…,wn為附加變量。
這里ntheta為半無窮約束Ki(x,wi)的個數(shù),seminfcon用于定義非線性不等式約束c(x)、非線性等式約束ceq(x)和半無窮約束Ki(x,wi)的函數(shù),seminfcon有兩個輸入?yún)?shù)x和s,s是推薦步長,也可以不使用。
3. fminimax函數(shù)
這里nonlcon是用M文件定義的非線性向量函數(shù)c(x)和ceq(x)。
2020/2/11今天看了數(shù)學(xué)建模線性相關(guān)的知識,感覺有很多不知道的函數(shù)用法,所以自己總結(jié)一下,以上全部來自于《數(shù)學(xué)建模算法與應(yīng)用》。第一次寫CSDN,可能寫的有點亂。這些函數(shù)如果不經(jīng)常用很可能忘所以記下來方便以后復(fù)習,重要的是大家一起分享吧!!!
總結(jié)
以上是生活随笔為你收集整理的MATLAB线性规划相关函数用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器人学导论三
- 下一篇: 程序设计语言的基本概念