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.

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).

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.

Using multiples versions/packages of Bocop

Dear users,

It is quite possible to have several versions of Bocop on the same machine, for instance if you want to upgrade while keeping your previous version just in case.
In this case, however, you have to make sure the Qt interface knows which package/version to use when building the executables for your problems.
This is done in the menu bar with the ‘Set path’ option, in which you simply have to give the location of the root folder for the Bocop package (meaning the folder with the README, INSTALL, LICENSE, etc files).

The GUI already checks by itself that its version number matches the version number for the core package, but this check will fail for instance if you use both a precompiled and source package with the same version number.

So in short, when you install a new package on a machine with a previous install of Bocop, please make sure that the path to the root of the package is correctly set. Menu bar -> Set root path.


Pierre Martinon

Bocop 2.0.1

Bocop 2.0.1 is out.

Main fixes include:

  • Batch folder created if not existing when calling a batch optimization from command line
  • Final time of the observation files allowed to be equal to final time of the problem  when doing parameter identification
  • Batch conversion between number of optimizations and batch step fixed
  • Keep memory of the batch informations when switching between batch and single optimization in the GUI

Links and complete changelog are available on the Download page.

Bocop 2.0.0

Bocop 2.0.0 is out.

Main changes include:

  • ThirdParty update
  • ThirdParty build handled by cmake

Links and complete changelog are available on the Download page.

Bocop 1.1.6

Bocop 1.1.6 is out. Since several bug fixes were involved in the previous version, the 1.1.6 represents a stable version of the 1.1.5.

Main fixes include:

  • bad reading of the observation files on some systems (ex: Mac, Ubuntu 12.04) corrected
  • set compilers to cc and c++ for Mac
  • visualization and export option adapted to the parameter identification case

Links and complete changelog are available on the Download page.

Bug fix on 1.1.5

Dear users,

a new Bocop 1.1.5 version with some little bug fixes in the parameter identification is out. We kindly recommend you to download this version on the Download page.

The Bocop team