Parameters Anylogic参数变化实验:我以何种方式使用;表达方式-列在允许的状态下改变布尔参数?

Parameters Anylogic参数变化实验:我以何种方式使用;表达方式-列在允许的状态下改变布尔参数?,parameters,expression,anylogic,variations,Parameters,Expression,Anylogic,Variations,我在AnyLogic中设置了一个参数变化实验,我想改变布尔参数。本质上,这些布尔参数(parameter01-parameter20)中有20个是按指定顺序排列的,我尝试模拟参数值的每个可能组合。唯一的限制是两个连续的参数不能同时为真(因此,如果parameter01为真,则parameter02不能为真,依此类推) 我试图做的是在freeformvariation中使用“Expression”列,并为每个参数制定规则。例如,我为parameter01编写的代码是(parameter01&&!p

我在AnyLogic中设置了一个参数变化实验,我想改变布尔参数。本质上,这些布尔参数(parameter01-parameter20)中有20个是按指定顺序排列的,我尝试模拟参数值的每个可能组合。唯一的限制是两个连续的参数不能同时为真(因此,如果parameter01为真,则parameter02不能为真,依此类推)

我试图做的是在freeformvariation中使用“Expression”列,并为每个参数制定规则。例如,我为parameter01编写的代码是
(parameter01&&!parameter02)| |(!parameter01&¶meter02)| |(!parameter01&&!parameter02)
。正如您可能知道的,我尝试为parameter01和parameter02编码每个允许的值组合,只排除了两者都为true的情况,这是不允许的。不幸的是,这并没有达到预期效果,因为anylogic在每次模拟运行中都将每个参数设置为false

你能告诉我我做错了什么吗?更重要的是,你有解决我问题的办法吗?
提前谢谢

我建议您编写一个函数,为每个参数和迭代次数返回正确的参数值,即

myFunction(int ParamNumber, int iterationNumber) {
    // write code here to satisfy your constraint
}
在表达式部分为每个参数调用该函数,并相应地设置各个参数。您可以使用
getCurrentIteration()

最好使用Excel准备逻辑,但可能不是火箭科学:)