目錄
前言
一、非線性規(guī)劃問(wèn)題是什么?
二、非線性規(guī)劃的數(shù)學(xué)模型
1.一般形式
三、線性規(guī)劃的 Matlab 解法
Matlab 中非線性規(guī)劃的數(shù)學(xué)模型:
2.Matlab 中的命令:
前言
本篇講述非線性規(guī)劃問(wèn)題極其matlab解法
一、非線性規(guī)劃問(wèn)題是什么?
如果目標(biāo)函數(shù)或約束條件中包含非線性函數(shù),就稱這種規(guī)劃問(wèn)題為非線性規(guī)劃問(wèn)題。一般說(shuō)來(lái),解非線性規(guī)劃要比解線性規(guī)劃問(wèn)題困難得多。而且,也不像線性規(guī)劃有單純形法這一通用方法,非線性規(guī)劃目前還沒(méi)有適于各種問(wèn)題的一般算法,各個(gè)方法都有自己特定的適用范圍。
下面通過(guò)實(shí)例歸納出非線性規(guī)劃數(shù)學(xué)模型的一般形式,介紹有關(guān)非線性規(guī)劃的基本概念。
二、非線性規(guī)劃的數(shù)學(xué)模型
1.一般形式
其中 x = [ x 1 .... x n ] T 稱為模型(NP)的決策變量f 稱為目標(biāo)函數(shù)g i ( i = 1,...., p ) 和 h j ( j = 1,....,q ) 稱為約束函數(shù)另外, g i ( x ) = 0 ( i = 1,...., p ) 稱為等式約束h j ( x ) ≤ 0 ( j = 1,....,q ) 稱為不等式的約束
三、線性規(guī)劃的 Matlab 解法
-
Matlab 中非線性規(guī)劃的數(shù)學(xué)模型:
?????????
其中 f (x)是標(biāo)量函數(shù), A, B, Aeq, Beq是相應(yīng)維數(shù)的矩陣和向量,C(x),Ceq(x) 是非
2.Matlab 中的命令:
[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
?x的返回值是決策向量x的取值
fval返回的是目標(biāo)函數(shù)的取值,其中fun是用M文件定義的函數(shù) ;
x0是x的初始值;
A,b,Aeq,beq定義了線性約束 ?如果沒(méi)有線性約束,則A=[],b=[],Aeq=[],beq=[];lb和ub是變量x的下界和上界,如果上界和下界沒(méi)有約束,即x無(wú)下界也無(wú)上界,則lb=[],ub=[],也可以寫成 lb的各分量都為-inf,ub的各分量都為inf;
nonlcon是用M文件定義的非線性向量函數(shù)c(x),ceq(x);
options定義了優(yōu)化參數(shù),可以使用Matlab缺省的參數(shù)設(shè)置。
(看不懂沒(méi)關(guān)系,后邊的例題你會(huì)明白的)
3、例題1----二次規(guī)劃問(wèn)題
clc
clear all
fun = @(x)100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
x0 = [1,1];%初始點(diǎn)設(shè)置自行不同
A = [1,-2];
b = 1;
Aeq = [2,1];
beq = 1;
[x,y] = fmincon(fun,x0,A,b,Aeq,beq)
例題2---含非線性約束條件問(wèn)題
目標(biāo)函數(shù)
min f (x) = x1^2 + x2^2 + x3^2 + 8
約束條件
x1^2 ? x2 + x3 ^2 ≥ 0
x1 + x2^2 + x3 ^3 ≤ 20
? x1 ? x2^2 + 2 = 0
x2 + 2x3^2 = 3x1
x1,x2 , x3 ≥ 0
?
?解法
clc
clear all
%% 主函數(shù)
options=optimset('largescale','off');
[x,y] = fmincon(@fun,rand(3,1),[],[],[],[],zeros(3,1),[], @nonlcon, options)
%% 目標(biāo)函數(shù)
function f=fun(x)
f=sum(x.^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
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-462288.html
?【源自http://t.csdn.cn/ijHZc】文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-462288.html
到了這里,關(guān)于數(shù)學(xué)建模學(xué)習(xí)---非線性規(guī)劃的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!