如果目標函式或約束條件中包含非線性函式,則稱這種規劃問題為非線性規劃問題,簡寫為np。二次規劃是非線性規劃中的特例,由於二次規劃有通用的解法,所以單獨討論,而其他的非線性規劃問題沒有通用的解法。
在matlab中,非線性規劃的數學模型可以寫為下面的形式: mi
nf(x
)st.
ax≤b
aeq⋅
x=be
qg(x
)≤0c
eq(x
)=0
f(x)是標量函式,a、b、aeq和beq是相應維數的矩陣和向量,c和ceq是非線性向量函式。
matlab中求解非線性規劃問題的函式是fmincon函式,常用的呼叫格式如下:
x=fmincon(fun,x
0,a,b,aeq,beq,lb,ub,nonlcon)
[x fval]=fmincon(fun,x
0,a,b,aeq,beq,ub,nonlcon)
x0是x的初始值
nonlcon是用m檔案定義的非線性向量函式c(x)、ceq(x)
example mi
nf(x
)=x2
1+x2
2+8s
t.x2
1−x2
≥0−x
1−x2
2+x=
0x1,
x2≥0
編寫目標函式m檔案fun1.m
function
f=fun1
(x)f=x
(1)^2+x
(2)^2+8;
2.編寫約束條件函式m檔案fun2.m
function [g
h]=fun2
(x)g=-x
(1)^2+x
(2);
g=-x(1)-x(2)^2+2;
編寫主函式指令碼funmain.m
[x
y]=fmincon('fun1',rand(2,1),,,,,zeros(2,1),,'fun2')
%x0=rand(2,1)隨機生成乙個x
0向量作為x的初始值
x=
1.0000
1.0000
y= 10.0000
數學建模 非線性規劃
2014年4月17日 規劃方法是建模中的常用手段。那麼顯然要人有我優了,非線性規劃就是乙個不錯的加分點。下面介紹幾種常用的非線性規劃技巧 這裡要說一下無約束法,規劃問題的困難在於求解,特別是約束比較奇怪的。於是在比賽中把有約束的規劃問題轉換成無約束的規劃問題就成了乙個大大的加分點。另外dfp之類的包...
數學建模之非線性規劃
如果目標函式或約束條件中包含非線性函式,就稱這種規劃問題為非線性規劃問 題。非線性規劃目前還沒有適於各種問題的一般演算法,各個方法都有自己特定的適用範圍。一般形式 matlab 中非線性規劃的數學模型寫成以下形式 其中 f x 是標量函式,a,b,aeq,beq是相應維數的矩陣和向量,c x ceq...
MATLAB數學建模 3 非線性規劃
將要規劃求解的問題運用各種原理寫成要最大化或者最小化的數學公式後,運用matlab求解問題。針對非線性規劃,matlab提供了如下命令 fimincon.matlab中非線性規劃的數學模型可寫成如下形式 f x 為標量函式,a,b,aeq,beq是相應維數的矩陣和向量,c x ceq x 是非線性向...