|
|
|
|
|
by clemsen
3541 days ago
|
|
I would love to get more details on the linear-integer solve methodology, as it sounds impressive.
Was the problem formulated to also work as a linear problem where the binary or integer variables were first treated as positive non-integer variables, and then checked using branch-and-cut (That's how I would do it)?
Or did you do something differently? Fortunately, we found a different plan of attack: one
which allowed the integer-linear-programming solver to
explore the problem space more efficiently and find
optimal solutions faster. What previously took an hour,
now took 0.2 seconds.
|
|
Later we started using a model using variables like
Just denoting whether line i is at a smaller position (index) than line j. You can enforce total ordering using the triangle inequality as a constraint. And the penalties very directly derive from the binary variables, because the penalties are all about things like 'apply penalty if line i is left of line j'.Another thing to note is that New York-Washington is all connected. But some of the connections have only a single (commuter rail) line. So mathematically speaking, Washington and New York are actually independent. The MILP solver sometimes seemed to have trouble finding those independent components, so it helped providing them as separate models.