有条件设置在Zimpl?

时间:2017-02-06 23:03:27

标签: scip

我想在Zimpl中执行此操作,但在运行zimpl test.zpl后出现以下错误:

set A := { 1..6 }; set B := { 1..4 }; set dim[A] := <1> {1}, <2> {1}, <3> {3}, <4> {2}, <5> {1}, <6> {4}; set C := {<i, j> in A*B with j<dim[i]};

错误800:文件test.zpl第4行:语法错误,意外的SETSYM

设置C:= {在A * B中,其中j <暗淡[I]};

基本上我想要A*B: {<1,1>,<2,1>,<3,1>,<3,2>,<3,3>,<4,1>,<4,2>,<5,1>,<6,1>,<6,2>,<6,3>,<6,4>}

中的这些元素

知道为什么会这样,以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要将dim定义为参数而不是集合。您的示例应如下所示:

set A := { 1..6 };
set B := { 1..4 };
param dim[A] := <1> 1, <2> 1, <3> 3, <4> 2, <5> 1, <6> 4;
set C := {<i, j> in A*B with j < dim[i]};
do print C;