Bug 70399 - Port Solver for Nonlinear Programming to native code
Summary: Port Solver for Nonlinear Programming to native code
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
(earliest affected)
Hardware: All All
: low enhancement
Assignee: Not Assigned
Depends on:
Blocks: Solver
  Show dependency treegraph
Reported: 2013-10-12 10:48 UTC by Vasco Alves
Modified: 2022-05-31 14:49 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:
Regression By:


Note You need to log in before you can comment on or make changes to this bug.
Description Vasco Alves 2013-10-12 10:48:46 UTC
I think the NLP Solver really needs to be ported to native code. It reduces Java code, which seems to be a sort of mid-term goal for LO. It also performs some of the most performance intensive operations in the whole of LO, so it seems we'd wand this to run closer to the metal. 

Microsoft Excel of course has non-linear algorithms fully integrated. 

PS - I wasn't sure whether to submit this to Spreadsheet or Extensions. Please move it if it's not in the correct section.
Comment 1 Joel Madero 2014-05-05 04:33:19 UTC
Thank you for reporting this enhancement request! I can confirm that this is a valid enhancement request on:
Version: Build ID: 84862db95a5e22b9ef89baa2a8a5deeffefbdef6
Date:   Thu Apr 24 21:43:16 2014 +0300
Platform: Ubuntu Linux 13.10 x64
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 
As I've been able to confirm the enhancement request I am marking as:

New (confirmed)
Low - not going to benefit most users but would be useful for advanced capabilities

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 
LibreOffice is powered by a team of volunteers, every bug is confirmed (triaged) by human beings who mostly give their time for free. We invite you to join our triaging by checking out this link:

There are also other ways to get involved including with marketing, UX, documentation, and of course developing -  http://www.libreoffice.org/get-help/mailing-lists/. 

Lastly, good bug reports help tremendously in making the process go smoother, please always provide reproducible steps (even if it seems easy) and attach any and all relevant material
Comment 2 Todor Balabanov 2019-05-01 21:42:01 UTC
Are there any performance measurements about NLPSolver efficiency?

I am not sure that rewriting from Java to C++ will provide dramatically speed-up.
Comment 3 Wolfgang Jäger 2022-05-31 14:49:02 UTC
(In reply to Todor Balabanov from comment #2)
> Are there any performance measurements about NLPSolver efficiency?
> I am not sure that rewriting from Java to C++ will provide dramatically
> speed-up.

The issue isn't only/mainly concerning efficiency. There is tdf#38948 e.g open since 2011, and requests to get a way to save solver settings to documnents are posted once in a while in an ask/discourse question. See https://ask.libreoffice.org/t/is-there-any-way-to-save-a-solver-model-in-calc-again/77249/8 . I don't remember one of those posts complaining about lack of efficiency. It's about the workflow.

It seems the NLP solvers are insufficiently embedded via the current API: 
set-/get methods for stuctured(object properties don't exist, and the PropertyBag service also doesn't work properly. I would assume this is in consequence of a broken bridge to the implementation in java.  

If the mentioned problems were fixed, any interested user could easily(?) write a workaround in Basig e.g.