Ilog Cp编程中 C# Cp.Sum函数配合条件
时间: 2024-05-13 08:19:42 浏览: 165
ILOG CPLEX OPL 关键字的摘要表.pdf
在 Ilog Cp 中,可以使用 `Sum` 函数求解一组变量的和。通常情况下,`Sum` 函数的参数是一个数组,表示需要求和的变量集合。例如,以下代码定义了一个包含 5 个整数变量的数组 `x`,并使用 `Sum` 函数求解它们的和:
```C#
int[] x = new int[] { 1, 2, 3, 4, 5 };
IIntExpr sum = Cp.Sum(x);
```
如果需要在 `Sum` 函数中添加条件,可以使用 `Cp.IfThen` 函数指定条件。例如,以下代码定义了一个包含 5 个整数变量的数组 `x`,并使用 `Sum` 函数求解其中大于 2 的变量的和:
```C#
int[] x = new int[] { 1, 2, 3, 4, 5 };
IIntExpr sum = Cp.Sum(x.Where(v => v > 2).Select(v => Cp.IfThen(v > 2, v)));
```
此处使用了 LINQ 表达式筛选出大于 2 的变量,并使用 `Cp.IfThen` 函数指定变量大于 2 时才参与求和。
阅读全文