lingo学习2
今天结合书本《lingo和Excel在数学建模中的应用》,详细学习了lingo的逻辑运算符以及装箱问题的lingo程序解答。
目录
关系和逻辑运算符
lingo内置函数
lingo逻辑运算事例
装箱问题lingo求解
01 关系和逻辑运算符
-
lingo关系运算符最主要的有三类,即“=”、“>=”“<=”。注意其中并没有严格的大于,小于。
-
逻辑运算符:
值得注意的是,逻辑运算符只有唯一的输出值,即真,假两个选项,其作用只能够用于判断是否进行下一个运算。在通常情况下,lingo只在for循环和sum求和,if语句中使用逻辑运算符。
02 lingo内置函数
lingo内置数学函数并不常用,较多的是if函数,变量定界函数。
-
if函数
通常用于表达分段函数,注意,if一定要有一个否定的返回值。if函数通常结合嵌套一起使用。以三段分段函数举例如下:
对x的不同范围产生了不同的分段函数
2.变量定界函数
值得注意的是,lingo默认每个变量取值大于零,因此,对于需要多种要求的情况需要多重嵌套。
我们在lingo中可以将一些逻辑运算转化成变量定界函数以减小计算量,降低程序运行时间。
03 逻辑运算事例
以对矩阵上三角求和为例
在建立好集合输入数据后,关键是要注意逻辑运算与其他不同的地方,即在语句中与“要运算的次数”这一条件以短线隔开,与后一条件用冒号隔开。
关键语句如下:
04 装箱问题的lingo求解
以课本例题为例
问题可以描述为:
有很多已知长度的一维箱子,许多长度不同的物品,求把物品装入箱子最少的模型。
建立的01规划为
代码实现为: