1010
1111import sys
1212import os
13+ import json
1314import copy
15+ import shutil
1416import numpy as np
1517import pyomo .environ as pyo
1618import pyomo .common .config as pyofig
2123import mpisppy .utils .config as config
2224import mpisppy .utils .sputils as sputils
2325
26+ from mpisppy .convergers .norm_rho_converger import NormRhoConverger
27+ from mpisppy .convergers .primal_dual_converger import PrimalDualConverger
28+
2429from mpisppy .extensions .extension import MultiExtension , Extension
30+ from mpisppy .extensions .norm_rho_updater import NormRhoUpdater
31+ from mpisppy .extensions .primal_dual_rho import PrimalDualRho
32+ from mpisppy .extensions .grad_rho import GradRho
33+ from mpisppy .extensions .scenario_lp_mps_files import Scenario_lp_mps_files
34+
35+ from mpisppy .utils .wxbarwriter import WXBarWriter
36+ from mpisppy .utils .wxbarreader import WXBarReader
37+
38+ import mpisppy .utils .pickle_bundle as pickle_bundle
39+ import mpisppy .utils .proper_bundler as proper_bundler
2540
2641import mpisppy .utils .solver_spec as solver_spec
2742
2843from mpisppy import global_toc
2944from mpisppy import MPI
3045
31-
3246def _parse_args (m ):
3347 # m is the model file module
3448 cfg = config .Config ()
@@ -152,13 +166,11 @@ def do_decomp(module, cfg, scenario_creator, scenario_creator_kwargs, scenario_d
152166 raise RuntimeError ("No rho_setter so a default must be specified via --default-rho" )
153167
154168 if cfg .use_norm_rho_converger :
155- from mpisppy .convergers .norm_rho_converger import NormRhoConverger
156169 if not cfg .use_norm_rho_updater :
157170 raise RuntimeError ("--use-norm-rho-converger requires --use-norm-rho-updater" )
158171 else :
159172 ph_converger = NormRhoConverger
160173 elif cfg .primal_dual_converger :
161- from mpisppy .convergers .primal_dual_converger import PrimalDualConverger
162174 ph_converger = PrimalDualConverger
163175 else :
164176 ph_converger = None
@@ -239,26 +251,21 @@ def do_decomp(module, cfg, scenario_creator, scenario_creator_kwargs, scenario_d
239251 vanilla .add_integer_relax_then_enforce (hub_dict , cfg )
240252
241253 if cfg .grad_rho :
242- from mpisppy .extensions .grad_rho import GradRho
243254 ext_classes .append (GradRho )
244255 hub_dict ['opt_kwargs' ]['options' ]['grad_rho_options' ] = {'cfg' : cfg }
245256
246257 if cfg .write_scenario_lp_mps_files_dir is not None :
247- from mpisppy .extensions .scenario_lp_mps_files import Scenario_lp_mps_files
248258 ext_classes .append (Scenario_lp_mps_files )
249259 hub_dict ['opt_kwargs' ]['options' ]["write_lp_mps_extension_options" ]\
250260 = {"write_scenario_lp_mps_files_dir" : cfg .write_scenario_lp_mps_files_dir }
251261
252262 if cfg .W_and_xbar_reader :
253- from mpisppy .utils .wxbarreader import WXBarReader
254263 ext_classes .append (WXBarReader )
255264
256265 if cfg .W_and_xbar_writer :
257- from mpisppy .utils .wxbarwriter import WXBarWriter
258266 ext_classes .append (WXBarWriter )
259267
260268 if cfg .user_defined_extensions is not None :
261- import json
262269 for ext_name in cfg .user_defined_extensions :
263270 module = sputils .module_name_to_module (ext_name )
264271 ext_classes = []
@@ -306,12 +313,10 @@ def do_decomp(module, cfg, scenario_creator, scenario_creator_kwargs, scenario_d
306313
307314 # norm rho adaptive rho (not the gradient version)
308315 if cfg .use_norm_rho_updater :
309- from mpisppy .extensions .norm_rho_updater import NormRhoUpdater
310316 vanilla .extension_adder (hub_dict , NormRhoUpdater )
311317 hub_dict ['opt_kwargs' ]['options' ]['norm_rho_options' ] = {'verbose' : cfg .verbose }
312318
313319 if cfg .use_primal_dual_rho_updater :
314- from mpisppy .extensions .primal_dual_rho import PrimalDualRho
315320 vanilla .extension_adder (hub_dict , PrimalDualRho )
316321 hub_dict ['opt_kwargs' ]['options' ]['primal_dual_rho_options' ] = {
317322 'verbose' : cfg .verbose ,
@@ -473,8 +478,6 @@ def _write_scenarios(module,
473478 scenario_creator_kwargs ,
474479 scenario_denouement ,
475480 comm ):
476- import mpisppy .utils .pickle_bundle as pickle_bundle
477- import shutil
478481 assert hasattr (cfg , "num_scens" )
479482 ScenCount = cfg .num_scens
480483
@@ -504,7 +507,6 @@ def _write_scenarios(module,
504507
505508#==========
506509def _read_pickled_scenario (sname , cfg ):
507- import mpisppy .utils .pickle_bundle as pickle_bundle
508510 fname = os .path .join (cfg .unpickle_scenarios_dir , sname + ".pkl" )
509511 scen = pickle_bundle .dill_unpickle (fname )
510512 return scen
@@ -516,8 +518,6 @@ def _write_bundles(module,
516518 scenario_creator ,
517519 scenario_creator_kwargs ,
518520 comm ):
519- import mpisppy .utils .pickle_bundle as pickle_bundle
520- import shutil
521521 assert hasattr (cfg , "num_scens" )
522522 ScenCount = cfg .num_scens
523523 bsize = int (cfg .scenarios_per_bundle )
@@ -668,7 +668,6 @@ def _proper_bundles(cfg):
668668
669669 bundle_wrapper = None # the default
670670 if _proper_bundles (cfg ):
671- import mpisppy .utils .proper_bundler as proper_bundler
672671 bundle_wrapper = proper_bundler .ProperBundler (module )
673672 bundle_wrapper .set_bunBFs (cfg )
674673 scenario_creator = bundle_wrapper .scenario_creator
@@ -694,6 +693,7 @@ def _proper_bundles(cfg):
694693 scenario_creator_kwargs ,
695694 global_comm )
696695 elif cfg .pickle_scenarios_dir is not None :
696+ import mpisppy .utils .pickle_bundle as pickle_bundle
697697 global_comm = MPI .COMM_WORLD
698698 _write_scenarios (module ,
699699 cfg ,
0 commit comments