Lingo入门基础

Lingo能做什么

LINGO(Linear Interactive and General Optimizer),可以求解非线性规划,也可以用于线性和非线性方程组的求解,是求解优化模型的最佳选择。

Lingo编程步骤

  1. 确保模型是正确的(清楚每个式子的意思,变量、下标均严格区分,确定模型类型)
  2. 确定指标集,定义集合
  3. 确定变量(已知数据的量、决策变量)及其依赖的指标集
  4. 正确写出每个式子

几个命令

  • max, min用于定义目标函数
  • @bin(x)表示x为0或1
  • @gin(x)整数
  • @free(x)表示x为任意实数
  • @bnd(1,x,u)表示x为[1,u]之间的实数,默认是非负实数
  • @floor(x)返回x的整数部分

最优化问题

在一系列限制条件下,寻求某个或多个指标达到最大的决策。优化模型三要素:

  • 决策变量
  • 目标函数
  • 约束条件

建模实例

线性规划
  1. 先写出model: 和 end作为开头和结尾
  2. 再写出目标函数 max=30x1 + 50x2
  3. 最后写出约束条件 x1+x2 >=150 ; x1>=0 ; x2 >= 0
非线性规划

和线性的差别仅仅在目标函数和约束条件上,简答案例如下。

model:
max=30*x1+50*x2;
0.5*x1+0.25*x2^2<120;
x1+x2>150;
@gin(x1);
@gin(x2);
end
整数规划

@gin(x)把变量限制为整数即可。

0-1整数规划

@bin(x)限制变量为0或者1即可。

最后

前几天数模培训做题被锤了,Lingo学到这真的远远远远远远不够…快去找点长一点的视频学着吧…
推荐一个视频能高效提升Lingo水平,这是链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值