CP Optimizer:为状态函数提供初始值

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

在我的 CP 模型中,我有一个状态函数

stateFunction f(a in aRange) with TransitionTimes[a]

默认情况下,f[a] 的值等于 -1 直到时间 0,例如

id,value
1,stepwise{ -1 -> 0; 1 -> 3; -1 -> 8; 1 -> 10; -1 }

CP Optimizer 是否有可能定义一个与 -1 不同的初始值,例如42?

这么说,我希望有以下价值观:

id,value
1,stepwise{ 42 -> 0; 1 -> 3; -1 -> 8; 1 -> 10; -1 }

不幸的是,我没有找到解决方案研究文档和相应的论坛讨论。

提前致谢!

constraint-programming cp-optimizer
1个回答
0
投票

你所说的“初始值”就是“NoState”对应的值。你不能改变它,它是一个内部值,并且它是一个负值,以避免与其他必须是正值的状态发生冲突。

您需要什么?

我怀疑您想要将值“NoState”与另一个状态“s1”分组,例如因为您想在间隔 a 期间将状态限制为 s1 或 NoState。

请注意,约束alwaysIn(f, a, s1, s1)正是这样做的,它确实将“NoState”视为一种转义值。它与强制状态为s1的alwaysEqual(f, a, s1)不同。 请参阅 https://www.ibm.com/docs/en/icos/22.1.1?topic=f-alwaysin

© www.soinside.com 2019 - 2024. All rights reserved.