lingo

基本语法:

@free(x1); //lingo中默认变量为非负,这里使得变量可为负
@free(x2);
@bnd(-30,x1,30); //定义变量x1的范围为[-30,30]
@bnd(-30,x2,30);
min=100*(x2-x1*x1)*(x2-x1*x1)+(1-x1)*(1-x1); //求最小值

@gin(s1);!表示限制s1为整数型数值

对下标集合加限制|i#GT#1,是一个表达式,#GT#是一个逻辑运算,意思为大于,也就是i大于1

#le# 若左边的运算符小于或等于右边的运算符,则为 true;否则为 flase

model:
data:
N=6;
enddata
sets:
number/1..N/:x;
endsets
data:
x = 5 1 3 4 6 10;
enddata
s=@sum(number(I) | I #le# 5: x);
end

这里number/1...N/:x,表示创建了N个下标,然后属性只有x,相当于一位数组,数组中每个变量均为一个结构体

这里是累加1-5

sets:
r/1..5/:x;
endsets
data:
x = 1 2 3 4 5;
enddata
y=@prod(r(i)|i#ge#2:x(i));!y=x2*x3*x4*x5;
!#ge#表示从2开始的累乘

对函数进行积累限制

sets:
r/1..5/:x;
endsets
@for(r(i):@bnd(1,x(i),5));
max=@prod(r(i)|i#ge#2:x(i));!y=x2*x3*x4*x5;

 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值