lingo学习笔记

本文介绍了Lingo编程中矩阵的赋值方法,强调了数据块(data:)的使用以及矩阵大小和完整约束条件的处理。还涵盖了运算符、逻辑运算在for循环和if判断中的应用,以及内置函数如if、变量定界和数学函数的使用。
摘要由CSDN通过智能技术生成

lingo不区分大小写
变量名:字母,数字,下划线;字母开头
矩阵 x(1) 不是x1
只能解一个目标函数的线性规划
!开头;结尾 注释语句

矩阵工厂
sets:
factory/1..6/:a,b;
endsets
表示生成1行6列的矩阵
生成完矩阵,工厂和矩阵将脱开关系,即factory和a,b之间没有关系

矩阵赋值
data:
a=1,2,3,4,5,6;
enddata



矩阵赋值必须赋满,不能给6个元素的矩阵赋3个数值,可以赋整数,也可以赋小数
lingo不是一行一行读代码的,所以用data:和enddata表示矩阵赋值的起止

for循环

约束条件全部放在括号中

sum求和

1.不可以括起完整的约束条件

2.此处i可带可不带,但当二维矩阵工厂出现后,同时会出现i和j,那时必须带。

二维矩阵/工厂合并

表示生成六行八列的矩阵

赋值

注意只有最后一行打分号

例题:

lingo中默认所有变量非负,所以本例中最后一个约束条件可不写代码

运算符

1.算术运算符

2.关系运算符

三种:=、>=、<=

lingo里没有>和<,但之前的代码中输入>或<没有报错,是因为lingo忽略了=

3.逻辑运算符

出现的位置:

(1)for循环和sum运算中

(2)if判断(很少出现)

法一:

法二:

内置函数

1.if判断

if函数通常仅在分段函数处出现,一般其出现频率、使用次数十分低;

lingo中的if函数,必须自带一个else。

本题要先用@free()  使定义域自由化

if嵌套

2.变量定界函数

(1)@free

(2)@bnd

3.@bin

4.@gin

注:本题修改过题干故没有最优解,运行后代码报错是正常现象。

数学函数

注:这里其它类别中第二个函数打错了,应该是 @sign(x)

集合操纵函数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值