国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

matlab進(jìn)階:求解在約束條件下的多元目標(biāo)函數(shù)最值(fmincon函數(shù)詳解)

這篇具有很好參考價(jià)值的文章主要介紹了matlab進(jìn)階:求解在約束條件下的多元目標(biāo)函數(shù)最值(fmincon函數(shù)詳解)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

??*??** φ(゜▽゜*)? **??*??

歡迎來(lái)到饅頭俠的博客,該類(lèi)目主要講數(shù)學(xué)建模的知識(shí),大家一起學(xué)習(xí),聯(lián)系最后的橫幅!
喜歡的朋友可以關(guān)注下,私信下次更新不迷路!

資源鏈接:點(diǎn)擊這里獲取眾多源碼、數(shù)模資料、思路精講、論文模板latex和word、學(xué)習(xí)書(shū)籍等


?? fmincon函數(shù)說(shuō)明

Matlab 的 fmincon 函數(shù):尋找約束非線(xiàn)性多變量函數(shù)的最小值

適用于:

  • 線(xiàn)性函數(shù)
  • 非線(xiàn)性函數(shù)
  • 線(xiàn)性等式和不等式約束
  • 非線(xiàn)性等式和不等式約束

目標(biāo)優(yōu)化問(wèn)題的基本形式

min ? f ( x ) \min f(x) minf(x)

s . t . { A ? x ≤ b A e q ? x = B e q l b ≤ x ≤ u b c ( x ) ≤ 0 c e q ( x ) = 0 s.t. \begin{cases} A \cdot x \leq b \\ Aeq \cdot x = Beq \\ lb \leq x \leq ub \\ c(x) \leq 0 \\ ceq(x) = 0 \end{cases} s.t.? ? ??A?xbAeq?x=Beqlbxubc(x)0ceq(x)=0?

fmincon語(yǔ)法和參數(shù)

[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
輸入?yún)?shù):

  • fun :目標(biāo)函數(shù),注意需要單引號(hào),或者@,(即寫(xiě)為符號(hào)函數(shù))
  • x0:函數(shù)fun參數(shù)值的初始化;
  • A, b:參數(shù)值的線(xiàn)性不等式約束(A * x <= b)
  • Aeq, beq:參數(shù)值的等式線(xiàn)性約束 (Aeq * x = beq)
  • lb, ub:參數(shù)值的下界和上界
  • options:使用所指定的優(yōu)化選項(xiàng)執(zhí)行,options 可設(shè)置這些選項(xiàng)
  • nonlcon:非線(xiàn)性約束,其參數(shù)值一般為約束函數(shù)。如果沒(méi)有非線(xiàn)性不等式或等式約束,設(shè)置為 nonlcon = []

輸出參數(shù):

  • x:輸出最優(yōu)參數(shù)值
  • fval:輸出 fun 在X參數(shù)的值
  • exitflag: 輸出fmincon額外條件值
  • lambda :結(jié)構(gòu)體,其字段包含解 x 處的拉格朗日乘數(shù)。
  • grad:fun 在解 x 處的梯度。
  • hessian:fun 在解 x 處的黑塞矩陣。請(qǐng)參閱fmincon Hessian 矩陣。

?? 算例實(shí)戰(zhàn)

算例都是比較簡(jiǎn)單的,希望大家好好理解,單元和多元區(qū)別不大,進(jìn)階的話(huà)重點(diǎn)是關(guān)于fmincon求解結(jié)果的分析,目標(biāo)函數(shù)屬于凸函數(shù)還是非凸,是否全局最優(yōu)還是局部最優(yōu),還得考慮fmincon求解的約束容限等。

初始解x0的設(shè)定

初始解的設(shè)定也很重要,得結(jié)合你所選用的算法。下面我都是直接設(shè)定x0=rand(2,1),大家可以嘗試修改初始解,看看結(jié)果有什么不同。

線(xiàn)性等式和不等式約束

min ? f ( x ) = 3 ? x 1 + 5 ? x 2 \min f(x)=3 \cdot x_1 +5 \cdot x_2 minf(x)=3?x1?+5?x2?

s . t . { x 1 + 3 x 2 ≤ 20 2 x 1 + x 2 ≤ 30 x 1 + x 2 = 10 0 ≤ x 1 ≤ 10 3 ≤ x 2 ≤ 8 s.t. \begin{cases} x_1+3 x_2 \leq 20 \\ 2 x_1+x_2 \leq 30 \\ x_1+x_2 = 10 \\ 0 \leq x_1 \leq 10 \\ 3 \leq x_2 \leq 8 \\ \end{cases} s.t.? ? ??x1?+3x2?202x1?+x2?30x1?+x2?=100x1?103x2?8?

將其與前面目標(biāo)規(guī)劃問(wèn)題的基本形式對(duì)照即可,代碼如下:

clc
clear
close all
fun=@(x) 3*x(1)+ 5*x(2);
x0=rand(1,2);
A=[1,3;2,1];
b=[20;30];
Aeq=[1,1];
beq=[10];
lb=[0,3];
ub=[10,8];
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)

非線(xiàn)性等式和不等式約束

這里注意非線(xiàn)性部分得移項(xiàng)成標(biāo)準(zhǔn)形式,即非線(xiàn)性部分≤0非線(xiàn)性部分=0的形式,下方換成上面形式得移向變號(hào),大家看到負(fù)號(hào)別訝異。

min ? f ( x ) = 3 ? x 1 2 + 5 ? x 2 2 \min f(x)=3 \cdot x_1^2 +5 \cdot x_2^2 minf(x)=3?x12?+5?x22?

s . t . { x 1 + 3 x 2 ≤ 20 2 x 1 + x 2 ≤ 30 x 1 + x 2 = 10 0 ≤ x 1 ≤ 10 3 ≤ x 2 ≤ 8 x 1 2 ? x 2 ≥ 0 x 1 ? x 2 2 + 1 = 0 s.t. \begin{cases} x_1+3 x_2 \leq 20 \\ 2 x_1+x_2 \leq 30 \\ x_1+x_2 = 10 \\ 0 \leq x_1 \leq 10 \\ 3 \leq x_2 \leq 8 \\ x_1^2-x_2 \geq 0 \\ x_1-x_2^2 + 1 = 0 \end{cases} s.t.? ? ??x1?+3x2?202x1?+x2?30x1?+x2?=100x1?103x2?8x12??x2?0x1??x22?+1=0?
主函數(shù):

clc
clear
close all
fun=@(x) 3*x(1)^2+ 5*x(2)^2;
x0=rand(1,2);
A=[1,3;2,1];
b=[20;30];
Aeq=[1,1];
beq=[10];
lb=[0,3];
ub=[10,8];
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,'mycon')

新建mycon.m函數(shù)

function [c,ceq]=mycon(x)
c=-x(1)^2+x(2);
ceq=-x(1)-x(2)^2+1;

含有求和公式目標(biāo)函數(shù)

若目標(biāo)函數(shù)含有求和公式,如何用代碼表示呢?

min ? f ( x ) = ∑ i 50 ( x i ? 1 ) 2 \min f(x)= \sum_i^{50}(x_i-1)^2 minf(x)=i50?(xi??1)2

  • 其中x為自變量,c為已知量

則我們的目標(biāo)函數(shù)為

function f = fun(x)
f = 0;
for i=1:50
	f = f + (x(i) - 1)^2
end

matlab求約束條件,數(shù)學(xué)建模無(wú)獎(jiǎng)到國(guó)獎(jiǎng),matlab,數(shù)學(xué)建模,開(kāi)發(fā)語(yǔ)言,算法,動(dòng)態(tài)規(guī)劃文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-679281.html

到了這里,關(guān)于matlab進(jìn)階:求解在約束條件下的多元目標(biāo)函數(shù)最值(fmincon函數(shù)詳解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MATLAB:梯度下降法求解一元和多元函數(shù)極小值和極大值

    MATLAB:梯度下降法求解一元和多元函數(shù)極小值和極大值

    梯度下降法,顧名思義即通過(guò)梯度下降的方法。對(duì)于一個(gè)函數(shù)而言,梯度是一個(gè)向量,方向是表示函數(shù)值增長(zhǎng)最快的方向,而大小則表示該方向的導(dǎo)數(shù)。下面展示了用梯度下降法求解一元函數(shù)的MATLAB代碼: syms x; y = @(x)((x-1).^2); % 定義一元函數(shù) dy = diff(y,x); % 一元函數(shù)導(dǎo)數(shù) x =

    2024年02月05日
    瀏覽(22)
  • 人工智能_機(jī)器學(xué)習(xí)065_SVM支持向量機(jī)KKT條件_深度理解KKT條件下的損失函數(shù)求解過(guò)程_公式詳細(xì)推導(dǎo)_---人工智能工作筆記0105

    人工智能_機(jī)器學(xué)習(xí)065_SVM支持向量機(jī)KKT條件_深度理解KKT條件下的損失函數(shù)求解過(guò)程_公式詳細(xì)推導(dǎo)_---人工智能工作筆記0105

    之前我們已經(jīng)說(shuō)了KKT條件,其實(shí)就是用來(lái)解決 如何實(shí)現(xiàn)對(duì),不等式條件下的,目標(biāo)函數(shù)的求解問(wèn)題,之前我們說(shuō)的拉格朗日乘數(shù)法,是用來(lái)對(duì) 等式條件下的目標(biāo)函數(shù)進(jìn)行求解. KKT條件是這樣做的,添加了一個(gè)阿爾法平方對(duì)吧,這個(gè)阿爾法平方肯定是大于0的,那么 可以結(jié)合下面的文章去

    2024年02月04日
    瀏覽(26)
  • 帶約束條件的運(yùn)籌規(guī)劃問(wèn)題求解(模擬退火算法實(shí)現(xiàn))

    超級(jí)簡(jiǎn)單的模擬退火算法實(shí)現(xiàn)ε?(? ? )?з搭配最簡(jiǎn)單的線(xiàn)性規(guī)劃模型進(jìn)行講解!但是如果需要的話(huà),可以直接修改程序求解非線(xiàn)性問(wèn)題哦(′つヮ??) [max,f(x)=10x_1+9x_2] (s.t.) [6x_1+5x_2leq{60}tag{1}] [10x_1+20x_2leq{150}tag{2}] [0leq{x_1}leq{8}tag{3}] [0leq{x_2}leq{8}tag{4}] 對(duì)約束

    2023年04月18日
    瀏覽(31)
  • 【多目標(biāo)規(guī)劃問(wèn)題求解】ε-約束算法

    TIME:2022/07/30 Author:霧雨霜星 Web:霧雨霜星的小站 小站原文鏈接:https://www.shuangxing.top/#/post?id=27 [1]Nima Amjady and Jamshid Aghaei and Heidar Ali Shayanfar. Stochastic Multiobjective Market Clearing of Joint Energy and Reserves Auctions Ensuring Power System Security[J]. IEEE Transactions on Power Systems, 2009, 24(4) : 1841-1854. [

    2024年02月05日
    瀏覽(35)
  • 約束優(yōu)化求解之罰函數(shù)法

    約束優(yōu)化求解之罰函數(shù)法

    罰函數(shù)法 本部分考慮約束優(yōu)化問(wèn)題: min ? f ( x ) s . t . x ∈ χ (1) begin{aligned} min f(x) \\\\ s.t. xinchi end{aligned} tag{1} min f ( x ) s . t . x ∈ χ ? ( 1 ) 這里 χ ? R n chisubsetmathbb{R}^n χ ? R n 為問(wèn)題的可行域。與無(wú)約束問(wèn)題不同,約束優(yōu)化問(wèn)題中自變量 x x x 不能任意取值,這導(dǎo)致

    2023年04月19日
    瀏覽(21)
  • 基于梯度下降算法的無(wú)約束函數(shù)極值問(wèn)題求解

    基于梯度下降算法的無(wú)約束函數(shù)極值問(wèn)題求解

    導(dǎo)數(shù)(Derivative),也叫 導(dǎo)函數(shù)值 。又名 微商 ,是微積分中的重要基礎(chǔ)概念。 導(dǎo)數(shù)是函數(shù)的局部性質(zhì)。一個(gè)函數(shù)在某一點(diǎn)的導(dǎo)數(shù)描述了這個(gè)函數(shù)在這一點(diǎn)附近的變化率 。如果函數(shù)的自變量和取值都是實(shí)數(shù)的話(huà),函數(shù)在某一點(diǎn)的導(dǎo)數(shù)就是該函數(shù)所代表的曲線(xiàn)在這一點(diǎn)上的切線(xiàn)

    2024年02月13日
    瀏覽(32)
  • MATLAB粒子群算法求解帶容量約束的物流配送選址問(wèn)題實(shí)例

    粒子群算法編程問(wèn)題實(shí)例: MATLAB粒子群算法求解帶容量約束物流配送中心選址問(wèn)題代碼實(shí)例 在經(jīng)度范圍為(116, 118),緯度范圍為(38, 40)的矩形區(qū)域內(nèi),散布著37個(gè)需求點(diǎn),各個(gè)需求點(diǎn)的坐標(biāo)及需求量見(jiàn)表1。要求在該矩形區(qū)域內(nèi)確定N個(gè)位置建立配送中心。已知各配送中心容量不

    2024年02月10日
    瀏覽(27)
  • 利用 MATLAB 編程實(shí)現(xiàn)乘子法求解約束最優(yōu)化問(wèn)題。
擬 Newton 法

    利用 MATLAB 編程實(shí)現(xiàn)乘子法求解約束最優(yōu)化問(wèn)題。 擬 Newton 法

    1、畫(huà)出 PH 法的算法流程圖; 2、MATLAB 編寫(xiě) PH 法求解約束優(yōu)化問(wèn)題的函數(shù),無(wú)約束子問(wèn)題用精確一 維搜索的擬 Newton 法((函數(shù)式 M 文件,精度設(shè)為 epson 可調(diào));編寫(xiě)程序(命 令式 M 文件),調(diào)用 PH 法,求解如下問(wèn)題: ? 初始點(diǎn)取(10,10),按教材 P217,例 12 取不同的參

    2024年02月11日
    瀏覽(66)
  • 通用的改進(jìn)遺傳算法求解帶約束的優(yōu)化問(wèn)題(MATLAB代碼精講、實(shí)際工程經(jīng)驗(yàn)分享)

    通用的改進(jìn)遺傳算法求解帶約束的優(yōu)化問(wèn)題(MATLAB代碼精講、實(shí)際工程經(jīng)驗(yàn)分享)

    在對(duì)多約束、非線(xiàn)性問(wèn)題的求解上,傳統(tǒng)線(xiàn)性規(guī)劃等方法往往無(wú)法有效求解(求解時(shí)間過(guò)長(zhǎng)、無(wú)法處理非線(xiàn)性約束等。 進(jìn)化算法是一類(lèi)強(qiáng)有力的工具,已經(jīng)在多個(gè)領(lǐng)域有了較為成功的應(yīng)用。然而,在利用遺傳算法、粒子群等等進(jìn)化算法求解實(shí)際的優(yōu)化問(wèn)題時(shí),還存在許多困難

    2023年04月19日
    瀏覽(94)
  • Matlab多元非線(xiàn)性函數(shù)擬合

    Matlab多元非線(xiàn)性函數(shù)擬合

    看了多篇文章,覺(jué)得沒(méi)有一篇比較全,且可以參照的多元非線(xiàn)性函數(shù)擬合,看了多篇文章后總結(jié)以下內(nèi)容,主要以示例給出,希望能幫助到大家快速上手。 beta = nlinfit(X, Y, modelfun, beta0) X為你的自變量,Y是因變量,modelfun是你用inline定義的函數(shù)名字,beta0是模型參數(shù)的初始值。

    2024年02月07日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包