Follow up on http://yetanothermathprogrammingconsultant.blogspot.com/2015/01/the-hostile-brothers-problem-1.html and http://yetanothermathprogrammingconsultant.blogspot.com/2015/01/the-hostile-brothers-problem-2.html.
Now some experiments that did not work.
Find global solutions with Baron
This is a very difficult job. One idea that may help is to add some symmetry breaking constraints:
This can reduce the search space considerably. We run the equation over all i–1: in GAMS this is notation that means we drop the first possible equation (the equation related to ord(i)=1).
In addition we can pass on a good solution we found with techniques described earlier. Unfortunately this helps but not enough to bring us close to proving global optimality:
Iteration Open nodes Total time Lower bound Upper bound | Default. Note that Baron actually finds good solutions quickly. But after a little while the lower bound will not move again and the upper bound will move slower and slower. |
Iteration Open nodes Total time Lower bound Upper bound | Here we added symmetry breaking constraints. This helps with the upper bound. |
Iteration Open nodes Total time Lower bound Upper bound | Here we use a starting point and symmetry breakers. This gives best performance but still not sufficient to get close to a global solution. |
Understandably global solvers can not handle just anything we throw at them. Heaving said this I think Baron does a good job finding good solutions if we don’t provide our own initial points.
Other Global solvers
None of the global solvers can solve this problem quickly. It is interesting to see which objective can be used with different global solvers.
Solver | Discontinuous Formulated allowed | Smooth Formulation Accepted |
Baron | Can not handle function ‘min’ | OK |
LocalSolver | OK | OK (n=75 problem ran out of demo license) |
OQNLP | OK | OK |
LindoGlobal | OK automatic reformulated into bigM constraints | OK (n=75 problem: Model size exceeds LindoGlobal limits of (2000,3000)). |
LGO | OK | OK (n=75 problem:Reduced Model Size exceeds LGO limits of (2000,3000)). |
Can we solve as a MIP?
The quadratic expressions form a problem. Although Cplex can solve non-convex QPs it does not handle non-convex quadratic constraints (I believe SCIP does). We can use some piecewise linear approximation, but it seems to make sense to first try a linear version with a different distance function: the Manhattan distance. Here the distance between two points is the sum of the distance in the x direction and in the y direction. The formulation can look like:
This model turns out not easy to solve. Even after 2 hours compute time the resulting locations are not very good:
Note: the plot is made with R and SQLite:
No comments:
Post a Comment