如何更新set的元素

问题描述 投票:0回答:1

我最初有一组损坏的线路。 时间 t = 1 秒时的伤害线 = {1,5,8,10,25} 在时间 t = 2 秒时,其中一条线路(即 l = 5)由维修人员维修。我有一个变量指示损坏线路的修复状态,即rep[l][t]。如果在时间 t 为 2 时,损坏的线路 5 的该二进制变量的值为 1,则意味着线路已修复,我们必须更新损坏的线路集的元素。现在,在时间 t = 2 秒时,新的一组损坏线为 {1,8,10,25}。您能否建议我在 OPL Cplex 中编写有助于更新集合元素的代码?

optimization cplex opl
1个回答
0
投票

您可以使用删除

{int} damagelines1 = {1,5,8,10,25};
range lines=1..2;

{int} damagelines[lines];

execute
{
  for(i in damagelines1) for(j in lines) damagelines[j].add(i);
  damagelines[2].remove(5);
  writeln(damagelines);
}

给予

[{1 5 8 10 25} {1 8 10 25}]
© www.soinside.com 2019 - 2024. All rights reserved.