C 溶液读取过程中原始空间中溶液的目标

C 溶液读取过程中原始空间中溶液的目标,c,scip,C,Scip,在INITSOLVE阶段,我在原始问题空间中阅读了一个解决方案。一些多聚合变量被忽略。我想这没关系,因为一旦其他变量的值被固定,它们的值就可以被推断出来。但是,读取解决方案的目标值现在已关闭。。由于不包括来自多个聚合变量的目标。。这有什么关系吗 将多个聚合变量的目标系数添加到活动表示的变量中,以便解决方案的目标值通常仍然正确 但是,多重聚合可能是由双重参数完成的,即,可能存在将多重聚合变量设置为不同值的解决方案,但您仍然可以将其设置为多重聚合给定的值,而不会恶化目标。此外,预解还可能基于这种类型

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

将多个聚合变量的目标系数添加到活动表示的变量中,以便解决方案的目标值通常仍然正确

但是,多重聚合可能是由双重参数完成的,即,可能存在将多重聚合变量设置为不同值的解决方案,但您仍然可以将其设置为多重聚合给定的值,而不会恶化目标。此外,预解还可能基于这种类型的参数更改边界或修复变量

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

此外,应使用SCIPGETSOLORIGBJ()检查解决方案的目标函数值,以获得原始空间中的目标值,因为目标偏移量和因子在预解过程中可能会发生变化。
另外,请检查原始问题中变量的值,以查看解决方案与您阅读的解决方案有何不同。

谢谢,杰拉尔德。我检查了原始问题中变量的值,它们与读取的值相同。但是,当我调用SCIPgetSolOrigObj()时,它仍然处于关闭状态。我还打印了scip->origprob->objoffset,在预解决、解决、解决阶段,它们都是零。不过,最终的解决方案是正确的……解决方案还有多远?您期望的目标值和SCIP输出的目标值是什么?与以前一样,如果我从读取解决方案中获得目标值,则忽略多聚合变量的目标值。让我添加更多细节,解决方案作为一个独立的解决方案保留,而不是添加到原始解决方案中。我不明白为什么objoffset为零,而最终找到的解决方案具有正确的目标。。