收藏 分享(赏)

数学建模培训资料.ppt

上传人:无敌 文档编号:23160 上传时间:2018-03-04 格式:PPT 页数:211 大小:3.88MB
下载 相关 举报
数学建模培训资料.ppt_第1页
第1页 / 共211页
数学建模培训资料.ppt_第2页
第2页 / 共211页
数学建模培训资料.ppt_第3页
第3页 / 共211页
数学建模培训资料.ppt_第4页
第4页 / 共211页
数学建模培训资料.ppt_第5页
第5页 / 共211页
点击查看更多>>
资源描述

1、数学建模系统培训,2012.08,一、引言,二、线性规划模型,三、整数规划模型,数学建模专题-规划理论及模型,四、0-1规划模型,五、几种常用的线性规划模型,六、非线性规划模型,七、多目标规划模型,八、LINGO入门,一、引言,我们从2005年“高教社杯”全国大学生数模竞,谈起.,其中第二个问题是一个如何来分配有限资源,,从而达到人们期望目标的优化分配数学模型. 它,在数学建模中处于中心的地位. 这类问题一般可,以归结为,数学规划模型.,赛的B题“DVD在线租赁”问题的第二问和第三问,规划模型的应用极其广泛,其作用已为越来,来越急速地渗透于工农业生产、商业活动、军事,行为核科学研究的各个方面,

2、为社会节省的财富、,创造的价值无法估量.,在数模竞赛过程中,规划模型是最常见的一,类数学模型. 从92-08年全国大学生数模竞赛试题,越多的人所重视. 随着计算机的逐渐普及,它越,的解题方法统计结果来看,规划模型共出现了16,次,占到了近50%,也就是说每两道竞赛题中就有,一道涉及到利用规划理论来分析、求解.,二、线性规划模型,线性规划模型是所有规划模型中最基本、最,例1.(食谱问题)设有 n 种食物,各含 m 种营养,素,第 j 种食物中第 i 种营养素的含量为 aij , n 种,食物价格分别为c1, c2, , cn,请确定食谱中n 种食,物的数量x1, x2, , xn,要求在食谱中

3、m 种营养素,简单的一种.,2.1 线性规划模型的基本形式,的含量分别不低于b1, b2, , bm 的情况下,使得总,总的费用最低.,首先根据食物数量及价格可写出食谱费用为,其次食谱中第 i 种营养素的含量为,因此上述问题可表述为:,解,上述食谱问题就是一个典型的线性规划问题,,寻求以线性函数的最大(小)值为目标的数学模,型.,它是指在一组线性的等式或不等式的约束条件下,,线性规划的数学模型,max z =,S.T,线性规划、线性规划的可行解,最优解的概念,线性规划一般可写作min(or max) f=s.t.,线性规划问题还可以用矩阵表示,min f=,s.t Ax b, x0,其中f被称

4、作目标函数,目标函数下的等式或不等式被称作约束条件,,A=,b=,一组满足约束条件的变量 的值称为一组可行解。 可行解的集合称为可行解域,或可行解空间。 线性规划问题也就是在可行解域上寻找使目标函数取得极小(或极大)值的可行解,称之为最优解。,针对标准形式的线性规划问题,其解的理论,分析已经很完备,在此基础上也提出了很好的算,单纯形方法是线性规划问题的最为基础、也,法单纯形方法及其相应的变化形式(两阶段,2.2 线性规划模型的求解,法,对偶单纯形法等).,是最核心的算法。它是一个迭代算法,先从一个,特殊的可行解(极点)出发,通过判别条件去判,断该可行解是否为最优解(或问题无界),若不,是最优解

5、,则根据相应规则,迭代到下一个更好的可行解(极点),直到最优解(或问题无界).关于线性规划问题解的理论和单纯形法具体的求解过程可参见相关文献.,然而在实际应用中,特别是数学建模过程中,遇到线性规划问题的求解,我们一般都是利用现有的软件进行求解,此时通常并不要求线性规划问题是标准形式. 比较常用的求解线性规划模型的软件包有LINGO、LINDO和MATLAB。,MATLAB中有关求解线性规划问题的指令,X=linprog(f,A,b,Aeq,beq) X=linprog(f,A,b,Aeq,beq,lb,ub)X=linprog(f,A,b,Aeq,beq,lb,ub,x0)X=linprog(

6、f,A,b,Aeq,beq,lb,ub,x0,options)x,fval,exitflag,output= linprog(),2018/3/4,15,用MATLAB优化工具箱解线性规划,命令:x=linprog(c,A,b),2、模型:min z=cX,命令:x=linprog(c,A,b,Aeq,beq),注意:若没有不等式: 存在,则令A= ,b= .,2018/3/4,16,命令:1 x=linprog(c,A,b,Aeq,beq, VLB,VUB) 2 x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0),注意:1 若没有等式约束: , 则令Aeq= , be

7、q= . 2其中X0表示初始点,4、命令:x,fval=linprog()返回最优解及处的目标函数值fval.,2018/3/4,17,解 编写M文件如下:c=-0.4 -0.28 -0.32 -0.72 -0.64 -0.6; A=0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08; b=850;700;100;900; Aeq=; beq=; vlb=0;0;0;0;0;0; vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),2018/3/

8、4,18,解: 编写M文件如下: c=-7 -5; A=3 2; 4 6; 0 7; b=90;200;210; Aeq=; beq=; vlb=0,0; vub=inf,inf; x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),问题2解答,线性规划中的特殊形式-运输问题,例2. 设要从甲地调出物资2000吨,从乙地调出物,资1100吨,分别供给A地1700吨、B地1100吨、C,假定运费与运量成正比. 在这种情况下,采用不,地200吨、D地100吨. 已知每吨运费如表1.1所示.,同的调拨计划,运费就可能不一样. 现在问:怎,样才能找出一个运费最省的调拨计划?,解

9、,一般的运输问题可以表述如下:,数学模型:,若其中各产地的总产量等于各销地的总销量,即,类似与将一般的线性规划问题转化为其标准,否则,称为不平衡的运输问题,包括:,,则称该问题为平衡的运输问题.,总产量总销量和总产量0,要受惩罚,SUTM外点法,2018/3/4,94,罚函数法的缺点是:每个近似最优解Xk往往不是容许解,而只能近似满足约束,在实际问题中这种结果可能不能使用;在解一系列无约束问题中,计算量太大,特别是随着Mk的增大,可能导致错误,1、任意给定初始点X0,取M11,给定允许误差 ,令k=1;2、求无约束极值问题 的最优解,设为Xk=X(Mk),即 ;3、若存在 ,使 ,则取MkM(

10、 )令k=k+1返回(2),否则,停止迭代得最优解 .计算时也可将收敛性判别准则 改为 .,SUTM外点法(罚函数法)的迭代步骤,2018/3/4,95,SUTM内点法(障碍函数法),2018/3/4,96,内点法的迭代步骤,2018/3/4,97,近似规划法的基本思想:将问题中的目标函数 和约束条件 近似为线性函数,并对变量的取值范围加以限制,从而得到一个近似线性规划问题,再用单纯形法求解之,把其符合原始条件的最优解作为原问题的解的近似,近似规划法,每得到一个近似解后,都从这点出发,重复以上步骤,这样,通过求解一系列线性规划问题,产生一个由线性规划最优解组成的序列,经验表明,这样的序列往往收

11、敛于非线性规划问题的解。,2018/3/4,98,近似规划法的算法步骤如下,2018/3/4,99,2018/3/4,100,用MATLAB软件求解,其输入格式如下: 1.x=quadprog(H,C,A,b); 2.x=quadprog(H,C,A,b,Aeq,beq); 3.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB); 4.x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0); 5.x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0,options); 6.x,fval=quaprog(.); 7.x,fv

12、al,exitflag=quaprog(.); 8.x,fval,exitflag,output=quaprog(.);,1.二次规划,2018/3/4,101,例1 min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22 s.t. x1+x22 -x1+2x22 x10, x20,1、写成标准形式:,2、 输入命令: H=1 -1; -1 2; c=-2 ;-6;A=1 1; -1 2;b=2;2; Aeq=;beq=; VLB=0;0;VUB=; x,z=quadprog(H,c,A,b,Aeq,beq,VLB,VUB),3、运算结果为: x =0.6667 1.3333

13、 z = -8.2222,s.t.,2018/3/4,102,1. 首先建立M文件fun.m,定义目标函数F(X):function f=fun(X);f=F(X);,其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同.用Matlab求解上述问题,基本步骤分三步:,2. 一般有约束非线性规划,2018/3/4,103,3. 建立主程序.非线性规划求解的函数是fmincon,命令的基本格式如下: (1) x=fmincon(fun,X0,A,b) (2) x=fmincon(fun,X0,A,b,Aeq,beq) (3) x=fminc

14、on(fun,X0,A,b, Aeq,beq,VLB,VUB) (4) x=fmincon(fun,X0,A,b,Aeq,beq,VLB,VUB,nonlcon)(5)x=fmincon(fun,X0,A,b,Aeq,beq,VLB,VUB,nonlcon,options) (6) x,fval= fmincon(.) (7) x,fval,exitflag= fmincon(.) (8)x,fval,exitflag,output= fmincon(.),输出极值点,M文件,迭代的初值,参数说明,变量上下限,2018/3/4,104,注意:1 fmincon函数提供了大型优化算法和中型优化算

15、法。默认时,若在fun函数中提供了梯度(options参数的GradObj设置为on),并且只有上下界存在或只有等式约束,fmincon函数将选择大型算法。当既有等式约束又有梯度约束时,使用中型算法。2 fmincon函数的中型算法使用的是序列二次规划法。在每一步迭代中求解二次规划子问题,并用BFGS法更新拉格朗日Hessian矩阵。3 fmincon函数可能会给出局部最优解,这与初值X0的选取有关。,2018/3/4,105,1、写成标准形式: s.t.,2x1+3x2 6 s.t x1+4x2 5 x1,x2 0,例2,2018/3/4,106,2、先建立M-文件 fun3.m: func

16、tion f=fun3(x); f=-x(1)-2*x(2)+(1/2)*x(1)2+(1/2)*x(2)2,3、再建立主程序youh2.m: x0=1;1; A=2 3 ;1 4; b=6;5; Aeq=;beq=; VLB=0;0; VUB=; x,fval=fmincon(fun3,x0,A,b,Aeq,beq,VLB,VUB),4、运算结果为: x = 0.7647 1.0588 fval = -2.0294,2018/3/4,107,1先建立M文件 fun4.m,定义目标函数: function f=fun4(x); f=exp(x(1) *(4*x(1)2+2*x(2)2+4*x(

17、1)*x(2)+2*x(2)+1);,x1+x2=0 s.t. 1.5+x1x2 - x1 - x2 0 -x1x2 10 0,例3,2再建立M文件mycon.m定义非线性约束: function g,ceq=mycon(x) g=x(1)+x(2);1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;,2018/3/4,108,3主程序youh3.m为:x0=-1;1;A=;b=;Aeq=1 1;beq=0;vlb=;vub=;x,fval=fmincon(fun4,x0,A,b,Aeq,beq,vlb,vub,mycon),3. 运算结果为: x = -1.2250 1.2250 fval = 1.8951,2018/3/4,109,例4,1先建立M-文件fun.m定义目标函数: function f=fun(x); f=-2*x(1)-x(2);,2再建立M文件mycon2.m定义非线性约束: function g,ceq=mycon2(x) g=x(1)2+x(2)2-25;x(1)2-x(2)2-7;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报