文档库 最新最全的文档下载
当前位置:文档库 › Lingo考核试题(

Lingo考核试题(

Lingo考核试题(
Lingo考核试题(

Lingo考核试题

1、Lingo模型一般由几段构成?分别是什么?

一般由5段构成;

(1)集合段(SETS):以“SETS:” 开始,“ENDSETS”结束,定义必要的集合变量(SET)及其元素(MEMBER,含义类似于数组的下标)和属性(ATTRIBUTE,含义类似于数组)。

(2)目标与约束段:目标函数、约束条件等,没有段的开始和结束标记,因此实际上就是除其它四个段(都有明确的段标记)外的LINGO 模型。

(3)数据段(DATA):以“DATA:” 开始, “ENDDATA”结束,对集合的属性(数组)输入必要的常数数据。

(4)初始段(INIT):以“INIT: ”开始,“ENDINIT”结束,对集合的属性(数组)定义初值

(5)计算段(CALC):以“CALC: ”开始,“ENDCALC”结束,对一些原始数据进行计算处理。

2、如何激活全局最优解程序?

Use Global Solver

使用全局最优求解程序选择该选项,LINGO将用全局最优求解程序求解模型,尽可能得到全局最优解(求解花费的时间可能很长);否

则不使用全局最优求解程序,通常只得到局部最优解

Variable Upper Bound

变量上界有两个域可以控制变量上界(按绝对值):

1、 Value:设定变量的上界,缺省值为1010;

2、 Application列表框设置这个界的三种

应用范围:

?None: 所有变量都不使用这个上界;

?All: 所有变量都使用这个上界;

?Selected:先找到第1个局部最优解,然后对满足这个上界的变量使用这个上界(缺省设置)

Tolerances

误差限有两个域可以控制变量上界(按绝对值):

1、 Optimality:只搜索比当前解至少改进这么多个单位的解(缺省值为10-6);

2、 Delta:全局最优求解程序在凸化过程中增加的约束的误差限(缺省值为10-7)。

3、Lingo能解决什么类型的数学问题?

1.基本运算符:包括算术运算符、逻辑运算符和关系运算符2.数学函数:三角函数和常规的数学函数

3.金融函数:LINGO 提供的两种金融函数

4.概率函数:LINGO 提供了大量概率相关的函数

5.变量界定函数:这类函数用来定义变量的取值范围

6.集操作函数:这类函数为对集的操作提供帮助

7.集循环函数:遍历集的元素,执行一定的操作的函数

8.数据输入输出函数:这类函数允许模型和外部数据源相联系,进行数据的输入输出

9.辅助函数:各种杂类函数

4、Lingo能保存什么类型的文件?请列举。

LG4:LINGO格式的模型文件,保存了模型窗口中所能够看到的

所有文本和其他对象及其格式信息;

LNG:文本格式的模型文件,不保存模型中的格式信息(如字体、颜色、嵌入对象等);

LDT:LINGO数据文件;

LTF:LINGO命令脚本文件;

LGR:LINGO报告文件;

LTX: LINDO格式的模型文件;

MPS:示MPS(数学规划系统)格式的模型文件。

lingo实验报告材料

一、实验名称:推销员指派问题 二、实验目的及任务: 1、掌握Lingo 软件的使用方法 2、编写简单的Lingo 程序 3、解决Lingo 中的最优指派问题 三、实验容 1、问题描述 一个公司要分派5个推销员去5个地区推销某种产品,5个推销员在各个地区推销这种产品的预期利润如下表所示。若每个推销员只能去一个地区。应如何分派这5个推销员才能使公司的利润为最大? 2、模型建立 决策变量:设???=个地区个人去第不指派第个地区个人去第指派第j i 0j i 1ij x (i,j=1,2,3,4,5) 目标函数:设总利润为z ,第i 个人去第j 个地区的利润为A ij (i,j=1,2,3,4,5) ,假设A ij 为指派矩阵,则 Max ∑∑===5 15 1i j ij ij x A z 约束条件: 1.第j 个地区只有一个人去: 15 1 =∑=i ij x (j=1,2,3,4,5) 2.第i 个人只去一个地区: 15 1 =∑=j ij x (i=1,2,3,4,5) 由此得基本模型:

Max ∑∑===515 1 i j ij ij x A z S,t, 15 1 =∑=i ij x (j=1,2,3,4,5) 15 1 =∑=j ij x (i=1,2,3,4,5) 10或=ij x (i,j=1,2,3,4,5) 3、Lingo 程序 (一)常规程序 Lingo 输入: model : max =1*x11+8*x12+9*x13+2*x14+1*x15+5*x21+6*x22+3*x23+10*x24+7*x25+3*x31+10*x32+4*x33+11*x34+3*x35+7*x41+7*x42+5*x43+4*x44+8*x45+4*x51+2*x52+6*x53+3*x54+9*x 55; x11+x12+x13+x14+x15=1; x21+x22+x23+x24+x25=1; x31+x32+x33+x34+x35=1; x41+x42+x43+x44+x45=1; x51+x52+x53+x54+x55=1; x11+x21+x31+x41+x51=1; x12+x22+x32+x42+x52=1; x13+x23+x33+x43+x53=1; x14+x24+x34+x44+x54=1; x15+x25+x35+x45+x55=1; end Lingo 输出: Global optimal solution found. Objective value: 45.00000 Infeasibilities: 0.000000 Total solver iterations: 8 Variable Value Reduced Cost

lingo实验心得体会[工作范文]

lingo实验心得体会 篇一:LINGO软件学习入门实验报告 LINGO实验报告 一.实验目的 1、熟悉LINGO软件的使用方法、功能; 2、学会用LINGO软件求解一般的线性规划问题。 二.实验内容 1、求解线性规划: max z?x1?2x2 ?2x1?5x2?12 ??x1?2x2?8 ?x,x?0?12 2、求解线性规划: min z?20x1?10x2 ?5x1?4x2?24 ??2x1?5x2?5 ?x,x?0?12 3、假设现在一个计算机厂商要生产两种型号的PC:标准型和增强型,由于生产线和劳动力工作时间的约束,使得标准型PC最多生产100台。增强型PC最多生产120台;一共耗时劳动力时间不能超过160小时。已知每台标准型PC 可获利润$100,耗掉1小时劳动力工作时间;每台增强型PC 可获利润$150,耗掉2小时劳动力工作时间。请问:该如何

规划这两种计算机的生产量才能够使得最后获利最大? 三. 模型建立 1、求解线性规划: max z?x1?2x2 ?2x1?5x2?12 ??x 1?2x2?8 ??x1,x2?0 2、求解线性规划: min z?20x1?10x2 ?5x1?4x2?24 ?2x ?1?5x2?5 ?x1,x2?0 3、设生产标准型为x1台;生产增强型x2台,则可建立线性规划问题 数学模型为 max z?100x1?150x2 ??x1?100 ?x?120 ?2 ?x1?2x2?160

??x1,x2?0 四. 模型求解(含经调试后正确的源程序) 1、求解线性规划: model: max=x1+2*x2; 2*x1+5*x2>12; x1+2*x25; End 结果显示: 3、求解线性规划: model: mAX=100*x1+150*x2; x1+2*x2篇二:lingo上机实验报告 重庆交通大学 学生实验报告 实验课程名称专业综合实验Ⅰ 开课实验室交通运输工程实验教学中心 学院交通运输年级二年级专业班交通运输1班学生姓名学号631205020 开课时间20XX 至 20XX 学年第2学期 篇三:运筹学上机实践报告Southwestuniversityofscienceandtechnology

lingo运算符号和函数

4.1.2 逻辑运算符 在LINGO中,逻辑运算符主要用于集循环函数的条件表达式中,来控制在函数中哪些集成员被包含,哪些被排斥。在创建稀疏集时用在成员资格过滤器中。 LINGO具有9种逻辑运算符: #not# 否定该操作数的逻辑值,#not#是一个一元运算符 #eq# 若两个运算数相等,则为true;否则为flase #ne# 若两个运算符不相等,则为true;否则为flase #gt# 若左边的运算符严格大于右边的运算符,则为true;否则为flase #ge# 若左边的运算符大于或等于右边的运算符,则为true;否则为flase #lt# 若左边的运算符严格小于右边的运算符,则为true;否则为flase #le# 若左边的运算符小于或等于右边的运算符,则为true;否则为flase #and# 仅当两个参数都为true时,结果为true;否则为flase #or# 仅当两个参数都为false时,结果为false;否则为true 这些运算符的优先级由高到低为: 高 #not# #eq# #ne# #gt# #ge# #lt# #le# 低 #and# #or# 例4.2逻辑运算符示例 2 #gt# 3 #and# 4 #gt# 2,其结果为假(0)。 4.1.3 关系运算符 在LINGO中,关系运算符主要是被用在模型中,来指定一个表达式的左边是否等于、小于等于、或者大于等于右边,形成模型的一个约束条件。关系运算符与逻辑运算符#eq#、#le#、#ge#截然不同,前者是模型中该关系运算符所指定关系的为真描述,而后者仅仅判断一个该关系是否被满足:满足为真,不满足为假。 LINGO有三种关系运算符:“=”、“<=”和“>=”。LINGO中还能用“<”表示小于等于关系,“>”表示大于等于关系。LINGO并不支持严格小于和严格大于关系运算符。然而,如果需要严格小于和严格大于关系,比如让A严格小于B: A= 4.2 数学函数 LINGO提供了大量的标准数学函数: @abs(x) 返回x的绝对值 @sin(x) 返回x的正弦值,x采用弧度制 @cos(x) 返回x的余弦值 @tan(x) 返回x的正切值 @exp(x) 返回常数e的x次方 @log(x) 返回x的自然对数 @lgm(x) 返回x的gamma函数的自然对数 @sign(x) 如果x<0返回-1;否则,返回1 @floor(x) 返回x的整数部分。当x>=0时,返回不超过x的最大整数;当x<0

Lingo软件在求解数学优化问题的使用技巧

Lingo软件在求解数学优化问题的使用技巧 LINGO是一种专门用于求解数学规划问题的软件包。由于LINGO执行速度快,易于方便地输入、求解和分析数学规划问题,因此在教学、科研和工业界得到广泛应用。LINGO 主要用于求解线性规划、非线性规划、二次规划和整数规划等问题,也可以用于求解一些线性和非线性方程组及代数方程求根等。 LINGO的最新版本为LINGO7.0,但解密版通常为4.0和5.0版本,本书就以LINGO5.0为参照而编写。 1.LINGO编写格式 LINGO模型以MODEL开始,以END结束。中间为语句,分为四大部分(SECTION):(1)集合部分(SETS):这部分以“SETS:”开始,以“ENDSETS”结束。这部分的作用在于定义必要的变量,便于后面进行编程进行大规模计算,就象C语言在在程序的第一部分定义变量和数组一样。在LINGO中称为集合(SET)及其元素(MEMBER或ELEMENT,类似于数组的下标)和属性(A TTRIBUTE,类似于数组)。 LINGO中的集合有两类:一类是原始集合(PRIMITIVE SETS),其定义的格式为:SETNAME/member list(or 1..n)/:attribute,attribute,etc。 另一类是是导出集合(DERIVED SETS),即引用其它集合定义的集合,其定义的格式为: SETNAME(set1,set2,etc。):attribute,attribute,etc。 如果要在程序中使用数组,就必须在该部分进行定义,否则可不需要该部分。(2)目标与约束:这部分定义了目标函数、约束条件等。一般要用到LINGO的内部函数,可在后面的具体应用中体会其功能与用法。求解优化问题时,该部分是必须的。(3)数据部分(DA TA):这部分以“DA TA:”开始,以“END DA TA”结束。其作用在于对集合的属性(数组)输入必要的数值。格式为:attribut=value_list。该部分主要是方便数据的输入。 (4)初始化部分(INIT):这部分以“INIT:”开始,以“END INIT”结束。作用在于对集合的属性(数组)定义初值。格式为:attribute=value_list。由于非线性规划求解时,通常得到的是局部最优解,而局部最优解受输入的初值影响。通常可改变初值来得到不同的解,从而发现更好的解。 编写LINGO程序要注意的几点: 1.所有的语句除SETS、ENDSETS、DA TA、ENDDA TA、INIT、ENDINIT和MODEL,END 之外必须以一个分号“;”结尾。 2.LINGO求解非线性规划时已约定各变量非负。 LINGO内部函数使用详解。 LINGO建立优化模型时可以引用大量的内部函数,这些函数以“@”符号打头。 (1)常用数学函数 @ABS(X) 返回变量X的绝对数值。 @COS( X) 返回X的余弦值,X的单位为弧度 @EXP( X)

lingo实验报告 学习lingo心得

隆展实业发展有限公司产品生产计划的优化研究 问题分析 题目要求在不追加产值的情况下实现产值最大化,所以采用线性规划模型。 求解思路 首先指出本例中的一个错误:最后一张表——原材料的成本中 对AZ-1的成本计算有误,根据前几张表,AZ-1的成本应为96.0625 1、首先计算出每种产品的利润=出售价格-成本 例生产一件AZ-1的利润为350-96.0625=253.9375 经计算得下表 产品利润单位:元 2、由题得,公司目前所能提供的最大流动资金为36万元,且不准备追加投入,所以要求在调整后生产结构中,总的成本不得超过36万元。 3、考虑工人的工时问题 一条装配线可以装配多中零件,但每个零件要求工人的工时不同,总需求时间不得超过工人的每月的总工时。例如,在组装这项工作中,8个工人每月的总工时为2496小时, 而组装各个产品的需求时间分别为0.6,0.67,0.56,0.56,0.58,0.58。若另X1代表AZ-1的产量;X2代表BZ-1的产量;X3代表LZ-7的产量;X4代表RZ-7的产量;X5代表LR-8的产量;X6代表RZ-8的产量,则可列出不等式: 0.60*X1+0.67*X2+0.56*X3+0.56*X4+0.58*X5+0.58*X6<=2496 同理可得关于拉直及切断、剪板及折弯、焊接网胚及附件和焊接底盘工作所需工时的不等式4、题目中有提到在产品的销售方面LZ/RZ-8以其大载重量,结实坚固深得顾客的青睐,并希望能增加产量。所以解决方案中,希望RZ-8比原先的产量要多,相对的,其他产品的产量就要减少。

Lingo 程序 MAX=253.9375*X1+229.5*X2+292.5625*X3+306.5*X4+503.2125*X5+538.5*X6; 96.0625*X1+90.5000*X2+167.4375*X3+213.5000*X4+216.7875*X5+276.5000*X6<=360000; 0.60*X1+0.67*X2+0.56*X3+0.56*X4+0.58*X5+0.58*X6<=2496; 0.30*X1+0.31*X2+0.325*X3+0.34*X4+0.33*X5+0.35*X6<=624; 0.90*X1+0.90*X2+0.95*X3+1.00*X4+1.01*X5+1.05*X6<=1872; 1.30*X1+1.00*X2+1.25*X3+1.25*X4+1.35*X5+1.35*X6<=2496; 0.76*X1+0.76*X2+0.80*X3+0.82*X4+0.82*X5+0.85*X6<=1560; X6>=240; X5<=320; X4<=480; X3<=560; X2<=80; X1<=160; 结果分析 Global optimal solution found at iteration: 6 Objective value: 741998.8 Variable Value Reduced Cost X1 160.0000 0.000000 X2 80.00000 0.000000 X3 0.000000 33.53187 X4 0.000000 109.3038 X5 320.0000 0.000000 X6 969.3237 0.000000 Row Slack or Surplus Dual Price 1 741998.8 1.000000 2 0.000000 1.947559 3 1598.592 0.000000 4 106.3367 0.000000 5 315.0101 0.000000 6 467.4130 0.000000 7 291.2749 0.000000 8 729.3237 0.000000

13170130LINGO实验报告

2014?2015学年第二学期短学期 《数学软件及应用(Lingo)》实验报告 班级数学131班姓名张金库学号13170130 成绩______________________________ 实验名称 奶制品的生产与销售计划的制定 完成日期:2015年9月3日

一、实验名称:奶制品的生产与销售计划的制定 二、实验目的及任务 1?了解并掌握LINGO的使用方法、功能与应用; 2?学会利用LINGO去解决实际中的优化问题。 三、实验内容 问题一奶制品加工厂用牛奶生产A,A2两种奶制品,1桶牛奶可以在甲类设备上用12h 加工成3kg A1,或者在乙类设备上用8h加工成4kg A?。根据市场的需求,生产A, A?全部能售出,且每千克A获利24元,每千克A2获利16元。现在现在加工场每天能的到50桶牛奶的供应,每天正式工人总的劳动时间为480h,并且甲类设备每天至多能加工1OOkg A, 乙类设备的加工能力没有限制。为增加工厂的利益,开发奶制品的深加工技术:用2h和3元加工费,可将1kg A加工成0.8kg高级奶制品B i,也可将1kg傀加工成0.75kg高级奶制品B2,每千克B1能获利44元,每千克B2能获利32元。试为该工厂制订一个生产销售计 划,使每天的净利润最大,并讨论以下问题: (1)若投资30元可以增加供应1桶牛奶,投资3元可以增加1h的劳动时间,应否做 这些投资?若每天投资150,可以赚回多少? (2)每千克高级奶制品B1,B2的获利经常有10%的波动,对制订的生产销售计划有 无影响?若每千克B获利下降10%,计划应该变化吗? (3)若公司已经签订了每天销售10kg人的合同并且必须满足,该合同对公司的利润 有什么影响? 问题分析要求制定生产销售计划,决策变量可以先取作每天用多少桶牛奶生产A,,代,再添上用多少千克A加工B1,用多少千克A加工B2,但是问题要分析B1,B2的获利对生产销售计划的影响,所以决策变量取作A1,A2,B1,B2每天的销售量更为方便。目标 函数是工厂每天的净利润一一A1,A2,B1,B2的获利之和扣除深加工费用。 基本模型

如何在lingo中使用集合

例题1. 在lingo 中输入下列线性规划模型,并求解 ∑∈?=A j i j i x j i d z ),(),(),( min s.t. 1),1(≥∑∈V j j x , , },10,,2,1{,0),(x , ),(, 1,1),(V V A V V i i i j i x j j i x V i ?==∈=>=∑∈ 为非负实数所有 的数值如下表:d d=0 8 5 9 12 14 12 16 17 22 8 0 9 15 16 8 11 18 14 22 5 9 0 7 9 11 7 12 12 17 9 15 7 0 3 17 10 7 15 15 12 16 9 3 0 8 10 6 15 15 14 8 11 17 8 0 9 14 8 16 12 11 7 10 10 9 0 8 6 11 16 18 12 7 6 14 8 0 11 11 17 14 12 15 15 8 6 11 0 10 22 22 17 15 15 16 11 11 10 0; 分析:这个模型输入的难点,在于变量的数量太多,足足有100个。约束条件也比较多,有没有什么方便的输入方法?下面介绍lingo 中集合的建立 新建lingo 文件 输入下面内容 model : sets : V/1..10/;!创建集合V; A(V,V):d,x;!创建集合A 是V 乘V.而d,x 是与A 同结构的,即d ,x 分别是10*10矩阵; endsets min =@sum (A(i,j):d(i,j)*x(i,j));!创建目标函数; @sum (V(j):x(1,j))>=1; !第一个约束条件; @for (V(j)|j#gt#1: !i#gt#1为逻辑判断语句表示i>1是返回真值,但这里不能直接写i>1,因为">"是关系运算符不是逻辑运算符;

lingo实验报告

lingo实验报告 以下是为大家整理的lingo实验报告的相关范文,本文关键词为lingo,实验,报告,实验,名称,推销员,指派,问题,目的,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。 一、实验名称:推销员指派问题二、实验目的及任务: 1、掌握Lingo软件的使用方法 2、编写简单的Lingo程序 3、解决Lingo中的最优指派问题 三、实验内容

1、问题描述 一个公司要分派5个推销员去5个地区推销某种产品,5个推销员在各个地区推销这种产品的预期利润如下表所示。若每个推销员只能去一个地区。应如何分派这5个推销员才能使公司的利润为最大? 2、模型建立 ?1指派第i个人去第j个地区决策变量:设xij??(i,j=1,2,3,4,5)0不指派第i个人去第j个地区?目标函数:设总利润为z,第i 个人去第j个地区的利润为A(,iji,j=1,2,3,4,5) 假设Aij为指派矩阵,则 maxz???Aijxij i?1j?155约束条件: 1.第j个地区只有一个人去: ?xi?15ij?1(j=1,2,3,4,5) 2.第i个人只去一个地区: ?xj?15ij?1(i=1,2,3,4,5) 由此得基本模型: maxz???Aijxij i?1j?155s,t, 5?xi?15ij?1(j=1,2,3,4,5) ?xj?1ij?1(i=1,2,3,4,5)

xij?0或1(i,j=1,2,3,4,5) 3、Lingo程序(一)常规程序Lingo输入: model: max=1*x11+8*x12+9*x13+2*x14+1*x15+5*x21+6*x22+3*x23+10*x24+ 7*x25+3*x31+10*x32+4*x33+11*x34+3*x35+7*x41+7*x42+5*x43+4*x4 4+8*x45+4*x51+2*x52+6*x53+3*x54+9*x55;x11+x12+x13+x14+x15=1;x 21+x22+x23+x24+x25=1;x31+x32+x33+x34+x35=1;x41+x42+x43+x44+x4 5=1;x51+x52+x53+x54+x55=1;x11+x21+x31+x41+x51=1;x12+x22+x32+x4 2+x52=1;x13+x23+x33+x43+x53=1;x14+x24+x34+x44+x54=1;x15+x25+x3 5+x45+x55=1;end Lingo输出: globaloptimalsolutionfound. objectivevalue:45.00000Infeasibilities:0.000000Totalsolveriterations:8 VariableValueReduced cost x117.000000 x120.000000 x130.000000 x140.0000000.0000001.0000000.0000007.000000 x158.000000

LINGO中的常见函数

@bin(x) 限制x为0或1 @bnd(L,x,U) 限制L≤x≤U @free(x) 取消对变量x的默认下界为0的限制,即x可以取任意实数 @gin(x) 限制x为整数 LINGO提供了大量的标准数学函数: @abs(x) 返回x的绝对值 @sin(x) 返回x的正弦值,x采用弧度制 @cos(x) 返回x的余弦值 @tan(x) 返回x的正切值 @exp(x) 返回常数e的x次方 @log(x) 返回x的自然对数 @lgm(x) 返回x的gamma函数的自然对数 @sign(x) 如果x<0返回-1;否则,返回1 @floor(x) 返回x的整数部分。当x>=0时,返回不超过x的最大整数;当x<0 时,返回不低于x的最大整数。 @smax(x1,x2,…,xn) 返回x1,x2,…,xn中的最大值 @smin(x1,x2,…,xn) 返回x1,x2,…,xn中的最小值 LINGO具有9种逻辑运算符: #not# 否定该操作数的逻辑值,#not#是一个一元运算符 #eq# 若两个运算数相等,则为true;否则为flase #ne# 若两个运算符不相等,则为true;否则为flase #gt# 若左边的运算符严格大于右边的运算符,则为true;否则为flase #ge# 若左边的运算符大于或等于右边的运算符,则为true;否则为flase #lt# 若左边的运算符严格小于右边的运算符,则为true;否则为flase #le# 若左边的运算符小于或等于右边的运算符,则为true;否则为flase #and# 仅当两个参数都为true时,结果为true;否则为flase #or# 仅当两个参数都为false时,结果为false;否则为true ^乘方 ﹡乘 /除 ﹢加 ﹣减 LINGO唯一的一元算术运算符是取反函数“﹣”。 这些运算符的优先级由高到底为: 高﹣(取反) ^ ﹡/ 低﹢﹣ 运算符的运算次序为从左到右按优先级高低来执行。运算的次序可以用圆括号“()”来改变。

lingo实验报告

、实验名称:推销员指派问题 二、实验目的及任务: 1、掌握Lingo软件的使用方法 2、编写简单的Lin go程序 3、解决Lingo中的最优指派问题 三、实验内容 1、问题描述 一个公司要分派5个推销员去5个地区推销某种产品,5个推销员在各个地区推销这种产品的预期利润如下表所示。若每个推销员只能去一个地区。应如何分派这5个推销员才能使公司的利润为最大? 2、模型建立 决策变量1指派第i个人去第j个地区 (i,j=1,2,3,4,5) : ij 0不指派第i个人去第j个地区 目标函数:设总利润为Z,第i个人去第j个地区的利润为A ij(i,j=1,2,3,4,5),假设A ij为指派矩阵,则 5 5 Max Z A jj X jj i 1 j 1 约束条件: 1.第j个地区只有一个人去: 5 X ij 1 (j=1,2,3,4,5) i 1 2.第i个人只去一个地区: 5 X ij 1 (i=1,2,3,4,5) j 1 由此得基本模型:

5 5 3、Lingo 程序 (一)常规程序 Lingo 输入: model : max=1*x11+8*x12+9*x13+2*x14+1*x15+5*x21+6*x22+3*x23+10*x24+7*x25+ 3*x31+10*x32+4*x33+11*x34+3*x35+7*x41+7*x42+5*x43+4*x44+8*x45+4*x 51+2*x52+6*x53+3*x54+9*x55; x11+x12+x13+x14+x15=1; x21+x22+x23+x24+x25=1; x31+x32+x33+x34+x35=1; x41+x42+x43+x44+x45=1; x51+x52+x53+x54+x55=1; x11+x21+x31+x41+x51=1; x12+x22+x32+x42+x52=1; x13+x23+x33+x43+x53=1; x14+x24+x34+x44+x54=1; x15+x25+x35+x45+x55=1; end Lingo 输出: Global optimal solution found. Objective value: Infeasibilities: Total solver iterations: Max A ij x ij j1 S,t, x ij i1 j=1,2,3,4,5) x ij 1 i=1,2,3,4,5) j1 x ij 0或1 i,j=1,2,3,4,5) Variable Value Reduced 45.00000 0.000000

lingo操作介绍

1.2 菜单介绍 1.2.1 File 1 New 新建一个窗口, 当你执行这个命令时, 会出现如下对话框: 你可以在对话框中选择你想要建立的类型. 类型如下: 1)扩展名为(*.lg4) LG4格式是LINGO4.0的版本,是在Windows下最主要的储存文件格式, 这种格式支持字体格式, 自定义格式以及动态连接, LG4以二进制格式存储, 所以不能被其它的应用软件直接读取. 2)扩展名为(*.lng) LNG是捷便的存储方式,是4.0版本前的标准文件格式,为了与前版本的兼容,所以还一直在用,LNG文件是以ASCII形式存储的,所以能被支持文本文件的应用程序读取.该格式不支持多种字体. 3)扩展名为(*.ltd) LTD是数据文件, 可以从@FILE函数导入数据,@FILE函数只能读取文本文件,所以所有的LTD文件是以ASCII形式存储, 也不支持多种字体. 4)扩展名为(*.ltf) LTF是LINGO的调试文件格式, 也是以ASCII格式存储,能直接被LINGO的File|Take command执行. 2 Log Output 输出文本文件,可以将随后原输出到报告窗口的内容输出到文本中. 该命令与Maple 中的writeto命令非常相似. 在Maple中输入如下: > x:=sin(5.); writeto("c://maple.txt"); y:=x+1: print(x,y); print(x); > y; > writeto(terminal);

> y; 执行菜单中的Edit|Excute|Worksheet, 按钮,窗口重新显示如下: > x:=sin(5.); writeto("c://maple.txt"); y:=x+1: print(x,y); print(x); x:=-.9589242747 > y; > writeto(terminal); > y; 0.4010757253 而在C盘的maple.txt文件的内容为: -.9589242747, .0410757253 -.9589242747 .0410757253 从中可以知道,用了writeto(filename)命令以后把结果输出到filename 中. 直到碰到writeto(terminal)命令时,才重新在工作窗口中显示. 当你点击菜单File|Log Output时,系统出现保存对话框,系统就会将命令窗口中的输出结果保存到指定的文件中. 3 Import LINDO File 该命令是用来导入LINDO软件保存的LINDO文件(*.LTX)格式. 只要在LINGO中导入LINDO文件格式, LINGO系统自动将该文件转化为LINGO可执行语句. 1.2.2 Edit 1 Paste Function 用该命令可以在当前点插入LINGO的内部函数, 2 Select Fonts 设置字体类型, 字体大小,字体颜色. 1.2.3 LINGO 1 Solve 用solve命令对当前窗口中的模型求解, 该命令只对report script窗口起作用, 不能对数据窗口求解.

运筹学实验报告-lingo软件的使用-习题代码

运筹学 实验报告 姓名: 学号: 班级:

相关问题说明: 一、实验性质和教学目的 本实验是运筹学课安排的上机操作实验。 目的在于了解、熟悉计算机Lingo软件在运筹学模型求解中的作用,激发学习兴趣,提高学习效果,增强自身的动手能力,提高实际应用能力。 二、实验基本要求 要求学生: 1. 实验前认真做好理论准备,仔细阅读实验指导书; 2. 遵从教师指导,认真完成实验任务,按时按质提交实验报告。 三、主要参考资料 1.LINGO软件 2. LINGO8.0及其在环境系统优化中的应用,大学,2005 3. 优化建模与LINDO/LINGO软件,清华大学,2005 4.运筹学编写组主编,运筹学(修订版),清华大学,1990 5.蓝伯雄主编,管理数学(下)—运筹学,清华大学,1997 6.胡运权主编,运筹学习题集(修订版),清华大学,1995 7.胡运权主编,运筹学教程(第二版),清华大学,2003

实验容 1、线性规划问题: ????? ? ?≥≤+≤+≤++=0 ,13119241171289..68max 2121212121x x x x x x x x t s x x z (1) 给出原始代码;(2) 计算结果(包括灵敏度分析,求解结果粘贴); (3) 回答下列问题(手写): a ) 最优解及最优目标函数值是多少; b ) 资源的对偶价格各为多少,并说明对偶价格的含义; c ) 为了使目标函数值增加最多,让你选择一个约束条件,将它的常数项增加一个单位,你将选择哪一个约束条件?这时目标函数值将是多少? d ) 对x 2的目标函数系数进行灵敏度分析; e ) 对第2个约束的约束右端项进行灵敏度分析; f ) 结合本题的结果解释“Reduced Cost ”的含义。 对偶价格就是说 约束方程右端变量增加1对目标函数值的影响 答案: (1)代码 max =8*x1+6*x2; 9*x1+8*x2<=12; 7*x1+11*x2<=24; 9*x1+11*x2<=13; x1>=0; x2>=0; (2)计算结果 Global optimal solution found. Objective value: 10.66667 Total solver iterations: 2 Variable Value Reduced Cost X1 1.333333 0.000000 X2 0.000000 1.111111 Row Slack or Surplus Dual Price 1 10.66667 1.000000 2 0.000000 0.8888889 3 14.66667 0.000000 4 1.000000 0.000000

lingo的常用函数

l i n g o的常用函数 This model paper was revised by the Standardization Office on December 10, 2020

Lingo基本用法总结(除集函数部分) LINGO是用来求解线性和非线性优化问题的简易工具。Lingo免费版可以支持30个未知数,lingo破解版可以支持几万个未知数、几万个约束条件。 当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model –LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。下面举两个例子。 例如何在LINGO中求解如下的LP问题: 在模型窗口中输入如下代码: min=2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600; 然后点击工具条上的按钮即可。 得到如下结果: 所以当x1为250,x2为100时目标函数得到最大值。 算术运算符 Lingo中变量不区分大小写,以字母开头不超过32个字符 算术运算符是针对数值进行操作的。LINGO提供了5种二元运算符: ^乘方﹡乘/除﹢加﹣减

LINGO唯一的一元算术运算符是取反函数“﹣”。 这些运算符的优先级由高到底为: 高﹣(取反) ^ ﹡/ 低﹢﹣ 运算符的运算次序为从左到右按优先级高低来执行。运算的次序可以用圆括号“()”来改变。 例:在x1+x2>=350,x1>=100,2*x1+x2<=600的条件下求2*x1+3*x2的最小值 在代码窗口中编写 min=2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600; 然后单击上面菜单lingo菜单下solve键即可。 数学函数 标准数学函数: @abs(x) 返回x的绝对值 @sin(x) 返回x的正弦值,x采用弧度制 @cos(x) 返回x的余弦值

Lingo实验报告3

实验报告 课程名称:模型优化与LINGO软件应用专业班级: 姓名: 学号: 湖南工业大学理学院

实验名称Lingo的基本编程方法 实验地点公共楼405 实验时间 实验成绩指导指导教师签名 一、实验目的及任务 1.编写简单的Lingo程序 2.了解Lingo语言中集合与函数的使用 二、实验内容与步骤 1.用lingo软件求解: max z=cTx+1/2xTQx; s.t -1≤x1x2+x3x4≤1; -3≤x1+x2+x3+x4≤2; x1,x2,x3,x4∈{-1,1} 其中c=(6,8,4,-2)T,Q是三对角矩阵,主对角线上元素全为-1,两条次对角线上元素全为2. sets: set1/1..4/:x,c; b/1,2/:value; m(set1,b):d; link(set1,set1):Q; endsets data: c=6 8 4 -2; Q=-1 2 0 0 2 -1 2 0 0 2 -1 2 0 0 2 -1; value=1,-1; enddata max=-1/2*x(1)*x(1)-1/2*x(2)*x(2)-1/2*x(3)*x(3)-1/2*x(4)*x(4)+2*x(1)*x(2 )+2*x(2)*x(3)+2*x(3)*x(4)+6*x(1)+8*x(2)+4*x(3)-2*x(4); @sum(set1(i):x(i))<=2; -3<=@sum(set1(i):x(i)); -1<=x(1)*x(2)+x(3)*x(4); x(1)*x(2)+x(3)*x(4)<=1; @for(set1(i):x(i)=@sum(b(j):value(j)*d(i,j))); @for(set1(i):@sum(b(j):d(i,j))=1); @for(set1(i):@gin(x(i))); 结果 Local optimal solution found.

lingo软件使用教程

lingo软件使用教程 一般来说,一个优化模型将由以下三部分组成: 1. 目标函数(Objective Function):要达到的目标。 2. 决策变量(Decision variables):每组决策变量的值代表一种方案。在优化模型中需要确定决策变量的最优值,优化的目标就是找到决策变量的最优值使得目标函数取得最优。 3. 约束条件(Constraints):对于决策变量的一些约束,它限定决策变量可以取的值。 在写数学模型时,一般第一行是目标函数,接下来是约束条件,再接着是一些非负限制等。在模型窗口输入如下代码: Max = 2*x1+3*x2; X1+2*x2<=8; 4*x1<16; 4*x2<12; 注意:1.每一个lingo表达式最后要跟一个分号; 2.多数电脑中没有符号,lingo中<=代替;为了方便可以用<代替小于等于,用>代替大于等于。 3.我们可以添加一些注释,增加程序的可读性。注释以一个!(叹号必须在英文状态下输入,它会自动变为绿色)开始,以;(分号)结束。 4.Lingo中不区分变量名的大小写。变量名必须以字母(A-Z)开头,后面的字符可以是字母、数字、下划线。变量名不能超过32个字符。 Lingo程序的一些规则: 1. 在Lingo中最开始都是“MAX=”或者“MIN=”开始表示求目标函数的最大或者最小值。 2. 变量和它前面的系数之间要用“*”连接,中间可以有空格。 3. 变量名不区分大小写,但必须以字母开始,不超过32个字符。 4. 数学表达式结束时要用分号“;”表示结束。表达式可以写在多行上,但是表达式中间不能用分号。 5. 在电脑系统中一般没有“小于等于”符号,在Lingo采用“<=”来表示“小于等于”,用“>=”表示“大于等于”。小于等于也可以用更简单的“<”表示,大于等于用“>”表示。 集合段: 在我们已经得到的程序里有一些量没有定义,如WAREHOUSES( I),DEMAND( J), LINKS( I, J)。这些量将在Lingo中的集合段定义。 集合段以SETS:表示开始,以ENDSETS表示结束。 如果一个集合的元素都已经定义过,就可以用一些循环函数(如@for). 注:1. 集合的属性相当于以集合的元素为下标的数组。Lingo中没有数组的概念,只有定义在集合上的属性的概念。 2 集合的定义语法: set_name[/set_member/:][attribute_list]; 集合的名称在左边,右边是这个集合上的属性,他们之间用冒号“:”分割开,最后由分号表示结束。如果在同一个集合上有多个属性时,不同的属性之间用逗号“,”隔开,如本例的cost和volume属性。如果要特别列出集合的元素时,在集合的名称后把元素写在两条斜线之间,如本例中的仓库可以写为 WAREHOUSES/WH1, WH2, WH3, WH4, WH5, WH6/: CAPACITY;

lingo用法总结(精品文档)

ji例程1、 model: sets: quarters/1..4/:dem,rp,op,inv; endsets min=@sum(quarters:400*rp+450*op+20*inv); @for(quarters(i):rp<=40); @for(quarters(i)|i#gt#1: inv(i)=inv(i-1)+rp(i)+op(i)-dem(i);); inv(1)=10+rp(1)+op(1)-dem(1); data: dem=40 60 75 25; enddata end 例程2、 model: sets: quarters/1..4/:dem,rp,op,inv; endsets min=@sum(quarters:400*rp+450*op+20*inv); @for(quarters(i):rp<=40); @for(quarters(i)|i#gt#1: inv(i)=inv(i-1)+rp(i)+op(i)-dem(i);); inv(1)=a+rp(1)+op(1)-dem(1); data: dem=40 60 75 25; a=? enddata end ?LINGO总是根据“MAX=”或“MIN=”寻找目标函数,而除注释语句和TITLE语句外的其他语句都是约束条件,因此语句的顺序并不重要。 ?LINGO中函数一律需要以“@”开头 ?Lingo中的每个语句都以分号结尾 ?用LINGO解优化模型时已假定所有变量非负(除非用限定变量取值范围的函数@free或@sub或@slb另行说明)。 ?以感叹号开始的是说明语句(说明语句也需要以分号结束)) ?理解LINGO建模语言最重要的是理解集合(Set)及其属性(Attribute)的概念。 ?一般来说,LINGO中建立的优化模型可以由5个部分组成,或称为5“段” (SECTION): (1)集合段(SETS):以“ SETS:” 开始,“ENDSETS”结束,定义

13170130 LINGO 实验报告

2014~2015学年第二学期短学期 《数学软件及应用(Lingo)》实验报告 班级数学131班姓名张金库学号13170130 成绩 实验名称 奶制品的生产与销售计划的制定 完成日期:2015年9月3日

一、实验名称:奶制品的生产与销售计划的制定 二、实验目的及任务 1.了解并掌握LINGO 的使用方法、功能与应用; 2.学会利用LINGO 去解决实际中的优化问题。 三、实验内容 问题 一奶制品加工厂用牛奶生产1A ,2A 两种奶制品,1桶牛奶可以在甲类设备上用12h 加工成3kg 1A ,或者在乙类设备上用8h 加工成4kg 2A 。根据市场的需求,生产1A ,2A 全部能售出,且每千克1A 获利24元,每千克2A 获利16元。现在现在加工场每天能的到50桶牛奶的供应,每天正式工人总的劳动时间为480h ,并且甲类设备每天至多能加工100kg 1A ,乙类设备的加工能力没有限制。为增加工厂的利益,开发奶制品的深加工技术:用2h 和3元加工费,可将1kg 1A 加工成0.8kg 高级奶制品1B ,也可将1kg 2A 加工成0.75kg 高级奶制品2B ,每千克1B 能获利44元,每千克2B 能获利32元。试为该工厂制订一个生产销售计划,使每天的净利润最大,并讨论以下问题: (1)若投资30元可以增加供应1桶牛奶,投资3元可以增加1h 的劳动时间,应否做这些投资?若每天投资150,可以赚回多少? (2)每千克高级奶制品1B ,2B 的获利经常有10%的波动,对制订的生产销售计划有无影响?若每千克1B 获利下降10%,计划应该变化吗? (3)若公司已经签订了每天销售10kg 1A 的合同并且必须满足,该合同对公司的利润有什么影响? 问题分析 要求制定生产销售计划,决策变量可以先取作每天用多少桶牛奶生产1A ,2A ,再添上用多少千克1A 加工1B ,用多少千克2A 加工2B ,但是问题要分析1B ,2B 的获利对生产销售计划的影响,所以决策变量取作1A ,2A ,1B ,2B 每天的销售量更为方便。目标函数是工厂每天的净利润——1A ,2A ,1B ,2B 的获利之和扣除深加工费用。 基本模型 决策变量:设每天销售1x kg 1A ,2x kg 2A ,3x kg 1B ,4x kg 2B ,用5x kg 1A 加工1B ,用6x kg 1 A

相关文档