MATLAB与数学实验 第3版 课件 10 优化_第1页
MATLAB与数学实验 第3版 课件 10 优化_第2页
MATLAB与数学实验 第3版 课件 10 优化_第3页
MATLAB与数学实验 第3版 课件 10 优化_第4页
MATLAB与数学实验 第3版 课件 10 优化_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

优化目录CONTENTS简单优化1产销量的最佳安排2再谈拟合3优化01

目标函数标准形式:

优化问题是工程技术、经济管理和科学研究等领域中最常遇到的一类问题

设计师要在满足强度要求等条件下选择材料的尺寸,使结构总质量最轻;公司经理要根据生产成本和市场需求确定产品价格,使所获利润最高;调度人员要在满足物资需求和装载条件下安排从各供应点到各需求点的运量和路线,使运输总费用最低;投资者要选择一些股票、债券"下注",使收益最大,而风险最小……

优化问题归结为求函数极值问题011、fminbnd函数(求解一元函数优化问题,局部最优)

命令格式:[xmin,ymin]=fminbnd(f,a,b),ymin为极小值[xmin,ymin,exitflag,output]=fminbnd(f,a,b)优化过程的信息:iterations(迭代次数),funcCount(函数计算次数),algorithm(算法:黄金分割法,抛物线法),message(退出消息)返回函数fminbnd的求解状态(成功或失败)xmin=fminbnd(f,a,b),求函数f在区间[a,b]上的极小值,其中f是用来求极值的函数,可以是函数名,也可以是函数表达式。xmin为极小值点。简单优化01

黄金分割法

思考:如何缩小搜索区间的范围?简单优化01

黄金分割法

黄金分割点

简单优化01

黄金分割法的步骤

1.确定初始搜索区间[a,b]

简单优化01例1:求函数的极值。

[xmin,ymin]=fminbnd('x.^3+x.^2-5*x-5',-5,5)运行结果:xmin=1.0000,ymin=-8.0000[x2,y2]=fminbnd('-(x.^3+x.^2-5*x-5)‘,-5,5)ymax=-y2运行结果:极大值点x2=-1.6667,极大值为ymax=1.4815因此,函数y在[-5,5]上的极小值为-8,极大值为1.4815。

简单优化简单优化01[xmin,ymin]=fminbnd('sin(2*x+1)+2*sin(4*x+3)',-3,3)运行结果:xmin=1.9832,ymin=-2.9640求所有极小值点:例2:求函数在区间的极小值。

[xmin1,ymin1]=fminbnd('sin(2*x+1)+2*sin(4*x+3)',-1.5,-1)[xmin2,ymin2]=fminbnd('sin(2*x+1)+2*sin(4*x+3)',0,1)[xmin3,ymin3]=fminbnd('sin(2*x+1)+2*sin(4*x+3)',1.5,2.3)[xmin4,ymin4]=fminbnd('sin(2*x+1)+2*sin(4*x+3)',-3,-2.2)思考:为什么只求出一个极小值?012、fminunc函数(求解一元函数及多元函数的极小值,局部最优)标准形式:

求解的基本思想:迭代法思考:如何快速找到最低点(谷底)?1、初值简单优化012、fminunc函数标准形式:

2、方向求解的基本思想:迭代法思考:如何快速找到最低点(谷底)?1、初值简单优化012、fminunc函数标准形式:

3、步长第k步的搜索方向第k步的步长方向不同,或步长不同,对应着不同的数值方法。求解的基本思想:迭代法2、方向思考:如何快速找到最低点(谷底)?1、初值常见的方法有:梯度下降法、最速下降法、牛顿法、拟牛顿法等。简单优化012、fminunc函数梯度下降法:负梯度方向初始点:初始点:简单优化012、fminunc函数梯度下降法:负梯度方向步长:……简单优化012、fminunc函数梯度下降法:负梯度方向03611.83.621.082.1630.6481.29640.38880.777650.233280.4665660.1399680.27993670.08398080.167961680.050388480.1007769690.0302330880.060466176100.0181398530.036279706110.0108839120.021767823

简单优化01……简单优化01……简单优化012、fminunc函数[x,fval]=fminunc(fun,X0)[x,fval,exitflag,output]=fminunc(fun,X0)

functionf=fun(x)f=2*x(1)^2+x(2)^2;[x,fval,exitflag,output]=fminunc('fun',[3,3])

简单优化01例4:求函数的极小值。functionf=fun1(x)f=2*x(1)^2-x(1)^4+x(1)^6/6-x(1)*x(2)+x(2)^2;[x_1,minf_1]=fminunc('fun1',[-1.5,-1])[x_2,minf_2]=fminunc('fun1',[0,-0.5])[x_3,minf_3]=fminunc('fun1',[1.5,0.5])x_1=-1.6453-0.8227minf_1=0.7155x_2=1.0e-07*

0.1072-0.0466minf_2=3.0137e-16x_3=1.64530.8227minf_3=0.7155简单优化目录CONTENTS无约束优化1产销量的最佳安排2再谈拟合3产销量的最佳安排02某厂生产一种产品有甲、乙两个牌号,讨论在产销平衡的情况下如何确定各自的产量,使总利润最大.所谓产销平衡指工厂的产量等于市场上的销量。问题分析总利润既取决于销量和价格,也依赖于产量和成本。

甲的价格甲的成本甲的销量乙的价格乙的成本乙的销量产销量的最佳安排02模型假设1、价格与销量成线性关系影响甲的价格p1的因素:1)随甲的销量x1的增长而降低2)乙的销量x2的增长也会使甲的价格有稍微的下降可以简单地假设价格与销量成线性关系,即:

同理:

总利润既取决于销量和价格,也依赖于产量和成本。产销量的最佳安排02模型假设1、价格与销量成线性关系

2、成本与产量成负指数关系

甲的成本q1随其产量(等于甲的销量x1)的增长而降低,且有一个渐进值,可以假设为负指数关系,即:同理:

产销量的最佳安排02模型建立

总利润:若根据大量的统计数据,求出系数b1=100,a11=1,a12=0.1,b2=280,a21=0.2,a22=2,r1=30,λ1=0.015,c1=20,r2=100,λ2=0.02,c2=30

则问题转化为无约束优化问题:求甲,乙两个牌号的产量x1,x2,使总利润z最大。产销量的最佳安排02模型求解

用迭代法求解,先估计初始值:简化模型,先忽略成本,并令,a12=0,a21=0,则问题转化为求

的极值显然其解为x1=b1/2a11=50,x2=b2/2a22=70,我们把它作为原问题的初始值。产销量的最佳安排02编程求解1.建立函数文件:functionz_minus=fun(x)y1=((100-x(1)-0.1*x(2))-(30*exp(-0.015*x(1))+20))*x(1);y2=((280-0.2*x(1)-2*x(2))-(100*exp(-0.02*x(2))+30))*x(2);z_minus=-y1-y2;2.主程序:x0=[50,70];xmin=fminunc(‘fun’,x0)z_minus=fun(xmin)

3.计算结果:x=23.9025,62.4977,z_minus=-6.4135e+003即甲的产量为23.9025,乙的产量为62.4977,最大利润为6413.5。目录CONTENTS无约束优化1产销量的最佳安排2再谈拟合3再谈拟合03人口模型——Malthus模型年份人口统计数字年份人口统计数字19718.5229198110.007219728.7177198210.165419738.9211198310.300819749.0859198410.435719759.2420198510.585119769.3717198610.750719779.4974198710.930019789.6259198811.102619799.7542198911.270419809.8705199011.4333Malthus模型:目标:根据前15年的数据进行拟合,求p0,r,使得

最小即:再谈拟合033、lsqcurvefit函数(least-squarescurve-fitting)X=lsqcurvefit(FUN,X0,XDATA,YDATA)已知的数据点迭代初始点注意:FUN返回FUN(X,XDATA),而不是sum((FUN(X,XDATA)-YDATA).^2)用于最小二乘法求解非线性曲线拟合问题min

sum{(FUN(X,XDATA)-YDATA).^2}Xfunctionpt=population1(x,tdata)pt=x(1)*exp(x(2)*tdata);%x(1)=p0,x(2)=rFUN(X,XDATA),X是未知系数组成的向量,

Malthus模型中,再谈拟合03tdata=1971:1985;tdata=tdata-1970;pdata=[8.5229,8.7177,8.9211,9.0859,9.2420,9.3717,9.4974,9.6259,9.7542,9.8705,10.0072,10.1654,10.3008,10.4357,10.5851];x0=[1,0.15];%x的初值,迭代初始值

x=lsqcurvefit('population1',x0,tdata,pdata)%极小值点(p0,r)ts=1971:2015;ts=ts-1970;y=population1(x,ts);plot(ts+1970,y)人口模型——Malthus模型再谈拟合03人口模型——阻滞增长模型(Logistic模型)由于自然资源、环境条件等因素对人口的增长起着阻滞作用,并且随着人口的增加,阻滞作用越来越大.1)人口增长率r为当时人口数量p(t)的减函数,最简单的假定:r是固有增长率;2)自然资源和环境条件年容纳的最大人口数量为pm模型假设再谈拟合031)人口增长率r为当时人口数量p(t)的减函数,最简单的假定:r是固有增长率;2)自然资源和环境条件年容纳的最大人口数量为pm当p=pm时,增长率为0,即:所以:代入到Malthus模型模型假设模型建立再谈拟合03用分离变量法得:模型求解两边分别积分,得:所以:functionpt=population2(x,tdata)pt=x(1)./(1+(x(1)/8.5278-1)*exp(-x(2)*tdata));%x(1)=pm,x(2)=r

Logistic模型再谈拟合03模型求解functionpt=population2(x,tdata)pt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论