if __name__ == "__main__":
    ema_logging.log_to_stderr(ema_logging.INFO)
    model = DummyModel(r"", "dummy")
    
    np.random.seed(123456789)
       
    ensemble = ModelEnsemble()
    ensemble.set_model_structure(model)

    
    policy_levers = {'Trigger a': {'type':'list', 'values':[0, 0.25, 0.5, 0.75, 1]},
                     'Trigger b': {'type':'list', 'values':[0, 0.25, 0.5, 0.75, 1]},
                     'Trigger c': {'type':'list', 'values':[0, 0.25, 0.5, 0.75, 1]}}
    
    cases = ensemble._generate_samples(10, UNION)[0]
    ensemble.add_policy({"name":None})
    experiments = [entry for entry in ensemble._generate_experiments(cases)]
    for entry in experiments:
        entry.pop("model")
        entry.pop("policy")
    cases = experiments    
    
    stats, pop   = ensemble.perform_robust_optimization(cases=cases,
                                               reporting_interval=100,
                                               obj_function=obj_func,
                                               policy_levers=policy_levers,
                                               weights = (MINIMIZE,)*2,
                                               nr_of_generations=20,
                                               algorithm=epsNSGA2,
                                               pop_size=4,
예제 #2
0
    policy_levers = {
        'Trigger a': {
            'type': 'list',
            'values': [0, 0.25, 0.5, 0.75, 1]
        },
        'Trigger b': {
            'type': 'list',
            'values': [0, 0.25, 0.5, 0.75, 1]
        },
        'Trigger c': {
            'type': 'list',
            'values': [0, 0.25, 0.5, 0.75, 1]
        }
    }

    cases = ensemble._generate_samples(10, UNION)[0]
    ensemble.add_policy({"name": None})
    experiments = [entry for entry in ensemble._generate_experiments(cases)]
    for entry in experiments:
        entry.pop("model")
        entry.pop("policy")
    cases = experiments

    stats, pop = ensemble.perform_robust_optimization(
        cases=cases,
        reporting_interval=100,
        obj_function=obj_func,
        policy_levers=policy_levers,
        weights=(MINIMIZE, ) * 2,
        nr_of_generations=20,
        algorithm=epsNSGA2,