运筹优化学习04:Lingo的sum函数和for函数的使用方法介绍

简介: 运筹优化学习04:Lingo的sum函数和for函数的使用方法介绍

在使用lingo集合语言编程中,我们经常使用到for和sum这两个函数,本文以实测示例对这两个函数的使用方法进行介绍

1 sum函数

使用语法:

@sum(集合(下标):集合表达式)

冒号之前定义要参与求和的下标,之后定义与前述下标相关的集合表达式

代码示例

image.png

2 for函数

使用方法:

@for(集合(下标)[|逻辑表达式] : 集合表达式);


冒号之前定义要参与求和的下标,之后定义与前述下标相关的集合表达式;逻辑表达式定义了存在于下标之间的约束关系

image.png

@for(CXC:@BIN(X)); 经集合X中所有元素设置为二进制变量,CXC为集合X为集合的实例

3 一个示意性的演示程序

model:
sets:
node/1..3/:x;
arc(node,node):d;
endsets
data:
x = 1,2,4;
d = 1 1 1 
2 2 2
3 3 3 ;
enddata
min = @sum(arc(i,j) : x(i) * d(i,j));!单独使用sum函数;
@for(node(i) | i #ne# 2: x(i) < 10);!单独使用for函数,无效约束,只为说明for函数的使用方法;
@for(node(i) : @sum(node(j) : x(i) * d(i,j)) < 10000000);!for与sum结合使用,无效约束,只为说明for函数和sum函数结合使用的方法;
end
相关文章
|
2月前
|
算法 Java 数据处理
了解MindOpt优化求解器的各种调用方式、方法
Mindopt是一款高性能优化求解器,专为求解大规模数学规划问题,当前支持线性规划 (LP) 、混合整数线性规划 (MILP) 、非线性规划(QP、SDP)。其强大的算法旨在有效地找到符合规规则约束、目标值最优的最佳解决方案,使其成为运筹学必学工具,广泛用在电商互联网、金融、电力能源、工业制造、交通物流等领域。
|
5月前
|
机器学习/深度学习 算法 vr&ar
【Python强化学习】动态规划法中策略迭代和值迭代求解冰湖问题实战(图文解释 附源码)
【Python强化学习】动态规划法中策略迭代和值迭代求解冰湖问题实战(图文解释 附源码)
60 0
|
5月前
lingo软件求解线性规划举例
lingo软件求解线性规划举例
|
8月前
|
自然语言处理
第4章 MATLAB编程基础——4.5 脚本与函数(1)
第4章 MATLAB编程基础——4.5 脚本与函数(1)
|
8月前
|
自然语言处理 算法
第4章 MATLAB编程基础——4.5 脚本与函数(2)
第4章 MATLAB编程基础——4.5 脚本与函数(2)
|
9月前
|
机器学习/深度学习 自然语言处理 算法
【机器学习实战】10分钟学会Python怎么用EM期望最大化进行参数估计(十五)
【机器学习实战】10分钟学会Python怎么用EM期望最大化进行参数估计(十五)
167 0
|
10月前
|
算法 Python
【数学建模】混合整数规划MIP(Python+Gurobi代码实现)
【数学建模】混合整数规划MIP(Python+Gurobi代码实现)
542 0
|
人工智能 运维 架构师
如何用 7 分钟玩转函数计算?
如何用 7 分钟玩转函数计算?
如何用 7 分钟玩转函数计算?
|
人工智能 运维 架构师
如何用 7 分钟玩转函数计算?
阿里云是国内最早提供 Serverless 计算服务的云厂商。2017 年推出的函数计算 FC 是一款 FaaS 产品,这是一种以事件驱动为核心的全托管计算服务,用户只需编写代码并上传,函数计算就会自动准备好计算资源,以弹性、可靠的方式运行代码,并提供完整的可观测能力,大幅简化开发运维过程。
如何用 7 分钟玩转函数计算?
|
决策智能
运筹优化学习07:Lingo的 @if 函数的使用方法
运筹优化学习07:Lingo的 @if 函数的使用方法
运筹优化学习07:Lingo的 @if 函数的使用方法