Lingo学习笔记

1 说明

  • lingo适合于解线性规划问题,相比于lindo非线性规划也是可以解的,相比于matlab的linprog(f,A,b,Aeq,beq,lb,ub)更加直观方便。
  • lingo中不区分大小写

2 变量范围限定符号

!注释
!每一句后面加分号
@bin(X); !限制变量"X""0""1"
@bnd(L,X,U); !限制"L<=X<=U"
@free(X); ! 取消对变量的限制,默认>=0
@gin(X); !限制变量"X"为整数

3 简单例子

题目

在这里插入图片描述

代码

max=72*x1+64*x2;
x1+x2<=50;
12*x1+8*x2<=480;
3*x1<=100;

结果解释

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4 常用概念

setname/member_list/:attribute_list
e.g:
sets:
	demand/1..6/:a,b,d;
	supply/1..2/:x,y,e;
	
	!派生集,c(i,j);!i∈[1,6],j∈[1,2];
	link(demand,supply):c;
endsets

数据赋值

data:
	a=1.25,8.75,0.5,5.75,3,7.25;
	b=1.25,0.75,4.75,5,6.5,7.75;
	d=3,5,4,7,6,11;
	e=20,20;
	x,y=5,1,2,7;
enddata

初始部分(迭代从哪些初始值开始)

init:

endinit

5 函数

  • 函数运算前面必须加@

常用函数

在这里插入图片描述

部分函数使用方法

在这里插入图片描述

@for(vertex(i)|i#GT#1: L(i)=@min(road(j,i):L(j)+D(j,i))

在这里插入图片描述

sets:
w/1..6/:capacity;
v/1..8/:demand;
link(w,v):c,x;
endsets

data:
capacity=60 55 51 43 41 52;
demand= 35 37 22 32 41 32 43 38;
c=6 2 6 7 4 2 5 9
4 9 5 3 8 5 9 2
5 2 1 9 7 4 3 3
7 6 7 3 9 2 7 1
2 3 9 5 7 2 6 5
5 5 2 2 8 1 4 3;
enddata

min=@sum(link(i,j):c(i,j)*x(i,j));
@for(w(i): @sum(v(j): x(i,j)) <= capacity(i)  );
@for(v(j): @sum(w(i): x(i,j)) = demand(j)  );

6 模型构成几个阶段

  1. 目标与约束段
  2. 集合段(SETS ENDSETS)
  3. 数据段(DATA ENDDATA)
  4. 初始段(INIT ENDINIT)
  5. 计算段(CALC ENDCALC)
  6. 示例
MODEL:
Title Location Problem;

SETS:
ENDSETS

DATA:
ENDDATA
INIT 
ENDINIT

!目标函数
!约束条件
!变量约束

END

7 引用excel中的数据,及变量数值导出到excel

  1. 数据保存在excel中,点击【公式】->【定义名称】,例如:data,选择这个名称表示的范围
    在这里插入图片描述
  2. 设定规格相同的集
  3. 使用variable=@ole("filepath","name"); name可以是刚才定义的data
  4. 完整代码
sets:
example/1..4/:x;
endsets
data:
x=@ole("f:\\1.xls",'data');
enddata
  1. 导出到数据到excel,1-2变,3中改为@ole("filepath","name")=variable;
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值