set - 我们如何在脚本 (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 等
我该怎么做?
先感谢您...
解决方案
{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"}
推荐阅读
- r - 如何使用线性回归预测特定的行和列
- python-2.7 - 如何以允许两位数的特定顺序创建字母数字网格?
- javascript - 带有反应 Bootsrap 的下一个 JS
- laravel - 根据 laravel 中的自定义 date_field 显示行中的最新数据
- python - 最多 N 个项目的组?
- python - 终端中的正则表达式运行 python
- mpandroidchart - 仅显示雷达图的最外层线
- distributed-computing - 我如何理解 bacis paxos 中的“价值”
- ubuntu - Puppeteer 在 Ubuntu 中运行时无法渲染表情符号
- php - hasManyThrough - Laravel 5.8