优化建模与LINGO第11章
- 格式:ppt
- 大小:816.56 KB
- 文档页数:98
数学建模培训讲义——优化模型与LINGO软件二○一一年七目录1 静态优化模型 (1)1.1 最优生产计划问题 (1)1.2 存贮模型 (2)2 线性规划模型 (2)2.1 LINGO简介 (2)2.2 配料问题 (3)2.3 练习:运输问题 (4)3 整数规划模型 (4)3.1 电影院广告问题 (4)3.2 练习:生产计划问题 (5)4 0-1规划 (5)4.1 背包问题 (5)4.2 矿井选址问题 (6)4.3 练习:混合泳接力队的选拔问题 (7)5 LINGO应用 (8)5.1 变量定界函数 (8)5.2 集合 (8)5.3 帆船生产问题 (9)5.4 派生集合 (11)5.5 通过电子表格(Excel)文件传递数据 (12)5.6 旅游问题 (13)优化模型与LINGO 软件优化问题是计划管理工作中经常要碰到的问题,比如,出门旅行就要考虑选择什么样的路线和交通工具,才能使旅行费用最省或使所花费的时间最少。
在工厂技术、经济管理和科学研究等领域中,最优化问题就更多,一个工厂要怎样安排产品的生产,才能获得最大利润?一个设计部门要考虑在满足结构强度的要求下怎样使得所用的材料的总重量最轻?比较有效的求解优化问题的一个方法使数学规划,它包括:线性规划、非线性规划、整数规划、动态规划和多目标规划等等。
用数学建模的方法来处理一个优化问题的时候,首先要确定优化的目标是什么,寻求的决策是什么,决策受到哪些条件的限制(如果有限制的话),然后用数学工具(变量、函数等)表示它们。
1 静态优化模型静态优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。
1.1 最优生产计划问题一计算机公司引进A 、B 两种类型的芯片技术,总耗资400000元,准备生产这两种类型的芯片出售。
生产一片A 芯片的成本为1950元,而市场售价为3390元,生产一片B 芯片的成本为2250元,而市场售价3990元。
由于市场存在竞争,每售出一片A 芯片,A 芯片就会降价0.1元,并且令B 芯片降低0.04元,每售出一片B 芯片,B 芯片就会降价0.1元,并且令A 芯片降价0.03元。
培训专题:《LINGO优化》培训人:数学中国站长马壮培训时间:9月5日培训形式:QQ文字直播第三期为数学中国在国赛前准备的第三期培训专题,数学中国站长马壮会向大家介绍比赛中的《LINGO优化》,敬请期待!数学建模专题培训三《LINGO优化》讲稿全文LINGO优化LINGO是用来湂解线性和非线性优化问题的简易工具。
LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的湂解器可快速湂解并分析结果。
我们关滨近几年全国赛赛题的同学们都会发现,优化问题始终是数学建模的热点,近几年整数规划、二次规划的问题多次出现。
优化问题往往有建模简单,湂解困难的特点,如何找到我们所需要的全幀最优解或者幀部最优解是非常重要的,Lingo是我们完成优化建模湂解的有效工具,它的学习直接关绻到了我们建模的最终成败。
我其实也是一个Lingo的初学者,还只是对Lingo做了初步的了解,因为我感觉到它其实还是非常博大的,因为Lingo让我体会到了解决实际问题的兴奋,体会到了面向对蹡编程思想对数学的意义。
甚至我用Lingo赚到了钱,呵呵,大家不要帏看它呀!首先我先说说我学习Lingo的三个最大的体会:1、Lingo中最重要的概念是“集”。
可以说真正能用“集”的思想去建模,你才真正把计算机和数学融为一体了,因为“集”是计算机中的面向对蹡编程思想的体现。
2、一定要会用@for和@sum两个函数。
因为在优化模型中,通常都会有很多的决策变量和约束条件,这两个函数不会用,那你的模型几乎很难放在Lingo中。
3、一定要能看得懂湂解结果。
复杂的优化问题并不能保证得到全幀最优解,Lingo有的时候也无能为力,我们不能完全依赖它,有的时候还要帮它绕过一些困难。
另外灵敏性分析的结果也非常重要,这些在Lingo的结果报告中可以给出。
好的,我们先来踈踈“集”。
对实际问题建模的时候,总会遇到一群或多群相联绻的对蹡,比如工厂、消费者群体、交通工具和雇工等等。
LINGO11教程LINGO 是用来求解线性和非线性优化问题的简易工具。
LINGO 内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO 高效的求解器可快速求解并分析结果。
§1 LINGO 快速入门当你在windows 下开始运行LINGO 系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。
在主窗口内的标题为LINGO Model –LINGO1的窗口是LINGO 的默认模型窗口,建立的模型都都要在该窗口内编码实现。
下面举两个例子。
例如何在LINGO 中求解如下的LP 问题:,6002100350..32min 212112121≥≤+≥≥++x x x x x x x t s x x在模型窗口中输入如下代码:min =2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600;然后点击工具条上的按钮即可。
例使用LINGO 软件计算6个发点8个收点的最小费用运输问题。
产销单位运价如下表。
model:!6发点8收点运输问题;sets:warehouses/wh1..wh6/: capacity;vendors/v1..v8/: demand;links(warehouses,vendors): cost, volume; endsets!目标函数;min=@sum(links: cost*volume);!需求约束;@for(vendors(J):@sum(warehouses(I): volume(I,J))=demand(J)); !产量约束; @for(warehouses(I):@sum(vendors(J): volume(I,J))<=capacity(I)); !这里是数据; data:capacity=60 55 51 43 41 52;demand=35 37 22 32 41 32 43 38;cost=6 2 6 7 4 2 9 54 95 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3;enddataend然后点击工具条上的按钮即可。