gpt4 book ai didi

algorithm - CPLEX 如何用一些约束求和

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:05:24 27 4
gpt4 key购买 nike

有一个二维数组,表示工作机器号及其处理时间,如下所示。此外,一个名为 L 的数组暗示我要对哪台机器求和。

arr = [
[1, 10],
[2, 20],
[3, 15],
[4, 10]
]

L= [1,4]

我可以添加一个约束条件来总结出现在 L 数组中的机器的所有处理时间吗?

对于这道题,我想求和 10+10,因为 1 和 4 在 L 中。

最佳答案

range r2=1..2;
range r4=1..4;

int arr[r4,r2] = [
[1, 10],
[2, 20],
[3, 15],
[4, 10]
];

int L[r2]= [1,4];

int s=sum(k in r2) sum(i in r4:arr[i][1]==L[k]) arr[i][2];

execute
{
writeln(s);
}

给予

20

如果你希望能够寻址尽可能多的机器,你可以这样写

range r2=1..2;
range r4=1..4;

int arr[r4,r2] = [
[1, 10],
[2, 20],
[3, 15],
[4, 10]
];

{int} L={1,4};

int s=sum(k in L) sum(i in r4:arr[i][1]==k) arr[i][2];

execute
{
writeln(s);
}

关于algorithm - CPLEX 如何用一些约束求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58611413/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com