pytwinnet.optimization

class pytwinnet.optimization.GridSearchOptimizer(param_grid, copy_twin=True)[source]

Bases: Optimizer

Parameters:
copy_twin: bool = True
optimize(twin, objective)[source]
Return type:

Dict[str, Any]

Parameters:
param_grid: Dict[str, Iterable[float]]
class pytwinnet.optimization.MaximizeThroughput[source]

Bases: Objective

evaluate(twin)[source]
Return type:

float

Parameters:

twin (DigitalTwin)

class pytwinnet.optimization.MinimizePowerConsumption[source]

Bases: Objective

evaluate(twin)[source]
Return type:

float

Parameters:

twin (DigitalTwin)

class pytwinnet.optimization.Objective[source]

Bases: ABC

abstractmethod evaluate(twin)[source]
Return type:

float

Parameters:

twin (DigitalTwin)

class pytwinnet.optimization.Optimizer[source]

Bases: ABC

abstractmethod optimize(twin, objective)[source]
Return type:

Dict[str, Any]

Parameters:
class pytwinnet.optimization.RandomSearchOptimizer(ranges_dbm, samples=32, seed=0, copy_twin=True)[source]

Bases: Optimizer

Parameters:
copy_twin: bool = True
optimize(twin, objective)[source]
Return type:

Dict[str, Any]

Parameters:
ranges_dbm: Dict[str, Tuple[float, float]]
samples: int = 32
seed: int = 0
class pytwinnet.optimization.SimpleGreedyOptimizer(step_db=1.0, max_power_dbm=30.0, iterations=10)[source]

Bases: Optimizer

Parameters:
iterations: int = 10
max_power_dbm: float = 30.0
optimize(twin, objective)[source]
Return type:

Dict[str, Any]

Parameters:
step_db: float = 1.0
class pytwinnet.optimization.SumThroughputObjective(tx_id, efficiency=1.0)[source]

Bases: Objective

Parameters:
evaluate(twin)[source]
Return type:

float

Parameters:

twin (DigitalTwin)

Modules