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

MATLAB 非線性規(guī)劃

這篇具有很好參考價值的文章主要介紹了MATLAB 非線性規(guī)劃。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

MATLAB 非線性規(guī)劃

?作者簡介:人工智能專業(yè)本科在讀,喜歡計算機(jī)與編程,寫博客記錄自己的學(xué)習(xí)歷程。
??個人主頁:小嗷犬的個人主頁
??個人網(wǎng)站:小嗷犬的技術(shù)小站
??個人信條:為天地立心,為生民立命,為往圣繼絕學(xué),為萬世開太平。



什么是非線性規(guī)劃問題

非線性規(guī)劃問題仍是規(guī)劃問題的一種,但是目標(biāo)函數(shù)和約束條件不再是線性的,而是存在非線性的部分,如指數(shù)函數(shù)、對數(shù)函數(shù)、三角函數(shù)等。


如何使用 MATLAB 解決非線性規(guī)劃問題

常見的非線性規(guī)劃問題通常類似于以下形式:

min ? f ( x ) = x 1 2 + x 2 2 + x 3 2 + 8 \begin{equation} \min \quad f(x)=x_{1}^2+x_{2}^2+x_{3}^2+8 \end{equation} minf(x)=x12?+x22?+x32?+8??

?s.t.? { x 1 2 ? x 2 + x 3 2 ≥ 0 x 1 + x 2 2 + x 3 3 ≤ 20 ? x 1 ? x 2 2 + 2 = 0 x 2 + 2 x 3 2 = 3 x 1 , x 2 , x 3 ≥ 0 \begin{equation} \text { s.t. } \begin{cases} & x_{1}^2-x_{2}+x_{3}^2 \geq 0 \\ & x_{1}+x_{2}^2+x_{3}^3 \leq 20 \\ & -x_{1}-x_{2}^2+2 = 0 \\ & x_{2}+2x_{3}^2 = 3 \\ & x_{1}, x_{2}, x_{3} \geq 0 \end{cases} \end{equation} ?s.t.?? ? ???x12??x2?+x32?0x1?+x22?+x33?20?x1??x22?+2=0x2?+2x32?=3x1?,x2?,x3?0???

其中,公式1為目標(biāo)函數(shù),公式2為約束條件。

對于非線性規(guī)劃問題,MATLAB 提供了 fmincon 函數(shù)來解決,其基本語法為:

[x,fval] = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

其中,fun 為目標(biāo)函數(shù),x0 為初始值,A 為線性不等式約束的系數(shù)矩陣,b 為線性不等式約束的右端項,Aeq 為線性等式約束的系數(shù)矩陣,beq 為線性等式約束的右端項,lb 為變量的下界,ub 為變量的上界,nonlcon 為非線性約束函數(shù)。

MATLAB 中的非線性規(guī)劃問題的標(biāo)準(zhǔn)形式為:

min ? x f ( x ) ?such?that? { c ( x ) ≤ 0 , c e q ( x ) = 0 , A ? x ≤ b , A e q ? x = b e q , l b ≤ x ≤ u b \min _{x} f(x) \text { such that } \begin{cases} & c(x) \leq 0, \\ & ceq(x) = 0, \\ & A \cdot x \leq b, \\ & { Aeq } \cdot x={ beq }, \\ & l b \leq x \leq u b \end{cases} xmin?f(x)?such?that?? ? ???c(x)0,ceq(x)=0,A?xb,Aeq?x=beq,lbxub?

其中,c(x) 為非線性不等式約束,ceq(x) 為非線性等式約束。

所以要使用 fmincon 函數(shù),需要先將非線性規(guī)劃問題轉(zhuǎn)為標(biāo)準(zhǔn)形式:

min ? f ( x ) = x 1 2 + x 2 2 + x 3 2 + 8 \begin{equation} \min \quad f(x)=x_{1}^2+x_{2}^2+x_{3}^2+8 \end{equation} minf(x)=x12?+x22?+x32?+8??

?s.t.? { ? x 1 2 + x 2 ? x 3 2 ≤ 0 x 1 + x 2 2 + x 3 3 ? 20 ≤ 0 x 1 + x 2 2 ? 2 = 0 x 2 + 2 x 3 2 ? 3 = 0 x 1 , x 2 , x 3 ≥ 0 \begin{equation} \text { s.t. } \begin{cases} & -x_{1}^2+x_{2}-x_{3}^2 \leq 0 \\ & x_{1}+x_{2}^2+x_{3}^3-20 \leq 0 \\ & x_{1}+x_{2}^2-2 = 0 \\ & x_{2}+2x_{3}^2-3 = 0 \\ & x_{1}, x_{2}, x_{3} \geq 0 \end{cases} \end{equation} ?s.t.?? ? ????x12?+x2??x32?0x1?+x22?+x33??200x1?+x22??2=0x2?+2x32??3=0x1?,x2?,x3?0???

這里沒有線性約束條件,因此 Ab 為空矩陣。

接下來,將目標(biāo)函數(shù)和非線性約束條件分別寫成函數(shù)形式:

function f = objfun(x)
f = x(1)^2 + x(2)^2 + x(3)^2 + 8;
end
function [c,ceq] = nonlcon(x)
c = [-x(1)^2 + x(2) - x(3)^2; x(1) + x(2)^2 + x(3)^3 - 20];
ceq = [x(1) + x(2)^2 - 2; x(2) + 2*x(3)^2 - 3];
end

將函數(shù)分別保存到 objfun.mnonlcon.m 文件中。

最后,使用 fmincon 函數(shù)求解:

[x,fval] = fmincon(@objfun,[0 0 0],[],[],[],[],[0 0 0],[],@nonlcon)
% 或
[x,fval] = fmincon('objfun',[0 0 0],[],[],[],[],[0 0 0],[],'nonlcon')

通過修改 x0 的值,可以改變迭代過程,但是最終的解是相同的。

本題的解為:文章來源地址http://www.zghlxwxcb.cn/news/detail-453045.html

x =
    0.5522    1.2033    0.9478

fval =
    10.6511

到了這里,關(guān)于MATLAB 非線性規(guī)劃的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 數(shù)學(xué)建模十大算法03—線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃、多目標(biāo)規(guī)劃

    數(shù)學(xué)建模十大算法03—線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃、多目標(biāo)規(guī)劃

    一、線性規(guī)劃(Linear Programming,LP) 1.1 引例 在人們的生產(chǎn)實(shí)踐中,經(jīng)常會遇到 如何利用現(xiàn)有資源來安排生產(chǎn),以取得最大經(jīng)濟(jì)效益的問題。 此類問題構(gòu)成了運(yùn)籌學(xué)的一個重要分支一數(shù)學(xué)規(guī)劃,而 線性規(guī)劃(Linear Programming, LP) 則是數(shù)學(xué)規(guī)劃的一個重要分支。 簡而言之,線

    2024年02月13日
    瀏覽(26)
  • 非線性規(guī)劃

    非線性規(guī)劃

    ??非線性規(guī)劃在工業(yè)界和學(xué)術(shù)界中應(yīng)用非常普遍,譬如交通運(yùn)輸中的路徑優(yōu)化、金融領(lǐng)域中的資產(chǎn)配置、5G網(wǎng)絡(luò)切片中VNF的放置等。很多時候,我們對復(fù)雜問題進(jìn)行提煉和抽象后,發(fā)現(xiàn)可以建模成某一種非線性規(guī)劃。然而,由于非線性規(guī)劃多是NP難的問題,并不容易得到最優(yōu)

    2023年04月08日
    瀏覽(21)
  • 數(shù)學(xué)建?!痉蔷€性規(guī)劃】

    數(shù)學(xué)建模【非線性規(guī)劃】

    一、非線性規(guī)劃簡介 通過分析問題判斷是用線性規(guī)劃還是非線性規(guī)劃 線性規(guī)劃:模型中所有的變量都是一次方 非線性規(guī)劃:模型中至少一個變量是非線性 非線性規(guī)劃在形式上與線性規(guī)劃非常類似,但在數(shù)學(xué)上求解卻困難很多 線性規(guī)劃有通用的求解準(zhǔn)確解的方法(單純形法

    2024年02月19日
    瀏覽(30)
  • 數(shù)學(xué)建模——非線性規(guī)劃

    數(shù)學(xué)建?!蔷€性規(guī)劃

    目錄 基本概念 凸規(guī)劃 判別定理 二次規(guī)劃模型 非線性規(guī)劃的求解 無約束極值問題 有約束極值問題 基于求解器的解法 基于問題的求解 其他 非線性規(guī)劃:描述目標(biāo)函數(shù)或約束條件條件的數(shù)學(xué)表達(dá)式中,至少有一個是非線性函數(shù)。 記是n維歐式空間中的一個點(diǎn)(n維向量),,

    2024年02月06日
    瀏覽(23)
  • 數(shù)學(xué)建模學(xué)習(xí)---非線性規(guī)劃

    數(shù)學(xué)建模學(xué)習(xí)---非線性規(guī)劃

    目錄 前言 一、非線性規(guī)劃問題是什么? 二、非線性規(guī)劃的數(shù)學(xué)模型 1.一般形式 三、線性規(guī)劃的 Matlab 解法 Matlab 中非線性規(guī)劃的數(shù)學(xué)模型: 2.Matlab 中的命令: 本篇講述非線性規(guī)劃問題極其matlab解法 如果目標(biāo)函數(shù)或約束條件中包含非線性函數(shù),就稱這種規(guī)劃問題為非線性規(guī)

    2024年02月06日
    瀏覽(32)
  • 數(shù)學(xué)建模(五)非線性規(guī)劃

    數(shù)學(xué)建模(五)非線性規(guī)劃

    ?課程推薦: 13 非線性規(guī)劃算法在數(shù)學(xué)建模中的應(yīng)用與編程實(shí)現(xiàn)_嗶哩嗶哩_bilibili 如果目標(biāo)函數(shù)或約束條件中包含非線性函數(shù),就稱這種規(guī)劃問題為非線性規(guī)劃問題 。一般說來,解非線性規(guī)劃要比解線性規(guī)劃問題困難得多。而且,也不像線性規(guī)劃有單純形法這一通用方法,

    2024年02月11日
    瀏覽(21)
  • 三、數(shù)學(xué)建模之非線性規(guī)劃

    三、數(shù)學(xué)建模之非線性規(guī)劃

    1、定義 2、例題matlan代碼求解 1.非線性規(guī)劃 (Nonlinear Programming,簡稱NLP)是一種數(shù)學(xué)優(yōu)化問題的方法,它處理的目標(biāo)函數(shù)或約束條件包含非線性項。與線性規(guī)劃不同,非線性規(guī)劃涉及到在非線性約束下尋找最優(yōu)解。在許多領(lǐng)域都有廣泛的 應(yīng)用,包括工程、經(jīng)濟(jì)學(xué)、物流、金

    2024年01月16日
    瀏覽(28)
  • 數(shù)學(xué)模型:Python實(shí)現(xiàn)非線性規(guī)劃

    上篇文章:整數(shù)規(guī)劃 文章摘要:非線性規(guī)劃的Python實(shí)現(xiàn)。 參考書籍:數(shù)學(xué)建模算法與應(yīng)用(第3版)司守奎 孫璽菁。 PS:只涉及了具體實(shí)現(xiàn)并不涉及底層理論。學(xué)習(xí)底層理論以及底層理論實(shí)現(xiàn):可以參考1.最優(yōu)化模型與算法——基于Python實(shí)現(xiàn) 漸令 粱錫軍2.算法導(dǎo)論(原書第3版)

    2024年02月08日
    瀏覽(17)
  • 數(shù)學(xué)建模__非線性規(guī)劃Python實(shí)現(xiàn)

    數(shù)學(xué)建模__非線性規(guī)劃Python實(shí)現(xiàn)

    線性規(guī)劃指的是目標(biāo)模型均為線性,除此以外的都是非線性規(guī)劃,使用scipy提供的方法對該類問題進(jìn)行求解。

    2024年02月07日
    瀏覽(25)
  • 二次規(guī)劃(QP)求解與序列二次規(guī)劃(SQP)求解非線性規(guī)劃問題

    二次規(guī)劃(QP)是求解一種特殊的數(shù)學(xué)優(yōu)化問題的過程——具體地說,是一個(線性約束)二次優(yōu)化問題,即優(yōu)化(最小化或最大化)多個變量的二次函數(shù),并服從于這些變量的線性約束。二次規(guī)劃是一種特殊的非線性規(guī)劃。? ? ? ? 序列二次規(guī)劃(SQP,Sequental Quadratic Programming)算法是

    2024年02月02日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包