| 1234567891011121314151617181920212223242526272829303132333435363738 |
- from .lnaive_scheduler import lnaive_budget_scheduler
- from .greedy_scheduler import greedy_budget_scheduler
- from .groups_scheduler import groups_budget_scheduler
- from .w_naive_scheduler import w_naive_budget_scheduler
- def run_scheduler(
- node_path_list,
- importance_list,
- scheduler_name,
- bounces,
- C_total,
- network_generator,
- return_details=True,
- ):
- if scheduler_name == "LNaive":
- return lnaive_budget_scheduler(
- node_path_list, importance_list, bounces, C_total, network_generator,
- return_details=return_details,
- )
- elif scheduler_name == "Greedy":
- return greedy_budget_scheduler(
- node_path_list, importance_list, bounces, C_total, network_generator,
- return_details=return_details,
- )
- elif scheduler_name == "Groups":
- return groups_budget_scheduler(
- node_path_list, importance_list, bounces, C_total, network_generator,
- return_details=return_details,
- )
- elif scheduler_name == "WNaive":
- return w_naive_budget_scheduler(
- node_path_list, importance_list, bounces, C_total, network_generator,
- return_details=return_details,
- )
- raise ValueError(f"Unknown scheduler name: {scheduler_name}")
|