基於matlab的求解非線性優化問題(包含反比例函式)的solver有哪些?

時間 2021-05-09 01:17:08

1樓:shayb

用1stOpt求解試試,很簡單:

Parameter 0 <= x <= 100;

MinFunction 1 / (x + 1) + x;

5 <= 1 / (x + 2) + 2x <=8;

結果:函式表示式: 1 / (x + 1) + x目標函式值(最小): 2.68133458177251x: 2.38600093632938

約束函式:

1: 5-(1 / (x + 2) + 2*x) = 02: 1 / (x + 2) + 2*x-(8) = -3

2樓:又紅又正

事實上,這個問題雖然不是convex的,但是並不需要演算法,完全可以利用問題的二次結構來得到解

首先令,則優化問題等價於

用一下一元二次函式的求根公式,第二個約束可以簡化成因此, 對應的

3樓:詹小寶他爸

推薦BARON

Global solver,可以解各種nonconvex nonlinear, mixed-integer問題。有matlab的library,可以在martlab下寫model。

這個軟體的如果用UIUC或者 CMU的郵箱註冊可以免費使用一年。

4樓:黑貓Q形態

據我所知至少有:

fmincon

quadprog(專門處理二次優化的)

lsqnonlin和lsqcurvefit (前面乙個管非線性最小二乘,後面乙個管曲線擬合,用的預設演算法都是levenberg-marquardt;感謝@小姜 回答過我這個)

5樓:

mark乙個,等我回去用遺傳演算法試一試,做出來才回答。

樓上的回答是正確的,fmincon是乙個求解區域性最優的函式,但是我記得引數和常用的策略是可以調節的,最常用的是牛頓迭代的策略,但是這個太智慧型了,我估計題主數求出來也會雲裡霧裡。

6樓:

你用的cplex和mosek都不是MATLAB優化工具箱的函式。最適合你用的應該是fmincon.

大概步驟如下 (同樣的流程可以用於更複雜的問題):

定義乙個目標函式

function

F =myobj

(x)F=1

/(x+

1)+x

;% 目標函式,標量

end定義乙個非線性約束函式

function

[c, ceq] =

myconstr

(x)c=[

1/(x

+2)+

2x-8

;5-(

1/(x

+2)+

2x)];% 不等式約束

ceq=

;% 等式約束

end定義x上下界lb=

0;ub=

100;

定義初值

x0 = 1隨便取的

最後呼叫fmincon

options

=optimoptions

('fmincon'

,'Algorithm'

,'sqp'

);% 我選的是sqp演算法。x=

fmincon

(@myobj,x0

lb,ub,@

myconstr

,options

);應該就能解出來了。

matlab解非線性方程組 ?新手求幫忙

你這個程式比較接近了,需要修改的地方不多 solve最好用符號表示式而不是字串,這樣方便帶入引數,舉個例子 symsxa 3 x solve x a x 3如果你寫成 x solve x a 那麼這裡的a 3是不會被帶入的,得到的是乙個可能含有a的解 x solve x a Warning Do n...

求解大規模非線性規劃問題通常使用哪些軟體工具?

程定一 目前為止,商業軟體求解的非線性問題是有一定侷限的,比如CPLEX只能用來求解二次規劃 QP 含二次凸約束的二次規劃 QCQP 二階錐規劃 SOCP 以及相應的混合整數問題,對於其他的非線性問題是沒有辦法求解的 當然,MOSEK也可以求解半定規劃 SDP 問題,也就是說非線性規劃的商業軟體求解...

既然現實世界是非線性的,那麼線性方程和線性規劃能解決的問題豈非太少?

substeps999999 線性是非線性的區域性近似。當我們機械佬處理非線性問題,通常要把場分成一塊一塊的單元,乙個關於場函式非線性的偏微分方程組將會變成乙個關於擬合係數的線性方程組。我們有時將非線性方程組弱化,選擇合適的形函式分配到單元中,讓近似解用節點上的值線性表示出來,然後擬合出近似解 有時...