Passed
Push — master ( 99abb6...4fb8fc )
by Simon
05:03 queued 14s
created

try_import_experimental_opt()   A

Complexity

Conditions 3

Size

Total Lines 43
Code Lines 35

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 35
nop 0
dl 0
loc 43
rs 9.0399
c 0
b 0
f 0
1
from .gfo_wrapper import _BaseOptimizer_
2
3
4
def try_import_experimental_opt():
5
    try:
6
        from experimental_optimization_strategies import (
7
            RandomAnnealingOptimizer as _RandomAnnealingOptimizer_,
8
            ParallelAnnealingOptimizer as _ParallelAnnealingOptimizer_,
9
            EnsembleOptimizer as _EnsembleOptimizer_,
10
            LocalBayesianOptimizer as _LocalBayesianOptimizer_,
11
            VariableResolutionBayesianOptimizer as _VariableResolutionBayesianOptimizer_,
12
            EvoSubSpaceBayesianOptimizer as _EvoSubSpaceBayesianOptimizer_,
13
        )
14
    except ImportError as e:
15
        pass
16
    else:
17
18
        class RandomAnnealingOptimizer(_BaseOptimizer_):
19
            def __init__(self, **opt_params):
20
                super().__init__(**opt_params)
21
                self._OptimizerClass = _RandomAnnealingOptimizer_
22
23
        class ParallelAnnealingOptimizer(_BaseOptimizer_):
24
            def __init__(self, **opt_params):
25
                super().__init__(**opt_params)
26
                self._OptimizerClass = _ParallelAnnealingOptimizer_
27
28
        class EnsembleOptimizer(_BaseOptimizer_):
29
            def __init__(self, **opt_params):
30
                super().__init__(**opt_params)
31
                self._OptimizerClass = _EnsembleOptimizer_
32
33
        class LocalBayesianOptimizer(_BaseOptimizer_):
34
            def __init__(self, **opt_params):
35
                super().__init__(**opt_params)
36
                self._OptimizerClass = _LocalBayesianOptimizer_
37
38
        class VariableResolutionBayesianOptimizer(_BaseOptimizer_):
39
            def __init__(self, **opt_params):
40
                super().__init__(**opt_params)
41
                self._OptimizerClass = _VariableResolutionBayesianOptimizer_
42
43
        class EvoSubSpaceBayesianOptimizer(_BaseOptimizer_):
44
            def __init__(self, **opt_params):
45
                super().__init__(**opt_params)
46
                self._OptimizerClass = _EvoSubSpaceBayesianOptimizer_
47