Some new examples

Hi there, the Examples page was updated, with some new applications (bioreactor, micro-swimmer, contrast in MRI).

Working on the 2.0.5 release.

Pierre

Posted in General News | Comments Off

Bocop 2.0.4

Bocop 2.0.4 is out.

This is mostly a bugfix release. Main changes include:

  • Bug fix / feature removal: removed the ability to edit the C++ function of the problem in Definition tab. The .tpp files can be handled by any text editor (qtcreator, gedit, notepad++, …). This feature had caused some pretty annoying bugs (e.g. recently mixing files criterion.tpp and dynamics.tpp) and was getting increasingly complicated to maintain properly.
  • Bug fix: the button to stop an ongoing optimization works again.
  • GUI commands for clean / build / run were revamped for faster (and hopefully more stable) building process.
  • GUI / core: changed some default initialization values from 0 to 0.1 to reduce the risk of math errors on first iteration.

Links and complete changelog are available on the Download page.

Posted in Uncategorized | Comments Off

GUI bugs

Hi everyone.
Packages will be offline for a few days due to some bugs in the Qt GUI.
For instance, the GUI can in some cases mix up the buffers for source files criterion.tpp and dynamics.tpp, which is quite annoying to say the least.
Working on it for a 2.0.4 release soon.

Posted in Uncategorized | Comments Off

2.0.3 bugfix

15 oct update: windows package was incorrectly linked to an empty file. Fixed.

Packages for 2.0.3 are up again.
In particular, problems written with previous problems should no longer fail to build due to the absence of the file ‘dependencies.cpp’ (you could also create an empty file as a quick workaround).

Posted in Uncategorized | Comments Off

Bocop 2.0.3

Bocop 2.0.3 is out.

This is mostly a maintenance release. Main changes include:

  • Bug fix: fix for the “don’t have function for random number generator” error that could prevent building Ipopt on Linux.
  • Bug fix: a pre-built version of Ipopt for Windows was added as a workaround to the build process hanging during Matlab detection.
  • GUI command ‘Run’ now automatically saves the c++ files and builds the bocop executable if needed. Therefore, no more error message for missing executable, and no need to launch the ‘Build’ command manually before ‘Run’. Also, building process now uses Release settings by default, the option to build with ‘Debug’ settings was added in the Build menu.
  • New optional feature: you can now save the solution files corresponding to the iterations of the optimization solver (Ipopt). This option is governed by a new parameter in the problem.def file: iteration.output.frequency. The default value of 0 will disable the save of iterations, keeping only the usual .sol file at the convergence. A value of k will save one in k iterations. These iterations saves are named problem.sol.iterxxx. This option is useful to track the progress of the optimization, for instance to investigate convergence problems, or help tune Ipopt parameters.

Links and complete changelog are available on the Download page.

Posted in Uncategorized | Comments Off

BocopHJB 1.0.1

BocopHJB 1.0.1 is out!

The BocopHJB package implements a global optimization method. Similarly to the Dynamic Programming approach, the optimal control problem is solved in two steps. First we solve the Hamilton-Jacobi-Bellman equation satisfied by the value function of the problem. Then we simulate the optimal trajectory from any chosen initial condition.

Key features:

  • Global optimization for both deterministic and stochastic optimal control problems.
  • Handles switching between discrete modes of the system.
  • Stopping time problems can be solved using switching.
  • Built-in simulation module to recompute optimal strategies.
  • Support advanced rules to define the discrete control set.
  • Parallel execution with OpenMP.
  • Matlab/Python scripts to read the value function and simulated trajectories.
Posted in Uncategorized | Comments Off

Ipopt incompatibility with gcc 4.8.3

The following error may occur when compiling Bocop for the first time on Linux:

error: #error "don't have function for random number generator"

It is caused by an incompatibility between Ipopt 3.11.8 and gcc 4.8.3.

We will release a new version of Bocop that fix that problem. Meanwhile, to fix it, you can compile Ipopt yourself by executing the following commands:

cd <BOCOP>/ThirdParty/Ipopt-3.11.8
./configure --prefix=<BOCOP>/ThirdParty/Ipopt-3.11.8/ --enable-static coin_skip_warn_cxxflags=yes
make -j
make install

where <BOCOP> is the absolute path to the install directory of Bocop (the one in which you have extracted the package).

Posted in General News | Comments Off

Bocop 2.0.2

Bocop 2.0.2 is out.

Main changes include:

  • Single variable initialization from file.
  • New pre-defined functions callable in problem definition source files (see¬†section A.4¬† “Public Tools” in the User Guide).
  • Automatic backup files of problem definition and solution.

Links and complete changelog are available on the Download page.

Posted in General News | Comments Off

Yosemite incompatibility solution

The gfortran compiler version 5.0 seems to work on Yosemite!
Please go here (bottom of the page) for the complete installation procedure.

Posted in General News | Comments Off

Yosemite incompatibility

Update: more precisely, the problem seems to be with the Fortran compiler gfortran, for which there is no Yosemite-compatible version yet.

Pierre

Posted in General News | Comments Off