数学建模讲座之十一--数学建模案例分析_第1页
数学建模讲座之十一--数学建模案例分析_第2页
数学建模讲座之十一--数学建模案例分析_第3页
数学建模讲座之十一--数学建模案例分析_第4页
数学建模讲座之十一--数学建模案例分析_第5页
已阅读5页,还剩235页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-2-13数学建模数学建模暑期培训班数学建模王 磊2022-2-13数学建模简要提纲简要提纲 1. 优化软件简介优化软件简介2. LINDO / LINGO软件的简单使用简介软件的简单使用简介3. 建模与求解实例(结合软件使用)建模与求解实例(结合软件使用)4. LINGO软件基本使用方法软件基本使用方法2022-2-13数学建模1. 优化软件简介优化软件简介2022-2-13数学建模 最优化是工程技术、经济管理、科学研究、最优化是工程技术、经济管理、科学研究、社会生活中经常遇到的问题社会生活中经常遇到的问题, 如如:优化模型和优化软件的重要意义优化模型和优化软件的重要意义结构设计结构

2、设计资源分配资源分配生产计划生产计划运输方案运输方案解决优化问题的手段解决优化问题的手段 经验积累,主观判断经验积累,主观判断 作试验,比优劣作试验,比优劣 建立数学模型建立数学模型(优化模型优化模型),求最优策略,求最优策略(决策决策)( (最最) )优化优化: :在一定条件下在一定条件下, ,寻求使目标最大寻求使目标最大( (小小) )的决策的决策 CUMCMCUMCM赛题:约一半以上与优化有关,需用软件求解赛题:约一半以上与优化有关,需用软件求解2022-2-13数学建模运筹学运筹学(OR: Operations/Operational Research)管理科学管理科学(MS: Man

3、agement Science)决策科学决策科学 (DS: Decision Science)(最最)优化理论是运筹学的基本内容优化理论是运筹学的基本内容无无约约束束优优化化OR/MS/DS优化优化(Optimization), 规划规划(Programming)线线性性规规划划非非线线性性规规划划网网络络优优化化组组合合优优化化整整数数规规划划不不确确定定规规划划多多目目标标规规划划目目标标规规划划动动态态规规划划2022-2-13数学建模优化问题三要素:优化问题三要素:决策变量决策变量;目标函数目标函数;约束条件约束条件约约束束条条件件决策变量决策变量优化问题的一般形式优化问题的一般形式n

4、jiDxljxgmixhtsxf,.,1, 0)(,.,1, 0)(. .)(min可行解(满足约束)与可行域(可行解的集合)可行解(满足约束)与可行域(可行解的集合)最优解(取到最小大值的可行解)最优解(取到最小大值的可行解)目标函数目标函数2022-2-13数学建模无约束优化无约束优化: :最优解的分类和条件最优解的分类和条件)(xfMinx给定一个函数给定一个函数 f( (x),),寻找寻找 x* 使得使得 f( (x*)最小,即最小,即nTnxxxx),(21其中其中局部最优解局部最优解全局最优解全局最优解必要条件必要条件0),()(1*Txxnffxfx*f(x)xlxgo充分条件充

5、分条件0)(, 0)(*2*xfxfHessian阵阵nnjixxff22最优解在可行域边界上取得时不能用无约束优化方法求解最优解在可行域边界上取得时不能用无约束优化方法求解2022-2-13数学建模约束优化的约束优化的简单分类简单分类 线性规划线性规划(LP) 目标和约束均为线性函数目标和约束均为线性函数 非线性规划非线性规划(NLP) 目标或约束中存在非线性函数目标或约束中存在非线性函数 二次规划二次规划(QP) 目标为二次函数、约束为线性目标为二次函数、约束为线性 整数规划整数规划(IP) 决策变量决策变量(全部或部分全部或部分)为整数为整数 整数整数线性线性规划规划(ILP),整数,整

6、数非线性非线性规划规划(INLP) 纯整数规划纯整数规划(PIP), 混合整数规划混合整数规划(MIP) 一般整数规划,一般整数规划,0-1(整数)规划(整数)规划njiDxljxgmixhtsxf,.,1, 0)(,.,1, 0)(. .)(min连连续续优优化化离离散散优优化化数学规划数学规划2022-2-13数学建模常用优化软件常用优化软件 1. LINDO/LINGO软件软件2. MATLAB优化工具箱优化工具箱3. EXCEL软件的优化功能软件的优化功能4. SAS(统计分析统计分析)软件的优化功能软件的优化功能5. 其他其他2022-2-13数学建模MATLABMATLAB优化工具

7、箱优化工具箱能求解的优化模型能求解的优化模型优化工具箱优化工具箱3.0 (MATLAB 7.0 R14)连续优化连续优化离散优化离散优化无约束优化无约束优化非线性非线性极小极小fminunc非光滑非光滑(不可不可微微)优化优化fminsearch非线性非线性方程方程(组组)fzerofsolve全局全局优化优化暂缺暂缺非线性非线性最小二乘最小二乘lsqnonlinlsqcurvefit线性规划线性规划linprog纯纯0-1规划规划 bintprog一般一般IP(暂缺暂缺)非线性规划非线性规划fminconfminimaxfgoalattainfseminf上下界约束上下界约束fminbndf

8、minconlsqnonlinlsqcurvefit约束线性约束线性最小二乘最小二乘lsqnonneglsqlin约束优化约束优化二次规划二次规划quadprog2022-2-13数学建模LINDO LINDO 公司软件产品简要介绍公司软件产品简要介绍 美国芝加哥美国芝加哥(Chicago)大学的大学的Linus Schrage教授于教授于1980年前后开发年前后开发, 后来成立后来成立 LINDO系统公司(系统公司(LINDO Systems Inc.),), 网址:网址:http:/ LINDO: Linear INteractive and Discrete Optimizer (V6.

9、1)LINGO: Linear INteractive General Optimizer (V9.0)LINDO API: LINDO Application Programming Interface (V3.0)Whats Best!: (SpreadSheet e.g. EXCEL) (V8.0)演示演示(试用试用)版、学生版、高级版、超级版、工业版、版、学生版、高级版、超级版、工业版、扩展版扩展版 (求解(求解问题规模问题规模和和选件选件不同)不同)2022-2-13数学建模LINDOLINDO和和LINGOLINGO软件能求解的优化模型软件能求解的优化模型 LINGO LINDO优

10、化模型优化模型线性规划线性规划(LP)非线性规划非线性规划(NLP)二次规划二次规划(QP)连续优化连续优化整数规划整数规划(IP)2022-2-13数学建模 LP QP NLP IP 全局优化全局优化(选选) ILP IQP INLP LINDO/LINGO软件的求解过程 LINDO/LINGO预处理程序预处理程序线性优化求解程序线性优化求解程序非线性优化求解程序非线性优化求解程序分枝定界管理程序分枝定界管理程序1. 确定常数确定常数2. 识别类型识别类型1. 单纯形算法单纯形算法2. 内点算法内点算法(选选)1、顺序线性规划法、顺序线性规划法(SLP) 2、广义既约梯度法、广义既约梯度法(

11、GRG) (选选) 3、多点搜索、多点搜索(Multistart) (选选) 2022-2-13数学建模建模时需要注意的几个基本问题建模时需要注意的几个基本问题 1、尽量使用实数优化,减少整数约束和整数变量尽量使用实数优化,减少整数约束和整数变量2、尽量使用光滑优化,减少非光滑约束的个数尽量使用光滑优化,减少非光滑约束的个数 如:尽量少使用绝对值、符号函数、多个变量求如:尽量少使用绝对值、符号函数、多个变量求最大最大/最小值、四舍五入、取整函数等最小值、四舍五入、取整函数等3、尽量使用线性模型,减少非线性约束和非线性变尽量使用线性模型,减少非线性约束和非线性变量的个数量的个数 (如(如x/y

12、5 改为改为x5y)4、合理设定变量上下界,尽可能给出变量初始值合理设定变量上下界,尽可能给出变量初始值 5、模型中使用的参数数量级要适当模型中使用的参数数量级要适当 (如小于如小于103)2022-2-13数学建模3. LINDO / LINGO软件的使用简介软件的使用简介2022-2-13数学建模需要掌握的几个重要方面需要掌握的几个重要方面1、LINDO: 正确阅读求解报告(尤其要掌握敏感性分析)正确阅读求解报告(尤其要掌握敏感性分析)2、LINGO: 掌握集合掌握集合(SETS)的应用;的应用;正确阅读求解报告;正确阅读求解报告;正确理解求解状态窗口;正确理解求解状态窗口; 学会设置基本

13、的求解选项学会设置基本的求解选项(OPTIONS) ; 掌握与外部文件的基本接口方法掌握与外部文件的基本接口方法2022-2-13数学建模例例1 加工奶制品的生产计划加工奶制品的生产计划1桶牛奶 3公斤A1 12小时 8小时 4公斤A2 或获利24元/公斤 获利16元/公斤 50桶牛奶桶牛奶 时间时间480小时小时 至多加工至多加工100公斤公斤A1 制订生产计划,使每天获利最大制订生产计划,使每天获利最大 35元可买到元可买到1桶牛奶,买吗?若买,每天最多买多少桶牛奶,买吗?若买,每天最多买多少? 可聘用临时工人,付出的工资最多是每小时几元可聘用临时工人,付出的工资最多是每小时几元? A1的

14、获利增加到的获利增加到 30元元/公斤,应否改变生产计划?公斤,应否改变生产计划? 每天:每天:2022-2-13数学建模1桶牛奶 3公斤A1 12小时 8小时 4公斤A2 或获利24元/公斤 获利16元/公斤 x1桶牛奶生产桶牛奶生产A1 x2桶牛奶生产桶牛奶生产A2 获利获利 243x1 获利获利 164 x2 原料供应原料供应 5021 xx劳动时间劳动时间 48081221 xx加工能力加工能力 10031x决策变量决策变量 目标函数目标函数 216472xxzMax每天获利每天获利约束条件约束条件非负约束非负约束 0,21xx线性线性规划规划模型模型(LP)时间时间480小时小时 至

15、多加工至多加工100公斤公斤A1 50桶牛奶桶牛奶 每天每天2022-2-13数学建模模型求解模型求解 max 72x1+64x2st2)x1+x2503)12x1+8x24804)3x1100end OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0

16、.000000 NO. ITERATIONS= 2DO RANGE (SENSITIVITY) ANALYSIS? No20桶牛奶生产桶牛奶生产A1, 30桶生产桶生产A2,利润,利润3360元。元。 2022-2-13数学建模模型求解模型求解 reduced cost值表值表示当该非基变量示当该非基变量增加一个单位时增加一个单位时(其他非基变量(其他非基变量保持不变)目标保持不变)目标函数减少的量函数减少的量(对对max型问题型问题) OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0

17、.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000 NO. ITERATIONS= 2也可理解为:也可理解为:为了使该非基变为了使该非基变量变成基变量,量变成基变量,目标函数中对应目标函数中对应系数应增加的量系数应增加的量2022-2-13数学建模 OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.00

18、0000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000原料无剩余原料无剩余时间无剩余时间无剩余加工能力剩余加工能力剩余40max 72x1+64x2st2)x1+x2503)12x1+8x24804)3x1100end三三种种资资源源“资源资源” 剩余为零的约束为紧约束(有效约束)剩余为零的约束为紧约束(有效约束) 结果解释结果解释 2022-2-13数学建模 OBJECTIVE FU

19、NCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000结果解释结果解释 最优解下最优解下“资源资源”增增加加1单位时单位时“效益效益”的的增量增量 原料增原料增1单位单位, 利润增利润增48 时间加时间加1单位单位, 利润增利润增2 能力增减不影响利润能力增减不影响

20、利润影子价格影子价格 35元可买到元可买到1桶牛奶,要买吗?桶牛奶,要买吗? 35 ”(或(或“=”(或(或“=”)功能相)功能相同同2.变量与系数间可有空格变量与系数间可有空格(甚至回车甚至回车), 但无运算符但无运算符3.变量名以字母开头,不能超过变量名以字母开头,不能超过8个字符个字符4.变量名不区分大小写(包括变量名不区分大小写(包括LINDO中的关键字)中的关键字)5.目标函数所在行是第一行,第二行起为约束条件目标函数所在行是第一行,第二行起为约束条件6.行号行号(行名行名)自动产生或人为定义。行名以自动产生或人为定义。行名以“)”结结束束7.行中注有行中注有“!”符号的后面部分为注

21、释。如符号的后面部分为注释。如: ! Its Comment.8.在模型的任何地方都可以用在模型的任何地方都可以用“TITLE” 对模型命名对模型命名(最多(最多72个字符),如:个字符),如: TITLE This Model is only an Example2022-2-13数学建模9.变量不能出现在一个约束条件的右端变量不能出现在一个约束条件的右端10.表达式中不接受括号表达式中不接受括号“( )”和逗号和逗号“,”等任何符号等任何符号, 例例: 400(X1+X2)需写为需写为400X1+400X211.表达式应化简,如表达式应化简,如2X1+3X2- 4X1应写成应写成 -2X1

22、+3X212.缺省假定所有变量非负;可在模型的缺省假定所有变量非负;可在模型的“END”语句语句后用后用“FREE name”将变量将变量name的非负假定取消的非负假定取消13.可在可在 “END”后用后用“SUB” 或或“SLB” 设定变量上设定变量上下界下界 例如:例如: “sub x1 10”的作用等价于的作用等价于“x1=10” 但用但用“SUB”和和“SLB”表示的上下界约束不计入表示的上下界约束不计入模型的约束,也不能给出其松紧判断和敏感性分模型的约束,也不能给出其松紧判断和敏感性分析。析。14. “END”后对后对0-1变量说明:变量说明:INT n 或或 INT name15

23、. “END”后对整数变量说明:后对整数变量说明:GIN n 或或 GIN name使用使用LINDOLINDO的一些注意事项的一些注意事项2022-2-13数学建模二次规划规划(QP)问题nLINDO可求解二次规划可求解二次规划(QP)问题,但输入方式问题,但输入方式较复杂,因为在较复杂,因为在LINDO中不许出现非线性表达式中不许出现非线性表达式n需要为每一个实际约束增加一个对偶变量需要为每一个实际约束增加一个对偶变量(LAGRANGE乘子),在实际约束前增加有关变乘子),在实际约束前增加有关变量的一阶最优条件,转化为互补问题量的一阶最优条件,转化为互补问题n“END”后面使用后面使用QC

24、P命令指明实际约束开始的命令指明实际约束开始的行号,然后才能求解行号,然后才能求解n建议总是用建议总是用LINGO解解QP注意注意对对QP和和IP: 敏感性分析意义不大敏感性分析意义不大2022-2-13数学建模状态窗口状态窗口(LINDO Solver Status) n当前状态:已达最优解当前状态:已达最优解n迭代次数:迭代次数:18次次n约束不满足的约束不满足的“量量”(不不是是“约束个数约束个数”):0n当前的目标值:当前的目标值:94n最好的整数解:最好的整数解:94n整数规划的界:整数规划的界:93.5n分枝数:分枝数:1n所用时间:所用时间:0.00秒(太秒(太快了,还不到快了,

25、还不到0.005秒)秒)n刷新本界面的间隔刷新本界面的间隔:1(秒秒)2022-2-13数学建模选项设置选项设置 Preprocess:预处理:预处理(生成割平面生成割平面); Preferred Branch:优先的分枝方式:优先的分枝方式: “Default”(缺省方式)、(缺省方式)、“Up”(向上取整优先)、(向上取整优先)、“Down”(向下取整优先);(向下取整优先); IP Optimality Tol:IP最优值允许的误最优值允许的误差上限(一个百分数,如差上限(一个百分数,如5%即即0.05);); IP Objective Hurdle:IP目标函数的篱目标函数的篱笆值,即

26、只寻找比这个值更优最优解笆值,即只寻找比这个值更优最优解(如当知道当前模型的某个整数可行解(如当知道当前模型的某个整数可行解时,就可以设置这个值);时,就可以设置这个值); IP Var Fixing Tol:固定一个整数变量:固定一个整数变量取值所依据的一个上限(如果一个整数取值所依据的一个上限(如果一个整数变量的判别数(变量的判别数(REDUCED COST)的)的值很大,超过该上限,则以后求解中把值很大,超过该上限,则以后求解中把该整数变量固定下来)。该整数变量固定下来)。Nonzero Limit:非零系数的个数上限;非零系数的个数上限;Iteration Limit:最大迭代步数;最

27、大迭代步数;Initial Contraint Tol:约束的初始误差上限;约束的初始误差上限;Final Contraint Tol:约束的最后误差上限;约束的最后误差上限;Entering Var Tol:进基变量的进基变量的REDUCED COST的误差限;的误差限;Pivot Size Tol:旋转元的误差限旋转元的误差限2022-2-13数学建模Report/Statistics第一行:模型有第一行:模型有5行(约束行(约束4行),行),4个变量,两个整数变量(没有个变量,两个整数变量(没有0-1变量),从第变量),从第4行开始是二次规划的实际约束。行开始是二次规划的实际约束。第二行

28、:非零系数第二行:非零系数19个,约束中非零系数个,约束中非零系数12个个(其中其中6个为个为1或或-1),模型密度为模型密度为0.760(密度密度=非零系数非零系数/行数行数(变量数变量数) 。第三行的意思:按绝对值看,系数最小、最大分别为第三行的意思:按绝对值看,系数最小、最大分别为0.3和和277。第四行的意思:模型目标为极小化;小于等于、等于、大于等于约第四行的意思:模型目标为极小化;小于等于、等于、大于等于约束分别有、个;广义上界约束(束分别有、个;广义上界约束(GUBS)不超过个;)不超过个;变量上界约束(变量上界约束(VUBS)不少于个。所谓)不少于个。所谓GUBS,是指一组不,

29、是指一组不含有相同变量的约束;所谓含有相同变量的约束;所谓VUBS,是指一个蕴涵变量上界的约,是指一个蕴涵变量上界的约束,如从约束束,如从约束X1+X2-X3=0可以看出,若可以看出,若X3=0,则,则X1=0,X2=0(因为有非负限制),因此(因为有非负限制),因此X1+X2-X3=0是一个是一个VUBS约束。约束。第五行的意思:只含个变量的约束个数第五行的意思:只含个变量的约束个数=个;冗余的列数个;冗余的列数=个个ROWS= 5 VARS= 4 INTEGER VARS= 2( 0 = 0/1) QCP= 4NONZEROS= 19 CONSTRAINT NONZ= 12( 6 = +-

30、1) DENSITY=0.760SMALLEST AND LARGEST ELEMENTS IN ABSOLUTE VALUE= 0.300000 277.000OBJ=MIN, NO. : 2 0 2, GUBS = 0SINGLE COLS= 0 REDUNDANT COLS= 02022-2-13数学建模LINDOLINDO行命令、命令脚本文件行命令、命令脚本文件批处理:可以采用命令脚本(行命令序列)批处理:可以采用命令脚本(行命令序列)WINDOWS环境下行命令的意义不大环境下行命令的意义不大Example 演示演示Bat01.txt用用FILE / TAKE COMMANDS (F1

31、1) 命令调入命令调入必须是以必须是以LINDO PACKED形式形式(压缩)保存的文件(压缩)保存的文件FILE / SAVE命令命令SAVE行命令行命令2022-2-13数学建模LINGO软件简介软件简介 目标与约束段目标与约束段 集合段(集合段(SETS ENDSETS) 数据段(数据段(DATA ENDDATA) 初始段(初始段(INIT ENDINIT) 计算段计算段 (CALC ENDCALC) - LINGO9.0LINGO模型的构成:模型的构成:5个段个段LINGO模型的优点模型的优点 包含了包含了LINDO的全部功能的全部功能 提供了灵活的编程语言(矩阵生成器)提供了灵活的编

32、程语言(矩阵生成器)2022-2-13数学建模LINGOLINGO模型模型 例:选址问例:选址问题题某公司有某公司有6个建筑工地,位置坐标为个建筑工地,位置坐标为(ai, bi) (单位:公里单位:公里),水泥日用量水泥日用量di (单位:吨)单位:吨)ia1.258.750.55.7537.25b1.250.754.7556.57.75d35476111)现有 2 料场,位于 A (5, 1), B (2, 7),记(xj,yj),j=1,2, 日储量 ej各有 20 吨。假设:假设:料场料场和工地之间和工地之间有直线道路有直线道路目标:制定每天的供应计划,即从 A, B 两料场分别向各工地

33、运送多少吨水泥,使总的吨公里数最小。2022-2-13数学建模用例中数据计算,最优解为i1234561ic(料料场场 A)3507012ic(料料场场 B)00406102 , 1,6,.,1,. .)()(min612121612/122jecidctsbyaxcjijiiijjjiijijij线性规划模型线性规划模型决策变量:决策变量:ci j (料场料场j到到工地工地i的的运量)运量)12维维2022-2-13数学建模选址问题:选址问题:NLPNLP2)改建两个新料场,需要确定新料场位置)改建两个新料场,需要确定新料场位置(xj,yj)和和运量运量cij ,在其它条件不变下使总吨公里数最

34、小。,在其它条件不变下使总吨公里数最小。2 , 1,6,.,1,. .)()(min612121612/122jecidctsbyaxcjijiiijjjiijijij决策变量:决策变量:ci j,(xj,yj)16维维非线性规划模型非线性规划模型2022-2-13数学建模LINGO模型的构成:模型的构成:4个段个段集合段(集合段(SETS ENDSETS)数据段(数据段(DATA ENDDATA)初始段(初始段(INIT ENDINIT) 目标与目标与约束段约束段 局部最优:局部最优:89.8835(吨公里吨公里 ) LP:移到数据段:移到数据段2022-2-13数学建模边界2022-2-1

35、3数学建模集合的类型集合的类型 集合集合 派生集合派生集合 基本集合基本集合 稀疏集合稀疏集合 稠密集合稠密集合 元素列表法元素列表法 元素过滤法元素过滤法 直接列举法直接列举法 隐式列举法隐式列举法setname /member_list/ : attribute_list;setname(parent_set_list) /member_list/ : attribute_list;SETS: CITIES /A1,A2,A3,B1,B2/; ROADS(CITIES, CITIES)/ A1,B1 A1,B2 A2,B1 A3,B2/:D; ENDSETSSETS: STUDENTS /

36、S1.S8/; PAIRS( STUDENTS, STUDENTS) | &2 #GT# &1: BENEFIT, MATCH;ENDSETS2022-2-13数学建模集合元素的集合元素的隐式列隐式列举举类型类型隐式列举格式隐式列举格式示例示例示例集合的元素示例集合的元素数字型数字型 1.n1.51, 2, 3, 4, 5字符字符-数字型数字型stringM.stringNCar101.car208Car101, car102, , car208星期型星期型 dayM.dayNMON.FRIMON, TUE, WED, THU, FRI月份型月份型 monthM.monthNO

37、CT.JANOCT, NOV, DEC, JAN年份年份-月份型月份型monthYearM.monthYearNOCT2001.JAN2002OCT2001, NOV2001, DEC2001, JAN20022022-2-13数学建模运算符的优先级运算符的优先级 优先级优先级运算符运算符最高最高#NOT# (负号)(负号)* /+ (减法)(减法)#EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR#最低最低(=)三类运算符:三类运算符: 算术运算符算术运算符 逻辑运算符逻辑运算符 关系运算符关系运算符2022-2-13数学建模集合循环函数集合循环函数四个集合循环函

38、数:四个集合循环函数:FOR、SUM 、 MAX、MINfunction( setname ( set_index_list) | condition : expression_list);objective MAX = SUM( PAIRS( I, J): BENEFIT( I, J) * MATCH( I, J);FOR(STUDENTS( I): constraints SUM( PAIRS( J, K) | J #EQ# I #OR# K #EQ# I: MATCH( J, K) =1);FOR(PAIRS( I, J): BIN( MATCH( I, J);MAXB=MAX(PAIR

39、S( I, J): BENEFIT( I, J);MINB=MIN(PAIRS( I, J): BENEFIT( I, J);Example:PAIRSJIJIMATCHJIBENEFIT),(),(*),(1),(),(IKorIJPAIRSKJKJMATCH2022-2-13数学建模状态窗口状态窗口Solver Type:B-and-BGlobal MultistartModel Class: LP, QP,ILP, IQP,PILP, PIQP,NLP,INLP,PINLP State:Global OptimumLocal OptimumFeasibleInfeasibleUnboun

40、dedInterruptedUndetermined2022-2-13数学建模7 7个选项卡个选项卡( (可设置可设置80-9080-90个控制参数个控制参数) )2022-2-13数学建模 程序与数据分离程序与数据分离文文本本文文件件使用外部数据文件使用外部数据文件 Cut (or Copy) Paste 方法方法 FILE 输入数据、输入数据、TEXT输出数据(文本文件)输出数据(文本文件) OLE函数与电子表格软件(如函数与电子表格软件(如EXCEL)连接)连接 ODBC函数与数据库连接函数与数据库连接 LINGO命令脚本文件命令脚本文件 LG4 (LONGO模型文件)模型文件) LNG

41、 (LONGO模型文件)模型文件) LTF (LONGO脚本文件)脚本文件) LDT (LONGO数据文件)数据文件) LRP (LONGO报告文件)报告文件)常用文件后缀常用文件后缀2022-2-13数学建模FILEFILE和和TEXTTEXT:文本文件输入输出:文本文件输入输出MODEL:SETS: MYSET / FILE(myfile.txt) / : FILE(myfile.txt);ENDSETSMIN = SUM( MYSET( I): SHIP( I) * COST( I); FOR( MYSET( I): CON1 SHIP( I) NEED( I); CON2 SHIP(

42、I) NEED( I); CON2 SHIP( I) SUPPLY( I);DATA: MYSET =OLE(D:JXIEBJ2004MCMmydata.xls,CITIES); COST,NEED,SUPPLY =OLE(mydata.xls); OLE(mydata.xls,SOLUTION)=SHIP; ENDDATAEND mydata.xls文件中必须有下列名称(及数据): CITIES, COST,NEED,SUPPLY,SOLUTION 在在EXCEL中还可以通过中还可以通过“宏宏”自动调用自动调用LINGO(略略) 也可以将也可以将EXCEL表格嵌入到表格嵌入到LINGO模型中

43、模型中(略略)演示演示 MydataExample.lg42022-2-13数学建模ODBC ODBC :与数据库连接:与数据库连接输入基本集合元素:输入基本集合元素:setname/ODBC(datasource , tablename , columnname)/输入派生集合元素:输入派生集合元素:setname/ODBC(source,table , column1, column2)/目前支持下列目前支持下列DBMS: (如为其他数据库,则需自行安装驱动如为其他数据库,则需自行安装驱动)ACCESS, DBASE,EXCEL,FOXPRO,ORACLE,PARADOX,SQL SERV

44、ER, TEXE FILES使用数据库之前,数据源需要在使用数据库之前,数据源需要在ODBC管理器注册管理器注册输入数据:输入数据:Attr_list=ODBC(source,table , column1, column2)输出数据:输出数据:ODBC(source,table , column1, column2)= Attr_list具体例子略具体例子略2022-2-13数学建模4. 建模与求解实例(结合软件使用)建模与求解实例(结合软件使用)2022-2-13数学建模建模实例与求解建模实例与求解最短路问题最短路问题飞机定位飞机定位露天矿的运输问题露天矿的运输问题钢管运输问题钢管运输问题

45、2022-2-13数学建模例例 最短路问题最短路问题求各点到求各点到T的最短路的最短路56774968658336C1B1C2B2A1A2A3TS6shortestPath.lg40,min),(TjijAjiiLTiLcL2022-2-13数学建模0yxVOR2x=629, y=375309.00 (1.30)864.3(2.0)飞机x=?, y=?VOR1x=764, y=1393161.20 (0.80)VOR3x=1571, y=25945.10 (0.60)北DMEx=155, y=987飞机与监控台(图中坐标和测量距离的单位是“公里”)实例实例: 飞机精确定位问题飞机精确定位问题

46、2022-2-13数学建模飞机精确定位模型飞机精确定位模型)飞机位置坐标(要求计算:,距离误差为记测量距离为,角度误差为记测量角度为标分别为已知数据:设备位置坐yxdiiyxiiii, . ; 3,.,1, 1,.4;),(44iixiyi原始的 (或d4)VO20(2.81347弧度)0.80(0.0140弧度)VOR262937545.10 (0.78714弧度)0.60(0.0105弧度)VOR31571259309.00(5.39307弧度)1.30(0.0227弧度)DME155987d4=864.3(km)2.0(km)2022-2-13数学建模飞机精确定

47、位模型飞机精确定位模型42424)()(),(atan2dyyxxyyxxiii第第1类模型类模型: 不考虑误差因素不考虑误差因素超定方程组,超定方程组,非线性最小二乘!非线性最小二乘!量纲不符!量纲不符!? 242424312)()(),(atan2 dyyxxyyxxMiniiiix,y242424312)()(),(atan2 dyyxxyyxxMiniiiix,y222424)()( )tan()/()( dyyxxyyxxiii或或2022-2-13数学建模飞机精确定位模型飞机精确定位模型44242444)()(),(atan2dyyxxdyyxxiiiiii第第2类模型类模型: 考

48、虑误差因素考虑误差因素(作为硬约束作为硬约束)Min x; Min y; Max x; Max y. 以距离为约束,优化角度误差之和(或平方和);以距离为约束,优化角度误差之和(或平方和);或以角度为约束,优化距离误差或以角度为约束,优化距离误差. 非线性规划非线性规划 ? ?仅部分考虑误差仅部分考虑误差! 角度与距离的角度与距离的“地位地位”不应不不应不同!同!有人也可能会采用其他目标,如:有人也可能会采用其他目标,如: 误差非均匀分布!误差非均匀分布! 2022-2-13数学建模飞机精确定位模型飞机精确定位模型2424244231)()(),(atan2),( yyxxdyyxxyxEMi

49、niiiii误差一般服从什么分布?误差一般服从什么分布?正态分布!正态分布!不同的量纲如何处理?不同的量纲如何处理?无约束非线性最小二乘模型无约束非线性最小二乘模型归一化处理!归一化处理!shili0702.m飞机坐标飞机坐标(978.31,723.98), 误差平方和误差平方和0.6685 ( 4) 角度需要进行预处理,如利用角度需要进行预处理,如利用Matlab的的atan2函数函数, 值域值域(-pi, pi)第第3类模型类模型: 考虑误差因素考虑误差因素(作为软约束作为软约束); 且归一化且归一化2022-2-13数学建模飞机精确定位模型飞机精确定位模型小技巧小技巧: LINGO中没有

50、中没有atan2函数函数, 怎么办?怎么办?可以直接利用可以直接利用tan函数!函数!exam0507c.lg4同前面的模型同前面的模型/结果结果2424244231)()(),( yyxxdyxEMiniiii)/()(taniiiyyxx 飞机坐标飞机坐标(980.21,727.30 ), 误差平方和误差平方和2.6 与前面的结果有所不同与前面的结果有所不同, 为什么为什么? 哪个模型合理些哪个模型合理些?2424244231)()(tantan),( yyxxdyxEMiniiiyyxxii最后最后: 思考以下模型思考以下模型:exam0507d.lg42022-2-13数学建模露天矿里

51、铲位已分成矿石和岩石露天矿里铲位已分成矿石和岩石: 平均铁含量不低于平均铁含量不低于25%的为矿石,否则为岩石。每个铲位的矿石、岩石数的为矿石,否则为岩石。每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。量,以及矿石的平均铁含量(称为品位)都是已知的。每个铲位至多安置一台电铲,电铲平均装车时间每个铲位至多安置一台电铲,电铲平均装车时间5分钟分钟卡车在等待时所耗费的能量也是相当可观的,原则上卡车在等待时所耗费的能量也是相当可观的,原则上在安排时在安排时不应发生卡车等待不应发生卡车等待的情况。的情况。 露天矿生产的车辆安排露天矿生产的车辆安排(CUMCM-2003B) 矿石卸

52、点需要的铁含量要求都为矿石卸点需要的铁含量要求都为29.5% 1%(品位限品位限制),搭配量在一个班次(制),搭配量在一个班次(8小时)内满足品位限制即小时)内满足品位限制即可。卸点在一个班次内不变。卡车载重量为可。卸点在一个班次内不变。卡车载重量为154吨,平吨,平均时速均时速28km,平均卸车时间为平均卸车时间为3分钟。分钟。问题:出动几台电铲,分别在哪些铲位上;出动几辆问题:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上各运输多少次卡车,分别在哪些路线上各运输多少次 ?2022-2-13数学建模平面示意图2022-2-13数学建模问题数据问题数据 距离铲位1铲位2铲位3铲

53、位4铲位5铲位6铲位7铲位8铲位9铲位10矿石漏5.202.952.742.461.900.641.27倒装1.900.991.901.131.272.251.482.043.093.51岩场5.895.615.614.563.513.652.462.461.060.57岩石漏0.641.761.271.832.742.604.213.725.056.10倒装4.423.863.710.781.621.270.50铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10矿石量095105100105110125105130135125岩石量

54、125110135105115135105115135125铁含量30%28%29%32%31%33%32%31%33%31%2022-2-13数学建模问题分析问题分析 与典型的运输问题明显有以下不同:与典型的运输问题明显有以下不同:1. 这是运输矿石与岩石两种物资的问题;这是运输矿石与岩石两种物资的问题;2. 属于产量大于销量的不平衡运输问题;属于产量大于销量的不平衡运输问题;3. 为了完成品位约束,矿石要搭配运输;为了完成品位约束,矿石要搭配运输;4. 产地、销地均有单位时间的流量限制;产地、销地均有单位时间的流量限制;5. 运输车辆只有一种,每次满载运输,运输车辆只有一种,每次满载运输,

55、154吨吨/车次;车次;6. 铲位数多于铲车数意味着要最优的选择不多于铲位数多于铲车数意味着要最优的选择不多于7个个产地作为最后结果中的产地;产地作为最后结果中的产地;7. 最后求出各条路线上的派出车辆数及安排。最后求出各条路线上的派出车辆数及安排。近似处理:近似处理:先求出产位、卸点每条线路上的运输量先求出产位、卸点每条线路上的运输量(MIP模型模型)然后求出各条路线上的派出车辆数及安排然后求出各条路线上的派出车辆数及安排2022-2-13数学建模模型假设模型假设n卡车在一个班次中不应发生等待或熄火后再启动卡车在一个班次中不应发生等待或熄火后再启动的情况;的情况;n在铲位或卸点处由两条路线以

56、上造成的冲突问题在铲位或卸点处由两条路线以上造成的冲突问题面前,我们认为只要平均时间能完成任务,就认面前,我们认为只要平均时间能完成任务,就认为不冲突。我们不排时地进行讨论;为不冲突。我们不排时地进行讨论;n空载与重载的速度都是空载与重载的速度都是28km/h,耗油相差很大;,耗油相差很大;n卡车可提前退出系统,等等。卡车可提前退出系统,等等。如理解为严格不等待,难以用数学规划模型来解如理解为严格不等待,难以用数学规划模型来解 个别参数队找到了可行解个别参数队找到了可行解 (略)(略)2022-2-13数学建模符号符号nxij :从:从i铲位到铲位到j号卸点的石料运量号卸点的石料运量 (车)(

57、车) 单位:单位: 吨;吨;ncij :从:从i号铲位到号铲位到j号卸点的距离号卸点的距离 公公里;里;nTij :从从i号铲位到号号铲位到号j卸点路线上运行一个周期平均时间卸点路线上运行一个周期平均时间 分;分;nAij :从号铲位到号卸点最多能同时运行的卡车数:从号铲位到号卸点最多能同时运行的卡车数 辆;辆;nBij :从号铲位到号卸点路线上一辆车最多可运行的次数:从号铲位到号卸点路线上一辆车最多可运行的次数 次;次;npi:i号铲位的矿石铁含量号铲位的矿石铁含量 p=(30,28,29,32,31,33,32,31,33,31) %nqj : j号卸点任务需求,号卸点任务需求,q=(1.

58、2,1.3,1.3,1.9,1.3)*10000 吨吨ncki :i号铲位的铁矿石储量号铲位的铁矿石储量 万吨万吨ncyi :i号铲位的岩石储量号铲位的岩石储量 万吨万吨nfi :描述第描述第i号铲位是否使用的号铲位是否使用的0-1变量,取变量,取1为使用;为使用;0为关闭。为关闭。532平均速度距离到jiTij5ijijTAijijijTAB5) 1(608(近似近似)2022-2-13数学建模优化模型cxijijij10151min5 , 1,10, 1,jiBAxijijij10, 1, 5/60851ifxijij5 , 1,208101jiijx10, 1,154/10000154/

59、1000043521icyxxckxxxiiiiiii(1)道路能力道路能力(卡车数卡车数)约束约束(2)电铲能力约束(3)卸点能力约束(4)铲位储量约束(5)产量任务约束(6)铁含量约束(7)电铲数量约束(8)整数约束 5 , 1,154/101jqxjiij5 , 2 , 1,0)5 .28(0)5 .30(101101jpxpxiiijiiij.7101iifxij为非负整数fi 为0-1整数2022-2-13数学建模计算结果(计算结果(LINGOLINGO软件)软件)铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10矿漏131354541111倒42424343岩场7070

60、1515岩漏81814343倒13132 27070铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10矿石漏0.8671.8620.314倒场1.0771.162岩场1.8920.326岩石漏1.8411.229倒场0.6840.11.489cumcm2003b1.lg4注注: LINGO8.0本来是可以得到最优解的,但有些本来是可以得到最优解的,但有些 LINGO8.0可能出现系统错误可能出现系统错误, 可能是系统可能是系统BUG2022-2-13数学建模计算结果(派车)计算结果(派车)铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10矿石漏1 (29)倒场1 (39)1 (37)岩

温馨提示

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

评论

0/150

提交评论