数模比赛必备数学建模2问题matlab优化应用_第1页
数模比赛必备数学建模2问题matlab优化应用_第2页
数模比赛必备数学建模2问题matlab优化应用_第3页
数模比赛必备数学建模2问题matlab优化应用_第4页
数模比赛必备数学建模2问题matlab优化应用_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

优化应用§1线性规划模一、线性规实例1:生产计划问假设某厂计划生产甲、乙两种产品,现库存主要材料有A3600公斤,B2000C3000斤。每件甲产品需用材料A9斤,B4斤,C3公斤。每件乙产品,需用材料A4公斤,B5公斤,C10公斤。甲单位产品的利润70,乙单位产品的利润120问如何安排生产,建立数学模型设x1、x2分别为生产甲、乙产品的件数。f为该厂所获总润max 实例2:投资问某公司有一批用于4个工程项目的投资,其投资各项目时所得的净收 工程项ABCD8由于某种原因,决定用于项目A的投资不大于其他各项投资之和而用于项目B和C的投资要大于项目D的投资。试确定该公司的投资分配方设x1、x2、x3、x4分别代表用于项目A、B、C、Dmaxf=0.15x1+0.1x2+0.08x3+0.12 x1-x2-x3-x2+x3-x1+x2+x3+x4=1 实例3:问有A、B、C三个厂,负责供给甲、乙、丙、丁四个市场。三个厂工ABC四个市场每天的需求量如下市甲乙丙丁从各厂运到各市场的费(元/每箱)由下表给出收发 甲乙丙丁工厂A2132B1321C3411设aij为由工厂ij,xij是由工厂ijbi是工厂i,dj是市场j

X14

2X X

X

A 1X X 1 34 b(60,40,50),d(20,35,

fAXT

1 21

1 Max

aiji1j4

xijbi,i1,2,j33xijdj,jixij0,i1,2,3;j当我们用软件作优化问题时,所有求maxf的问题化为求min(-f来作。约束gi(x)≥0,化为–gi≤0形如 minfT AX≤bAeqX=beq其中Xn,fT=[f,f,…f 约束系数矩阵A为m×n矩阵,b为其右端m维列向量,Aeq为等式约束系数矩阵,beq为等式约束右端常数列向量。lb,ub为自变量取值上界与下界约束的n二.线性规划问题求最优解函调用格式 )[x,fval,exitflag]=linprog(…)[x,fval,exitflag,[x,fval,exitflag,output,说明:x=linprog(f,A,b)返回值x为最优解向量x=linprog(f,A,b,Aeq,beq)A=[]、b=[]。x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)lb,ub量x,x0,optionsOptions的参数描述 显示水平。选择’off’不显示输出;选择’iter’显示每一步迭代过程的输出;选择’final’显示最终结果。MaxFunEvalsMaxiter x[x,fval]=linprog(…)fval返回解x[x,fval,exitflag,output,lambda]=linprog(f,A,b,output返回优化信息:output.itions表示迭代次数output.algorithmoutprt.funcCountlambda返回x处的日乘子。它有以下属性:lambda.lower-lambdalambda.upper-lambdalambda.eqlin-lambda例1:求解线性规划问题max

2x15x1st.

x2x2 x10,x2先将目标函数转化成最小值问题:min(-f)=-2x1-f=[-2-A=[10;01;1f=fval*(- x=2fval=-maxf 例2:minf=5x1-x2+2x3+3x4- f=[5-123-A=[-21-11-3;21-141];lb=[0000ub=[15151515结果:xminf-例3:求解线性规划问题 –2x1+x2-x3+x4-2x1+3x2-x3+2x4+x5≤- f=[5123A=[-21-11-3;23-121];lb=[0000ub=[1111 运行果Exiting:Oneormoreoftheresiduals,dualitygap,ortotalrelativeerrorhasgrown100000timesgreaterthanitsminimumvaluesofar:theprimalappearstobeinfeasible(andthedual(Thedualresidual<TolFun=1.00e-x=fvalexitflag-output tions: tions:0algorithm:lambdaineqlin:[2x1double]eqlin:[0x1double]upper:[5x1double]lower:[5x1double]4:1设x1、x2分别为生产甲、乙产品的件数。fmax minf=-70x1- 程序 f=[-70-A=[94;45;310];lb=[00];maxf=-结果 xfval-exitflag1maxf5:求解实例maxf=0.15x1+0.1x2+0.08x3+0.12 x1-x2-x3-x4≤0x2+x3-x4≥0x1+x2+x3+ minz=-0.15x1-0.1x2-0.08x3-0.12 x1-x2-x3--x2-x3+x1+x2+x3+x4=1 f=[-0.15;-0.1;-0.08;-0.12];A= [1-1-1-1;0-1-11];b=[0;Aeq=[111lb=[x,fval,exitflag]=f=-结果:xfval-exitflag1f即4个项目的投资百分数分别为50%,25%,0, 公司获得最大的收益,其最大收益可到达13%。过程正常收敛。例6:求解实例 建立数学模型设aij为由工厂ij,xij是由工厂ijbi是工厂i,dj是市场j 2A 1

XX

X

X

X 1 b(60,40,50),d(20,35,

1 1

fAXT

1 1 Max4

aijj1i

xijbi,i1,2,j33xijdj,j1,2,3,ixij程序 A=[2132;1321;341B=[100100100100100100101000001001001D=[1100000000000000111000000000000111010000000001结果 xfvalexitflag1即方案为:甲市场的货由B厂送20箱;乙市场的货由A厂35C33B18C16最低总运费为:122§2非线性规划一.非线性规划课实例1 表面积为36平方米的最大长方体体积。设x、y、zfmaxf=xy(36-2xy)/2实例 投资决策问 某公司准备用5000用于A、B个项目的投资,设x1、x2分别表示配给项目A、B投资。预计项目A、B年收益分别为2016%。同时,投资2x2+x2+(x+x)2.问应如何分配,才能使期望的,同时使风险损 maxf=0.20x+0.16x-λ[2x2+x2+(x+x x1≥0,x2≥0目标函数中的λ≥012二.无约束非线性规划问题求解无约束最优化问题的方法主要有两类:直接搜索法(Searchmethod)和梯度法(Gradientmethod).fminunc调用格式:[x,fval,exitflag]=fminunc(…)[x,fval,exitflag,output]=fminunc(…)[x,fval,exitflag,output,grad]=fminunc(…)[x,fval,exitflag,output,grad,hessian]=fminunc(…)说明:fun,x0options返回的x为最优解向量;fval为x处的目标函数值;exitflag描述函数的输出条件;output返回优化信息;grad返回目标函数在x处的梯度。Hessian返回在xHessian1

min

8x4xx23x2 ff1.mfunctionf=8*x(1)-4*x(2)x(1)^2+3*x(2)^2;z=8*x-4*y+x.^2+3*y.^2;结果:x- fval-exitflag12min

4x25xx2 1 ff2.mfunction结果 x1.0e-007- fval2.7239e-exitflag13:将上例用提供的梯度g修改Mfunction[f,g]=ff3(x)ifnargut>1options.GradObj’on’来得到梯度值。结果 x1.0e-015- -fval5.4234e-exitflag1fminsearch函调用格式[x,fval,exitflag]=fminsearch(…)[x,fval,exitflag,output,grad]=fminsearch(…)[x,fval,exitflag,output,grad,hessian]=fminsearch(…)fminunc多元非线性最小二乘问题minminf(x)f(x)2 i其中L调用格式:x=lsqnonlin(fun,x0)[x,resnorm,residual,exitflag,output]=lsqnonlin(…)[x,resnorm,residual,exitflag,[x,resnorm,说明:x;resnorm返回xsum(fun(x).^2);residualxfun(x);lambdax日乘子的结构参数;jacobian返回解xfunlsqnonlin默认时选择大型优化算法。lsqnonlin通过options.LargeScale’off’4.minf=4(xx2+(x4)2,选择初始点x f='4*(x(2)-x(1))^2+(x(2)-结果 x reshorm5.0037e-5:求min

22kk

kx1ekx2选择初始点求解:先编辑ff5.m文件functionf=ff5(x)f=2+2*k-exp(k*x(1))-然后作程序结果:x resnorm束非线性规划问题数学模型 min Gi(x) Gj(x) 其中:F(x)为多元实值函数,G(x)K-TK-n f(x)G(x)

iGi(x)0,i ,i0,im ,i度取消,需要用日乘子λi来平衡目标函数与约束梯度间大小的差异。调用格式 [x,fval,[x,fval,exitflag,[x,fval,exitflag,为初始点。A,bx=fmincon(f,x0,A,b,Aeq,beq)A=[]、b=[]。x=fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)lb,ub变量x;nonlcon=@funMfun.m(x)≤0g(x)=0;options6:求解:min100(xx2)2+(1-x 程序:首先建立ff6.m文件functionf=100*(x(2)-x(2)^2)^2+(1-A=[10;01];结果 x fval3.1936e-7:求解

minf(x)x1x2st.0x12x22

ff7.mfunctionf=ff7(x)f=-A=[-1–2–2;12结果 xfval- 1 8求解:minf=ex1(6x2+3x2 1 x1x2-x1--2x1x2-程序:首先建立目标函数文件ff8.m文件 ;function[c,g]=ff8g(x)[x,fval]=fmincon(@ff8,x0,[],[],[],[],[],[],结果 x- fvalexitflag1当有等式约束时,要放在矩阵g程序:首先建立fun1.mx0=[-[x,fval,exitflag]结果 x- fvalexitflag1§3二次规划模min1xTHxfT数学模型

AxbAeqxbeqlbx其中HA、Aeqf,b,beq,lb,ub,xquadprog(调用格式X=X=X=X=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)[x,fval]=quadprog(…)[x,fval,exitflag]=quadprog(…)[x,fval,exitflag,output]=quadprog(…)[x,fval,exitflag,output,lambda]=说明:输入参数中,x0应的矩阵和向量设置为空;options,x最优解;fvalexitflagoutput是返回包含优化信息的结构。Lambda是返回解x入包含日乘子的例1:求解:二次规划问minf(x)=x-3x+3x2+4x2-2x 1 -f=[1;-H=[6-2;-2A=[21;-1结果:X-fval-exitflag1例2:求解:二次规划问 +x2+2x2-2xx-4x- 1 -0≤x1,H=[22;-2f=[-4;-A=[11;-12;2结果 xfval-exitflag1§4多目标规划fmfm( ,数学模型

gj(x)0,其中x=(x1,x2,xn)为一个n向量;fi(x)为目标函数,i=1,2,…,m;gj(x)为系统约束,j=1,2,…,k。当目标函数处于状态时,不存在最优解使所有目标函数同时达到最优。于是我们寻求有效解(又称非劣解或非支配解或帕累托解)定义:若xx∈Ω)的邻域内不存在Δx,使x+Δx∈Ω),, F(xx)F(x),i, F(xx)F(x

某些则称x线性和其基本思想是:按照多目标fi(x)(i=1,2,,m)的重要程度,分别乘以一组权系数λj(j=1,2,…,m)然后相加作为目标函数而构成单目标规划问 题。即min

jfjx,其中j0且j

j 1:某钢铁厂准备用5000用于A、B个项目的技术改造投资。设x1、x2分别表示分配给项目A、B的投资。据专家预估计,投资项目A、B的年收益分别为70%66%。同时,投资后总的风险损失将随着总投资和单项投资的增加而增加,已知总的风险损失为0.02x2+0.01x2+0.04(x+x)2,问应如何 建立数学模maxmin 0.02x2+0.01x2 0≤x1,线性构造目标函数 max化最小值问题 min(-f)=-0.5f1(x)+首先编辑目标函数M文件ff11.m A=[1[x,fval,exitflag]=fmincon(@ff11,x0,结果:x fval-exitflag1f1 f2 x∈R,我们先求诸目标函数值fi(x)的最大值,然后再求min

maxf( 1 fm( ,fm( , gj(x)0, m先设计与目标函数相应的一组目标值理想化向量f,f, ,f,再设为一松弛因子标量。设w1,w2, ,wm为权值系数向量。 mmin,x,jF(x)weightj,gj(x)0,j1,,

f,j1,在的优化工具箱中,fgoalattain函数用于解决此类问题。minF(x)-weight·γ≤goalc(x)≤0Ax≤bAeqx=beq其中,x,weight,goal,b,beq,lbub,AAeqc(x),ceq(x)F(x)为函数,说明:F;x0;goal为Fweight数指定权重;A、bAeq、beq阵与向量;lb、ub为变量xnonlconc(x)ceq(x);optionsx返回最优解;fval返回解x处的目标函数值;attainfactor返回解x处的目标达到因子;exitflag描述计算的退出条件;output返回包含优化信息的输出参数;lambda返回包含 2:某化工AB,其生产设备费用分别为2万元/吨和5这两种产品均将造成环境污染,设由公害所造成A4B1由于条件限制,工厂生产产品AB最大生产能力各为每月5和6市场需要这两种产品的总量每月不少于7何安排生小。该工厂决策认为,这两个目标境污染应优先考虑,设备投资的目标值为20元,公害损失的目12设工厂每月生产产品Ax1吨,Bx2吨,设备投资费为f1(x),公害损失费为f2(x),则问题表达为多目标优化问题:minf1(x)=2x1+5x2minf2(x)=4x1+x2 x1程序:首先编辑目标函数M文件functionf(2)=4*x(1)A=[10;01;-1-b=[56-结果 x fval attainfactorexitflag1例3:某工厂生产两种产品甲和乙,已知生产甲产品100公斤需6个时,生产乙产品100公斤需8个工时。假定每日可用的工时数为48。两种产品每100公斤均可获利500元。乙产品较受欢迎,且若有个老顾客设生产甲、乙两种产品的数量分别为x1x2(以公斤计),要使生产计其用多目标规划描述这minf1=6x1+8x2maxf2=100(x1+x2)maxf3=x2 x1,x2≥0将其标准化为minmin-f2=-100(x1+x2)min-f3=-x2 -x2≤-x1程序:首先编辑目标函数M文件functionf=ff13(x)f(2)=-100*(x(1)+x(2));goal=[48-1000-weight=[48-1000-x0=[2A=[68;0-b=[48- x= fval48.0000 -attainfactor1.6338e-exitflag1133.33500 最大最小化模基本思想:在对策论中,我们常遇到这样的问题:在最不利的条急救中心选址问题就是要规划其到所有地点最大距离的最小值。在投资规划中要确定最大风险的最低限度等等。为此,对每个x∈R,我们先求诸目标值fi(x)的最大值,然后再求这些最大值中的最小值。minmaxFi( 最大最小化问题的数学模型

c(x)ceq(x)AxAeqxlbx求解最大最小化问题的函数为说明:F目标函数;x0初值;A、b线性不等式约束的矩阵与向量;Aeq、beq等式约束的矩阵与向量;lb、ub变量x上、下界向量;nonlcon为定义非线性不等式约束函数c(x)和等式约束函数ceq(x);optionsx返回最优解;fval回解x处的目标函数值;maxfval返回解x处的最大函数值;exit

温馨提示

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

评论

0/150

提交评论