tbapi.api.bases.optimization_algorithm

 1from __future__ import annotations
 2from typing import TYPE_CHECKING
 3from tbapi.common.decorators import tb_class, tb_interface
 4from tbapi.common.converters import to_python_datetime, to_net_datetime
 5from datetime import datetime
 6from Tickblaze.Scripts.Api.Bases import OptimizationAlgorithm as _OptimizationAlgorithm
 7from typing import Any, overload
 8from abc import ABC, abstractmethod
 9from tbapi.api.bases.script import Script
10if TYPE_CHECKING:
11    from tbapi.api.bases.optimization_vector import OptimizationVector
12
13@tb_interface(_OptimizationAlgorithm)
14class OptimizationAlgorithm(Script):
15
16    @staticmethod
17    def new(*args, **kwargs):
18        """Generic factory method for OptimizationAlgorithm. Use overloads for IDE type hints."""
19        return OptimizationAlgorithm(*args, **kwargs)
20
21    @property
22    def max_optimizations(self) -> int:
23        """The number of optimization vectors that the algorithm will select and run if the optimization process runs to completion."""
24        val = self._value.MaxOptimizations
25        return val
26    @property
27    def optimization_parameters(self) -> IReadOnlyList:
28        val = self._value.OptimizationParameters
29        return val
30    @optimization_parameters.setter
31    def optimization_parameters(self, val: IReadOnlyList):
32        tmp = self._value
33        tmp.OptimizationParameters = val
34        self._value = tmp
35    @property
36    def vectors(self) -> IReadOnlyList:
37        val = self._value.Vectors
38        return val
39    @vectors.setter
40    def vectors(self, val: IReadOnlyList):
41        tmp = self._value
42        tmp.Vectors = val
43        self._value = tmp
44
45    @abstractmethod
46    def get_next_vectors_to_run(self, max_count: int) -> list[OptimizationVector]:
47        result = self._value.GetNextVectorsToRun(max_count)
48        return result
49  
50    def on_vector_processed(self, vector: OptimizationVector) -> None:
51        result = self._value.OnVectorProcessed(vector._value)
52        return result
53  
@tb_interface(_OptimizationAlgorithm)
class OptimizationAlgorithm(tbapi.api.bases.script.Script):
21@tb_interface(_OptimizationAlgorithm)
22class OptimizationAlgorithm(Script):
23
24    @staticmethod
25    def new(*args, **kwargs):
26        """Generic factory method for OptimizationAlgorithm. Use overloads for IDE type hints."""
27        return OptimizationAlgorithm(*args, **kwargs)
28
29    @property
30    def max_optimizations(self) -> int:
31        """The number of optimization vectors that the algorithm will select and run if the optimization process runs to completion."""
32        val = self._value.MaxOptimizations
33        return val
34    @property
35    def optimization_parameters(self) -> IReadOnlyList:
36        val = self._value.OptimizationParameters
37        return val
38    @optimization_parameters.setter
39    def optimization_parameters(self, val: IReadOnlyList):
40        tmp = self._value
41        tmp.OptimizationParameters = val
42        self._value = tmp
43    @property
44    def vectors(self) -> IReadOnlyList:
45        val = self._value.Vectors
46        return val
47    @vectors.setter
48    def vectors(self, val: IReadOnlyList):
49        tmp = self._value
50        tmp.Vectors = val
51        self._value = tmp
52
53    @abstractmethod
54    def get_next_vectors_to_run(self, max_count: int) -> list[OptimizationVector]:
55        result = self._value.GetNextVectorsToRun(max_count)
56        return result
57  
58    def on_vector_processed(self, vector: OptimizationVector) -> None:
59        result = self._value.OnVectorProcessed(vector._value)
60        return result

Defines properties and methods for a script, including initialization and metadata.

OptimizationAlgorithm(*args, **kwargs)
199        def __init__(self, *args, **kwargs):
200            pass
@staticmethod
def new(*args, **kwargs):
24    @staticmethod
25    def new(*args, **kwargs):
26        """Generic factory method for OptimizationAlgorithm. Use overloads for IDE type hints."""
27        return OptimizationAlgorithm(*args, **kwargs)

Generic factory method for OptimizationAlgorithm. Use overloads for IDE type hints.

max_optimizations: int
29    @property
30    def max_optimizations(self) -> int:
31        """The number of optimization vectors that the algorithm will select and run if the optimization process runs to completion."""
32        val = self._value.MaxOptimizations
33        return val

The number of optimization vectors that the algorithm will select and run if the optimization process runs to completion.

optimization_parameters: 'IReadOnlyList'
34    @property
35    def optimization_parameters(self) -> IReadOnlyList:
36        val = self._value.OptimizationParameters
37        return val
vectors: 'IReadOnlyList'
43    @property
44    def vectors(self) -> IReadOnlyList:
45        val = self._value.Vectors
46        return val
@abstractmethod
def get_next_vectors_to_run( self, max_count: int) -> list[tbapi.api.bases.optimization_vector.OptimizationVector]:
53    @abstractmethod
54    def get_next_vectors_to_run(self, max_count: int) -> list[OptimizationVector]:
55        result = self._value.GetNextVectorsToRun(max_count)
56        return result
def on_vector_processed( self, vector: tbapi.api.bases.optimization_vector.OptimizationVector) -> None:
58    def on_vector_processed(self, vector: OptimizationVector) -> None:
59        result = self._value.OnVectorProcessed(vector._value)
60        return result