优化问题与Lingo_第1页
优化问题与Lingo_第2页
优化问题与Lingo_第3页
优化问题与Lingo_第4页
优化问题与Lingo_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、优化模型与优化模型与LINGO优化软件优化软件玩具、照片、飞机、火箭模型玩具、照片、飞机、火箭模型 实物模型实物模型地图、电路图、分子结构图地图、电路图、分子结构图 符号模型符号模型模型模型是为了一定目的,对客观事物的一部分是为了一定目的,对客观事物的一部分进行简缩、抽象、提炼出来的进行简缩、抽象、提炼出来的原型原型的替代物的替代物模型模型集中反映了集中反映了原型原型中人们需要的那一部分特征中人们需要的那一部分特征从现实对象到数学模型从现实对象到数学模型我们常见的模型我们常见的模型你碰到过的数学模型你碰到过的数学模型“航行问题航行问题”用用 x 表示船速,表示船速,y 表示水速,列出方程:表示

2、水速,列出方程:75050)(75030)(yxyx答:船速每小时答:船速每小时20千米千米/ /小时小时. .甲乙两地相距甲乙两地相距750千米,船从甲到乙顺水航行需千米,船从甲到乙顺水航行需30小时,小时,从乙到甲逆水航行需从乙到甲逆水航行需50小时,问船的速度是多少小时,问船的速度是多少?x =20y =5求解求解航行问题航行问题建立数学模型的基本步骤建立数学模型的基本步骤 作出简化假设(船速、水速为常数);作出简化假设(船速、水速为常数); 用符号表示有关量(用符号表示有关量(x, y表示船速和水速);表示船速和水速); 用物理定律(匀速运动的距离等于速度乘以用物理定律(匀速运动的距离

3、等于速度乘以 时间)列出数学式子(二元一次方程);时间)列出数学式子(二元一次方程); 求解得到数学解答(求解得到数学解答(x=20, y=5);); 回答原问题(船速每小时回答原问题(船速每小时20千米千米/小时)。小时)。数学模型数学模型 (Mathematical Model) 和和数学建模(数学建模(Mathematical Modeling)对于一个对于一个现实对象现实对象,为了一个,为了一个特定目的特定目的,根据其根据其内在规律内在规律,作出必要的,作出必要的简化假设简化假设,运用适当的运用适当的数学工具数学工具,得到的一个,得到的一个数学结构数学结构。建立数学模型的全过程建立数学

4、模型的全过程(包括表述、求解、解释、检验等)(包括表述、求解、解释、检验等)数学模型数学模型数学数学建模建模数学建模的重要意义数学建模的重要意义 电子计算机的出现及飞速发展;电子计算机的出现及飞速发展; 数学以空前的广度和深度向一切领域渗透。数学以空前的广度和深度向一切领域渗透。数学建模作为用数学方法解决实际问题的第一步,数学建模作为用数学方法解决实际问题的第一步,越来越受到人们的重视。越来越受到人们的重视。 在一般工程技术领域数学建模仍然大有用武之地;在一般工程技术领域数学建模仍然大有用武之地; 在高新技术领域数学建模几乎是必不可少的工具;在高新技术领域数学建模几乎是必不可少的工具; 数学进

5、入一些新领域,为数学建模开辟了许多处女地。数学进入一些新领域,为数学建模开辟了许多处女地。数学建模的具体应用数学建模的具体应用 分析与设计分析与设计 预报与决策预报与决策 控制与优化控制与优化 规划与管理规划与管理数学建模计算机技术知识经济知识经济如虎添翼如虎添翼 数学建模的基本方法数学建模的基本方法机理分析机理分析测试分析测试分析根据对客观事物特性的认识,根据对客观事物特性的认识,找出反映内部机理的数量规律找出反映内部机理的数量规律将对象看作将对象看作“黑箱黑箱”,通过对量测数据的通过对量测数据的统计分析,找出与数据拟合最好的模型统计分析,找出与数据拟合最好的模型机理分析没有统一的方法,主要

6、通过实例研究机理分析没有统一的方法,主要通过实例研究 (Case Studies)来学习。以下建模主要指机理分析。来学习。以下建模主要指机理分析。二者结合二者结合用机理分析建立模型结构用机理分析建立模型结构,用测试分析确定模型参数用测试分析确定模型参数数学建模的方法和步骤数学建模的方法和步骤 数学建模的一般步骤数学建模的一般步骤模型准备模型准备模型假设模型假设模型构成模型构成模型求解模型求解模型分析模型分析模型检验模型检验模型应用模型应用模模型型准准备备了解实际背景了解实际背景明确建模目的明确建模目的搜集有关信息搜集有关信息掌握对象特征掌握对象特征形成一个形成一个比较清晰比较清晰的的问题问题模

7、模型型假假设设针对问题特点和建模目的针对问题特点和建模目的作出合理的、简化的假设作出合理的、简化的假设在合理与简化之间作出折中在合理与简化之间作出折中模模型型构构成成用数学的语言、符号描述问题用数学的语言、符号描述问题发挥想像力发挥想像力使用类比法使用类比法尽量采用简单的数学工具尽量采用简单的数学工具 数学建模的一般步骤数学建模的一般步骤模型模型求解求解各种数学方法、软件和计算机技术各种数学方法、软件和计算机技术如结果的误差分析、统计分析、如结果的误差分析、统计分析、模型对数据的稳定性分析模型对数据的稳定性分析模型模型分析分析模型模型检验检验与实际现象、数据比较,与实际现象、数据比较,检验模型

8、的合理性、适用性检验模型的合理性、适用性模型应用模型应用 数学建模的一般步骤数学建模的一般步骤数学建模的全过程数学建模的全过程现实对象的信息现实对象的信息数学模型数学模型现实对象的解答现实对象的解答数学模型的解答数学模型的解答表述表述求解求解解释解释验证验证(归纳)(演绎)表述表述求解求解解释解释验证验证根据建模目的和信息将实际问题根据建模目的和信息将实际问题“翻译翻译”成数学问成数学问题题选择适当的数学方法求得数学模型的解答选择适当的数学方法求得数学模型的解答将数学语言表述的解答将数学语言表述的解答“翻译翻译”回实际对象回实际对象用现实对象的信息检验得到的解答用现实对象的信息检验得到的解答实

9、践现现实实世世界界数数学学世世界界理论实践数学模型的特点和分类数学模型的特点和分类模型的逼真性和可行性模型的逼真性和可行性模型的渐进性模型的渐进性模型的稳定性模型的稳定性模型的可转移性模型的可转移性模型的非预制性模型的非预制性模型的条理性模型的条理性模型的技艺性模型的技艺性模型的局限性模型的局限性 数学模型的特点数学模型的特点数学模型的分类数学模型的分类应用领域应用领域人口、交通、经济、生态人口、交通、经济、生态 数学方法数学方法初等数学、微分方程、规划、统计初等数学、微分方程、规划、统计 表现特性表现特性描述、优化、预报、决策描述、优化、预报、决策 建模目的建模目的了解程度了解程度白箱白箱灰

10、箱灰箱黑箱黑箱确定和随机确定和随机静态和动态静态和动态线性和非线性线性和非线性离散和连续离散和连续怎样学习数学建模与竞赛组队怎样学习数学建模与竞赛组队数学建模与其说是一门技术,不如说是一门艺术数学建模与其说是一门技术,不如说是一门艺术技术大致有章可循技术大致有章可循艺术无法归纳成普遍适用的准则艺术无法归纳成普遍适用的准则想像力想像力洞察力洞察力判断力判断力 学习、分析、评价、改进别人作过的模型学习、分析、评价、改进别人作过的模型 亲自动手,认真作几个实际题目亲自动手,认真作几个实际题目根据数学建模竞赛章程,三人组成一队。根据数学建模竞赛章程,三人组成一队。 这三人中必须一人数学基础较好这三人中

11、必须一人数学基础较好, 一人应用数学软件(如一人应用数学软件(如Matlab,lindo,maple等)等) 和编程(如和编程(如c,Matlab,vc+等)的能力较强,等)的能力较强, 一人科技论文写作的水平较好。一人科技论文写作的水平较好。 科技论文的写作要求整篇论文的结构严谨,语言要科技论文的写作要求整篇论文的结构严谨,语言要有逻辑性,用词要准确。有逻辑性,用词要准确。 三人之间要能够配合得起来。若三人之间配合不好,三人之间要能够配合得起来。若三人之间配合不好, 会降低效率,导致整个建模的失败。会降低效率,导致整个建模的失败。 如果可能的话,最好是数学好的懂得编程的一些知如果可能的话,最

12、好是数学好的懂得编程的一些知识,编程好的了解建模,搞论文写作也要了解建模,识,编程好的了解建模,搞论文写作也要了解建模,这样会合作得更好。因为数学好的在建立模型方案这样会合作得更好。因为数学好的在建立模型方案时会考虑到编程的便利性,以利于编程;编程好的时会考虑到编程的便利性,以利于编程;编程好的能够很好地理解模型,论文写作的能够更好、更完能够很好地理解模型,论文写作的能够更好、更完全地阐述模型。否则会出现建立的模型不利于编程,全地阐述模型。否则会出现建立的模型不利于编程,程序不能完全概括模型,论文写作时会漏掉一些不程序不能完全概括模型,论文写作时会漏掉一些不经意的东西。经意的东西。在合作的过程

13、中,最好是能够在三人中找出一个所谓在合作的过程中,最好是能够在三人中找出一个所谓的组长,即要能够总揽全局,包括任务的分配,相互的组长,即要能够总揽全局,包括任务的分配,相互间的合作和进度的安排。间的合作和进度的安排。在建模过程中出现意见不统一在建模过程中出现意见不统一如何处理?仅我如何处理?仅我个人的经验而言,除了一般的理解与尊重外,我觉个人的经验而言,除了一般的理解与尊重外,我觉得最重要的一点就是得最重要的一点就是“给我一个相信你的理由给我一个相信你的理由”和和“相信我,我的理由是相信我,我的理由是”,不要作无谓的争论。,不要作无谓的争论。 撰写数学建模论文撰写数学建模论文1 1、摘要、摘要

14、: :问题、模型、方法、结果问题、模型、方法、结果2 2、问题重述、问题重述3 3、模型假设与记号、模型假设与记号4 4、分析与建立模型、分析与建立模型5 5、模型求解、模型求解6 6、模型检验、模型检验7 7、模型推广、模型推广8 8、参考文献、参考文献9 9、附录、附录优化模型优化模型 实际问题中实际问题中的优化模型的优化模型mixgtsxxxxfzMaxMiniTn, 2 , 1, 0)(. .),(),()(1或x决策变量决策变量f(x)目标函数目标函数gi(x) 0约束条件约束条件数学规划数学规划线性规划线性规划(LP)二次规划二次规划(QP)非线性规划非线性规划(NLP)纯整数规划

15、纯整数规划(PIP)混合整数规划混合整数规划(MIP)整数规划整数规划(IP)0-1整数规划整数规划一般整数规划一般整数规划连续规划连续规划美国芝加哥美国芝加哥(Chicago)大学的大学的Linus Schrage教授于教授于1980年前后开发年前后开发, 后来成立后来成立 LINDO系统公司(系统公司(LINDO Systems Inc.),), 网址:网址:http:/ LINDO: Linear INteractive and Discrete Optimizer (V6.1)LINGO: Linear INteractive General Optimizer (V8.0)LINDO

16、 API: LINDO Application Programming Interface (V2.0)Whats Best!: (SpreadSheet e.g. EXCEL) (V7.0)演示演示(试用试用)版、学生版、高级版、超级版、工业版、版、学生版、高级版、超级版、工业版、扩展版扩展版 (求解(求解问题规模问题规模和和选件选件不同)不同) LINGO LINDO优化模型优化模型线性规划线性规划(LP)非线性规划非线性规划(NLP)二次规划二次规划(QP)连续优化连续优化整数规划整数规划(IP) LP QP NLP IP 全局优化全局优化(选选) ILP IQP INLP LINDO/

17、LINGO预处理程序预处理程序线性优化求解程序线性优化求解程序非线性优化求解程序非线性优化求解程序分枝定界管理程序分枝定界管理程序1. 确定常数确定常数2. 识别类型识别类型1. 单纯形算法单纯形算法2. 内点算法内点算法(选选)1、顺序线性规划法、顺序线性规划法(SLP) 2、广义既约梯度法、广义既约梯度法(GRG) (选选) 3、多点搜索、多点搜索(Multistart) (选选) 1、尽量使用实数优化,减少整数约束和整数变量尽量使用实数优化,减少整数约束和整数变量2、尽量使用光滑优化,减少非光滑约束的个数尽量使用光滑优化,减少非光滑约束的个数 如:尽量少使用绝对值、符号函数、多个变量求如

18、:尽量少使用绝对值、符号函数、多个变量求最大最大/最小值、四舍五入、取整函数等最小值、四舍五入、取整函数等3、尽量使用线性模型,减少非线性约束和非线性变尽量使用线性模型,减少非线性约束和非线性变量的个数量的个数 (如(如x/y 5 改为改为x5y)4、合理设定变量上下界,尽可能给出变量初始值合理设定变量上下界,尽可能给出变量初始值 5、模型中使用的参数数量级要适当模型中使用的参数数量级要适当 (如小于如小于103)1、LINDO: 正确阅读求解报告(尤其要掌握敏感性分析)正确阅读求解报告(尤其要掌握敏感性分析)2、LINGO: 掌握集合掌握集合(SETS)的应用;的应用;正确阅读求解报告;正确

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

20、临时工人,付出的工资最多是每小时几元? A1的获利增加到的获利增加到 30元元/公斤,应否改变生产计划?公斤,应否改变生产计划? 每天:每天: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)时间时

21、间480小时小时 至多加工至多加工100公斤公斤A1 50桶牛奶桶牛奶 每天每天模型求解模型求解 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.00

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

23、0000 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也可理解为:也可理解为:为了使该非基变为了使该非基变量变成基变量,量变成基变量,目标函数中对应目标函数中对应系数应增加的量系数应增加的量 OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.

24、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三三种种资资源源“资源资源” 剩余为零的约束为紧约束(有效约束)剩余为零的约束为紧约束(有效约束) 结果解释结果解释 OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE RED

25、UCED 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 能力增减不影响利润能力增减不影响利润影子价格影子价格 35元可买到元可买到1桶牛奶,要买吗?桶牛奶,要买吗? 35 ”

26、(或“=”(或“=”)功能相同变量与系数间可有空格(甚至回车), 但无运算符变量名以字母开头,不能超过8个字符变量名不区分大小写(包括LINDO中的关键字)目标函数所在行是第一行,第二行起为约束条件行号(行名)自动产生或人为定义。行名以“)”结束行中注有“!”符号的后面部分为注释。如: ! Its Comment.在模型的任何地方都可以用“TITLE” 对模型命名(最多72个字符),如: TITLE This Model is only an Example变量不能出现在一个约束条件的右端表达式中不接受括号“( )”和逗号“,”等任何符号, 例: 400(X1+X2)需写为400X1+400X

27、2表达式应化简,如2X1+3X2- 4X1应写成 -2X1+3X2缺省假定所有变量非负;可在模型的“END”语句后用“FREE name”将变量name的非负假定取消可在 “END”后用“SUB” 或“SLB” 设定变量上下界 例如: “sub x1 10”的作用等价于“x1=10” 但用“SUB”和“SLB”表示的上下界约束不计入模型的约束,也不能给出其松紧判断和敏感性分析。14. “END”后对0-1变量说明:INT n 或 INT name15. “END”后对整数变量说明:GIN n 或 GIN nameQLINDO可求解二次规划(QP)问题,但输入方式较复杂,因为在LINDO中不许出

28、现非线性表达式Q需要为每一个实际约束增加一个对偶变量(LAGRANGE乘子),在实际约束前增加有关变量的一阶最优条件,转化为互补问题Q“END”后面使用QCP命令指明实际约束开始的行号,然后才能求解Q建议总是用LINGO解QP注意对QP和IP: 敏感性分析意义不大Q当前状态:已达最优解Q迭代次数:18次Q约束不满足的“量”(不是“约束个数”):0Q当前的目标值:94Q最好的整数解:94Q整数规划的界:93.5Q分枝数:1Q所用时间:0.00秒(太快了,还不到0.005秒)Q刷新本界面的间隔:1(秒) Preprocess:预处理:预处理(生成割平面生成割平面); Preferred Branc

29、h:优先的分枝方式:优先的分枝方式: “Default”(缺省方式)、(缺省方式)、“Up”(向上取整优先)、(向上取整优先)、“Down”(向下取整优先);(向下取整优先); IP Optimality Tol:IP最优值允许的误最优值允许的误差上限(一个百分数,如差上限(一个百分数,如5%即即0.05);); IP Objective Hurdle:IP目标函数的篱目标函数的篱笆值,即只寻找比这个值更优最优解笆值,即只寻找比这个值更优最优解(如当知道当前模型的某个整数可行解(如当知道当前模型的某个整数可行解时,就可以设置这个值);时,就可以设置这个值); IP Var Fixing Tol

30、:固定一个整数变量:固定一个整数变量取值所依据的一个上限(如果一个整数取值所依据的一个上限(如果一个整数变量的判别数(变量的判别数(REDUCED COST)的)的值很大,超过该上限,则以后求解中把值很大,超过该上限,则以后求解中把该整数变量固定下来)。该整数变量固定下来)。Nonzero Limit:非零系数的个数上限;非零系数的个数上限;Iteration Limit:最大迭代步数;最大迭代步数;Initial Contraint Tol:约束的初始误差上限;约束的初始误差上限;Final Contraint Tol:约束的最后误差上限;约束的最后误差上限;Entering Var Tol

31、:进基变量的进基变量的REDUCED COST的误差限;的误差限;Pivot Size Tol:旋转元的误差限旋转元的误差限第一行:模型有第一行:模型有5行(约束行(约束4行),行),4个变量,两个整数变量(没有个变量,两个整数变量(没有0-1变量),从第变量),从第4行开始是二次规划的实际约束。行开始是二次规划的实际约束。第二行:非零系数第二行:非零系数19个,约束中非零系数个,约束中非零系数12个个(其中其中6个为个为1或或-1),模型密度为模型密度为0.760(密度密度=非零系数非零系数/行数行数(变量数变量数) 。第三行的意思:按绝对值看,系数最小、最大分别为第三行的意思:按绝对值看,

32、系数最小、最大分别为0.3和和277。第四行的意思:模型目标为极小化;小于等于、等于、大于等于约第四行的意思:模型目标为极小化;小于等于、等于、大于等于约束分别有、个;广义上界约束(束分别有、个;广义上界约束(GUBS)不超过个;)不超过个;变量上界约束(变量上界约束(VUBS)不少于个。所谓)不少于个。所谓GUBS,是指一组不,是指一组不含有相同变量的约束;所谓含有相同变量的约束;所谓VUBS,是指一个蕴涵变量上界的约,是指一个蕴涵变量上界的约束,如从约束束,如从约束X1+X2-X3=0可以看出,若可以看出,若X3=0,则,则X1=0,X2=0(因为有非负限制),因此(因为有非负限制),因此

33、X1+X2-X3=0是一个是一个VUBS约束。约束。第五行的意思:只含个变量的约束个数第五行的意思:只含个变量的约束个数=个;冗余的列数个;冗余的列数=个个ROWS= 5 VARS= 4 INTEGER VARS= 2( 0 = 0/1) QCP= 4NONZEROS= 19 CONSTRAINT NONZ= 12( 6 = +-1) DENSITY=0.760SMALLEST AND LARGEST ELEMENTS IN ABSOLUTE VALUE= 0.300000 277.000OBJ=MIN, NO. : 2 0 2, GUBS = 0SINGLE COLS= 0 REDUNDAN

34、T COLS= 0LINGO软件简介软件简介目标与约束段目标与约束段 集合段(集合段(SETS ENDSETS) 数据段(数据段(DATA ENDDATA)初始段(初始段(INIT ENDINIT)LINGO模型的构成:模型的构成:4个段个段LINGO模型的优点模型的优点包含了包含了LINDO的全部功能的全部功能提供了灵活的编程语言(矩阵生成器)提供了灵活的编程语言(矩阵生成器)某公司有某公司有6个建筑工地,位置坐标为个建筑工地,位置坐标为(ai, bi) (单位:公里单位:公里),水泥日用量水泥日用量di (单位:吨)单位:吨)ia1.258.750.55.7537.25b1.250.754

35、.7556.57.75d35476111)现有 2 料场,位于 A (5, 1), B (2, 7),记(xj,yj),j=1,2, 日储量 ej各有 20 吨。假设:假设:料场料场和工地之间和工地之间有直线道路有直线道路目标:制定每天的供应计划,即从 A, B 两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。用例中数据计算,最优解为i1234561ic(料料场场 A)3507012ic(料料场场 B)00406102 , 1,6,.,1,. .)()(min612121612/122jecidctsbyaxcjijiiijjjiijijij线性规划模型线性规划模型决策变量:决策变量:c

36、i j (料场料场j到到工地工地i的的运量)运量)12维维2)改建两个新料场,需要确定新料场位置)改建两个新料场,需要确定新料场位置(xj,yj)和和运量运量cij ,在其它条件不变下使总吨公里数最小。,在其它条件不变下使总吨公里数最小。2 , 1,6,.,1,. .)()(min612121612/122jecidctsbyaxcjijiiijjjiijijij决策变量:决策变量:ci j,(xj,yj)16维维非线性规划模型非线性规划模型LINGO模型的构成:模型的构成:4个段个段集合段(集合段(SETS ENDSETS)数据段(数据段(DATA ENDDATA)初始段(初始段(INIT

37、ENDINIT) 目标与目标与约束段约束段 局部最优:局部最优:89.8835(吨公里吨公里 ) LP:移到数据段:移到数据段 集合集合 派生集合派生集合 基本集合基本集合 稀疏集合稀疏集合 稠密集合稠密集合 元素列表法元素列表法 元素过滤法元素过滤法 直接列举法直接列举法 隐式列举法隐式列举法setname /member_list/ : attribute_list;setname(parent_set_list) /member_list/ : attribute_list;SETS: CITIES /A1,A2,A3,B1,B2/; ROADS(CITIES, CITIES)/ A1,

38、B1 A1,B2 A2,B1 A3,B2/:D; ENDSETSSETS: STUDENTS /S1.S8/; PAIRS( STUDENTS, STUDENTS) | &2 #GT# &1: BENEFIT, MATCH;ENDSETS类型隐式列举格式示例示例集合的元素数字型 1.n1.51, 2, 3, 4, 5字符-数字型stringM.stringNCar101.car208Car101, car102, , car208星期型 dayM.dayNMON.FRIMON, TUE, WED, THU, FRI月份型 monthM.monthNOCT.JANOCT, NOV, DEC, J

39、AN年份-月份型monthYearM.monthYearNOCT2001.JAN2002OCT2001, NOV2001, DEC2001, JAN2002优先级运算符最高#NOT# (负号)* /+ (减法)#EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR#最低(=)三类运算符:三类运算符: 算术运算符算术运算符 逻辑运算符逻辑运算符 关系运算符关系运算符四个集合循环函数:四个集合循环函数:FOR、SUM 、 MAX、MINfunction( setname ( set_index_list) | condition : expression_list);obj

40、ective 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(PAIRS( I, J): BENEFIT( I, J);MINB=MIN(PAIRS( I, J): BENEFIT( I, J);Example:PAIRSJIJIMATCHJIBENEFIT),()

41、,(*),(1),(),(IKorIJPAIRSKJKJMATCHSolver Type:B-and-BGlobal MultistartModel Class: LP, QP,ILP, IQP,PILP, PIQP,NLP,INLP,PINLP State:Global OptimumLocal OptimumFeasibleInfeasibleUnboundedInterruptedUndetermined7 7个选项卡个选项卡( (可设置可设置80-9080-90个控制参数个控制参数) ) 程序与数据分离程序与数据分离文文本本文文件件使用外部数据文件使用外部数据文件 Cut (or Co

42、py) Paste 方法方法 FILE 输入数据、输入数据、TEXT输出数据(文本文件)输出数据(文本文件) OLE函数与电子表格软件(如函数与电子表格软件(如EXCEL)连接)连接 ODBC函数与数据库连接函数与数据库连接 LINGO命令脚本文件命令脚本文件 LG4 (LONGO模型文件)模型文件) LNG (LONGO模型文件)模型文件) LTF (LONGO脚本文件)脚本文件) LDT (LONGO数据文件)数据文件) LRP (LONGO报告文件)报告文件)常用文件后缀常用文件后缀FILEFILE和和TEXTTEXT:文本文件输入输出:文本文件输入输出MODEL:SETS: MYSET

43、 / FILE(myfile.txt) / : FILE(myfile.txt);ENDSETSMIN = SUM( MYSET( I): SHIP( I) * COST( I); FOR( MYSET( I): CON1 SHIP( I) NEED( I); CON2 SHIP( 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; EN

44、DDATAEND mydata.xls文件中必须有下列名称(及数据): CITIES, COST,NEED,SUPPLY,SOLUTION 在在EXCEL中还可以通过中还可以通过“宏宏”自动调用自动调用LINGO(略略) 也可以将也可以将EXCEL表格嵌入到表格嵌入到LINGO模型中模型中(略略)演示演示 MydataExample.lg4ODBC ODBC :与数据库连接:与数据库连接输入基本集合元素:输入基本集合元素:setname/ODBC(datasource , tablename , columnname)/输入派生集合元素:输入派生集合元素:setname/ODBC(source

45、,table , column1, column2)/目前支持下列目前支持下列DBMS: (如为其他数据库,则需自行安装驱动如为其他数据库,则需自行安装驱动)ACCESS, DBASE,EXCEL,FOXPRO,ORACLE,PARADOX,SQL SERVER, TEXE FILES使用数据库之前,数据源需要在使用数据库之前,数据源需要在ODBC管理器注册管理器注册输入数据:输入数据:Attr_list=ODBC(source,table , column1, column2)输出数据:输出数据:ODBC(source,table , column1, column2)= Attr_list

46、具体例子略具体例子略建模实例与求解建模实例与求解最短路问题最短路问题下料问题下料问题露天矿的运输问题露天矿的运输问题钢管运输问题钢管运输问题最短路问题最短路问题求各点到求各点到T的最短路的最短路56774968658336C1B1C2B2A1A2A3TS6shortestPath.lg4jijAjiiLcL),(min问题问题1. 如何下料最节省如何下料最节省 ? 问题问题2. 客户增加需求:客户增加需求:原料钢管原料钢管: :每根每根19米米 4米米50根根 6米米20根根 8米米15根根 客户需求客户需求节省的标准是什么?节省的标准是什么?由于采用不同切割模式太多,会增加生产和管理成本,由

47、于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过规定切割模式不能超过3种。如何下料最节省?种。如何下料最节省?5米米10根根 按照客户需要在一根原料钢管上安排切割的一种组合。按照客户需要在一根原料钢管上安排切割的一种组合。 余料余料1 1米米 4米米1根根 6米米1根根 8米米1根根 余料余料3米米 4米米1根根 6米米1根根 6米米1根根 合理切割模式合理切割模式的余料应小于客户需要钢管的最小尺寸的余料应小于客户需要钢管的最小尺寸余料余料3米米 8米米1根根 8米米1根根 钢管下料钢管下料 为满足客户需要,按照哪些种合理模式,每种模式为满足客户需要,按照哪些种合理模式,每种

48、模式切割多少根原料钢管,最为节省?切割多少根原料钢管,最为节省?2. 所用原料钢管总根数最少所用原料钢管总根数最少 模式模式 4米钢管根数米钢管根数6米钢管根数米钢管根数8米钢管根数米钢管根数余料余料(米米)14003231013201341203511116030170023钢管下料问题钢管下料问题1 1 两种两种标准标准1. 原料钢管剩余总余量最小原料钢管剩余总余量最小xi 按第按第i 种模式切割的原料钢管根数种模式切割的原料钢管根数( (i= =1,2,7) ) 约束约束满足需求满足需求 决策变量决策变量 目标目标1(总余量)(总余量)765432113333xxxxxxxZMin502

49、3454321xxxxx20326542xxxx152753xxx按模式按模式2切割切割12根根, ,按模式按模式5切割切割15根,余料根,余料27米米 模模式式4米米根数根数6米米根数根数8米米根数根数余余料料14003231013201341203511116030170023需需求求502015最优解:最优解:x2=12, x5=15, 其余为其余为0;最优值:最优值:27整数约束:整数约束: xi 为整数为整数当余料没有用处时,当余料没有用处时,通常以总根数最少为目标通常以总根数最少为目标 76543212xxxxxxxZMin目标目标2(总根数)(总根数)钢管下料问题钢管下料问题1

50、1 约束条约束条件不变件不变 最优解:最优解:x2=15, x5=5, x7=5, 其余为其余为0;最优值:最优值:25。5023454321xxxxx20326542xxxx152753xxxxi 为整数按模式按模式2切割切割15根,根,按模式按模式5切割切割5根,根,按模式按模式7切割切割5根,根,共共25根,余料根,余料35米米 虽余料增加虽余料增加8米,但减少了米,但减少了2根根 与与目标目标1的结果的结果“共切割共切割27根,余料根,余料27米米” 相比相比 钢管下料问题钢管下料问题2 2对大规模问题,用模型的约束条件界定合理模式对大规模问题,用模型的约束条件界定合理模式增加一种需求

51、:增加一种需求:5米米10根;切割根;切割模式不超过模式不超过3种。种。现有现有4种种需求:需求:4米米50根,根,5米米10根,根,6米米20根,根,8米米15根,用枚举法确定合理切割模式,过于复杂。根,用枚举法确定合理切割模式,过于复杂。决策变量决策变量 xi 按第按第i 种模式切割的原料钢管根数种模式切割的原料钢管根数( (i= =1,2,3) ) r1i, r2i, r3i, r4i 第第i 种切割模式下,每根原料钢管种切割模式下,每根原料钢管生产生产4米、米、5米、米、6米和米和8米长的钢管的数量米长的钢管的数量满足需求满足需求50313212111xrxrxr10323222121

52、xrxrxr20333232131xrxrxrxrxr模式合理:每根模式合理:每根余料不超过余料不超过3米米1986541641312111rrrr1986541642322212rrrr1986541643332313rrrr整数非线性规划模型整数非线性规划模型钢管下料问题钢管下料问题2 2目标函数(目标函数(总根数)总根数)321xxxMin约束约束条件条件整数约束:整数约束: xi ,r1i, r2i, r3i, r4i ( (i= =1,2,3) )为整数为整数增加约束,缩小可行域,便于求解增加约束,缩小可行域,便于求解321xxx原料钢管总根数下界:原料钢管

53、总根数下界: 2619158206105504特殊生产计划:对每根原料钢管特殊生产计划:对每根原料钢管模式模式1:切割成:切割成4根根4米钢管,需米钢管,需13根;根;模式模式2:切割成:切割成1根根5米和米和2根根6米钢管,需米钢管,需10根;根;模式模式3:切割成:切割成2根根8米钢管,需米钢管,需8根。根。原料钢管总根数上界:原料钢管总根数上界:31 3126321xxx模式排列顺序可任定模式排列顺序可任定 钢管下料问题钢管下料问题2 2需求:需求:4米米50根,根,5米米10根,根,6米米20根,根,8米米15根根每根原料钢管长每根原料钢管长19米米LINGOLINGO求解整数非线性规

54、划模型求解整数非线性规划模型Local optimal solution found at iteration: 12211 Objective value: 28.00000Variable Value Reduced CostX1 10.00000 0.000000X2 10.00000 2.000000X3 8.000000 1.000000R11 3.000000 0.000000R12 2.000000 0.000000R13 0.000000 0.000000R21 0.000000 0.000000R22 1.000000 0.000000 R23 0.000000 0.0000

55、00 R31 1.000000 0.000000 R32 1.000000 0.000000 R33 0.000000 0.000000 R41 0.000000 0.000000 R42 0.000000 0.000000 R43 2.000000 0.000000 模式模式1:每根原料钢管切割成:每根原料钢管切割成3根根4米和米和1根根6米钢管,共米钢管,共10根;根;模式模式2:每根原料钢管切割成:每根原料钢管切割成2根根4米、米、1根根5米和米和1根根6米钢管,米钢管,共共10根;根;模式模式3:每根原料钢管切割成:每根原料钢管切割成2根根8米钢管,共米钢管,共8根。根。原料钢管总根数

56、为原料钢管总根数为28根。根。演示演示cut02a.lg4; cut02b.lg4露天矿里铲位已分成矿石和岩石露天矿里铲位已分成矿石和岩石: 平均铁含量不低于平均铁含量不低于25%的为矿石,否则为岩石。每个铲位的矿石、岩石数的为矿石,否则为岩石。每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。量,以及矿石的平均铁含量(称为品位)都是已知的。每个铲位至多安置一台电铲,电铲平均装车时间每个铲位至多安置一台电铲,电铲平均装车时间5分钟分钟卡车在等待时所耗费的能量也是相当可观的,原则上卡车在等待时所耗费的能量也是相当可观的,原则上在安排时在安排时不应发生卡车等待不应发生卡车等待的

57、情况。的情况。 露天矿生产的车辆安排露天矿生产的车辆安排(CUMCM-2003B) 矿石卸点需要的铁含量要求都为矿石卸点需要的铁含量要求都为29.5% 1%(品位限品位限制),搭配量在一个班次(制),搭配量在一个班次(8小时)内满足品位限制即小时)内满足品位限制即可。卸点在一个班次内不变。卡车载重量为可。卸点在一个班次内不变。卡车载重量为154吨,平吨,平均时速均时速28km,平均卸车时间为平均卸车时间为3分钟。分钟。问题:出动几台电铲,分别在哪些铲位上;出动几辆问题:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上各运输多少次卡车,分别在哪些路线上各运输多少次 ?问题数据问题数

58、据 距离距离铲位铲位1 1铲位铲位2 2铲位铲位3 3铲位铲位4 4铲位铲位5 5铲位铲位6 6铲位铲位7 7铲位铲位8 8铲位铲位9 9铲位铲位1010矿石漏矿石漏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.5

59、0铲位铲位1 1铲位铲位2 2铲位铲位3 3铲位铲位4 4铲位铲位5 5铲位铲位6 6铲位铲位7 7铲位铲位8 8铲位铲位9 9铲位铲位1010矿石量矿石量095105100105110125105130135125岩石量岩石量125110135105115135105115135125铁含量铁含量30%28%29%32%31%33%32%31%33%31%问题分析问题分析 与典型的运输问题明显有以下不同:与典型的运输问题明显有以下不同:这是运输矿石与岩石两种物资的问题;这是运输矿石与岩石两种物资的问题;属于产量大于销量的不平衡运输问题;属于产量大于销量的不平衡运输问题;为了完成品位约束,矿石

60、要搭配运输;为了完成品位约束,矿石要搭配运输;产地、销地均有单位时间的流量限制;产地、销地均有单位时间的流量限制;运输车辆只有一种,每次满载运输,运输车辆只有一种,每次满载运输,154吨吨/车次;车次;铲位数多于铲车数意味着要最优的选择不多于铲位数多于铲车数意味着要最优的选择不多于7个个产地作为最后结果中的产地;产地作为最后结果中的产地;1. 最后求出各条路线上的派出车辆数及安排。最后求出各条路线上的派出车辆数及安排。近似处理:近似处理:先求出产位、卸点每条线路上的运输量先求出产位、卸点每条线路上的运输量(MIP模型模型)然后求出各条路线上的派出车辆数及安排然后求出各条路线上的派出车辆数及安排

温馨提示

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

评论

0/150

提交评论