Monday, 23 Mar 2009
Monday, 23 Mar 2009
Just released (well, actually already last Friday) has been an extension for Calc which adds two new solver engines.
These engines are based on Evolutionary Algorithms and allow solving nonlinear programming models (like curve fitting as shown in the example below). To use them (instead of the OpenOffice.org Linear Solver that already ships with OOo) you simply have to select them in the options page of the Solver Dialog. For linear problems it is still advised to use the OOo Linear Solver since it will be considerably faster for these problems. Also if you want to know which of the solvers to use, you should consult the documentation of this new extension which gives a lot insight and also explains all the options and parameters that are available. Finally it also includes an example on how to use these solvers from within a macro.
So for everyone who always wanted to solve some nonlinear problem: the time has come to use OOo for it. ;-)
Comments
I'm very impressed by this extension. Admittedly not something that I use on daily base but this was something I needed some months back and I guess in future I'll again. A colleague of mine was asking for such a feature in OOo too. Glad to see it now being available. Moreover I'm impressed by the extension technology. There seem to be endless ways to enhance OOo. Great.
Will this extension become a "core" component of OOo in future when it's mature? As far as I know is this the case for Languagetool.
Regards
James
BTW, with more and more extensions dropping in each day I which somebody would create an extensions which just needs a few clicks to install the most downloaded or newest or all those for OOo/Calc and so on.
Posted by James D on March 24, 2009 at 07:43 AM CET #
To Andreas Scheider,
Hi,
I tried to reproduce the NLP Calc extension example posted on : http://blogs.sun.com/GullFOSS/entry/solver_for_nonlinear_programming.
Unfortunately the OOo NLP Calc extention crashed OOo and generated the bugreport appended below..
I presume the problem is related to the fact I use the 64-Bit version of OOo 3.01
Please advise on how to resolve the issue.
Thanks, Kind regards,
Marc
(I) x.org loaded video driver of...
(II) Loading /usr/lib64/xorg/modules/drivers//nv_drv.so
(II) Loading /usr/lib64/xorg/modules/drivers//fbdev_drv.so
(II) Loading /usr/lib64/xorg/modules/drivers//vesa_drv.so
(II) Unloading /usr/lib64/xorg/modules/drivers//fbdev_drv.so
(II) Unloading /usr/lib64/xorg/modules/drivers//vesa_drv.so
(--) Depth 24 pixmap format is 32 bpp
(III) Desktop is: GNOME
(IV) openoffice.org-kde version is: package openoffice.org-kde is not installed
(V) libgcj version is: libgcj-4.3.2-7-x86_64
(VI) kernel is: Linux 2.6.27.19-170.2.35.fc10.x86_64 #1 SMP Mon Feb 23 13:00:23 EST 2009 x86_64 x86_64 x86_64
(VII) OpenOffice.org core rpm version is: openoffice.org-core-3.0.1-15.3.fc10-x86_64
(VIII) accessibility is: false
(IX) fedora release is: Fedora release 10 (Cambridge)
(X) LANG is: en_US.UTF-8
...start free space details ...
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
303378816 15847492 272120536 6% /
/dev/mapper/VolGroup00-LogVol00
303378816 15847492 272120536 6% /
...end free space details ...
...start (default) java details ...
java version "1.6.0_0"
IcedTea6 1.4 (fedora-13.b14.fc10-x86_64) Runtime Environment (build 1.6.0_0-b14)
OpenJDK 64-Bit Server VM (build 14.0-b08, mixed mode)
...end (default) java details ...
...start sestatus details ...
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 23
Policy from config file: targeted
...end sestatus details ...
...start stackreport details ...
0x3a6ce37c2b: 0x1eb8a8: /usr/lib64/openoffice.org3/program/../basis-link/ure-link/lib/libuno_sal.so.3 + 0x37c2b
0x3a6ce38843: 0x1eb8a8: /usr/lib64/openoffice.org3/program/../basis-link/ure-link/lib/libuno_sal.so.3 + 0x38843
0x3c1860f0f0: 0x16da8: /lib64/libpthread.so.0 + 0xf0f0
0x3c17a32f05: 0x16bb40: /lib64/libc.so.6 + 0x32f05 (gsignal + 0x35)
0x3c17a34a73: 0x16bb40: /lib64/libc.so.6 + 0x34a73 (abort + 0x183)
0x3c230c58e4: 0xf4398: /usr/lib64/libstdc++.so.6 + 0xc58e4 (__gnu_cxx::__verbose_terminate_handler() + 0x114)
0x3c230c3ce6: 0xf4398: /usr/lib64/libstdc++.so.6 + 0xc3ce6
0x3c230c3d13: 0xf4398: /usr/lib64/libstdc++.so.6 + 0xc3d13
0x3c230c3dfa: 0xf4398: /usr/lib64/libstdc++.so.6 + 0xc3dfa
0x13ae619: 0xf0b0: /usr/lib64/openoffice.org/ure/lib/libgcc3_uno.so + 0x4619
0x13b0362: 0xf0b0: /usr/lib64/openoffice.org/ure/lib/libgcc3_uno.so + 0x6362
0x13b0adb: 0xf0b0: /usr/lib64/openoffice.org/ure/lib/libgcc3_uno.so + 0x6adb
0x13b21ae: 0xf0b0: /usr/lib64/openoffice.org/ure/lib/libgcc3_uno.so + 0x81ae
0x31e0f8335d: 0xb39ee8: /usr/lib64/openoffice.org3/program/../basis-link/program/libsclx.so + 0x38335d
0x31e0f83eb7: 0xb39ee8: /usr/lib64/openoffice.org3/program/../basis-link/program/libsclx.so + 0x383eb7
0x31db8edd9d: 0x3f0dc8: /usr/lib64/openoffice.org3/program/../basis-link/program/libvcllx.so + 0x2edd9d (Control::ImplCallEventListenersAndHandler(unsigned long, Link const&, void*) + 0x7d)
0x31db8dbd3e: 0x3f0dc8: /usr/lib64/openoffice.org3/program/../basis-link/program/libvcllx.so + 0x2dbd3e (Window::EndTracking(unsigned short) + 0x13e)
0x31db8d6d5c: 0x3f0dc8: /usr/lib64/openoffice.org3/program/../basis-link/program/libvcllx.so + 0x2d6d5c
0x31db8d95b4: 0x3f0dc8: /usr/lib64/openoffice.org3/program/../basis-link/program/libvcllx.so + 0x2d95b4
0x31db8d7dd0: 0x3f0dc8: /usr/lib64/openoffice.org3/program/../basis-link/program/libvcllx.so + 0x2d7dd0
0x15702e: 0x55008: /usr/lib64/openoffice.org/basis3.0/program/libvclplug_gtklx.so + 0x4702e
0x31da129a08: 0x3cf4f8: /usr/lib64/libgtk-x11-2.0.so.0 + 0x129a08
0x3458a0b7dd: 0x41aa8: /lib64/libgobject-2.0.so.0 + 0xb7dd (g_closure_invoke + 0x16d)
0x3458a214bd: 0x41aa8: /lib64/libgobject-2.0.so.0 + 0x214bd
0x3458a229ea: 0x41aa8: /lib64/libgobject-2.0.so.0 + 0x229ea (g_signal_emit_valist + 0x63a)
0x3458a23093: 0x41aa8: /lib64/libgobject-2.0.so.0 + 0x23093 (g_signal_emit + 0x83)
0x31da22c7de: 0x3cf4f8: /usr/lib64/libgtk-x11-2.0.so.0 + 0x22c7de
0x31da122373: 0x3cf4f8: /usr/lib64/libgtk-x11-2.0.so.0 + 0x122373 (gtk_propagate_event + 0xe3)
0x31da123493: 0x3cf4f8: /usr/lib64/libgtk-x11-2.0.so.0 + 0x123493 (gtk_main_do_event + 0x2e3)
0x31dae4debc: 0x9bfa0: /usr/lib64/libgdk-x11-2.0.so.0 + 0x4debc
0x345823779b: 0xdf860: /lib64/libglib-2.0.so.0 + 0x3779b (g_main_context_dispatch + 0x23b)
0x345823af6d: 0xdf860: /lib64/libglib-2.0.so.0 + 0x3af6d
0x345823b12b: 0xdf860: /lib64/libglib-2.0.so.0 + 0x3b12b (g_main_context_iteration + 0x6b)
0x1293e4: 0x55008: /usr/lib64/openoffice.org/basis3.0/program/libvclplug_gtklx.so + 0x193e4
0x31db6f013e: 0x3f0dc8: /usr/lib64/openoffice.org3/program/../basis-link/program/libvcllx.so + 0xf013e (Application::Yield(bool) + 0x3e)
0x31db6f01b7: 0x3f0dc8: /usr/lib64/openoffice.org3/program/../basis-link/program/libvcllx.so + 0xf01b7 (Application::Execute() + 0x27)
0x31e0029269: 0x74938: /usr/lib64/openoffice.org3/program/../basis-link/program/libsofficeapp.so + 0x29269
0x31db6f4754: 0x3f0dc8: /usr/lib64/openoffice.org3/program/../basis-link/program/libvcllx.so + 0xf4754
0x31db6f47f5: 0x3f0dc8: /usr/lib64/openoffice.org3/program/../basis-link/program/libvcllx.so + 0xf47f5 (SVMain() + 0x25)
0x31e005be4c: 0x74938: /usr/lib64/openoffice.org3/program/../basis-link/program/libsofficeapp.so + 0x5be4c (soffice_main + 0x9c)
0x40094b: 0x1028: /usr/lib64/openoffice.org3/program/scalc.bin + 0x94b (main + 0xb)
0x3c17a1e576: 0x16bb40: /lib64/libc.so.6 + 0x1e576 (__libc_start_main + 0xe6)
0x400879: 0x1028: /usr/lib64/openoffice.org3/program/scalc.bin + 0x879
...end stackreport details ...
...start sample ldd details ...
linux-vdso.so.1 => (0x00007fff663fe000)
libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x0000000000764000)
libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x0000000000110000)
libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00000000003ae000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000000000fc8000)
libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x0000000059b2a000)
libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x000000000123c000)
libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x0000000001459000)
libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x0000000001664000)
libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00000000018d8000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x0000000001b21000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000000001dba000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x0000000001feb000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00000000021ee000)
librt.so.1 => /lib64/librt.so.1 (0x00000000023f2000)
libdbus-glib-1.so.2 => /usr/lib64/libdbus-glib-1.so.2 (0x00000000025fb000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x000000000281b000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00000000aa816000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000000002a59000)
libvclplug_genlx.so => /usr/lib64/openoffice.org/basis3.0/program/libvclplug_genlx.so (0x0000000002d3a000)
libvcllx.so => /usr/lib64/openoffice.org/basis3.0/program/libvcllx.so (0x0000000002fcf000)
libpsplx.so => /usr/lib64/openoffice.org/basis3.0/program/libpsplx.so (0x00000000035cd000)
libsotlx.so => /usr/lib64/openoffice.org/basis3.0/program/libsotlx.so (0x00000000038c5000)
libutllx.so => /usr/lib64/openoffice.org/basis3.0/program/libutllx.so (0x0000000003b29000)
libtllx.so => /usr/lib64/openoffice.org/basis3.0/program/libtllx.so (0x0000000003dc4000)
libcomphelp4gcc3.so => /usr/lib64/openoffice.org/basis3.0/program/libcomphelp4gcc3.so (0x0000000004073000)
libucbhelper4gcc3.so => /usr/lib64/openoffice.org/basis3.0/program/libucbhelper4gcc3.so (0x00000000043c8000)
libuno_cppuhelpergcc3.so.3 => /usr/lib64/openoffice.org/basis3.0/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3 (0x0000000004644000)
libuno_cppu.so.3 => /usr/lib64/openoffice.org/basis3.0/program/../ure-link/lib/libuno_cppu.so.3 (0x00000000048ee000)
libvos3gcc3.so => /usr/lib64/openoffice.org/basis3.0/program/libvos3gcc3.so (0x0000000004b1c000)
libuno_sal.so.3 => /usr/lib64/openoffice.org/basis3.0/program/../ure-link/lib/libuno_sal.so.3 (0x0000000004d43000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x000000000513a000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x000000002da01000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000000005341000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000000005552000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000000005756000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000000005972000)
libm.so.6 => /lib64/libm.so.6 (0x0000000005c7c000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000000005f01000)
libc.so.6 => /lib64/libc.so.6 (0x0000000006118000)
libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x000000000648a000)
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x000000000668c000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x000000000688e000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x0000000006a93000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00000000f7aa8000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x0000000006cb8000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x0000000006eba000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00000000070c3000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00000000072cd000)
libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00000000074ea000)
libz.so.1 => /lib64/libz.so.1 (0x000000000772e000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x0000000007943000)
/lib64/ld-linux-x86-64.so.2 (0x0000003c17600000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000000007b6c000)
libcap.so.2 => /lib64/libcap.so.2 (0x0000000007d86000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x000000003a314000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000000007f8a000)
libi18nisolang1gcc3.so => /usr/lib64/openoffice.org/basis3.0/program/libi18nisolang1gcc3.so (0x00000000081a5000)
libbasegfxlx.so => /usr/lib64/openoffice.org/basis3.0/program/libbasegfxlx.so (0x00000000083aa000)
libicuuc.so.40 => /usr/lib64/libicuuc.so.40 (0x0000000008631000)
libicule.so.40 => /usr/lib64/libicule.so.40 (0x000000000897a000)
libjvmaccessgcc3.so.3 => /usr/lib64/openoffice.org/basis3.0/program/../ure-link/lib/libjvmaccessgcc3.so.3 (0x0000000008baf000)
libuno_salhelpergcc3.so.3 => /usr/lib64/openoffice.org/basis3.0/program/../ure-link/lib/libuno_salhelpergcc3.so.3 (0x0000000008db6000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000000a9ffb000)
libxcb-xlib.so.0 => /usr/lib64/libxcb-xlib.so.0 (0x0000000008fba000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00000000091bb000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00000000093d6000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00000000095d8000)
libicudata.so.40 => /usr/lib64/libicudata.so.40 (0x00007fed5d278000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00000000097dc000)
...end sample ldd details ...
Posted by Marc S on March 27, 2009 at 10:39 PM CET #
I'm not Andreas, but I recommend to use a build from download.openoffice.org to see if the crash goes away.
Posted by Mathias Bauer on March 30, 2009 at 06:56 PM CEST #
This sounds really stellar, Openoffice 2.6 built for Ubuntu had a non-linear solver, but 3.0 does not and I need it for my work.
Unfortunately, trying to install this gives me the following error, which I have no idea how to interpret:
(com.sun.star.registry.CannotRegisterImplementationException) { { Message = "", Context = (com.sun.star.uno.XInterface) @0 } }
Is there something I can do to make this work with my installation? I am using the standard build that comes with Ubuntu 9.04 (32 bit) and tried it with both Sun Java 6 and Sun Java 5 JREs.
Posted by Brian Neltner on April 01, 2009 at 12:11 AM CEST #
As I wrote in my last comment: please use a build from download.openoffice.org.
Ubuntu might ship the go-oo-o build that might not be compatible with some extensions. As we can't test extensions with builds that other people do we can only help if you are using a "vanilla" build.
BTW: what is OpenOffice.org 2.6?
Posted by Mathias Bauer on April 01, 2009 at 12:17 AM CEST #
Thanks Mathias, I tried that and it works now! The new solver is great, much better than the one in the 2.4 version of OpenOffice. With the old solver, I frequently had to tell it to solve hundreds of times before it converged; I love the new interface, and am much more confident in the results using the new methods.
Posted by Brian Neltner on April 01, 2009 at 04:44 PM CEST #
Ah, the 2.4 version from Ubuntu...
Yes, it contained another solver component provided by a Novell developer.
I'm glad you like the new solver. :-)
Posted by Mathias Bauer on April 01, 2009 at 06:33 PM CEST #