求問一下像這種非線性有約束優化問題怎麼用matlab程式設計求解啊?

時間 2021-05-06 13:57:55

1樓:

今天來嘗試一下:基於問題的優化設定

對比:建立你的問題

prob

=optimproblem

x=optimvar('x',3)

可以這樣寫

prob.Objective=sum(0.2.*ones(3,1).*x.^2)+sum([58;54;50].*x)-560

還直接這樣寫(不推薦,沒有matlab特色,僅用於理解)

prob.Objective=0.2*x(1)^2 + 0.2*x(2)^2 + 0.2*x(3)^2 + 58*x(1)+ 54*x(2) + 50*x(3) - 560

prob.Constraints.constraint11=[40;0;0]<=x

prob.Constraints.constraint12=x<=100*ones(3,1)

prob.Constraints.constraint2=sum(x)==200

prob.Constraints.constraint3=sum(x(1:2))-40>=60

show(prob)

可以,無問題!

[sol,fval] = solve(prob)

sol.x,fval

說實話,太香了,個人認為比lingo好用(語法很簡單,lingo的報錯有時候真的讓人摸不著腦殼),但是它究竟有沒有lingo強就不知道了

其餘問題或者語法請參考幫助文件(寫法規則很簡單,看看就會,寫幾次就熟練了)

2樓:kxu

線性等式約束用convex programming (Boyd著)一書中的可行或不可行牛頓法,不等式約束用內點法(對數障礙函式法),如果自己不會寫,用cftool

3樓:易夕

這是乙個帶約束的多變數非線性函式的極值問題。MATLAB中使用fmincon函式來求解這類問題。fmincon函式可以支援的約束條件包括

其中第乙個為矩陣形式的線性不等式約束條件,第二個為矩陣形式的等式約束條件,第三個為自變數的取值範圍,第四個為非線性不等式約束條件,第五個為非線性等式約束條件。

fmincon函式的語法為x=

fmincon

(fun,x0

,A,b

,Aeq

,beq,lb

,ub,nonlcon

,options

)首先,構造乙個目標函式,

f=@(x)

0.2*(x

(1)*

x(1)

+x(2

)*x(

2)+x

(3)*

x(3))

+58*x

(1)+

54*x(

2)+50

*x(3

)-560;

確定x的約束條件,在題目中,包括線性不等式,線性等式,自變數上邊界和下邊界。A=

[-1,

-1,0

];b=-

100;

Aeq=[1

,1,1

];beq

=200;lb

=[40,

0,0];

ub=[100

,100

,100

];利用optimoption函式設定優化引數,設定優化演算法為'interior-point'。

options

=optimoptions

(@fmincon

,'Algorithm'

,'interior-point'

);設定x的初始值(全零即可)

x0 = [0,0,0];

呼叫fmincon函式求解[x

,fval]=

fmincon(f

,x0,A

,b,Aeq

,beq,lb

,ub,,options

);輸出結果如下

最小值約為12866.7

求問一下,投籃姿勢手肘必須像這樣的嗎

野獨山其身野兼濟天下 我不覺得投籃姿勢一定要唯一,關鍵是多練習。比如說,在籃下投,我的習慣是把手伸直,手肘接近180度了。這樣你沒有太大力量了,但是,籃下並不需要你有多大力量。主要是向上的拋物線。我甚至可以做到在籃板後面投籃,球越過籃板進球。然後說罰球線投籃,罰球線可以代表三分線內三秒區外的區域。我...

求問一下,誰能科普一下 Fermi arc 和 Weyl semimetal 的聯絡?

黃大力 Weyl 半金屬中的準粒子有兩種不同的手性,手性為1代表自旋平行與動量方向,1代表反平行。在乙個固體中,自旋動量鎖定的準粒子在沒有散射的情況下,將會一直沿著一條直線運動,最終他肯定要要到達固體表面,沒有了平移對稱性,他沒法繼續往前走,必須改變方向,唯一能讓他改變方向的方式就是去另乙個手性的W...

求問一下分子模擬的優勢有哪些?

優勢在於可以做計算機理想實驗。在學術界和工業界,有很多物理 化學 生物等的問題,會牽扯到電子 分子 原子的層面,但是實驗做起來難度太高或是根本就沒有頭緒,所以需要進一步的手段去解決這些問題。例如你可以用高倍的電子顯微鏡去看,用小角衍射去觀察,這些都是昂貴的實驗,很有可能你也做不成來什麼東西,這個時候...