Re: [ojAlgo-user] Behaviour of ExpressionBasedModel since OjAlgo37
Mathematics, linear algebra and optimisation
Brought to you by:
apete
From: Anders P. <an...@op...> - 2016-03-01 23:09:15
|
Do you have integer variables? Do you use the v39.0 release one of the v39.X snapshots? (Really should be named v40-SNAPSHOT or something like that.) The new algorithm I mentioned earlier on this list is only in the snapshots, and it’s for QP (convex) problems only. v39.0 should be all improvements and no “experiments”. If you are using v39.0 and believe you get incorrect results I would appreciate it if you put together a test case (the smallest possible). Otherwise I don’t know how to help you. If you are running one of the snapshots and want to switch to the “old” algorithm you have to modify the build() method of the ConvexSolver.Builder class. In it you should replace IterativeMixedASS and IterativePureASS with DirectMixedASS and DirectPureASS respectively. Further I just uploaded a snapshot named v39.5, use that. Are you aware that you can get debug output from the solvers? Do this: model.options.debug(ConvexSolver.class); If you don’t have any other way to construct a test case, you can try this: Running in a debugger; set a breakpoint in the solve(…) method of ExpressionsBasdModel right after the solver has been instantiated. If you simply “select” the local variable tmpSolver the debugger will display its toString() output - it will print the matrices used by the solver. I can construct test cases from that relatively easy. /Anders > On 1 mars 2016, at 17:01, Nico Potyka <Nic...@gm...> wrote: > > Hi everybody, > > I use OjAlgo's ExpressionBasedModel to solve some quadratic programming problems. It worked really well in version 37, but I noted some strange behaviour after switching to version 38.2. The ExpressionBasedModel behaved highly non-deterministically in the sense that the same problem can sometimes be solved optimally, sometimes only approximately and sometimes cannot be solved at all. In fact, even when the solution is supposed to be optimal, the results can differ significantly (like more than 100% deviation). After realizing that these problems were caused by the change of version, I switched to version 39. Now the ExpressionBasedModel behaves completely deterministically, but I still get some weird results. I suppose that these problems are related to the new algorithm in ojAlgo. Is there a way to use the old algorithm? > > I could also send the example if it helps for debugging. However, it is part of a bigger project and depends on several other classes, so it might be too complicated. > > Best > Nico > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |