首页 > 解决方案 > 我们如何在脚本 (CPLEX/execute) 中使用集合(在 OPL 中定义)

问题描述

我在 OPL/CPLEX 中定义了一个这样的集合

{string} S1={"a","b","c"};
{string} S2= S1 diff {"a"}; //which return S2={"b","c"}; 

然后我想在脚本中执行此操作

execute {
`var m=Opl.item(S1,0);`    //which return a

var S3=S1 diff {m}; //或 var S3=S1 Opl.diff {m};//但它不起作用 }

实际上我需要 cplex 脚本中的 Opl 集函数,例如 diff inter union 等

我该怎么做?

先感谢您...

标签: setcplexopl

解决方案


{string} S1={"a","b","c"};
{string} S2= S1 diff {"a"}; //which return S2={"b","c"}; 
{string} Sm;
{string} S3;
execute {
var m=Opl.item(S1,0);    //which return a
Sm.add(m);
S3=Opl.operatorDIFF(S1,Sm);
writeln(S3);
}

{"b" "c"}

推荐阅读