Date: prev next · Thread: first prev next last
2020 Archives by date, by thread · List index


This is an interesting point of differentiation.
Reviewing some of the tools yesterday and this morning;
AOO with 1 solver engine in default install (4.2 pre-release binary);

OnlyOffice (latest desktop Linux binary) has no Solver equivalent in
either the desktop binary or the cloud version, not that I can find
(didn't see any in the available plug-ins, but maybe their is
something behind the paywall areas).

WSP (May 2020 release) includes only one, a simplex linear solver.

MS 365 and Google Sheets both require an plug-in, Frontline Systems
Inc looks to be the leading supplier for both tools, but there are
multiple other choices for each.

Looking at this the first couple sentences, "The standard Microsoft
Excel Solver uses a basic implementation of the primal Simplex method
to solve LP problems.  It is limited to 200 decision variables.", from
this web page https://www.solver.com/linear-quadratic-technology and
thinking that we should be able to run down answers to some of the
bounds information for the different engines also.

Below are the different options sets for the engines.  Most
specifically give bounds (ie Epsilon Level), but a few don't (ie
Learning Cycles); I don't know if it would be worth it to get those
numbers or not.

I think it is worth it to, per engine, list these in the guide/help
file. It is a lot easier to highlight something like "ACR Comparator
(instead of BCH)" from a PDF/HTML then from that dialog box in the
application so that you can do a DDG search on the term ;)

LibreOffice CoinMP Linear Solver & LibreOffice Linear Solver
Options
- Assume variables as integers. (Default FALSE)
- Assume variables as non-negative. (Default FALSE)
- Epsilon Level 0-3. (Default 0)
- Limit branch and bound depth. (Default FALSE)
- Solving time limit (seconds). (Default 100)

DEPS Evolutionary Algorithm
Options
- Agent Switch Rate (DE Probability): (Default .05)
- Assume non-negative variables (Default FALSE)
- DE: Crossover Probability (0-1): (Default 0.9)
- DE: Max Scaling Factor (0-1.2): (Default 0.5)
- DE: Min Scaling Factor (0-1.2): (Default 0.5)
- Learning Cycles: (Default 2000)
- PS: Cognitive Constant: (Default 1.494)
- PS: Mutation Probability (0-0.005): (Default 0.729)
- PS: Social Constant: (Default 1.494)
- Show enhanced solver status (Default TRUE)
- Size of library; (Default 210)
- Size of swarm; (Default 70)
- Stagnation limit: (Default 70)
- Stagnation tolerance: (Default 0.0000001)
- Use ACR Comparator (instead of BCH). (Default FALSE)
- Use random starting point. (Default FALSE)
- Variable bounds testing. (Default TRUE)
- Variable bounds threshold (when guessing): (Default 3)

SCO Evolutionary Algorithm
Options
- Assume variables as non-negative. (Default FALSE)
- Learning Cycles: (Default False)
- Show enhanced solver status (Default TRUE)
- Size of library; (Default 210)
- Size of swarm; (Default 70)
- Stagnation limit: (Default 70)
- Stagnation tolerance: (Default 0.0000001)
- Use ACR Comparator (instead of BCH). (Default FALSE)
- Use random starting point. (Default FALSE)
- Variable bounds testing. (Default TRUE)
- Variable bounds threshold (when guessing): (Default 3)

LibreOffice Swarm Non-Linear Solver (experimental)
Options
- Assume variables as integers. (Default FALSE)
- Assume variables as non-negative. (Default FALSE)
- Solving time limit (seconds). (Default 6000)
- Swarm algorithm (0 - Differential Evolution, 1 - Particle Swarm
Optimization): (Default 0)

Saw your mail about the version 7 Guide, but already had that typed in
so figured I'd send it along anyway.


On Sat, May 16, 2020 at 5:22 PM Drew Jensen <drewjensen.inbox@gmail.com> wrote:

Well here is something
Looking at the help file for version 7
https://help.libreoffice.org/7.0/en-US/text/scalc/01/solver.html?&DbPAR=CALC&System=UNIX
the final text box states that 'only linear solvers are in the default installation'.

However 7.0 Alpha1 build adds a choice of, 'LibreOfficeDev Swarm non-linear Solver 
(experimental)' for an engine.

So, assuming that engine ships with 7 the text box in the help file could go.



On Fri, May 15, 2020 at 7:02 AM Stephen Fanning <stevemfanning.wh@gmail.com> wrote:

Kohei and Drew,

Many thanks for getting back to me on this topic.

For the 6.4 update to the Calc Guide, I will follow Kohei's advice that it is probably beyond 
the scope of the document to provide guidance on how to select a solver.

I'll try to make some time before the 7.0 Calc Guide update to re-visit this decision.

Regards,

Steve


On Fri, 15 May 2020 at 07:40, Drew Jensen <drewjensen.inbox@gmail.com> wrote:

Tonight took the LO 7 alpha1 file and the one example workbook from that Excel tutorial and ran 
each of the five solver engines.
For sure the LO CoinMP and LO Linear choices are crazy faster then DEPS and SCO (The firth 
choice Swarm non-linear is just as quick but the results are kaka, but it does say it is 
experimental).

On Thu, May 14, 2020 at 7:55 PM Drew Jensen <drewjensen.inbox@gmail.com> wrote:

hmm - there are bits and pieces here and there.

For example the first two choices (DEPS & SCO) have some explanation over at AOO wiki
https://wiki.openoffice.org/wiki/NLPSolver
If that is still relevant for LibreOffice I can't say, but likely.
CoinMD (which I assume here is type of Coin-MP) has a lot of generalized references, even a 
wiki page with a paragraph or two that might be worth drafting for service here:
https://en.wikipedia.org/wiki/COIN-OR

anyway - I'm just using DDG to search for info on the different solver types, and you get the 
idea.

There is a couple of examples of tutorials the reference solvers in Calc (one of which 
actually uses the same example data to show how to solve both in Excel and Calc), but the 
couple I reviewed only use one as an example.

I did find one for Excel that has an over view which I thought was a decent balance of 
information on the three solver models available there at:
https://www.tutorialspoint.com/excel_data_analysis/advanced_data_analysis_optimization_with_excel_solver.htm

IDK if any of the helps, hope it does.

Best wishes,




On Thu, May 14, 2020 at 7:19 PM Kohei Yoshida <kohei@libreoffice.org> wrote:

On 10.05.2020 10:59, Stephen Fanning wrote:

What guidance can I insert into the Calc Guide to help the user if he
wonders which algorithm to select?

This is strictly my personal opinion.

Which optimization solver to pick really depends on the characteristics
of the data being optimized, how (well) the algorithm is implemented in
the versions included in Calc, the accuracy goal etc. etc.  It's more an
art than science, and each user really needs to experiment with various
solvers to see which one works best for his or her optimization cases.
My personal opinion is that it is probably beyond the scope of Calc user
guide to provide any sort of guidance on how to select a solver.

Feel free to disagree with me on this.  I'm not an expert. :-)

Kohei
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.