首页 理论教育 Lingo软件基础语法-数学实验

Lingo软件基础语法-数学实验

时间:2023-11-02 理论教育 版权反馈
【摘要】:用Lingo软件求解非线性规划问题。Lingo软件输入窗口编写代码如下:图3.2.6示例3.2.6的求解窗口运行后得到输出结果如图3.2.7所示。

Lingo软件基础语法-数学实验

1.语法规定

Lingo软件的最优化模型中包含目标函数、决策变量、约束条件三部分,模型在输入时基本保证与书写体一致,但是输入窗口建立模型时仍然需要注意以下几点:

(1)每行都必须用英文半角状态下的分号“;”结尾;

(2)一个表达式可以分几行输入,待表达式完全输入用分号结尾;(3)注释语句以“!”开始,“;”结束,可以跨行输入;

(4)变量名称等符号不区分英文字母的大小写

(5)变量名必须以英文字母开始,可以包括数字、下划线等其他字符

(6)默认所有变量都是非负的;

(7)所有内部函数以“@”开始。

2.基本Lingo模型

一个基本Lingo模型以关键词“model”开始,“end”结束,主要包括集合段(Sets)、数据段(Data)、初始段(Init)、计算段(Calc)、目标与约束段。

(1)集合段:Lingo中集合段以关键词“SETS:”开始,“ENDSETS”结束,主要包括原始集(primitive set)和派生集(derived set)两种集合,派生集中的成员来自于其他已经存在的集合。应当注意集合中的成员不在集合中定义,而是在数据段定义。

原始集合的构造语法为:

SETS:

集合名称/成员列表/:属性列表;

ENDSETS

派生集合的构造语法为:SETS:

集合名称(已定义集合列表)/成员列表/:属性列表;

【示例3.2.1】分别建立两个原始集合,再由原始集合建立一个关系的派生集。

Lingo中编写集合段代码如下:

(2)数据段:以关键词“DATA:”开始,“ENDDATA”结束,对Lingo中的变量或者参数进行赋值

【示例3.2.2】按照下表中的数据对示例3.2.1中集合set1的成员进行赋值。

表3.2.1 集合SET1的数据集

Lingo软件中编写数据段代码如下:

(3)初始段:主要对非线性问题中的变量赋初值,Lingo软件中的求解器可以自由改变初始段中初始化变量的值,该部分以关键词“INT:”开始,“ENDINT”结束。

【示例3.2.3】请在初始段将变量s,t分别赋值为0,1。

(4)计算段:以关键词“CALC:”开始,“ENDCALC”结束,主要在数据段输入完成后、正式求解模型前对原始数据进行处理。计算段不能含有变量,必须是对已知数据的运算。

【示例3.2.4】设已知变量b=1,请将b的取值修改为0。

(5)目标与约束段:定义目标函数、约束条件等,但这部分没有段的开始和约束标记,一般会用到Lingo的内部函数。

3.基本数学函数与常用运算符(www.xing528.com)

Lingo软件中自带了大量的基本运算函数和运算符,常用的数学函数命令见表3.2.2,逻辑运算符见表3.2.3。

表3.2.2 Lingo软件基本数学函数

表3.2.3 Lingo软件基本运算符

这些运算符的优先级由高到低为:#not#、#eq#、#ne#、#gt#、#ge#、#lt#、#le#、#and#、#or#。

Lingo软件有三种关系运算符:“=”、“<=”和“>=”,还能用“<”表示小于等于关系,“>”表示大于等于关系,但是不支持严格小于和严格大于关系运算符。

【示例3.2.5】用Lingo软件求解线性规划问题。

Lingo软件输入窗口编写代码如下:

图3.2.4 示例3.2.5的求解窗口

注 Lingo软件输入窗口中遇到数字与变量相乘时,必须输入乘法符号“*”。

运行后得到输出结果如图3.2.5所示。

图3.2.5 示例3.2.5解的报告窗口

从上述报告可以看出,当x 1=4,x 2=2时,取得最优解z=14。

【示例3.2.6】用Lingo软件求解非线性规划问题。

Lingo软件输入窗口编写代码如下:

图3.2.6 示例3.2.6的求解窗口

运行后得到输出结果如图3.2.7所示。

图3.2.7 示例3.2.6解的报告窗口

从上述结果可以看出,当x 1=0.5,x 2=1.5时,取得最优解z=0.5。

【能力训练3.2】

1.填空题

(1)Lingo软 件可以求解的问题有____________和____________;

(2)Lingo软件中自带函数函数以__________开头,如函数@abs(x)的含义是________________;

(3)生成一个学生的原始集合,包含成员学生甲、乙、丙,具体命令为________;

(4)Lingo软件中的注释语句以__________开始,以__________结束;

(5)Lingo软件中最优化模型中包含__________、__________、__________三部分。

2.在Lingo软件中编写代码,计算下列优化问题:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈