Changeset 2320


Ignore:
Timestamp:
Feb 11, 2010 9:03:02 PM (10 years ago)
Author:
jwatson
Message:

A *very* early commit of a Pyro-based PH solver server - some of it functions, much of it doesn't. Committing to checkpoint.

Location:
coopr.pysp/trunk
Files:
3 added
3 edited

Legend:

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

    r2301 r2320  
    832832      for scenario in self._scenario_tree._scenarios:
    833833
    834          scenario_instance = None
    835 
    836          if self._verbose is True:
    837             print "Creating instance for scenario=" + scenario._name
    838 
    839          try:
    840             if self._scenario_tree._scenario_based_data == 1:
    841                scenario_data_filename = self._scenario_data_directory_name + os.sep + scenario._name + ".dat"
    842                if self._verbose is True:
    843                   print "Data for scenario=" + scenario._name + " loads from file=" + scenario_data_filename
    844                scenario_instance = (self._model).create(scenario_data_filename)
    845             else:
    846                scenario_instance = self._model.clone()
    847                scenario_data = ModelData()
    848                current_node = scenario._leaf_node
    849                while current_node is not None:
    850                   node_data_filename = self._scenario_data_directory_name + os.sep + current_node._name + ".dat"
    851                   if self._verbose is True:
    852                      print "Node data for scenario=" + scenario._name + " partially loading from file=" + node_data_filename
    853                   scenario_data.add(node_data_filename)
    854                   current_node = current_node._parent
    855                scenario_data.read(model=scenario_instance)
    856                scenario_instance._load_model_data(scenario_data)
    857                scenario_instance.presolve()
    858          except:
    859             print "Encountered exception in model instance creation - traceback:"
    860             traceback.print_exc()
    861             raise RuntimeError, "Failed to create model instance for scenario=" + scenario._name
     834         scenario_instance = construct_scenario_instance(self._scenario_tree,
     835                                                         self._scenario_data_directory_name,
     836                                                         scenario._name,
     837                                                         self._model,
     838                                                         self._verbose)
    862839
    863840         self._instances[scenario._name] = scenario_instance
  • coopr.pysp/trunk/coopr/pysp/phutils.py

    r1699 r2320  
    1010
    1111import string
     12import traceback
     13import os
    1214
    1315#
     
    173175
    174176   return result
     177
     178#
     179# construct a scenario instance!
     180#
     181def construct_scenario_instance(scenario_tree_instance,
     182                                scenario_data_directory_name,
     183                                scenario_name,
     184                                reference_model,
     185                                verbose):
     186
     187   if verbose is True:
     188      if scenario_tree_instance._scenario_based_data == 1:
     189         print "Scenario-based instance initialization enabled"
     190      else:
     191         print "Node-based instance initialization enabled"
     192   
     193   scenario = scenario_tree_instance.get_scenario(scenario_name)
     194   scenario_instance = None
     195
     196   if verbose is True:
     197      print "Creating instance for scenario=" + scenario._name
     198
     199   try:
     200      if scenario_tree_instance._scenario_based_data == 1:
     201         scenario_data_filename = scenario_data_directory_name + os.sep + scenario._name + ".dat"
     202         if verbose is True:
     203            print "Data for scenario=" + scenario._name + " loads from file=" + scenario_data_filename
     204         scenario_instance = reference_model.create(scenario_data_filename)
     205      else:
     206         scenario_instance = reference_model.clone()
     207         scenario_data = ModelData()
     208         current_node = scenario._leaf_node
     209         while current_node is not None:
     210            node_data_filename = scenario_data_directory_name + os.sep + current_node._name + ".dat"
     211            if verbose is True:
     212               print "Node data for scenario=" + scenario._name + " partially loading from file=" + node_data_filename
     213            scenario_data.add(node_data_filename)
     214            current_node = current_node._parent
     215         scenario_data.read(model=scenario_instance)
     216         scenario_instance._load_model_data(scenario_data)
     217         scenario_instance.presolve()
     218   except:
     219      print "Encountered exception in model instance creation - traceback:"
     220      traceback.print_exc()
     221      raise RuntimeError, "Failed to create model instance for scenario=" + scenario._name
     222
     223   return scenario_instance
  • coopr.pysp/trunk/coopr/pysp/scenariotree.py

    r2172 r2320  
    393393
    394394   #
     395   # is the indicated scenario in the tree?
     396   #
     397   def contains_scenario(self, name):
     398      return name in self._scenario_map.keys()
     399
     400   #
     401   # get the scenario object from the tree.
     402   #
     403   def get_scenario(self, name):
     404      return self._scenario_map[name]
     405
     406   #
    395407   # utility for compressing or culling a scenario tree based on
    396408   # a provided list of scenarios (specified by name) to retain -
Note: See TracChangeset for help on using the changeset viewer.