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:
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.
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.
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:
Download current version files: AMIGO2_R2019a.zip wich includes Inverse Optimal Control add-on
Unzip the .zip archives in your computer (avoid folders with spaces)
Follow the examples in Examples\Inverse_Optimal_Control_IOC
Installation
Start a Matlab session and go to the AMIGO2_R2018 folder and type:
> AMIGO_Startup
Run the examples in Examples\Inverse_Optimal_Control_IOC
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.