Lingo的@for与@sum

本文详细解析了Lingo编程语言中的for循环结构,以及如何使用@sum函数进行矩阵求和操作。通过实例展示了如何确保矩阵每一行或每一列的元素之和分别等于预设的值。对于理解和应用Lingo解决线性规划问题具有指导意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

谁可以将lingo中的for循环解释清楚?
在这里插入图片描述

min = @sum(links: c * x);

在这里插入图片描述

@for(supplys(i): @sum(demands(j): x(i,j))=S(i));

注意到随着 i=1,2,3的 变化,这实际上是 3 个式子。要表示这种多个重复式子,就用到Lingo里的 @for() 函数,首先得告诉它有多少重复的式子,同样只能用声明的(对应的)数组来告诉,这里是 supplys(i), 并用 i 表示重复的索引。

  • @for 冒号前写的部分表达的意思是有多少个这样的式子,冒号后写的是式子的内容是什么

因为出现求和,所以@for的内层用@sum

  • @sum 冒号前写的部分表达的意思是如何加和,用到的下标是求和符号下的。即上边的 j

整个意思就是,当i=1时,在 x 1 j x_1j x1j中,从j=1加到j=4的值等于 s i s_i si

如果看成二维的话,相当于把第 i 行的所有数相加的和等于 s i s_i si
在这里插入图片描述

@for(demands(j): @sum(supplys(i): x(i,j)) = D(j));

写法和上述相同

如果看成二维的话,相当于把第 j 列的所有数相加的和等于 D i D_i Di

只是简单的记录,免得以后忘了

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值