[SCIP] Undeclared Variables Used in the Constraints
Matthias Walter
matthias at matthiaswalter.org
Fri Sep 18 08:51:43 CEST 2020
Hi Samuel,
I read your question differently than Ambros did: If you mean how an LP
file that contains a variable t_0 not appearing in the bounds section
shall be interpreted, then the answer is that such a variable has lower
bound 0 and upper bound infinity by default, unless you specify
different bounds in the Bounds section (or make it binary). Of course,
adding bounds as explicit constraints also works, like t_0 >= 40 in your
case.
Best,
Matthias
On 18.09.20 00:34, Ambros Gleixner wrote:
> Hi Samuel,
>
> This depends on the objective function coefficient of the variable in
> relation to the coefficient of the variable in the constraint and the
> sides of the constraint.
>
> Say the objective coefficient is nonnegative and the constraint is a
> <= constraint. Decreasing the variable always improves the objective
> or leaves it unchanged.
>
> Now if the constraint coefficient is positive, then SCIP will fix the
> variable at minus infinity, according to the fact that one can always
> choose a sufficiently small, finite value to satisfy the constraint.
>
> If the constraint coefficient is negative, then it is best to set the
> variable such that the inequality is tight. This means performing a
> multi-aggregation and is described in detail in Algorithm 10.4 of
> Tobias Achterberg's thesis
>
> http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:0297-zib-11129
>
> To look at the code, see method dualPresolve() in cons_linear.c.
>
> Hope that helps.
>
> Best,
> Ambros
>
>
>
>
>
> Am 14.09.20 um 23:07 schrieb Samuel Jiménez Gil:
>> Hi all,
>> Hope you are well. I've done quite a few experiments trying to
>> understand this question but I don't manage to understand the rationale.
>>
>> Do you know what SCIP does when you add an arbitrary constraint
>> containing a variable which was not declared (free variable), and
>> thus no bounds were provided?
>>
>> Example, (t_0 not declared):
>>
>> Minimize
>> 0
>> Subject To
>> c1: i_0 + i_1 > 11
>> c2: i_0 - 2 i_1 > -1
>> c3: t_0 > 40
>> Bounds
>> 0 <= i_0 <= 1000
>> 0 <= i_1 <= 1000
>> End
>>
>> According to what I've seen t_0 could have any value and is
>> ocassionally replaced by one of the declared variables.
>>
>> Many thanks in advance.
>>
>> Samuel.
>> Ph.D Candidate.
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> https://listserv.zib.de/mailman/listinfo/scip
>>
>
More information about the Scip
mailing list