coin-or / MibS

A solver for mixed integer bilevel programs
Eclipse Public License 1.0
50 stars 20 forks source link

Confusion about example instance #69

Closed barguel closed 5 years ago

barguel commented 5 years ago

I am trying to understand the data file format for specifying the lower level problem.

When I look at example milp_10_20_50_2310.txt, I see that the first LR entry is row 0. However, row 0 is the objective for the HPR. So how does MibS interpret row 0 as a constraint in the lower level problem?

SaTahernejad commented 5 years ago

This instance has 10 constraints and all of them are lower-level constraints. To make the aux file, the constraints are indexed 0 to 9 and "LR 0" shows that the first lower-level constraint is "R0000000".

barguel commented 5 years ago

Okay, so for the purposes of indexing the aux file constraints, MibS will disregard any constraints with an 'N' in the first column? Is that right?

SaTahernejad commented 5 years ago

Yes. It is interpreted as the upper-level objective.

tkralphs commented 5 years ago

To clarify, it's not really MibS that is disregarding the objective rows. The problem is being read by an MPS parser, which is independent of MibS. The parser indexes the constraints from 0. This makes the format a little bit fragile, since it depends on the parser actually indexing the constraints in the same order as they are in the MPS file ,which it does not have to (this is not a part of the MPS standard). For this reason, we have extended the format to accept the constraint names in the auxiliary file. This is a better way to do it. but we haven't yet converted the examples.

barguel commented 5 years ago

That makes perfect sense. Thanks for the info!

From: Ted Ralphs notifications@github.com Sent: Wednesday, July 10, 2019 11:24 AM To: coin-or/MibS MibS@noreply.github.com Cc: Arguello, Bryan barguel@sandia.gov; State change state_change@noreply.github.com Subject: [EXTERNAL] Re: [coin-or/MibS] Confusion about example instance (#69)

It's not really MibS that is disregarding the objective rows. The problem is being read by an MPS parser, which is independent of MibS. The parser indexes the constraints from 0. This format is a bit fragile, since it depends on the parser actually indexing the constraints in the same order as they are in the MPS file. For this reason, we have extended the format to accept the constraint names in the auxiliary file. This is a better way to do it. but we haven't yet converted the examples.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHubhttps://github.com/coin-or/MibS/issues/69?email_source=notifications&email_token=ALMKKGJJNUP63JXC5E2NFMLP6YLLLA5CNFSM4H7Q4WHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZUFFKQ#issuecomment-510153386, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALMKKGN7WPLA2U4FQPDEOLDP6YLLLANCNFSM4H7Q4WHA.