x3cflux.run_multi_optimization
- class x3cflux.run_multi_optimization(simulator, starting_points: ndarray, bounds: Dict[str, Tuple[float, float]] = None, num_procs: int = -1, **kwargs)
Run multi-start parallel optimization from given starting points.
Optimization uses the interior point optimizer ipopt and its Python interface cyipopt. ipopt can be configured by passing the appropriate kwargs. See A. Wächter and L. T. Biegler (2006), https://link.springer.com/article/10.1007/s10107-004-0559-y.
- Parameters:
simulator – Labeling simulator to evaluate the SSR and its gradient
starting_points – Starting point/initial guess of metabolic parameters. Shape has to be (N, M) with N being the number of metabolic parameters and M being the number of multi-starts
bounds – Parameter boundary constraints
num_procs – Number of parallel workers. If the value is below one, the number of workers is set to the number of available CPU’s.
kwargs – Pass ipopt options as kwargs. See https://coin-or.github.io/Ipopt/OPTIONS.html
- Returns:
Matrix of optimal parameters and vector of SSR values at each local optimum