Skip to content

Documentation: running from user directory #306

Description

@m4r35n357

I am trying to incorporate PRIMA into my own (hobby) project, having successfully added NLOPT. The latter was installed as a package so headers & libraries are easy to find. I am not a "career" programmer (I am more concerned with the problem domain) so this stuff can be really hard! I was pleasantly surprised how easiily the c example (NEWUOA) built & ran from the commands supplied!

The following include seems to work:

#include "/opt/PRIMA/prima/install/include/prima/prima.h"

But I am less sure of the library locations:

# Powell's methods (PRIMA)
pow-%-std: %.o base.o filters.o prima.o
        $(CC) $(CFLAGS) -o $@ $^ -L /opt/PRIMA/prima/install/lib -lprimaf -lprimac $(LIB_STD)

-lprima got me nowhere . . . so I tried to use both primac and primaf as above, but I am getting:

./pow-trid-std: error while loading shared libraries: libprimac.so: cannot open shared object file: No such file or directory
make: *** [Makefile:213: test-3d] Error 127

(my project uses make, and I don't know cmake!). Would it be possible to add something to the README that shows how to do this?

Incidentally, my project contains some really substantial problems involving electrical filters that are far more interesting than the standard test functions (and are also variable in dimension), you might even be interested in taking them on, but that is another matter ;)

After a further days' testing, I can say with some confidence that my filter functions seem to have defeated NEWUOA entirely - despite it working on the "standard" test functions up to 64th order, NEWUOA fails entirely on my filter functions, even when started at a solution in a second-order problem! I would dearly love to get a second opinion, to eliminate the possibility of a bug in NLOPT.

Conversely, my "enhanced Nelder-Mead" optimizer succeeds up to dimension at least 21 (41st-order filter by symmetry), with various fixed and random-ish starting conditions. Surely this is not right?

For information, the filter functions are the complex magnitudes of ratios of complex polynomials (and transcandentals - tan()), over a range of frequency points (against ideal filter characteristic or passband/stopband specifications). Perhaps this is not a suitable form?

If there is a better contact point to report this sort of information please let me know!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions