src.conflict_resolution module¶
Currently unused; implements dependency resolution for plug-ins, intended as part of a future release.
- src.conflict_resolution.same_for_subsets(option_dict, subsets, option_fn, tiebreaker_fn=None)[source]¶
- src.conflict_resolution.all_same_if_possible(option_dict, subsets, option_fn, tiebreaker_fn=None)[source]¶
- src.conflict_resolution.minimum_cover(option_dict, option_fn, tiebreaker_fn=None)[source]¶
Determine experiment component(s) from heuristics.
- Pick all data from the same component if possible, and from as few
components if not. See https://en.wikipedia.org/wiki/Set_cover_problem and http://www.martinbroadhurst.com/greedy-set-cover-in-python.html.
- If multiple components satisfy (1) equally well, use a tie-breaking
heuristic (
_component_tiebreaker()
).
- Parameters:
datasets (iterable of
DataSetBase
) – Collection of all variables being requested in this DataManager.- Returns:
name(s) of model components to use.
- Return type:
List of
str
- Raises: AssertionError if problem is unsatisfiable. This indicates some
error in the input data.