Inverse Optimal Control

NEWS

  • September 2017- Release of the add-on to solve Inverse Optimal Control problems, AMIGO_IOC.

  • January 2018 - Update to simplify C code compilation for LINUX and MAC users.

  • February 2018 - Update to fix compatibility issues with MATLAB 2017 versions.

  • March 2018 - Publication with theoretical background and examples:

Tsiantis N, Balsa-Canto E and Banga JR (2018) Optimality and identification of dynamic models in systems biology: an inverse optimal control framework. Bioinformatics, bty139 (link)

Aims the computation of initial or boundary conditions, parameters and (time-varying) stimulation conditions from experimental data.

The IOCP-I is formulated as a non-linear dynamic optimization problem aimed to find the model unknowns which minimize some measure of the distance between model predictions and experimental data.

AMIGO_IOCP covers the solution of this problem using the control vector parameterization approach together with a collection of initial value problem solvers and local, global and hybrid optimizers.

IOCP-I

Parameter and (time-varying) stimuli identification

IOCP-II

Identification of optimality principles from time-series data

The behavior of many biological processes and systems can be explained using optimality principles. However, the functions being optimized are in general unknown a priori.

IOCP-II aims the simultaneous identification of the underlying optimality principle, the unmeasured time-varying inputs and the time-invariant model parameters which are compatible with measured time-series data.

The problem can be solved using the following steps and AMIGO2 tools:

  1. Use AMIGO_IOCP to solve the upper IOCP-I estimation problem to obtain the time varying inputs and time-invariant parameters which best explain the data in the sense of least-squares or log-likelihood.

  2. Use the optimal parameter values obtained in Step 1 to compute the Pareto set of optimal stimuli using AMIGO_DO. Note that this is a multi-objective optimal control problem.

  3. Find the solution from the Pareto set which corresponds (or is closest) to the stimuli profiles obtained in Step 1.

Features

  • It handles non-linear algebraic constraints on states, stimuli, and parameters.

  • It includes regularization techniques for both parameters and stimuli.

  • It allows smoothing stimuli profiles.

Workflow of the solution

Download

The add-on is freely available to ACADEMIC USERS. Please follow these steps:

  1. Download current version files: AMIGO2_R2019a.zip wich includes Inverse Optimal Control add-on

  2. Unzip the .zip archives in your computer (avoid folders with spaces)

  3. Follow the examples in Examples\Inverse_Optimal_Control_IOC

Installation

  1. Start a Matlab session and go to the AMIGO2_R2018 folder and type:

  2. > AMIGO_Startup

  3. Run the examples in Examples\Inverse_Optimal_Control_IOC

  4. Use the examples scripts as templates to implement new cases

NOTE for MAC users: AMIGO2 incorporates some mex files to frotran optimizers. Please follow the instructions provided in the file AMIGO2_R2018/Examples/README_EXAMPLES.m to use these solvers in Macintosh Operating Systems.