Facade¶
Top-level entry points for the surrox pipeline.
surrox.run(problem, dataframe, surrogate_config=TrainingConfig(), optimizer_config=OptimizerConfig(), analysis_config=AnalysisConfig(), scenario=None)
¶
Run the full surrox pipeline: train surrogates, optimize, and analyze.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
problem
|
ProblemDefinition
|
Declarative problem definition with variables, objectives, and constraints. |
required |
dataframe
|
DataFrame
|
Historical data matching the problem definition. |
required |
surrogate_config
|
TrainingConfig
|
Surrogate training configuration. |
TrainingConfig()
|
optimizer_config
|
OptimizerConfig
|
Optimizer configuration. |
OptimizerConfig()
|
analysis_config
|
AnalysisConfig
|
Analysis configuration. |
AnalysisConfig()
|
scenario
|
Scenario | None
|
Optional scenario fixing context variables to specific values. |
None
|
Returns:
| Type | Description |
|---|---|
SurroxResult
|
A tuple of the optimization and analysis result, and an analyzer for |
Analyzer
|
on-demand detail analyses (SHAP, PDP/ICE, What-If). |
surrox.run_scenarios(problem, dataframe, scenarios, surrogate_config=TrainingConfig(), optimizer_config=OptimizerConfig(), analysis_config=AnalysisConfig())
¶
Run the full surrox pipeline for multiple scenarios and compare results.
Trains surrogates once, then optimizes and analyzes each scenario independently. Produces a cross-scenario comparison alongside per-scenario results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
problem
|
ProblemDefinition
|
Declarative problem definition with variables, objectives, and constraints. |
required |
dataframe
|
DataFrame
|
Historical data matching the problem definition. |
required |
scenarios
|
dict[str, Scenario]
|
Named scenarios mapping to Scenario objects. Must contain at least 2. |
required |
surrogate_config
|
TrainingConfig
|
Surrogate training configuration. |
TrainingConfig()
|
optimizer_config
|
OptimizerConfig
|
Optimizer configuration. |
OptimizerConfig()
|
analysis_config
|
AnalysisConfig
|
Analysis configuration. |
AnalysisConfig()
|
Returns:
| Type | Description |
|---|---|
ScenariosResult
|
A tuple of the scenarios result (per-scenario results + comparison), |
dict[str, Analyzer]
|
and a dict mapping scenario names to their analyzers. |
Raises:
| Type | Description |
|---|---|
SurroxError
|
If fewer than 2 scenarios are provided. |