Changeset 3155


Ignore:
Timestamp:
Oct 25, 2010 12:15:29 AM (10 years ago)
Author:
jwatson
Message:

Added --linearize-expression and associated processing to runef PySP script.

Location:
coopr.pysp/trunk/coopr/pysp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • coopr.pysp/trunk/coopr/pysp/ef.py

    r3038 r3155  
    1010from coopr.pysp.convergence import *
    1111from coopr.pysp.ph import *
     12from coopr.pysp.phutils import *
    1213
    1314from coopr.pyomo.base import *
     
    505506
    506507def write_ef_from_scratch(model_directory, instance_directory, output_filename,
    507                           verbose_output,
     508                          verbose_output, linearize,
    508509                          generate_weighted_cvar, cvar_weight, risk_alpha):
    509510
     
    617618   for scenario in scenario_tree._scenarios:
    618619
    619       scenario_instance = None
    620 
    621       if verbose_output is True:
    622          print "Creating instance for scenario=" + scenario._name
    623 
    624       try:
    625          if scenario_tree._scenario_based_data == 1:
    626             scenario_data_filename = scenario_data_directory_name + os.sep + scenario._name + ".dat"
    627             scenario_instance = master_scenario_model.create(scenario_data_filename)
    628          else:
    629             scenario_instance = master_scenario_model.clone()
    630             scenario_data = ModelData()
    631             current_node = scenario._leaf_node
    632             while current_node is not None:
    633                node_data_filename = scenario_data_directory_name + os.sep + current_node._name + ".dat"
    634                scenario_data.add(node_data_filename)
    635                current_node = current_node._parent
    636             scenario_data.read(model=scenario_instance)
    637             scenario_instance.load(scenario_data)
    638             scenario_instance.preprocess()
    639       except:
    640          print "Encountered exception in model instance creation - traceback:"
    641          traceback.print_exc()
    642          raise RuntimeError, "Failed to create model instance for scenario=" + scenario._name
    643 
     620      scenario_instance = construct_scenario_instance(scenario_tree,
     621                                                      instance_directory,
     622                                                      scenario._name,
     623                                                      master_scenario_model,
     624                                                      verbose=verbose_output,
     625                                                      preprocess=True,
     626                                                      linearize=linearize)
     627
     628      scenario_instances[scenario._name] = scenario_instance
    644629      # name each instance with the scenario name, so the prefixes in the EF make sense.
    645630      scenario_instance.name = scenario._name
    646      
    647       scenario_instances[scenario._name] = scenario_instance
    648631
    649632   if re_enable_gc is True:
  • coopr.pysp/trunk/coopr/pysp/ef_writer_script.py

    r3107 r3155  
    8282     type='float',
    8383     default=0.95)
     84   efOpts.add_option("--linearize-expressions",
     85     help="EXPERIMENTAL: An option intended for use on linear or mixed-integer models " \
     86          "in which expression trees in a model (constraints or objectives) are compacted " \
     87          "into a more memory-efficient and concise form. The trees themselves are eliminated. ",
     88     action="store_true",
     89     dest="linearize_expressions",
     90     default=False)
    8491
    8592   solverOpts.add_option('--mipgap',
     
    184191                                                                               os.path.expanduser(options.output_file),
    185192                                                                               options.verbose,
     193                                                                               options.linearize_expressions,
    186194                                                                               generate_weighted_cvar, cvar_weight, risk_alpha)
    187195
Note: See TracChangeset for help on using the changeset viewer.