在Lingo软件中,求和可以使用`@sum()`函数来实现。以下是一些示例和说明:
求单个集合中所有元素的和
```lingo
sets: row/1..4/:x;
endsets
min=@sum(row(i):x(i));
```
在这个例子中,`@sum(row(i):x(i))`表示集合`row`中所有元素`x(i)`的和,目标函数是使这个和最小。
求多个集合中所有元素的和
如果你有多个集合,并且想要求它们所有元素的和,可以使用嵌套的`@sum()`函数:
```lingo
sets: row1/1..4/:x1, row2/1..4/:x2, row3/1..4/:x3;
endsets
total_sum=@sum(row1(i):x1(i)) + @sum(row2(i):x2(i)) + @sum(row3(i):x3(i));
```
在这个例子中,`total_sum`是集合`row1`、`row2`和`row3`中所有元素`x1(i)`、`x2(i)`和`x3(i)`的和。
求二维集合中所有元素的和
如果你有一个二维集合,并且想要求其中所有元素的和,可以使用`link()`函数和`@sum()`函数:
```lingo
sets: r/1..5/:;!行, c/1..6/:;!列;
link(r,c):B;
endsets
y=@sum(link(i,j)|ige2andile4andjge3andjle5:B(i,j));
```
在这个例子中,`y`是二维集合`B`中所有元素`B(i,j)`的和,其中`i`的范围是2到4,`j`的范围是3到5。
总结起来,`@sum()`函数在Lingo中用于求和,可以应用于单个集合、多个集合以及二维集合。通过指定集合和集合元素,你可以轻松地计算出所需的和。