コード例 #1
0
ファイル: config.py プロジェクト: jx-qqq/SEIMS
                                                  'vali_time_end')
        self.calc_validation = True if self.vali_stime and self.vali_etime else False
        if self.cali_stime >= self.cali_etime or (
                self.calc_validation and self.vali_stime >= self.vali_etime):
            raise ValueError("Wrong time settings in [CALI_Settings]!")

        # 3. Parameters settings for specific optimization algorithm
        self.opt_mtd = method
        self.opt = None
        if self.opt_mtd == 'nsga2':
            self.opt = ParseNSGA2Config(cf, self.model.model_dir,
                                        'CALI_NSGA2_Gen_%d_Pop_%d')

        # 4. (Optional) Plot settings for matplotlib
        self.plot_cfg = PlotConfig(cf)


if __name__ == '__main__':
    cf, method = get_optimization_config("Execute parameters calibration.")
    cfg = CaliConfig(cf, method=method)

    print(cfg)

    # test the picklable of SAConfig class.
    import pickle

    s = pickle.dumps(cfg)
    # print(s)
    new_cfg = pickle.loads(s)
    print(new_cfg.model.model_dir)
コード例 #2
0
ファイル: config.py プロジェクト: jx-qqq/SEIMS
        self.initial_byinput = cf.getboolean(self.opt_mtd.upper(), 'inputpopulation') if \
            cf.has_option(self.opt_mtd.upper(), 'inputpopulation') else False
        self.input_pareto_file = None
        self.input_pareto_gen = -1
        if cf.has_option(self.opt_mtd.upper(), 'paretofrontsfile'):
            self.input_pareto_file = cf.get(self.opt_mtd.upper(),
                                            'paretofrontsfile')
        if cf.has_option(self.opt_mtd.upper(), 'generationselected'):
            self.input_pareto_gen = cf.getint(self.opt_mtd.upper(),
                                              'generationselected')

        self.scenario_dir = self.opt.out_dir + os.path.sep + 'Scenarios'
        UtilClass.rmmkdir(self.scenario_dir)

        # 5. (Optional) Plot settings for matplotlib
        self.plot_cfg = PlotConfig(cf)


if __name__ == '__main__':
    cf, method = get_optimization_config('Execute scenario analysis.')
    cfg = SAConfig(cf, method=method)  # type: SAConfig

    # test the picklable of SAConfig class.
    import pickle

    s = pickle.dumps(cfg)
    new_cfg = pickle.loads(s)  # type: SAConfig
    print(new_cfg.model.model_dir)
    print('BMPs configuration unit %s, method %s' %
          (new_cfg.bmps_cfg_unit, new_cfg.bmps_cfg_method))