QQ登录

只需要一步,快速开始

 注册地址  找回密码

tag 标签: lingo

相关帖子

版块 作者 回复/查看 最后发表
lingo中@ole文件无法打开 LINDO\LINGO论坛 yuanyuanxiang 2011-9-18 5 10886 wujianjack2 2013-7-19 01:20
LINGO里怎么对负数向上取整? 数模问题互助 Mr_Longly 2011-11-29 8 4064 silalo 2011-12-14 22:51
商人渡河问题lingo求解 美国大学生数学建模竞赛(MCM/ICM) ARRLY 2012-1-21 3 3812 宇仲 2015-1-16 17:50
大家有没有matlab或者lingo程序案例 谢谢分享 MATLAB论坛 笑(^o^)/~强 2012-2-6 7 1775 笑(^o^)/~强 2012-2-7 08:49
求64位笔记本电脑的LINGO安装文件 LINDO\LINGO论坛 凝香夜雪 2012-7-12 9 5398 来来妈090205 2013-9-12 22:54
数学建模与应用(国防工业出版社)【电子书与Matlab、Lingo程序】··· attachment 数模资源交流 zuster 2012-7-22 14 6415 模天大楼 2014-8-27 16:29
如何用lingo或matlab求最小值 attach_img LINDO\LINGO论坛 梦溪517 2012-7-27 0 1873 梦溪517 2012-7-27 15:06
lingo出现unexpected jacobian overflow 数模问题互助 残红星醉 2012-8-8 2 3636 残红星醉 2012-8-8 15:07
lLINDO跟LINGO快学快会 attachment LINDO\LINGO论坛 xiaomoyan 2012-8-13 3 1938 张不凡 2012-8-29 09:54
悬赏 Lingo程序求解 - [悬赏 20 点体力] attachment 数模问题互助 thesby 2012-8-25 12 3170 liupeng723911 2012-8-31 01:09
数模软件详细教程LINGO,MATLAB,SAS attachment 数模资源交流 池中麟 2012-8-28 18 4004 跟波哥混 2013-7-28 17:03
lingo程序求解释 LINDO\LINGO论坛 lujingwei1992 2012-10-31 2 1579 lujingwei1992 2012-11-2 23:50
lingo简答教学 例子 LINDO\LINGO论坛 liyunan220 2012-12-13 4 5454 奴··· 2013-10-17 13:20
求帮忙啊,一个程序的小问题啊! LINGO 相思枕畔 2013-1-16 0 1064 相思枕畔 2013-1-16 18:11
各位大神求助啊!!!! LINDO\LINGO论坛 shanesaber 2013-5-17 0 977 shanesaber 2013-5-17 10:56
C++调用lingo 到LSexecuteScriptLng这一步发生堆栈调用错误 LINDO\LINGO论坛 leo_zoe 2013-7-3 1 1097 leo_zoe 2013-7-5 10:04
求助:食品油生产问题,程序报错。 LINDO\LINGO论坛 数学不烦 2013-8-7 4 1372 数学不烦 2013-8-8 16:09
资料:LINGO和Excel在数学建模中的应用 - [!price! 2 点体力] attachment 数模资源交流 段宏峰 2013-8-12 4 879 薛云涛 2013-8-22 20:53
求问一个货车环游的TSP问题 LINDO\LINGO论坛 519574602 2014-1-3 0 951 519574602 2014-1-3 20:59
是否该归为非整数规划问题,LINGO中集合的表示 数模问题互助 yangjingsd 2014-8-28 4 2306 liwenhui 2017-6-5 16:21

相关日志

分享 学习Lingo
1537563603 2021-8-19 14:35
这是一个好地方。
60 次阅读|0 个评论
分享 Lingo精选题目及答案
热度 1 梦@di?~ 2014-8-20 09:48
Lingo精选题目及答案 答题要求:将 Lingo 程序复制到 Word 文档中,并且附上最终结果。 1 、简单线性规划求解 (目标函数) s.t. (约束条件) 2 、整数规划求解 3 、 0-1 规划求解 Max 4 、非线性规划求解 s.t. 5 、集合综合应用 产生一个集合 ,( ), 求 y 前 6 个数的和 S 1 ,后 6 个数的和 S 2 ,第 2~8 个数中的最小值 S 3 ,最大值 S 4 。 6 、综合题 要求列出具体的目标函数和约束条件,然后附上 Lingo 程序和最终结果。 6.1 指派问题 有四个工人,要指派他们分别完成 4 项工作,每人做各项工作所消耗的时间如下表: 工作 工人 甲 15 18 21 24 乙 19 23 22 18 丙 26 17 16 19 丁 19 21 23 17 问指派哪个人去完成哪项工作,可使总的消耗时间为最小? 6.2 分配问题 某两个煤厂 A1 , A2 每月进煤数量分别为 60t 和 100t ,联合供应 3 个居民区 B1,B2,B3 。 3 个居民区每月对煤的需求量依次分别为 50t , 70t , 40t ,煤厂 A 1 离 3 个居民区 B 1 ,B 2 ,B 3 的距离依次分别为 10km,5km,6km, 煤厂 A 2 离 3 个居民区 B 1 ,B 2 ,B 3 的距离分别为 4km,8km,12km 。问如何分配供煤量使得运输量(即 t·km )达到最小? 1 、 model : max =4*x1+3*x2; 2*x1+x210; x1+x28; x27; end 2 、 model : max =40*x1+90*x2; 9*x1+7*x256; 7*x1+20*x270; @gin (x1); @gin (x2); end 3 、 model : max =x1^2+0.4*x2+0.8*x3+1.5*x4; 3*x1+2*x2+6*x3+10*x410; @bin (x1); @bin (x2); @bin (x3); @bin (x4); end 4 、 model : max = @abs (x1)+2* @abs (x2)+3* @abs (x3)+4* @abs (x4); x1-x2-x3+x4=0; x1-x2+x3-3*x4=1; x1-x2-2*x3+3*x4=-1/2; end 5 、 model : sets : jihe/1..10/:y; ss/1..4/:S; endsets ! 由于 y 和 s 中部分有负数,所以要先去掉这个约束 ; @for (jihe: @free (y)); @for (ss(i): @free (S)); ! 产生元素 ; @for (jihe(x):y(x)=x^2-5*x-50); S(1)= @sum (jihe(i)|i#le#6:y(i)); S(2)= @sum (jihe(i)|i#ge#5:y(i)); S(3)= @min (jihe(i)|i#ge#2#and#i#le#8:y(i)); S(4)= @max (jihe(i)|i#ge#2#and#i#le#8:y(i)); end 6.1 、 设:第 i 个工人做第 j 项工作用时 ,标志变量 定义如下: s.t. 每份工作都有一人做 每人都只做一项工作 model : sets : work/ABCD/; worker/jiayibingding/; time(worker,work):t,f; endsets ! 目标函数可以用 标志出,也可以省略; min = @sum (time(i,j):t(i,j)*f(i,j)); data : ! 可以直接复制表格,但是在最后要有分号 ; t= 15 18 21 24 19 23 22 18 26 17 16 19 19 21 23 17 ; e nddata ! 每份工作都有一人做 ; @for (work(j): @sum (time(i,j):f(i,j))=1); ! 每人都只做一项工作 ; @for (worker(i): @sum (time(i,j):f(i,j))=1); ! 让 f 取 0-1 值,此条件可以省略; !@for( time (i,j):@bin(f(i,j))); end 6.2 设:煤厂进煤量 ,居民区需求量为 ,煤厂 距居民区 的距离为 ,煤厂 供给居民区 的煤量为 那么可以列出如下优化方程式 s.t model : sets : supply/1,2/: s ; demand/1,2,3/: d ; link(supply,demand):road,sd; endsets data : road=1056 4812; d =507040; s =60100; enddata min = @sum (link(i,j):road(i,j)*sd(i,j)); @for (demand(i): @sum (supply(j):sd(j,i))= d (i)); @for (supply(i): @sum (demand(j):sd(i,j)) s (i)); end 1 .线性规划模型。某战略轰炸机群奉命摧毁敌人军事目标。已知该目标有四个要害部位,只要摧毁其中之一即可达到目的。为完成此项任务的汽油消耗量限制为 48000 升、重型炸弹 48 枚、轻型炸弹 32 枚。飞机携带重型炸弹时每升汽油可飞行 2 千米,带轻型炸弹时每升汽油可飞行 3 千米。又知每架飞机每次只能装载一枚炸弹,每出发轰炸一次除来回路程汽油消耗(空载时每升汽油可飞行 4 千米)外,起飞和降落每次各消耗 100 升。 表1相关数据 要害部位 离机场距离 (千米) 摧毁可能性 每枚重型弹 每枚轻型弹 1 2 3 4 450 480 540 600 0.10 0.20 0.15 0.25 0.08 0.16 0.12 0.20 为了使摧毁敌方军事目标的可能性最大,应如何确定飞机轰炸的方案。 2 、资源配置模型。某工厂有 原料钢管 : 每根 19 米,用户需求 4 米 50 根, 6 米 20 根, 8 米 15 根。如何下料钢管剩余总余量最小 ? 由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过 3 种。 表1不同切割的模式 模式 4 米钢管根数 6 米钢管根数 8 米钢管根数 余料(米) 1 4 0 0 3 2 3 1 0 1 3 2 0 1 3 4 1 2 0 3 5 1 1 1 1 6 0 3 0 1 7 0 0 2 3 3 、图论模型(动态规划)。求出下图所示的最小费用和最大流量,以及在最小费用下的最大流量。其中( x , y )中 x 表示容量, y 表示费用。 图1网络图 题目解答 1 .线性规划模型。 解:设用了 x 枚重型炸弹,用了 y 枚轻型炸弹,攻击的是第 i 个部位,再设一标志变量 f 定义如下: 目标函数为: , model : sets : pd/1..4/:Ph,Pl,d,f; endsets data : d=450,480,540,600; Ph=0.1,0.2,0.15,0.25; Pl=0.08,0.16,0.12,0.2; enddata max = @sum (pd(i):(x*Ph(i)+y*Pl(i))*f(i)); @for (pd(i):x*(d(i)/2+d(i)/4+ 2 00)+y*(d(i)/3+d(i)/4)+ 2 0048000); x48;y32; @for (pd(i): @bin (f(i))); @sum (pd(i):f(i))=1; ! 验证用油量 ; !l=x*(d(4)/2+d(4)/4+ 2 00)+y*(d(4)/3+d(4)/4)+ 2 00; end 2 、资源配置模型。某工厂有 原料钢管 : 每根 19 米,用户需求 4 米 50 根, 6 米 20 根, 8 米 15 根。如何下料钢管剩余总余量最小 ? 由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过 3 种。 表1不同切割的模式 模式 4 米钢管根数 6 米钢管根数 8 米钢管根数 余料(米) 1 4 0 0 3 2 3 1 0 1 3 2 0 1 3 4 1 2 0 3 5 1 1 1 1 6 0 3 0 1 7 0 0 2 3 设:模式 的供应量为 ,对于第 i 种模式,切割的 4 米钢管根数, 6 米钢管根数, 8 米钢管根数,分别为 ,余料为 ,每种钢管的需求量分别为 ,再设一标志变量 f 定义如下: 目标函数: i =1,2, … ,7 model : sets : mode/1..7/:m,s,f; demand/1..3/:d; md(mode,demand):t; endsets data : s=3133113; d=502015; t= 4 0 0 3 1 0 2 0 1 1 2 0 1 1 1 0 3 0 0 0 2 ; enddata min = @sum (mode(i):f(i)*s(i)*m(i)); @for (demand(j): @sum (mode(i):f(i)*m(i)*t(i,j))=d(j)); @for (mode(i): @bin (f(i))); @sum (mode(i):f(i))3; end 3 、图论模型(动态规划)。求出下图所示的最小费用和最大流量,以及在最小费用下的最大流量和最大流量下的最小费用。其中( x , y )中 x 表示容量, y 表示费用。 图1网络图 1 )求最小费用,解法一:稀疏矩阵 0-1 规划法 假设图中有 n 个原点,现需要求从定点 1 到 n 的最短路。设决策变量为 ,当 ,说明弧 ( i , j ) 位于定点 1 至定点 n 的路上;否则 ,其数学规划表达式为 约束条件,源点只有一条路指出去,终点只有一条路指进来,其余各点指进去的和指出去的相等,表达式如下, model : sets : node/1..6/; road(node,node)/12,13,24,25, 34,35,46,56/:w,f; endsets data : w=21534300; enddata n= @size (node); min = @sum (road(i,j):w(i,j)*f(i,j)); @for (node(i)|i#ne#1#and#i#ne#n: @sum (road(i,j):f(i,j))= @sum (road(j,i):f(j,i))); @sum (road(i,j)|i#eq#1:f(i,j))=1; ! 下面这个条件可以省略,这个条件包含在上面的条件了, 因为如果满足上面所以的条件指向终点的路只有且只有一条 ; @sum (road(j,i)|i#eq#n:f(j,i))=1; end 解法二:求源点到任意点的最小费用,动态规划法。 求 1 6 的最小费用,只要求 1 4+4 6 和 1 5+5 6 中的最小费用,以同样的方法向上推,求 1 4 的最小费用只要求出 1 2+2 4 和 1 3+3 4 中的最小费用即可。可以归纳出如下的表达式: , model : sets : node/1..6/:L; road(node,node)/12,13,24,25,34,35,46,56/:c; endsets data : c=21534300; enddata L(1)=0; ! 求一点到任意点的最小费用 ; @for (node(i)|i#gt#1:L(i)= @min (road(j,i)|j#ne#i:(L(j)+c(j,i)))); end 解法三:邻接矩阵法。 如果 ,则称 与 邻接,具有 n 个顶点的图的邻接矩阵是一个 n×n阶矩阵 ,其分量为 n 个顶点的赋权图的赋权矩阵是一个 n×n阶矩阵 ,其分量为 只需将动态规划的条件该一下即可 , , model : sets : node/1..6/:L; road(node,node):a,w; endsets data : a=011000 000110 000110 000001 000001 000000; w=921999 999539 999439 999990 999990 999999; enddata L(1)=0; ! 求一点到任意点的最小费用 ; @for (node(i)|i#gt#1:L(i)= @min (road(j,i)| j#ne#i#and#a(j,i)#ne#0:(L(j)+w(j,i)))); end 2 )求最大流量: max 同样也可以用三种方法解,这里只给出邻接矩阵的解法,因为邻接矩阵最容易扩展到多个点,且邻接矩阵用其他的软件非常容易得到。 model : sets : node/1..6/; road(node,node):w,a,f; endsets data : a=011000 000110 000110 000001 000001 000000; w=014000 000640 000530 000007 000003 000000; enddata max =vf; @sum (road(i,j)|i#eq#1:f(i,j))=vf; ! 用下面的表达也可以 ; !@sum(node(i):f(1,i))=vf; @for (node(i)|i#gt#1#and#i#ne# @size (node): @sum (node(j):f(i,j)*a(i,j))= @sum (node(j):f(j,i)*a(j,i))); @for (road(i,j):f(i,j)w(i,j)); ! 用下面的表达也可以 ; !@for(road:@bnd(0,f,w)); end 3 )最大流量下的最小费用 用上面的方法得到的最大流量的走法只是其中的一种,而不是所有的走法,所以需要找出最优解,其中最小费用或者最短路径是最常见的两类。 这里求最大流量下的最小费用,先要求出最大流量,然后流量就是已知条件,再求出最小费用就可以了。最大流量用前面的方法已经求出来了,约束条件和上面的一样,这里用 表示现流量, 表示最大流量,即容量。 目标函数, 约束条件,源点流出去的流量是最大流量,终点流进的也是最大流量,其余各点指进去的和指出去的相等,表达式如下, 对应的流量要小于容量 这里可以由上一问求出 =5 , model : sets : node/1..6/; road(node,node)/12,13,24,25, 34,35,46,56/:w,x,f; endsets data : w=21534300; x=34645373; enddata n= @size (node); min = @sum (road(i,j):w(i,j)*f(i,j)); @for (node(i)|i#ne#1#and#i#ne#n: @sum (road(i,j):f(i,j))= @sum (road(j,i):f(j,i))); @sum (road(i,j)|i#eq#1:f(i,j))=5; @sum (road(j,i)|i#eq#n:f(j,i))=5; @for (road(i,j):f(i,j)x(i,j)); end
个人分类: lingo|323 次阅读|1 个评论
分享 关于LINGO
MrJiao 2012-11-22 18:32
学习了LINGO的基础用法,觉得LINGO这款软件太强大了,处理优化问题太给力了,只是现在我还只会用基础的算法,嗯,一定要好好学习,加油!
个人分类: LINGO|0 个评论
qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2024-4-19 12:48 , Processed in 0.342796 second(s), 27 queries .

回顶部