gpt4 book ai didi

gecode - 在Gecode中,从评价函数访问家庭/空间变量值

转载 作者:行者123 更新时间:2023-12-02 20:34:55 24 4
gpt4 key购买 nike

Gecode中,我使用评价函数在分支时选择变量。

为了计算变量 v 的值(value),我需要访问一些其他变量值,但看起来在调用值(value)函数时,空间变量尚未分配任何值:

Exception: IntVar::val: Attempt to access value of unassigned variable.

我做错了什么吗?有没有办法访问评价函数中的变量值?

最佳答案

问题是,当您仍在搜索变量时,变量将不仅仅只有 1 个值,它的域仍然大于 1。这意味着变量可能仍然可以采用不同的值。除非其域中只剩下一个值,否则不允许使用 val方法。

根据您想要如何使用值域,此问题有不同的解决方案:

  • 针对单个值测试变量的最佳方法是使用 in方法。此方法返回 true如果该值在变量的域内。
  • 要相互检查变量,您通常会使用 minmax比较它们的域的方法。
  • 如果该值仅在分配时才相关,那么您将使用 size 检查基数(域的大小)是否为 1。方法,在使用 val 之前方法。

这些是最常见的情况,但与变量交互的方式有无数种。请务必检查 IntVar documentation ,其中这些方法和所有其他方法 IntVar类进行了描述。

关于gecode - 在Gecode中,从评价函数访问家庭/空间变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47458698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com