如何使用LINGO软件

如何使用LINGO软件,第1张

优势:简单的模型表示。方便的数据输入和输出选择。强大的求解器。交互式模型或创建Turn-key应用程序。其特色在于内置建模语言,提供十几个内部函数,可以允许决策变量是整数。

在各个领域本书都配有丰富的案例和求解程序,帮助读者深入理解LINGO软件。同时,本书专门配有一章介绍数学建模中的应用实例,以10个数学建模经典案例为基础,其中9个案例的全部模型都用LINGO编程实现,并在LINGO12版本调试通过。这些案例凝聚了作者多年来积累的编程经验和巧妙构思。

本书在深入浅出地介绍LINGO基本用法和LINGO与外部文件接口的基础上,分两个层次介绍了LINGO软件及其应用:

第一个层次以数学规划、图论与网络优化、多目标规划等LINGO软件常用领域为背景,介绍LINGO软件求解优化模型的常规手段和技巧。

第二个层次以博弈论、存储论、排队论、决策分析、评价方法、最小二乘法等领域为背景,介绍LINGO软件在非优化领域的应用,充分展示LINGO软件的优势和应用扩展。

Model:

sets:

zh/14/:;

zl/14/:;

yl/13/:;

zjz(zh,zl):A;

yjz(zl,yl):B;

jgjz(zh,yl):C;

endsets

data:

A = 2 05 2 25

4 6 1 3

5 4 3 4

3 1 18 7;

B = 12 13 14

7 8 7

10 11 12

32 30 15;

enddata

@for(zh(i):@for(yl(j):C(i,j) = @sum(zl(k):A(i,k)B(k,j))));

运行结果:

1 2 3

1 1275 127 93

2 196 201 155

3 246 250 194

4 285 2768 1756

问题可以转化为网络优化中的关键路径问题,但不同的是需要确定甲乙丙丁四人的先后顺序,顺序不同,关键路径就不同,所以需要穷搜索四个人一共24种顺序,然后用关键路径算法算出每一种顺序的关键路径,这24条关键路径中时间最短一条就是最快离开公司所用的时间,所对应的顺序就是甲乙丙丁面试的先后顺序。

代码如下:

----------------------------------------------------------------------

Title 面试问题;

!有4名同学到一家公司参加三个阶段的面试,公司要求:每个同学都必须首先找公司秘书初试,然后到部门主管处复试,中间休息20分钟,最后到经理处参加面试,

并且不允许插队(即在任何一个阶段 4 名同学的顺序是一样的,其中中间休息必须休满20分钟,可以一起休息),由于 4 名同学的专业背景不同,所以每人在三个阶段的面试时间也不同,如表所示。

这 4 名同学约定他们全部面试完以后一起离开公司,请问他们最快需多长时间能离开公司?

秘书初试 主管复试 中间休息 经理面试

同学甲 13 15 20 20

同学乙 10 20 20 18

同学丙 20 16 20 10

同学丁 8 10 20 15 ;

SETS:

s/14/:a,b,c;

PX(s,s):w,x,y;

ENDSETS

DATA:

w=13 15 20 20

10 20 20 18

20 16 20 10

8 10 20 15;

ENDDATA

min=b(4)+y(4,4);

@for(s(i):@sum(s(j):x(i,j))=1);

@for(s(j):@sum(S(i):x(i,j))=1);

@for(PX:@bin(x));!矩阵x是矩阵w的行交换矩阵,用来调整甲乙丙丁的先后顺序,比如:要让丙第一个面试,甲最后一个面试,则需交换矩阵w第1和4行,

此时只需让x=0 0 0 1

0 1 0 0

0 0 1 0

1 0 0 0,然后用x乘以w就可以达到交换w的行向量的目的了;

@for(PX(i,j):y(i,j)=@sum(s(k):x(i,k)w(k,j)));!矩阵y就是矩阵w进行了行交换后的矩阵,y=xw;

c(1)=y(1,1);

@for(s(i)|i#GT#1 #and# i#LE#3:c(i)=c(i-1)+y(i,1));!记录第i人秘书初试的结束时间;

a(1)=y(1,1);

a(4)=a(3)+y(4,2);

@for(s(i)|i#GT#1 #and# i#LE#3:a(i)=c(i-1)+@smax(y(i+1,1),y(i,2)));!记录第i个人主管面试的开始时间;

b(1)=a(1)+y(1,3)+y(1,2);

@for(s(i)|i#GT#1:b(i)=@smax(a(i)+y(i,3)+y(i,2),b(i-1)+y(i-1,4)));!记录第i个人经理面试的开始时间;

end

自己看看教程就懂了 lingo每句后面都要加分号 lindo不要加分号 另外lindo 有st lindo乘号不用写 但是能直接做的东西少于lingo的能力

具体要你自己去看自己去写 光问有什么不同没什么意义

LINDO是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。因此在数学、科研和工业界得到广泛应用。LINDO主要用于解线性规划、非线性规划、二次规划和整数规划等问题。也可以用于一些非线性和线性方程组的求解以及代数方程求根等。LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。

LINDO 61是求解线性、整数和二个规划问题的多功能工具。LINDO 61互动的环境可以让你容易得建立和求解最佳化问题,或者你可以将LINDO的最佳化引擎挂在您己开发的程序内。而另一方面,LINDO也可以用来解决一些复杂的二次线性整数规划方面的实际问题。如在大型的机器上,LINDO被用来解决一些拥有超过50,000各约束条件和200,000万个变量的大规模复杂问题

LINGO则用于求解非线性规划(NLP—NON—LINEAR PROGRAMMING)和二次规则(QP—QUARATIC PROGRAMING)其中LINGO 60学生版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能力亦再10^4量级以上。虽然LINDO和LINGO不能直接求解目标规划问题,但用序贯式算法可分解成一个个LINDO和LINGO能解决的规划问题。

运用LINDO软件编写下列程序并运行 实验步骤 (1)在模型窗口中输入一个LP 使用Lingo软件编制程序基于产大于销的不平衡模型,即 则运输问题的数学模型为: 的自然形式(数学形式)非常相似,几乎没有什么差别,因此几乎不需要专门学习就可以掌握。 在Lindo中有一些可帮助寻找错误的功能,其中之一就是菜单命令“Report

结果:x=20;y=20; 利润100

lingo程序:

!设生产甲x台,生产议y台;

!目标函数;

max=3x+2y;

!约束条件;

!原料;

2x+3y<=100;

!工时;

4x+2y<=120;

!台数;

x>=5;y>=10;

运行结果:

Global optimal solution found

Objective value: 1000000

Total solver iterations: 2

Variable Value Reduced Cost

X 2000000 0000000

Y 2000000 0000000

Row Slack or Surplus Dual Price

1 1000000 1000000

2 0000000 02500000

3 0000000 06250000

4 1500000 0000000

5 1000000 0000000

灵敏度分析结果:

Ranges in which the basis is unchanged:

Objective Coefficient Ranges

Current Allowable Allowable

Variable Coefficient Increase Decrease

X 3000000 1000000 1666667

Y 2000000 2500000 05000000

Righthand Side Ranges

Row Current Allowable Allowable

RHS Increase Decrease

2 1000000 6000000 2000000

3 1200000 4000000 4000000

4 5000000 1500000 INFINITY

5 1000000 1000000 INFINITY

结果分析就自己看着分析吧,上面都有了!

前言

第1章引言

§11优化模型的基本概念

§111优化模型的一般形式

§112可行解与最优解

§113优化模型的基本类型

§12优化问题的建模实例

§121线性规划模型

§122二次规划模型

§123非线性规划模型

§124整数规划模型

§125其它优化模型

§13LINDO/LINGO 软件简介

§131LINDO/LINGO软件的基本功能

§132LINDO/LINGO软件的求解过程

§133建立LINDO/LINGO优化模型需要注意的几个基本问题

习题一

第2章LINDO软件的基本使用方法

§21LINDO入门

§211LINDO软件的安装过程

§212编写一个简单的LINDO程序

§213一些注意事项

§22敏感性分析

§23整数线性规划的求解

§24 二次规划的求解

§25LINDO的主要菜单命令

§26 LINDO命令窗口

§27 LINDO命令脚本文件

§28 附录:MPS格式数据文件

习题二

第3章LINGO软件的基本使用方法

§31LINGO入门

§311LINGO软件的安装过程和主要特色

§312在LINGO中使用LINDO模型

§313编写一个简单的LINGO程序

§32在LINGO中使用集合

§321集合的基本用法和LINGO模型的基本要素

§322基本集合与派生集合

§323稠密集合与稀疏集合

§324集合的使用小结

§33运算符和函数

§331运算符及其优先级

§332基本的数学函数

§333集合循环函数

§334集合 *** 作函数

§335变量定界函数

§336财务会计函数

§337概率论中的相关函数

§338文件输入输出函数

§339结果报告函数

§3310其他函数

§34LINGO的主要菜单命令

§341文件(File)主菜单

§342编辑(Edit)主菜单

§343LINGO系统(LINGO)主菜单

§35LINGO命令窗口

习题三

第4章 LINGO软件与外部文件的接口

§41通过WINDOWS剪贴板传递数据

§411粘贴命令的用法

§412特殊粘贴命令的用法

§42通过文本文件传递数据

§421通过文本文件输入数据

§422通过文本文件输出数据

§43通过电子表格文件传递数据

§431在LINGO中使用电子表格文件的数据

§432将LINGO模型嵌入、链接到电子表格文件中

§44LINGO命令脚本文件

§45附录:LINGO出错信息

习题四

第5章生产与服务运作管理中的优化问题

51生产与销售计划问题

§511问题实例

§512建立模型

§513求解模型

§52有瓶颈设备的多级生产计划问题

§521问题实例

§522建立模型

§523求解模型

§53下料问题

§531钢管下料问题

§532易拉罐下料问题

§54面试顺序与消防车调度问题

§541面试顺序问题

§542消防车调度问题

§55飞机定位和飞行计划问题

§551飞机的精确定位问题

§552飞行计划问题

习题五

第六章 经济与金融中的优化问题

§61 经济均衡问题及其应用

§611单一生产商、单一消费者的情形

§612两个生产商、两个消费者的情形

§613拍卖与投标问题

§614交通流均衡问题

§62 投资组合问题

§621基本的投资组合模型

§622存在无风险资产时的投资组合模型

§623考虑交易成本的投资组合模型

§624利用股票指数简化投资组合模型

625其他目标下的投资组合模型

§63 市场营销问题

§631新产品的市场预测

§632产品属性的效用函数

§633机票的销售策略

习题六

第十二章数学建模竞赛中的部分优化问题

§12.1 一个飞行管理问题

§1211问题描述

§1212模型1及求解

§1213模型2及求解

§12.2钢管订购和运输

§1221问题描述

§1222运费矩阵的计算模型

§1223运输量计算模型及求解

§12.3露天矿生产的车辆安排

§1231问题描述

§1232运输计划模型及求解

§12.4 空洞探测

§1241问题描述

§1242优化模型及求解

习题十二

你去这个网页看看吧>

你这个求和的写法本身就不对 你这三个下标之间并没有关系 为什么不分开写

sets:

set1/18/:x,z;

set2/1150/:y;

endsets

这个和的表达式是

@sum(set1:x+z)+@sum(set2:y);

@sum( setname [ ( set_index_list) [ | cond_qualifier]]: expression) ;

例如y=x2+x3+x4+x5可表示如下:

sets:

r/15/:x;

endsets

y=@sum(r(i)|i#ge#2:x(i));

以上就是关于如何使用LINGO软件全部的内容,包括:如何使用LINGO软件、自编一个矩阵乘法的LINGO通用程序,并用此通用程序计算矩阵C 内容在图片里,一共两问、帮忙编下简单的Lingo程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9772765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存