def __init__(
     self,
     location_set,
     nested_structure=None,
     stratum=None,
     model_name=None,
     short_name=None,
     sampler="opus_core.samplers.stratified_sampler",
     utilities="opus_core.hierarchical_linear_utilities",
     probabilities="opus_core.nl_probabilities",
     **kwargs
 ):
     AgentLocationChoiceModel.__init__(
         self,
         location_set=location_set,
         model_name=model_name,
         short_name=short_name,
         sampler=sampler,
         utilities=utilities,
         probabilities=probabilities,
         **kwargs
     )
     HierarchicalChoiceModel.create_nested_and_tree_structure(self, nested_structure, stratum, **kwargs)
     self.model_interaction = ModelInteractionHierLCM(
         self, kwargs.get("interaction_pkg", "urbansim"), self.choice_set
     )
 def __init__(self, location_set, nested_structure=None, stratum=None, model_name=None, short_name=None,
                     sampler="opus_core.samplers.stratified_sampler", 
                     utilities="opus_core.hierarchical_linear_utilities",
                     probabilities="opus_core.nl_probabilities", **kwargs):
     AgentLocationChoiceModel.__init__(self, location_set=location_set, model_name=model_name, 
                                       short_name=short_name, sampler=sampler, utilities=utilities,
                                       probabilities=probabilities, **kwargs)
     HierarchicalChoiceModel.create_nested_and_tree_structure(self, nested_structure, stratum, **kwargs)
     self.model_interaction = ModelInteractionHierLCM(self, kwargs.get('interaction_pkg',"urbansim"), self.choice_set)
 def get_number_of_elemental_alternatives(self):
     return HierarchicalChoiceModel.get_number_of_elemental_alternatives(self)
 def set_choice_set_size(self):
     HierarchicalChoiceModel.set_choice_set_size(self)
 def estimate_step(self):
     self.set_correct_for_sampling()
     result = AgentLocationChoiceModel.estimate_step(self)
     HierarchicalChoiceModel.add_logsum_to_coefficients(self, result)
     return result
 def estimate(self, specification, *args, **kwargs):
     HierarchicalChoiceModel.init_membership_in_nests(self)
     HierarchicalChoiceModel.delete_logsum_from_specification(self, specification)
     return AgentLocationChoiceModel.estimate(self, specification, *args, **kwargs)
 def run_chunk(self, agents_index, agent_set, specification, coefficients):
     HierarchicalChoiceModel.add_logsum_to_specification(self, specification, coefficients)
     HierarchicalChoiceModel.init_membership_in_nests(self)
     return AgentLocationChoiceModel.run_chunk(self, agents_index, agent_set, specification, coefficients)
 def get_number_of_elemental_alternatives(self):
     return HierarchicalChoiceModel.get_number_of_elemental_alternatives(self)
 def set_choice_set_size(self):
     HierarchicalChoiceModel.set_choice_set_size(self)
 def estimate_step(self):
     self.set_correct_for_sampling()
     result = AgentLocationChoiceModel.estimate_step(self)
     HierarchicalChoiceModel.add_logsum_to_coefficients(self, result)
     return result
 def estimate(self, specification, *args, **kwargs):
     HierarchicalChoiceModel.init_membership_in_nests(self)
     HierarchicalChoiceModel.delete_logsum_from_specification(self, specification)
     return AgentLocationChoiceModel.estimate(self, specification, *args, **kwargs)
 def run_chunk(self, agents_index, agent_set, specification, coefficients):
     HierarchicalChoiceModel.add_logsum_to_specification(self, specification, coefficients)
     HierarchicalChoiceModel.init_membership_in_nests(self)
     return AgentLocationChoiceModel.run_chunk(self, agents_index, agent_set, specification, coefficients)
 def simulate_chunk(self):
     return HierarchicalChoiceModel.simulate_chunk(self)
 def set_choice_set_size(self, **kwargs):
     HierarchicalChoiceModel.set_choice_set_size(self, **kwargs)