无法理解问题不可行的原因
Cannot understand the reason of the problem being infeasible
我有一个用 OSiL 格式编写的简单线性规划问题,它是从一个被 SCIP 报告为不可行的复杂非线性问题中提取出来的。这个简单的问题是重现这个不可行问题的最少行数,但它让我感到困惑。以下是OSiL的内容:
<instanceData>
<variables numberOfVariables="1">
<var name="F"/>
</variables>
<objectives numberOfObjectives="1">
<obj maxOrMin="min" numberOfObjCoef="1" >
<coef idx="0">1</coef>
</obj>
</objectives>
<constraints numberOfConstraints="1">
<con lb="10"/>
</constraints>
</instanceData>
OSiL 不是说:
Minimize: F
Subject to: F >= 0
?为什么这个问题应该是不可行的?在我看来,<con lb="10"/>
是无用的,因为没有人引用它。但实际上这个约束确实以我没有注意到的方式影响了原始问题,因为如果将下限更改为 0 或更小,或者将其更改为上限,问题就可以解决。
谁可以给我解释一下这个?我是数值优化和 OSiL 格式方面的新手,因此提前感谢您的宝贵时间。
你的约束中没有F,你只是把变量添加到objective。
那里制定的约束是10 <= 0
,这是不可行的。
如果您查看 SCIP 中的问题,这可能会变得更加明显:
original problem has 1 variables (0 bin, 0 int, 0 impl, 1 cont) and 1 constraints
SCIP> disp prob
STATISTICS
Problem name : a.osil
Variables : 1 (0 binary, 0 integer, 0 implicit integer, 1 continuous)
Constraints : 0 initial, 1 maximal
OBJECTIVE
Sense : minimize
VARIABLES
[continuous] <F>: obj=1, original bounds=[0,+inf]
CONSTRAINTS
[linear] <cons0>: 0 >= 10;
END
我有一个用 OSiL 格式编写的简单线性规划问题,它是从一个被 SCIP 报告为不可行的复杂非线性问题中提取出来的。这个简单的问题是重现这个不可行问题的最少行数,但它让我感到困惑。以下是OSiL的内容:
<instanceData>
<variables numberOfVariables="1">
<var name="F"/>
</variables>
<objectives numberOfObjectives="1">
<obj maxOrMin="min" numberOfObjCoef="1" >
<coef idx="0">1</coef>
</obj>
</objectives>
<constraints numberOfConstraints="1">
<con lb="10"/>
</constraints>
</instanceData>
OSiL 不是说:
Minimize: F
Subject to: F >= 0
?为什么这个问题应该是不可行的?在我看来,<con lb="10"/>
是无用的,因为没有人引用它。但实际上这个约束确实以我没有注意到的方式影响了原始问题,因为如果将下限更改为 0 或更小,或者将其更改为上限,问题就可以解决。
谁可以给我解释一下这个?我是数值优化和 OSiL 格式方面的新手,因此提前感谢您的宝贵时间。
你的约束中没有F,你只是把变量添加到objective。
那里制定的约束是10 <= 0
,这是不可行的。
如果您查看 SCIP 中的问题,这可能会变得更加明显:
original problem has 1 variables (0 bin, 0 int, 0 impl, 1 cont) and 1 constraints
SCIP> disp prob
STATISTICS
Problem name : a.osil
Variables : 1 (0 binary, 0 integer, 0 implicit integer, 1 continuous)
Constraints : 0 initial, 1 maximal
OBJECTIVE
Sense : minimize
VARIABLES
[continuous] <F>: obj=1, original bounds=[0,+inf]
CONSTRAINTS
[linear] <cons0>: 0 >= 10;
END