RunAmortizationScenario
Data scenarios · Implementation: mlsysim/engine/scenario_definitions/data.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
A one-time investment of build_cost plus operating_cost that saves saving_per_run on every training run that reuses its output.
Notes
Equation: investment is the worked quantity; each property below states its equation and units.
Assumptions: Investment is paid once and each reuse yields the same positive saving.
Excludes: Discounting, depreciation, and changes in savings across runs.
References
Derivation: The equations below follow the stated counts, geometric relations, or accounting definitions; scenario inputs are supplied assumptions or observations, not fitted predictions.
Examples
Execute the registered worked inputs; this is a modeled calculation.
>>> from mlsysim import Scenarios
>>> case = Scenarios.MinHashPipelineAmortization
>>> value = case.investment
>>> print(f"{value:.3f~P}")
55000.000 USDAttributes
| Name | Description |
|---|---|
| breakeven_runs | Continuous number of runs needed to recover the investment. |
| build_cost | |
| investment | Initial investment in currency units, build plus one-time operating cost. |
| operating_cost | |
| run_counts | |
| saving_per_run |
Methods
| Name | Description |
|---|---|
| net_return | Net return fraction after the supplied run count; savings minus investment over investment. |
| savings_multiple | Dimensionless gross savings divided by initial investment. |
net_return
engine.scenario_types.RunAmortizationScenario.net_return(runs)Net return fraction after the supplied run count; savings minus investment over investment.
(runs x saving - investment) / investment.
Equation: return ((runs * self.saving_per_run - self.investment) / self.investment).to(’’).magnitude
savings_multiple
engine.scenario_types.RunAmortizationScenario.savings_multiple(runs)Dimensionless gross savings divided by initial investment.
Total savings over the investment.
Equation: return (runs * self.saving_per_run / self.investment).to(’’).magnitude
build_cost
Type: Quantity.
Declared default: required.
operating_cost
Type: Quantity.
Declared default: required.
saving_per_run
Type: Quantity.
Declared default: required.
run_counts
Type: List[int].
Declared default: [].
investment
engine.scenario_types.RunAmortizationScenario.investment
Initial investment in currency units, build plus one-time operating cost.
Equation: return self.build_cost + self.operating_cost
breakeven_runs
engine.scenario_types.RunAmortizationScenario.breakeven_runs
Continuous number of runs needed to recover the investment.
Equation: return (self.investment / self.saving_per_run).to(’’).magnitude