Sitelet https://alphaville.github.io/optimization-engine/docs/faq
Skip to main content

Frequently Asked Questions

1. Do I need to be able to program in Rust?​

No. Although the core solver is written in Rust, you can generate code in Python or MATLAB and use it from Python. You can also use the auto-generated C/C++ bindings to use it in your embedded project.

Even if you are working in a Rust project, it is more convenient to generate Rust code using OpEn's Python interface and then use the auto-generated code in your project.

If your project is in some different language, you can either use the C/C++ bindings (if possible), or call the solver over a TCP socket (supported by all modern programming languages).

2. Can OpEn find the global optimum?​

No. OpEn does not offer any guarantees that the solution it returns is a global optimum.

3. Can OpEn solve mixed integer problems?​

Yes. OpEn solves parametric problems of the form

\[\begin{split}\mathbb{P}(p) {}:{} \operatorname*{Minimize}_{u {}\in{} \mathbb{R}^{n_u}}&\ \ f(u, p)\\ \mathrm{subject\ to}\ \ &u \in U\\ & F_1(u, p) \in C\\ & F_2(u, p) = 0\end{split}\]

Set $U$ can be a finite or binary set (on which it is easy to compute projections).

4. Can OpEn solve multi-objective problems?​

No.

5. How should I choose the L-BFGS memory?​

A value between 3 and 20 should suffice, although the performance is not too sensitive to the exact value of the L-BFGS memory. You shouldn't choose too high values as this will increase the memory requirements of your program (esp. for large-scale problems) and might have a negative effect on performance.

Long story short... if you need very high performance, you should experiment with it. Otherwise, stick with any value between 3 and 20.

6. How can I cite OpEn?​

See this page

7. Does it work on all operating systems?​

Yes. We have tested the code on Linux (Trusty, Precise and Xenial), OSX Darwin and Windows x32 adn x64 using Travis CI and Appveyor reprectively. We have also cross-compiled the Rust solver and tested it on a Raspberry Pi v2 (ARM v6 processor).

8. I have a question; whom should I address it to?​

You can reach us on Discord and Gitter.

Find out more information here.

9. How can I report an issue?​

Please report any issues on github.

10. Is OpEn being actively developed​

Yes, we are constantly exploring extensions, adding new features and addressing issues that our users report on github. See some statistics about OpEn below: