0

I have a simple linear programming problem written in OSiL format, which is carved out from a complicated non-linear problem that reported as infeasible by SCIP. This simple problem is the minimal lines to reproduce this infeasible problem, however it confuses me. Below is the content of the 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>

Isn't the OSiL saying:

Minimize:    F
Subject to:  F >= 0

? Why should this problem be infeasible? Looks to me, the <con lb="10"/> is useless because no one is referencing it. But in fact this constraint does influence the original problem in a way that I failed to notice, because the problem can be solved if the lower bound is changed to 0 or smaller, or change it to upper bound. Can someone explain this to me? I'm a newbie in numerical optimization and the OSiL format, so thanks in advance for your time.

Bin Tang
  • 3
  • 1

1 Answers1

3

There is no F in your constraint, you only added the variable to the objective. The constraint that is formulated there is 10 <= 0, which is infeasible.

If you look at the problem in SCIP, this may become more apparent:

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
stefan
  • 799
  • 4
  • 9
  • Thanks stefan, I just found tons of constraints like `0 >= 10` in my original problem with `display problem`. Better go back and fix my OSiL generation script. – Bin Tang Jun 26 '19 at 06:47
  • 2
    I think SCIP prints a warning in such case, along the lines of "left hand side larger than right hand side of linear constraint". Make sure you check the error log for such messages. That should help you spot problems in your formulation. – Gregor Jun 26 '19 at 15:57