




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数学建模最优化方法建模及实现实验目的实验内容3、基于最优化方法建模及实现、论文写作。1、了解最优化问题的基本内容。2、用数学软件包matlab求解(非)线性规划问题。4、实验题目:钢管的订购与运输。1、基础知识、例子。3、建模案例:投资的收益与风险2、掌握线性规划及非线性规划建模及其MATLAB实现。第2页,共63页,星期六,2024年,5月最优化问题优化问题,一般是指用“最好”的方式,使用或分配有限的资源,即劳动力、原材料、机器、资金等,使得费用最小或利润最大.建立优化问题的数学模型
1)确定问题的决策变量
2)构造模型的目标函数和允许取值的范围,常用一组不等式来表示.第3页,共63页,星期六,2024年,5月(1)(2)由(1)、(2)组成的模型属于约束优化,若只有(1)式就是无约束优化,f(x)称为目标函数,gi(x)称为约束条件若目标函数f(x)和约束条件g(x)都是线性函数,则称该模型是线性规划.第4页,共63页,星期六,2024年,5月线性规划模型例1、生产炊事用具需要两种资源-劳动力和原材料,某公司制定生产计划,生产三种不同的产品,生产管理部门提供的数据如下ABC劳动力(小时/件)736原材料(千克/件)445利润(元/件)423第5页,共63页,星期六,2024年,5月每天供应原材料200kg,每天可使用的劳动力为150h.建立线性规划模型,使总收益最大,并求各种产品的日产量.
解第一步,确定决策变量.用分别表示A,B,C三种产品的日产量第二步,约束条件原材料:劳动力:第三步,确定目标函数第6页,共63页,星期六,2024年,5月例2一家广告公司想在电视、广播上做广告,其目的是尽可能多的招来顾客,下面是调查结果:电视无线电广播杂志白天最佳时间一次广告费用(千元)40753015受每次广告影响的顾客数(千人)400900500200受每次广告影响的女顾客数(千人)300400200100第7页,共63页,星期六,2024年,5月这家公司希望广告费用不超过800(千元)还要求:1)至少要有200万妇女收看广告;2)电视广告费用不超过500(千元)3)电视广告白天至少播出3次,最佳时间至少播出2次;4)通过广播、杂志做的广告要重复5到10次.令分别白天,最佳电视、广播、杂志广告次数第8页,共63页,星期六,2024年,5月例3:任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?第9页,共63页,星期六,2024年,5月解设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型:
解答第10页,共63页,星期六,2024年,5月例4:某厂每日8小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15小时/件,正确率95%,计时工资3元/小时。检验员每错检一次,工厂要损失2元。为使总检验费用最省,该工厂应聘一级、二级检验员各几名?解设需要一级和二级检验员的人数分别为x1、x2人,则应付检验员的工资为:因检验员错检而造成的损失为:第11页,共63页,星期六,2024年,5月故目标函数为:约束条件为:第12页,共63页,星期六,2024年,5月线性规划模型:
解答返回第13页,共63页,星期六,2024年,5月线性规划模型的一般形式
目标函数和所有的约束条件都是决策变量的线性函数。第14页,共63页,星期六,2024年,5月实际问题中的优化模型x~决策变量f(x)~目标函数gi(x)0~约束条件数学规划线性规划(LP)二次规划(QP)非线性规划(NLP)纯整数规划(PIP)混合整数规划(MIP)整数规划(IP)0-1整数规划一般整数规划连续规划
优化模型的分类第15页,共63页,星期六,2024年,5月线性规划问题的求解在理论上有单纯形法,在实际建模中常用以下解法:
1.图解法
2.LINGO软件包;
3.Excel中的规划求解;
4.MATLAB软件包.第16页,共63页,星期六,2024年,5月minz=cX
1、模型:命令:x=linprog(c,A,b)
2、模型:minz=cX
命令:x=linprog(c,A,b,Aeq,beq)或
x=linprog(c,A,b,Aeq,beq,x0)或
[x,fval]=linprog(c,A,b,Aeq,beq)注意:若没有不等式:存在,则令A=[],b=[].用MATLAB优化工具箱解线性linear规划第17页,共63页,星期六,2024年,5月3、模型:minz=cX
VLB≤X≤VUB
命令:[1]x=linprog(c,A,b,Aeq,beq,VLB,VUB)
[2]x=linprog(c,A,b,Aeq,beq,VLB,VUB,X0)
注意:[1]若没有等式约束:,则令Aeq=[],beq=[].[2]其中X0表示初始点
4、命令:[x,fval]=linprog(…)
返回最优解x及x处的目标函数值fval.第18页,共63页,星期六,2024年,5月解:编写M文件xxgh1.m如下:
c=[634];A=[1,2,-3;010];b=[80;50];Aeq=[111];beq=[120];vlb=[30,0,20];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)ToMatlab(xxgh1)例5第19页,共63页,星期六,2024年,5月解编写M文件xxgh2.m如下:c=[-0.4-0.28-0.32-0.72-0.64-0.6];A=[0.010.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.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)
ToMatlab(xxgh2)例6第20页,共63页,星期六,2024年,5月S.t.改写为:
问题例3的解答第21页,共63页,星期六,2024年,5月编写M文件xxgh3.m如下:f=[1391011128];A=[0.41.110000000.51.21.3];b=[800;900];Aeq=[100100010010001001];beq=[400600500];vlb=zeros(6,1);vub=[];[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)ToMatlab(xxgh3)第22页,共63页,星期六,2024年,5月x=0.0000600.00000.0000400.00000.0000500.0000fval=1.3800e+004计算结果:
即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800。第23页,共63页,星期六,2024年,5月
问题改写为:例4的解答第24页,共63页,星期六,2024年,5月编写M文件xxgh4.m如下:c=[40;36];A=[-5-3];b=[-45];Aeq=[];beq=[];vlb=zeros(2,1);vub=[9;15];%调用linprog函数:[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)ToMatlab(xxgh4)第25页,共63页,星期六,2024年,5月结果为:
x=9.00000.0000fval=360即只需聘用9个一级检验员。
注:本问题应还有一个约束条件:x1、x2取整数。故它是一个整数线性规划问题。这里把它当成一个线性规划来解,求得其最优解刚好是整数:x1=9,x2=0,故它就是该整数规划的最优解。若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解。返回第26页,共63页,星期六,2024年,5月第27页,共63页,星期六,2024年,5月
1)首先建立M文件fun.m,定义目标函数F(X):functionf=fun(X);f=F(X);
其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同.用Matlab求解上述问题,基本步骤分三步:二、非线性规划问题及其Matlab第28页,共63页,星期六,2024年,5月3)建立主程序.非线性规划求解的函数是fmincon,命令的基本格式如下:
(1)x=fmincon(‘fun’,X0,A,b)
(2)x=fmincon(‘fun’,X0,A,b,Aeq,beq)
(3)x=fmincon(‘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文件迭代的初值参数说明变量上下限第29页,共63页,星期六,2024年,5月注意:[1]fmincon函数提供了大型优化算法和中型优化算法。默认时,若在fun函数中提供了梯度(options参数的GradObj设置为’on’),并且只有上下界存在或只有等式约束,fmincon函数将选择大型算法。当既有等式约束又有梯度约束时,使用中型算法。[2]fmincon函数的中型算法使用的是序列二次规划法。在每一步迭代中求解二次规划子问题,并用BFGS法更新拉格朗日Hessian矩阵。[3]fmincon函数可能会给出局部最优解,这与初值X0的选取有关。第30页,共63页,星期六,2024年,5月1.写成标准形式:
s.t.
2x1+3x26s.tx1+4x25x1,x20例1第31页,共63页,星期六,2024年,5月2.先建立M-文件fun1.m:
functionf=fun1(x);f=-x(1)-2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2MATLAB(youh1)3.再建立主程序youh1.m:
4.运算结果为:
x=0.76471.0588fval=-2.0294第32页,共63页,星期六,2024年,5月1.先建立M文件fun2.m,定义目标函数:
functionf=fun2(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);x1+x2=0s.t.1.5+x1x2-x1-x20-x1x2–10
02.再建立M文件mycon2.m定义非线性约束:
function[g,ceq]=mycon2(x)g=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];ceq=[];例2第33页,共63页,星期六,2024年,5月3.主程序youh2.m为:x0=[-1;1];A=[];b=[];Aeq=[11];beq=[0];vlb=[];vub=[];[x,fval]=fmincon('fun2',x0,A,b,Aeq,beq,vlb,vub,'mycon2')MATLAB(youh2)4.运算结果为:
x=-1.22471.2247fval=1.8951第34页,共63页,星期六,2024年,5月1.先建立M-文件fun3.m定义目标函数:
functionf=fun3(x)f=-2*x(1)-x(2);2.再建立M文件mycon3.m定义非线性约束:
function[g,ceq]=mycon3(x)g=[x(1)^2+x(2)^2-25;x(1)^2-x(2)^2-7];ceq=[];
例3第35页,共63页,星期六,2024年,5月3.主程序youh3.m为:
x0=[3;2.5];VLB=[00];VUB=[510];[x,fval,exitflag,output]=fmincon('fun3',x0,[],[],[],[],VLB,VUB,'mycon3')MATLAB(youh3(fun3))第36页,共63页,星期六,2024年,5月4.运算结果为:
x=4.00003.0000fval=-11.0000exitflag=1output=iterations:4funcCount:17stepsize:1algorithm:[1x44char]firstorderopt:[]cgiterations:[]
返回第37页,共63页,星期六,2024年,5月第38页,共63页,星期六,2024年,5月建模案例:投资的收益和风险(1998A)第39页,共63页,星期六,2024年,5月二、基本假设和符号规定第40页,共63页,星期六,2024年,5月1.总体风险用所投资的Si中最大的一个风险来衡量,即:三、模型的建立与分析第41页,共63页,星期六,2024年,5月3.建立模型双目标模型为:第42页,共63页,星期六,2024年,5月4.模型简化即模型为:第43页,共63页,星期六,2024年,5月第44页,共63页,星期六,2024年,5月四、模型1的求解siri
(%)qi
(%)pi
(%)ui
(元)S0(银行)5000S1282.51103S2211.52198S3235.54.552S4252.66.540将n=4,M=1,及平均收益率ri,
风险损失率qi,费率
pi代入模型1得:第45页,共63页,星期六,2024年,5月
由于a是任意给定的风险度,到底怎样给定没有一个准则,不同的投资者有不同的风险度。我们从a=0开始,以步长△a=0.001进行循环搜索,编制程序如下:第46页,共63页,星期六,2024年,5月a=0;while(1.1-a)>1c=[-0.05-0.27-0.19-0.185-0.185];Aeq=[11.011.021.0451.065];beq=[1];A=[00.025000;000.01500;0000.0550;00000.026];b=[a;a;a;a];vlb=[0,0,0,0,0];vub=[];[x,val]=linprog(c,A,b,Aeq,beq,vlb,vub);ax=x'Q=-valplot(a,Q,'.');axis([00.100.5]);holdona=a+0.001;endxlabel('a'),ylabel('Q')ToMatlab(xxgh5)模型1的MATLAB程序:第47页,共63页,星期六,2024年,5月a=0.006计算结果:第48页,共63页,星期六,2024年,5月4.在a=0.006附近有一个转折点,在这一点左边,风险增加很少时,利润增长很快。在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和收益没有特殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合,大约是a*=0.6%,Q*=20%,所对应投资方案为:
风险度
收益
x0
x1
x2x3
x40.00600.201900.24000.40000.10910.22123.曲线上的任一点都表示该风险水平的最大可能收益和该收益要求的最小风险。对于不同风险的承受能力,选择该风险水平下的最优投资组合。当投资越分散时,投资者承担的风险越小,这与题意一致。即:冒险的投资者会出现集中投资的情况,保守的投资者则尽量分散投资。1.风险大,收益也大。模型1的结果分析第49页,共63页,星期六,2024年,5月此模型又可改写为模型2的求解:第50页,共63页,星期六,2024年,5月由于k是任意给定的盈利,到底怎样给定没有一个准则,不同的投资者有不同的盈利.我们从k=0.05开始,以步长△k=0.01进行循环搜索,编制程序如下:模型2的求解:第51页,共63页,星期六,2024年,5月k=0.05whilek<0.26/1.01;C=[000001];A=[00.025000-1;000.01500-1;0000.0550-1;00000.026-1];B=[0;0;0;0];Aeq=[0.050.270.190.1850.185,0;11.011.021.0451.065,0];Beq=[k;1];Vlb=[0;0;0;0;0;0];%orVlb=zeros(6,1);Vub=[];[x,fval]=linprog(C,A,B,Aeq,Beq,Vlb,Vub);模型2的MATLAB求解:第52页,共63页,星期六,2024年,5月kQ=fvalx=x'plot(k,Q,'m.')axis([00.500.05])xlabel('收益k')ylabel('最小风险度Q')title('最小风险度Q随收益R的变化趋势图')holdonk=k+0.01;gridonend模型2的MATLAB求解:第53页,共63页,星期六,2024年,5月模型2的结果分析:第54页,共63页,星期六,2024年,5月此模型又可改写为模型3的求解:第55页,共63页,星期六,2024年,5月模型3的求解:第56页,共63页,星期六,2024年,5月s=0whiles<1;C=[-0.05*(1-s),-0.27*(1-s),-0.19*(1-s),-0.185*(1-s),-0.185*(1-s),s];A=[00.025000-1;000.01500-1;0000.0550-1;00000.026-1];B=[0;0;0;0];Aeq=[11.011.021.0451.065,0];Beq=[1];Vlb=[0;0;0;0;0;0];%orVlb=zeros(6,1);Vub=[];[x,fval]=linprog(C,A,B,Aeq,Beq,Vlb,Vub);模型3的MATLAB程序:第57页,共63页,星期六,2024年,5月sQ=x(6)x=x'plot(s,Q,'r.')axis([0100.025])xlabel('权重s')ylabel('风险
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳航空职业技术学院《工业水处理设计》2023-2024学年第二学期期末试卷
- 浙江旅游职业学院《教师职业道德规范与教育法规》2023-2024学年第二学期期末试卷
- 毕节幼儿师范高等专科学校《柔性可穿戴技术》2023-2024学年第二学期期末试卷
- 石河子工程职业技术学院《导游基础知识应用》2023-2024学年第二学期期末试卷
- 福建农林大学《液压与气压传动B》2023-2024学年第二学期期末试卷
- 贵州黔南科技学院《电子商务B》2023-2024学年第二学期期末试卷
- 中原工学院《微型计算机技术与应用》2023-2024学年第二学期期末试卷
- 泰州2025年江苏泰州市人民医院招聘42人笔试历年参考题库附带答案详解
- 武汉外语外事职业学院《工程测量学》2023-2024学年第二学期期末试卷
- 太阳能采暖系统项目效益评估报告
- 宁波2025年浙江宁波市鄞州区卫健系统其他事业单位招聘事业编制46人笔试历年参考题库附带答案详解
- 2025江苏太仓市城市建设投资集团限公司招聘易考易错模拟试题(共500题)试卷后附参考答案
- 小学二年级数学上册口算题
- 2025年个体户合伙投资协议(三篇)
- 14磁极与方向(教学设计)-二年级科学下册(教科版)
- 2025年山西经贸职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 广东省佛山市禅城区2024-2025学年八年级上学期期末考试语文试题(含答案)
- 第04课 输入输出与计算(说课稿)2024-2025学年六年级上册信息技术人教版
- 部编五下语文教学多元评价方案
- 《榜样9》观后感心得体会二
- 重庆市2024-205学年秋高二(上)期末考试历史试卷(含答案)康德卷
评论
0/150
提交评论