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

數(shù)學(xué)建模:線性與非線性優(yōu)化算法

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)學(xué)建模:線性與非線性優(yōu)化算法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?? 文章首發(fā)于我的個(gè)人博客:歡迎大佬們來(lái)逛逛

數(shù)學(xué)建模:線性與非線性優(yōu)化算法

優(yōu)化算法是指在滿足一定條件下,在眾多方案中或者參數(shù)中最優(yōu)方案,或者參數(shù)值,以使得某個(gè)或者多個(gè)功能指標(biāo)達(dá)到最優(yōu),或使得系統(tǒng)的某些性能指標(biāo)達(dá)到最大值或者最小值

優(yōu)化的兩個(gè)關(guān)鍵點(diǎn):

1.明確優(yōu)化的目標(biāo)函數(shù)
2.明確優(yōu)化變量之間需要滿足的約束

線性優(yōu)化

使用函數(shù):linprog

函數(shù)原型:

[x,fval]=linprog(f,A,b,Aeq,Beq,LB,UB)
  • x:求得最優(yōu)情況下變量的解
  • fval:求得最優(yōu)目標(biāo)值
  • f:目標(biāo)函數(shù)的系數(shù)(符號(hào)按最小值標(biāo)準(zhǔn),若目標(biāo)是求解機(jī)大值可以通過(guò)添加負(fù)號(hào)改成求極小值)
  • A:不等式約束的變量系數(shù)(符合按小于標(biāo)準(zhǔn),如果是大于約束可通過(guò)加負(fù)號(hào)變成小于)
  • b:不等式約束的常量
  • Aeq:等式約束的變量系數(shù)
  • Beq:等式約束的常量
  • LB:變量的下限
  • UB:變量的上限

例如我們需要計(jì)算求解如下線性函數(shù)的最優(yōu)解:

m i n { ? x 1 ? 2 x 2 + 3 x 3 } x 1 + x 2 ? 3 x 2 + x 3 ? 3 x 1 + x 3 = 4 0 ≤ x 1 , x 2 , x 3 ≤ 2 \begin{gathered}min\{-x_1-2x_2+3x_3\} \\x_1+x_2\geqslant3 \\x_2+x_3\geqslant3 \\x_1+x_3=4 \\0\leq x_1,x_2,x_3\leq2 \end{gathered} min{?x1??2x2?+3x3?}x1?+x2??3x2?+x3??3x1?+x3?=40x1?,x2?,x3?2?

clc;clear;

f = [-1;-2;3];
%% 不等式約束
A = [-1,-1,0;0,-1,-1];
B = [-3,-3];

%% 等式約束
Aeq = [1,0,1];
Beq = [4];

%% 上下限
LB = zeros(3,1);
UB = 2*ones(3,1);

%% 線性優(yōu)化
[x,fval] = linprog(f,A,B,Aeq,Beq,LB,UB);

%% 輸出結(jié)果

objstr = ['目標(biāo)函數(shù)最優(yōu)值:',num2str(fval)];
disp(objstr);
for i = 1:length(x)
    xstr = ['x',num2str(i),'的系數(shù)為: ',num2str(x(i))];
    disp(xstr);
end

非線性優(yōu)化

fmincon是MATLAB的非線性規(guī)劃求解函數(shù)

[x,fval]=fmincon(fun,x0,A,b,Aeq,Beq,LB,UB,nonlcon)
  • x:求得最優(yōu)情況下變量的解
  • fval:求得最優(yōu)目標(biāo)值
  • fun:目標(biāo)函數(shù)(符號(hào)按最小值標(biāo)準(zhǔn),若目標(biāo)是求解機(jī)大值可以通過(guò)添加負(fù)號(hào)改成求極小值)
  • x0:初始解
  • A:不等式約束的變量系數(shù)(符合按小于標(biāo)準(zhǔn),如果是大于約束可通過(guò)加負(fù)號(hào)變成小于)
  • b:不等式約束的常量
  • Aeq:等式約束的變量系數(shù)
  • Beq:等式約束的常量
  • LB:變量的下限
  • UB:變量的上限
  • nonlcon :非線性約束函數(shù)表達(dá)式

m a x { x 1 2 ? x 2 2 + x 2 x 3 } 2 x 1 + x 2 + 3 x 3 ≤ 6 x 1 2 + x 1 x 2 + x 2 x 3 ≤ x 2 + 6 0 ≤ x 1 , x 2 , x 3 ≤ 1 \begin{gathered}max\begin{Bmatrix}x_1^2-x_2^2+x_2x_3\end{Bmatrix} \\2x_1+x_2+3x_3\leq6 \\x_1^2+x_1x_2+x_2x_3\leq x_2+6 \\0\leq x_1,x_2,x_3\leq1 \end{gathered} max{x12??x22?+x2?x3??}2x1?+x2?+3x3?6x12?+x1?x2?+x2?x3?x2?+60x1?,x2?,x3?1?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-729762.html

clc;clear;

% 指定初始解
x0 = zeros(3,1);
%% <線性>不等約束
A = [2,1,3];
B = [6];

%% <線性>等式約束
Aeq = [];
Beq = [];

%% 變量上下限
LB = zeros(3,1);
UB = 1*ones(3,1);

%% 整體非線性優(yōu)化目標(biāo)函數(shù)
fun = @(x) -x(1)^2-x(2)^2+x(2)*x(3);

%% 取得非線性不等式約束函數(shù)
nonlcon = @noLinearLimited;
[x,fval] = fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,nonlcon);

objstr=['目標(biāo)函數(shù)最優(yōu)值:',num2str(-fval)];
disp(objstr)
for i=1:length(x)
    xstr=['x',num2str(i),'的值為:',num2str(x(i))];
    disp(xstr)
end

%% 非線性不等式約束的表達(dá)式,如果有多個(gè),則在C后面加; 補(bǔ)充即可
function [C,Ceq] = noLinearLimited(x)
    C = [x(1)^2+x(1)*x(2)+x(2)*x(3)-x(2)-6];
    Ceq = [];
end

到了這里,關(guān)于數(shù)學(xué)建模:線性與非線性優(yōu)化算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(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)文章

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

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

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

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

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

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

    2024年01月16日
    瀏覽(28)
  • 數(shù)學(xué)建模| 非線性規(guī)劃(Matlab)

    非線性規(guī)劃:約束條件和目標(biāo)函數(shù)存在非線性函數(shù)。簡(jiǎn)單點(diǎn)說(shuō),約束條件和目標(biāo)函數(shù)中至少一個(gè)決策變量不是一次方,例如三角函數(shù)、對(duì)數(shù)、多次方等。 線性規(guī)劃和非線性在解決上的不同:線性規(guī)劃可以有通用方法,但是非線性規(guī)劃的求解是沒(méi)有特定算的,只能用近似的算法

    2024年02月07日
    瀏覽(20)
  • 數(shù)學(xué)建模整理-線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃

    數(shù)學(xué)建模整理-線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃

    在人們的生產(chǎn)實(shí)踐中,經(jīng)常會(huì)遇到如何利用現(xiàn)有資源來(lái)安排生產(chǎn),以取得最大經(jīng)濟(jì) 效益的問(wèn)題。若目標(biāo)函數(shù)及約束條件均為線性函數(shù),則稱(chēng)為線性規(guī)劃(Linear Programming 簡(jiǎn)記 LP)。 可行解 :滿足約束條件的解。 可行預(yù) :所有可行解構(gòu)成的集合稱(chēng)為問(wèn)題的可行域,記為R。 圖解法

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

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

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

    2024年02月07日
    瀏覽(25)
  • 【數(shù)學(xué)建?!縋ython+Gurobi求解非線性規(guī)劃模型

    目錄 1 概述 2 算例? 2.1 算例 2.2 參數(shù)設(shè)置 2.3 Python代碼實(shí)現(xiàn) 2.4 求解結(jié)果 如果目標(biāo)函數(shù)或約束條件中包含非線性函數(shù),就稱(chēng)這種規(guī)劃問(wèn)題為非線性規(guī)劃問(wèn)題。 參考:(非線性規(guī)劃Python)計(jì)及動(dòng)態(tài)約束及節(jié)能減排環(huán)保要求的經(jīng)濟(jì)調(diào)度 2.1 算例 2.2 參數(shù)設(shè)置 求解NLP/非凸問(wèn)題時(shí),

    2024年02月09日
    瀏覽(20)
  • 【視覺(jué)SLAM入門(mén)】5.2. 2D-3D PNP 3D-3D ICP BA非線性優(yōu)化方法 數(shù)學(xué)方法SVD DLT

    【視覺(jué)SLAM入門(mén)】5.2. 2D-3D PNP 3D-3D ICP BA非線性優(yōu)化方法 數(shù)學(xué)方法SVD DLT

    前置事項(xiàng): 該問(wèn)題描述為:當(dāng)我們知道n 個(gè) 3D 空間點(diǎn)以及它們的投影位置時(shí),如何估計(jì)相機(jī)所在的位姿 1.1.1 DLT(直接線性變換法) 解決的問(wèn)題:已知空間點(diǎn) P = ( X , Y , Z , 1 ) T P = (X, Y, Z, 1)^T P = ( X , Y , Z , 1 ) T 和它投影點(diǎn) x 1 = ( u 1 , v 1 , 1 ) T x_1 = (u_1, v_1, 1)^T x 1 ? = ( u 1 ? , v 1

    2024年02月12日
    瀏覽(88)
  • 計(jì)算機(jī)視覺(jué)與深度學(xué)習(xí) | 非線性優(yōu)化理論:圖優(yōu)化、高斯牛頓法和列文伯格-馬夸爾特算法

    ===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 計(jì)算機(jī)視覺(jué)與深度學(xué)習(xí) | SLAM國(guó)內(nèi)外研究現(xiàn)狀 計(jì)算機(jī)視覺(jué)與深度學(xué)習(xí) | 視覺(jué)慣性SLAM的基礎(chǔ)理論 計(jì)算機(jī)

    2024年02月08日
    瀏覽(20)
  • 【Matlab算法】L-M法求解非線性最小二乘優(yōu)化問(wèn)題(附L-M法MATLAB代碼)

    博主 一頭小山豬 目前已開(kāi)放所有文章:小山豬——經(jīng)典算法專(zhuān)欄 活動(dòng)地址:CSDN21天學(xué)習(xí)挑戰(zhàn)賽 L-M法 (Levenberg-Marquardt法)原理 當(dāng)矩陣 ( J k ) T J k left(J_{k}right)^{T} J_{k} ( J k ? ) T J k ? 為病態(tài)矩陣時(shí),用G-N算法可能得不到正確的解,甚至當(dāng) ( J k ) T J k left(J_{k}right)^{T} J_{k} ( J

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

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

    2024年02月08日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包