Source code for sbmlsim.fit.pet.petab_example_01

"""Example using pypesto, petab, amici.



"""
import os.path

import amici

# import matplotlib and increase image resolution
import matplotlib as mpl
import numpy as np
import petab

import pypesto
import pypesto.optimize as optimize
import pypesto.petab
import pypesto.visualize as visualize

mpl.rcParams['figure.dpi'] = 300


# define objective function
[docs]def f(x: np.array): return x[0] ** 2 + x[1] ** 2
# define gradient
[docs]def grad(x: np.array): return 2 * x
# define objective
[docs]custom_objective = pypesto.Objective(fun=f, grad=grad)
# define optimization bounds
[docs]lb = np.array([-10, -10])
[docs]ub = np.array([10, 10])
# create problem
[docs]custom_problem = pypesto.Problem(objective=custom_objective, lb=lb, ub=ub)
# choose optimizer
[docs]optimizer = optimize.ScipyOptimizer()
# do the optimization
[docs]result_custom_problem = optimize.minimize( problem=custom_problem, optimizer=optimizer, n_starts=10 )
# E.g. The best model fit was obtained by the following optimization run: print(result_custom_problem.optimize_result.list[0])