Presentation is loading. Please wait.

Presentation is loading. Please wait.

数 学 模 型 最 优 化 方 法 实 现 数学与计算机科学学院 2007年3月.

Similar presentations


Presentation on theme: "数 学 模 型 最 优 化 方 法 实 现 数学与计算机科学学院 2007年3月."— Presentation transcript:

1 数 学 模 型 最 优 化 方 法 实 现 数学与计算机科学学院 2007年3月

2 一、线性规划模型

3 线性规划模型:min (max)z=c’x s.t. AX<=b
其中C为价格向量。A为约束条件的系数矩阵,b为约束条件的右侧常数。 最优化模型还有二次规划、非线性规划等。

4 二、求解线性规划:min z=c’x s.t. AX<=b x>=0
用matlab采用矩阵方法求解,但要转化为上述形式,输入格式如下: 1.x=lp(c,A,b)---注:此模型无非负条件 2.x=lp(c,A,b,xlb,xub)----模型中加上条件:xlb<=x<=xub 3.x=lp(c,A,b,xlb,xub,x0,nEq)—其中nEq表示Ax<=b中前n个约束为等式

5 例1. Min z=6x1+3x2+4x3 s.t. x1+x2+x3=120 x1≥30;0≤x2≤50;x3≥20
用matlab软件求解如下: C=[6;3;4];A=[1 1 1];b=[120]; Xlb=[30;0;20];xub=[inf;50;inf]; X0=30*ones(3,1);nEq=1; X=lp(c,A,b,xlb,xub,x0,nEq) X= f=c’*x

6 二、二次规划模型:标准型如下 min z=0.5*X’HX+C’X s.t. AX≤b X≥0
用matlab求解,其输入格式如下: 1. x=QP(H,C,A,b) 2. X=QP(H,C,A,b,vlb,vub) 3. X=QP(H,C,A,b,vlb,vub,x0) 4. X=QP(H,C,A,b,vlb,vub,x0,N) N表示前N个等式约束的数目

7 例2. min f(x1, x2) = -2x1-6x2+x12-2x1x2+2x22 s. t
例2. min f(x1, x2) = -2x1-6x2+x12-2x1x2+2x22 s.t. x1+x2≤2 -x1+2x2≤2 x1≥0, x2≥0 H=[2 –2; -2 4]; c=[-2 –6]; A=[1 1; -1 2]; b=[2 2] x=QP(H, c, A, b) x= 0.5*x’*H*x+c*x

8 三、无约束极小化问题 Matlab提供了求解最优化的函数fmin( )和fmins( ),它们分别对应于单变量和多变量的最优化问题的求解,其调用格式如下: X=fmin(函数名,初值,选项) 其中函数名的定义和其他函数一致,而初值往往能决定最后解的精度和收敛速度。选项要根据实际问题来决定,查看选项的内容只需用命令 help foptions(共有18种)

9 1. 一元非线性函数的极小化: 基本的输入格式为:x=fmin(‘F’,x1,x2) 其中F表示极小化的函数,
例3. min f =2exp(-x)*sin(x) s.t. 2 < x < 5 用Matlab 求解如下: f=‘2*exp(-x).*sin(x)’; fplot( f, [0, 8] ); 作图语句 xmin=fmin( f , 2 , 5)

10 f1=‘-2*exp(-x).*sin(x)’;
xmax = fmin( f1 , 0 , 3) xmax=0.7854 x=xmin; ymin=evalf( f ) ymin= x=xmax; ymax=evalf( f ) ymax=0.6448

11 2. 多元函数的极小化问题: x=fmins(‘f ’, x0) x=fmins(‘f ’,x0,options)
例4. Min f=100 (x2-x12)2 + (1-x1)2 其中初值为x0 = (-1.2 , 1) 首先编写M—文件myfun.m function y = myfun(x ) y=100*(x(2)-x(1)^2)^2+(1-x(1))^2; 然后由下面的命令求解该问题:

12 x0=[-1.2 1]; x=fmins(‘myfun’,x0)
ans = e-09 另外一个命令是fminu( ), 其默认算法是BFGS拟Newton法,但函数一定要以M--文件形式输入, 输入格式为: x=fminu(‘fun’, x0, options)

13 用matlab求解上述问题,分两步: 首先建立函数M—文件: function [F, G] =fun( x )
四、有约束的非线性规划问题: 标准型: min F(x) s.t. G(x) ≤zeros(G) ; vlb≤x≤vub 其中G(x)为m维非线性函数向量, zeros(G)为m维零向量;不等式中允许含等式约束,输出目标函值及约束函数值: [f, g] = fun( x ) 用matlab求解上述问题,分两步: 首先建立函数M—文件: function [F, G] =fun( x )

14 2) x=constr(‘fun’,x0,options,vlb,vub)
G=[函数1;函数2;….;函数m]; 2. 运行的基本格式如下: 1) x=constr(‘fun’, x0) 2) x=constr(‘fun’,x0,options,vlb,vub) 例5. min (x1-2)2+(x2-1)2 s.t. x1-2x2+1=0; 0.25*x12 + x22 -1≤0; 用matlab输入求解如下:

15 xl=[-inf ; -inf ]; xu=[inf ; inf ]; 建立M--文件: function [F,G] =myfun1(x)
x0=[2 ; 2]; options(13) =1; xl=[-inf ; -inf ]; xu=[inf ; inf ]; 建立M--文件: function [F,G] =myfun1(x) F=(x(1)-2)^2+(x(2)-1)^2; G(1)=x(1) -2*x(2) +1; G(2)=0.25*x(1)^2 +x(2)^2 -1; 运行: [x,options] = constr(‘myfun1’, x0,options, xl, xu)

16 x=0.8229 0.9114 myfun1( x ) ans =1.3935 (目标函数值)
例6: 求解 min f(x)=ex1 (4x12+2x22+4x1x2+2x2+1) s.t. x1x2-x1-x2≤-1.5; x1x2≥-10; Step1: 编制M—文件myfun2.m: function [f , g]=myfun2(x) f=exp(x(1))*(4*x(1)^2+2*x(2)^2+ 4*x(x)*x(2)+2*x(2)+1);

17 g(1)=1.5+x(1)*x(2) -x(1) -x(2); g(2) = -x(1)*x(2) -10;
Step2: 计算最优化点和最优值 x0=[-1 , 1]; x=constr(‘myfun2’, x0) x= [f , g]= myfun2(x) f = g=1.0e-015*[ ]

18 谢 谢 大 家 祝你们成功


Download ppt "数 学 模 型 最 优 化 方 法 实 现 数学与计算机科学学院 2007年3月."

Similar presentations


Ads by Google