Lingo软件的基本语法


基本语法

集合

sets:
	集合名称1 / 成员列表1 /: 属性1_1, 属性1_2, ···, 属性1_n1 ;
	集合名称2 / 成员列表2 /: 属性2_1, 属性2_2, ···, 属性2_n2 ;
	派生集合名称 ( 集合名称1, 集合名称2 ): 属性3_1, 属性3_2, ···, 属性3_n2 ;

例:

sets:
	product/A B/;
	machine/M N/;
	week/1..2/;
	allowed(product, machine, week):x;
endsets

数据

data:
	属性1 = 数据列表 ;
	属性2 = 数据列表 ;
enddata

数据计算段

数据计算段部分不能含有变量,必须是已知数据的运算。

calc:
	b = 0 ;
	a = a + 1 ;
endcalc

变量的初始化

变量初始化主要用于非线性问题赋初始值。
好的初始点会减少模型的求解时间。

init:
	X, Y = 0, .1 ;
endinit
Y = @log(X) ; 
X^2 + Y^2 <= 1 ;

模型的目标函数和约束条件

此处不具体介绍,而是通过另一篇博客具体例子给出。


实时数据处理

data:
	interest_rate, inflation_rate = .085  ? ;
enddata

注意

  1. Lingo 中是不区分大小写字符的。
  2. Lingo 中数据部分不能使用分式,例如数据部分不能使用 1/3 。
  3. Lingo 中的注释是使用“!”引导的。
  4. Lingo 中默认所有的变量都是非负的。
  5. Lingo 中矩阵数据是逐行存储的,Matlab 中数据是逐列存储的。
  6. 本文中代码为了突出语法中的标点符号,以空格显式声明。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lgxo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值