当前位置: 首页>>代码示例>>Python>>正文


Python ModelEnsemble.perform_robust_optimization方法代码示例

本文整理汇总了Python中expWorkbench.ModelEnsemble.perform_robust_optimization方法的典型用法代码示例。如果您正苦于以下问题:Python ModelEnsemble.perform_robust_optimization方法的具体用法?Python ModelEnsemble.perform_robust_optimization怎么用?Python ModelEnsemble.perform_robust_optimization使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在expWorkbench.ModelEnsemble的用法示例。


在下文中一共展示了ModelEnsemble.perform_robust_optimization方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: robust_optimize

# 需要导入模块: from expWorkbench import ModelEnsemble [as 别名]
# 或者: from expWorkbench.ModelEnsemble import perform_robust_optimization [as 别名]
def robust_optimize():
    ema_logging.log_to_stderr(ema_logging.INFO)
 
    model = TestModel("", 'simpleModel') #instantiate the model
    ensemble = ModelEnsemble() #instantiate an ensemble
    ensemble.set_model_structure(model) #set the model on the ensemble
    
    
    policy_levers = { "L1": (0,1),
                      "L2": (0,1)}
    
    def obj_func(results):
        return np.average(results['y'])        
    
    results = ensemble.perform_robust_optimization(cases=1000, 
                                                   obj_function=obj_func, 
                                                   policy_levers=policy_levers, 
                                                   minimax='minimize', 
                                                   nrOfGenerations=50, 
                                                   nrOfPopMembers=20 )
    graph_errorbars_raw(results['stats'])
    plt.show()
开发者ID:,项目名称:,代码行数:24,代码来源:

示例2: EnergyTrans

# 需要导入模块: from expWorkbench import ModelEnsemble [as 别名]
# 或者: from expWorkbench.ModelEnsemble import perform_robust_optimization [as 别名]
    outcome = outcomes['total fraction new technologies']
    zeros = np.zeros((outcome.shape[0], 1))
    zeros[outcome[:,-1]>0.6] = 1
    value = np.sum(zeros)/zeros.shape[0] 
    return value,

if __name__ == "__main__":
    ema_logging.log_to_stderr(ema_logging.INFO)
    model = EnergyTrans(r"..\data", "ESDMAElecTrans")
       
    ensemble = ModelEnsemble()
    ensemble.set_model_structure(model)
    ensemble.parallel = True
    
    policy_levers = {'Trigger subsidy T2': {'type':'range', 'values':(0,1)},
                   'Trigger subsidy T3': {'type':'range', 'values':(0,1)},
                   'Trigger subsidy T4': {'type':'range', 'values':(0,1)},
                   'Trigger addnewcom': {'type':'list', 'values':[0, 0.25, 0.5, 0.75, 1]}}
    
    stats_callback, pop   = ensemble.perform_robust_optimization(cases=10,
                                               reporting_interval=100,
                                               obj_function=obj_func,
                                               policy_levers=policy_levers,
                                               weights = (MAXIMIZE,),
                                               nr_of_generations=100,
                                               pop_size=10,
                                               crossover_rate=0.5, 
                                               mutation_rate=0.02,
                                               mutationRate=0.01
                                               )
    save_optimization_results((stats_callback, pop), '../data/robust test.bz2')
开发者ID:,项目名称:,代码行数:33,代码来源:

示例3: ModelEnsemble

# 需要导入模块: from expWorkbench import ModelEnsemble [as 别名]
# 或者: from expWorkbench.ModelEnsemble import perform_robust_optimization [as 别名]
       
    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,
                                               crossover_rate=0.5, 
                                               mutation_rate=0.02,
                                               caching=True,
                                               eps=[0.01, 0.01]
                                               )
开发者ID:rjplevin,项目名称:EMAworkbench,代码行数:32,代码来源:test_robust_optimization.py


注:本文中的expWorkbench.ModelEnsemble.perform_robust_optimization方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。