1

我在 INITSOLVE 阶段阅读了原始问题空间中的解决方案。一些多聚合变量被忽略。我想这没关系,因为一旦其他变量的值固定,就可以推断出它们的值。但是,读取解决方案的目标值现在已关闭..因为不包括来自这些多聚合变量的目标.. 无论如何,这有什么问题吗?

4

1 回答 1

1

多聚合变量的目标系数被添加到主动表示的变量中,因此解的目标值通常应该仍然是正确的。

但是,多重聚合可能是由对偶参数完成的,即,可能存在将多重聚合变量设置为不同值的解决方案,但您仍然可以将其设置为多重聚合给定的值。在不损害目标的情况下进行聚合。此外,预求解也可能会根据这种类型的参数更改界限或修复变量。

在这种情况下,您的解决方案可能不会“适合”预先解决的问题,但会“调整”到价值不低于原始解决方案的解决方案。是这样吗?解决方案的客观价值是否更好?

此外,您应该使用 SCIPgetSolOrigObj() 检查解的目标函数值,以获得原始空间中的目标值,因为在预求解期间可以更改目标偏移量和因子。另外,请检查原始问题中变量的值,以了解解决方案与您阅读的解决方案有何不同。

于 2014-09-23T16:15:02.993 回答