simopt.experimental

Experimental framework for running experiments.

Module Contents

class simopt.experimental.ProblemConfig(name: str, rename: str | None = None, fixed_factors: dict | None = None, model_fixed_factors: dict | None = None)

Class to hold problem config information.

Initialize the Problem with name, rename, and problem/model fixed factors.

name
rename
fixed_factors
model_fixed_factors
class simopt.experimental.SolverConfig(name: str, rename: str | None = None, fixed_factors: dict | None = None)

Class to hold solver config information.

Initialize the Solver with name, rename, and solver fixed factors.

name
rename
fixed_factors
simopt.experimental.run_experiment(problems: list[dict], solvers: list[dict], num_macroreps: int, num_postreps: int, num_postnorms: int) list[list[simopt.experiment_base.ProblemSolver]]

Run an experiment using the provided configurations.

Parameters:
  • problems – List of ProblemConfig instances.

  • solvers – List of SolverConfig instances.

  • num_macroreps – Number of macroreplications.

  • num_postreps – Number of post-replications.

  • num_postnorms – Number of post-normalizations.

Returns:

A list of lists containing ProblemSolver instances, grouped by problem.

Return type:

List[list[ProblemSolver]]

simopt.experimental.group_experiments_by_solver(all_experiments: list[list[simopt.experiment_base.ProblemSolver]]) list[list[simopt.experiment_base.ProblemSolver]]

Group experiments by solver name.