Exemplo n.º 1
0
def test_optimize():
    optimize(mapk_cascade, 1, 3, max_generation=10, overwrite=True)
    for i in range(1, 4):
        with open(MODEL_PATH + f'/out/{i:d}/optimization.log') as f:
            logs = f.readlines()
        assert logs[-1][:14] == 'Generation10: '

    optimize_continue(mapk_cascade, 1, 3, max_generation=20)
    for i in range(1, 4):
        with open(MODEL_PATH + f'/out/{i:d}/optimization.log') as f:
            logs = f.readlines()
        assert logs[-1][:14] == 'Generation20: '
Exemplo n.º 2
0
def run_ga(nth_paramset):
    if not os.path.isdir('./out'):
        os.mkdir('./out')
    try:
        files = os.listdir('./out/%d' % (nth_paramset))
        for file in files:
            if any(map(file.__contains__, ('.npy', 'log'))):
                os.remove('./out/%d/%s' % (nth_paramset, file))
    except FileNotFoundError:
        os.mkdir('./out/%d' % (nth_paramset))

    optimize(nth_paramset)
Exemplo n.º 3
0
def test_param_estim():
    optimize(model,
             x_id=11,
             options={
                 "popsize": 3,
                 "max_generation": 5,
                 "allowable_error": 0.0,
                 "local_search_method": "DE",
                 "maxiter": 3,
                 "workers": -1,
             })
    with open(os.path.join(model.path, "out", "11", "optimization.log")) as f:
        logs = f.readlines()
    assert logs[-1][:13] == "Generation5: "
Exemplo n.º 4
0
def test_optimize():
    optimize(
        model=model,
        x_id=range(1, 4),
        options={
            "popsize": 3,
            "max_generation": 3,
            "local_search_method": "mutation",
            "n_children": 15,
            "overwrite": True,
        },
    )
    for paramset in range(1, 4):
        with open(
            os.path.join(
                model.path,
                "out",
                f"{paramset:d}",
                "optimization.log",
            )
        ) as f:
            logs = f.readlines()
        assert logs[-1][:13] == "Generation3: "

    optimize_continue(
        model=model,
        x_id=range(1, 4),
        options={
            "popsize": 3,
            "max_generation": 6,
            "local_search_method": "Powell",
        },
    )
    for paramset in range(1, 4):
        with open(
            os.path.join(
                model.path,
                "out",
                f"{paramset:d}",
                "optimization.log",
            )
        ) as f:
            logs = f.readlines()
        assert logs[-1][:13] == "Generation6: "

    optimize_continue(
        model=model,
        x_id=range(1, 4),
        options={
            "popsize": 3,
            "max_generation": 9,
            "local_search_method": "DE",
        },
    )
    for paramset in range(1, 4):
        with open(
            os.path.join(
                model.path,
                "out",
                f"{paramset:d}",
                "optimization.log",
            )
        ) as f:
            logs = f.readlines()
        assert logs[-1][:13] == "Generation9: "
Exemplo n.º 5
0
#Model construction
import Hass_2017

Hass_2017.show_info()
model = Hass_2017.create()

#Parameter estimation
from biomass import optimize
# Estimate 10 parameter sets simultaneously
optimize(model=model,
         start=1,
         end=10,
         options={
             "popsize": 5,
             "max_generation": 1000,
             "allowable_error": 0.5,
             "local_search_method": "mutation",
             "n_children": 200
         })

#Visualization of simulation results
from biomass import run_simulation

run_simulation(model, viz_type="average", show_all=False, stdev=True)

#Sensitivity analysis
from biomass import run_analysis

run_analysis(model, target="reaction", metric='integral', style='barplot')
Exemplo n.º 6
0
def run_ga_continue(nth_paramset):
    if not os.path.isdir('./out/%d' % (nth_paramset)):
        os.mkdir('./out/%d' % (nth_paramset))
        optimize(nth_paramset)
    else:
        optimize_continue(nth_paramset)