我正在使用solverstudio(纸浆和cbc)。如何让求解器报告冲突约束?谢谢。
答案 0 :(得分:0)
如果您的问题不可行,那么从技术上讲,您的所有约束都存在冲突。但是,对于在解算器返回Infeasible之前找到的任何中间解决方案,您可以尝试这样来查看违反了哪些约束:
DECLARE @t TABLE (id INT, [Param] INT, Val VARCHAR(50))
INSERT INTO @t VALUES
(1, 1,' One 1'),
(1, NULL,'Null-Value 1'),
(1, 2,'Two 1'),
(1, 3,'Three 3'),
(2,NULL,'Nul-Value 2'),
(2, 2,'One 2'),
(3, NULL,'Null-Value 3'),
(4, 1,'One 4'),
(5, NULL,'Null-Vaue 5'),
(6, NULL,'Null-Value 6')
DECLARE @Param INT
SET @Param = 1
SELECT *
FROM @t
WHERE @Param IS NULL OR (([Param] = @Param) OR ([Param] IS NULL AND Id <> @Param))