DMDO package
Submodules
OMADS.POLL module
- DMDO.DMDO.user
alias of
DMDO.DMDO.USER
- class DMDO.DMDO.double_precision(decimals: int)[source]
Bases:
object
- decimals: int
Decimal precision control
- __init__(decimals: int) None
- class DMDO.DMDO.VAR_TYPE(value)[source]
Bases:
enum.Enum
An enumeration.
- CONTINUOUS = 1
- INTEGER = 2
- BINARY = 3
- CATEGORICAL = 4
- ORDINAL = 5
- class DMDO.DMDO.VALIDATOR(value)[source]
Bases:
enum.Enum
An enumeration.
- PRE = 1
- RUNNING = 2
- POST = 3
- class DMDO.DMDO.BARRIER_TYPE(value)[source]
Bases:
enum.Enum
An enumeration.
- EXTREME = 1
- PROGRESSIVE = 2
- FILTER = 3
- class DMDO.DMDO.PSIZE_UPDATE(value)[source]
Bases:
enum.Enum
An enumeration.
- DEFAULT = 1
- SUCCESS = 2
- MAX = 3
- LAST = 4
- class DMDO.DMDO.w_scheme(value)[source]
Bases:
enum.Enum
An enumeration.
- MEDIAN = 1
- MAX = 2
- NORMAL = 3
- RANK = 4
- class DMDO.DMDO.MODEL_TYPE(value)[source]
Bases:
enum.Enum
An enumeration.
- SURROGATE = 1
- DATA = 2
- SIMULATION = 3
- NEUTRAL = 4
- class DMDO.DMDO.COUPLING_TYPE(value)[source]
Bases:
enum.Enum
An enumeration.
- SHARED = 1
- FEEDBACK = 2
- FEEDFORWARD = 3
- UNCOUPLED = 4
- DUMMY = 5
- class DMDO.DMDO.COUPLING_STRENGTH(value)[source]
Bases:
enum.Enum
An enumeration.
- TIGHT = 1
- LOOSE = 2
- class DMDO.DMDO.variableData(name: str, sp_index: int, coupling_type: int, link: str, dim: int, value: float, baseline: float, scaling: float, lb: float = None, ub: float = None, type: int = <VAR_TYPE.CONTINUOUS: 1>, index: int = None)[source]
Bases:
object
- name: str
- sp_index: int
- coupling_type: int
- link: str
- dim: int
- value: float
- baseline: float
- scaling: float
- lb: float = None
- ub: float = None
- type: int = 1
- index: int = None
- __init__(name: str, sp_index: int, coupling_type: int, link: str, dim: int, value: float, baseline: float, scaling: float, lb: Optional[float] = None, ub: Optional[float] = None, type: int = VAR_TYPE.CONTINUOUS, index: Optional[int] = None) None
- class DMDO.DMDO.Process_data(*args, **kwargs)[source]
Bases:
Protocol
- term_critteria: List[Callable]
- term_type: List[int]
- term_status: List[bool]
- variables: List[DMDO.DMDO.variableData]
- responses: List[DMDO.DMDO.variableData]
- __init__(*args, **kwargs)
- class DMDO.DMDO.process(*args, **kwargs)[source]
Bases:
DMDO.DMDO.Process_data
,Protocol
- __init__(*args, **kwargs)
- class DMDO.DMDO.ModelInadequacyData(type: int, relative_inadequacies: numpy.ndarray, absolute_inadequacies: numpy.ndarray, approx_rel_inadeq: numpy.ndarray, approx_abs_inadeq: numpy.ndarray, reference_model_index: int, errorSurrogateType: int)[source]
Bases:
object
- type: int
- relative_inadequacies: numpy.ndarray
- absolute_inadequacies: numpy.ndarray
- approx_rel_inadeq: numpy.ndarray
- approx_abs_inadeq: numpy.ndarray
- reference_model_index: int
- errorSurrogateType: int
- __init__(type: int, relative_inadequacies: numpy.ndarray, absolute_inadequacies: numpy.ndarray, approx_rel_inadeq: numpy.ndarray, approx_abs_inadeq: numpy.ndarray, reference_model_index: int, errorSurrogateType: int) None
- class DMDO.DMDO.DA_Data(inputs: List[DMDO.DMDO.variableData], outputs: List[DMDO.DMDO.variableData], blackbox: Callable, links: List[int], coupling_type: List[int], index: int = None, timeout: int = 1000000)[source]
Bases:
object
- inputs: List[DMDO.DMDO.variableData]
- outputs: List[DMDO.DMDO.variableData]
- blackbox: Callable
- links: List[int]
- coupling_type: List[int]
- preCondition: Optional[Callable]
- runningCondition: Optional[Callable]
- postCondition: Optional[Callable]
- model: Optional[object]
- modelType: Optional[int]
- validation_list: Optional[List[Callable]]
- validation_type: Optional[List[int]]
- validation_status: Optional[List[bool]]
- index: int = None
- timeout: int = 1000000
- __init__(inputs: List[DMDO.DMDO.variableData], outputs: List[DMDO.DMDO.variableData], blackbox: Callable, links: List[int], coupling_type: List[int], index: Optional[int] = None, timeout: int = 1000000) None
- class DMDO.DMDO.optimizationData(objectives: List[Callable], constraints: List[Callable], objectiveWeights: List[Any], constraintsHandling: int, solver: Callable)[source]
Bases:
object
- objectives: List[Callable]
- constraints: List[Callable]
- objectiveWeights: List[Any]
- constraintsHandling: int
- solver: Callable
- __init__(objectives: List[Callable], constraints: List[Callable], objectiveWeights: List[Any], constraintsHandling: int, solver: Callable) None
- class DMDO.DMDO.DA(inputs: List[DMDO.DMDO.variableData], outputs: List[DMDO.DMDO.variableData], blackbox: Callable, links: List[int], coupling_type: List[int], index: int = None, timeout: int = 1000000)[source]
Bases:
DMDO.DMDO.DA_Data
- __init__(inputs: List[DMDO.DMDO.variableData], outputs: List[DMDO.DMDO.variableData], blackbox: Callable, links: List[int], coupling_type: List[int], index: Optional[int] = None, timeout: int = 1000000) None
- class DMDO.DMDO.MDA_data(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], nAnalyses: int, analyses: List[DMDO.DMDO.DA], index: int = None)[source]
Bases:
DMDO.DMDO.Process_data
- nAnalyses: int
- analyses: List[DMDO.DMDO.DA]
- index: int = None
- __init__(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], nAnalyses: int, analyses: List[DMDO.DMDO.DA], index: Optional[int] = None) None
- class DMDO.DMDO.MDA(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], nAnalyses: int, analyses: List[DMDO.DMDO.DA], index: int = None)[source]
Bases:
DMDO.DMDO.MDA_data
- __init__(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], nAnalyses: int, analyses: List[DMDO.DMDO.DA], index: Optional[int] = None) None
- class DMDO.DMDO.coordinationData(nsp: int, budget: int = 20, index_of_master_SP: int = 1, display: bool = True, scaling: Any = 10.0, mode: str = 'serial', var_group: List[DMDO.DMDO.variableData] = <factory>, _linker: List[List[int]] = <factory>, n_dim: int = 0, index: int = None)[source]
Bases:
object
- nsp: int
- budget: int = 20
- index_of_master_SP: int = 1
- display: bool = True
- scaling: Any = 10.0
- mode: str = 'serial'
- var_group: List[DMDO.DMDO.variableData]
- n_dim: int = 0
- index: int = None
- __init__(nsp: int, budget: int = 20, index_of_master_SP: int = 1, display: bool = True, scaling: typing.Any = 10.0, mode: str = 'serial', var_group: typing.List[DMDO.DMDO.variableData] = <factory>, _linker: typing.List[typing.List[int]] = <factory>, n_dim: int = 0, index: typing.Optional[int] = None) None
- class DMDO.DMDO.ADMM_data(nsp: int, budget: int = 20, index_of_master_SP: int = 1, display: bool = True, scaling: Any = 10.0, mode: str = 'serial', var_group: List[DMDO.DMDO.variableData] = <factory>, _linker: List[List[int]] = <factory>, n_dim: int = 0, index: int = None, beta: float = 1.3, gamma: float = 0.5, q: numpy.ndarray = array([], shape=(0, 0), dtype=float64), qold: numpy.ndarray = array([], shape=(0, 0), dtype=float64), phi: float = 1.0, v: numpy.ndarray = array([], shape=(0, 0), dtype=float64), w: numpy.ndarray = array([], shape=(0, 0), dtype=float64), update_w: bool = False, M_update_scheme: int = <w_scheme.MEDIAN: 1>, eps_qo: List = None, save_q_in: bool = False, save_q_in_out: bool = False, eps_fo: List = None)[source]
Bases:
DMDO.DMDO.coordinationData
- beta: float = 1.3
- gamma: float = 0.5
- q: numpy.ndarray = array([], shape=(0, 0), dtype=float64)
- qold: numpy.ndarray = array([], shape=(0, 0), dtype=float64)
- phi: float = 1.0
- v: numpy.ndarray = array([], shape=(0, 0), dtype=float64)
- w: numpy.ndarray = array([], shape=(0, 0), dtype=float64)
- update_w: bool = False
- M_update_scheme: int = 1
- eps_qo: List = None
- save_q_in: bool = False
- save_q_in_out: bool = False
- eps_fo: List = None
- __init__(nsp: int, budget: int = 20, index_of_master_SP: int = 1, display: bool = True, scaling: typing.Any = 10.0, mode: str = 'serial', var_group: typing.List[DMDO.DMDO.variableData] = <factory>, _linker: typing.List[typing.List[int]] = <factory>, n_dim: int = 0, index: typing.Optional[int] = None, beta: float = 1.3, gamma: float = 0.5, q: numpy.ndarray = array([], shape=(0, 0), dtype=float64), qold: numpy.ndarray = array([], shape=(0, 0), dtype=float64), phi: float = 1.0, v: numpy.ndarray = array([], shape=(0, 0), dtype=float64), w: numpy.ndarray = array([], shape=(0, 0), dtype=float64), update_w: bool = False, M_update_scheme: int = w_scheme.MEDIAN, eps_qo: typing.Optional[typing.List] = None, save_q_in: bool = False, save_q_in_out: bool = False, eps_fo: typing.Optional[typing.List] = None) None
- class DMDO.DMDO.ADMM(nsp, beta, budget, index_of_master_SP, display, scaling, mode, M_update_scheme, store_q_o=False, store_q_io=False, index=None)[source]
Bases:
DMDO.DMDO.ADMM_data
Alternating directions method of multipliers
- __init__(nsp, beta, budget, index_of_master_SP, display, scaling, mode, M_update_scheme, store_q_o=False, store_q_io=False, index=None)[source]
- clone_point(p: DMDO.DMDO.variableData)[source]
- update_master_vector(vars: List[DMDO.DMDO.variableData], resps: List[DMDO.DMDO.variableData])[source]
- class DMDO.DMDO.partitionedProblemData[source]
Bases:
object
- nv: int
- nr: int
- sp_index: int
- vars: List[DMDO.DMDO.variableData]
- resps: List[DMDO.DMDO.variableData]
- is_main: bool
- MDA_process: DMDO.DMDO.process
- coupling: List[float]
- solution: List[Any]
- solver: Any
- realistic_objective: bool = False
- optFunctions: List[Callable] = None
- obj: float = inf
- constraints: List[float] = [inf]
- frealistic: float = 0.0
- scaling: float = 10.0
- coord: DMDO.DMDO.ADMM
- opt: Callable
- fmin_nop: float
- budget: int
- display: bool
- psize: float
- psize_init: int
- tol: float
- scipy: Dict
- class DMDO.DMDO.SubProblem(nv, index, vars, resps, is_main, analysis, coordination, opt, fmin_nop, budget, display, psize, pupdate, scipy=None, freal=None, tol=1e-12, solver='OMADS')[source]
Bases:
DMDO.DMDO.partitionedProblemData
- __init__(nv, index, vars, resps, is_main, analysis, coordination, opt, fmin_nop, budget, display, psize, pupdate, scipy=None, freal=None, tol=1e-12, solver='OMADS')[source]
- set_dependent_vars(vars: List[DMDO.DMDO.variableData])[source]
- get_list_vars(vars: List[DMDO.DMDO.variableData])[source]
- get_list_vars_ub(vars: List[DMDO.DMDO.variableData])[source]
- get_list_vars_lb(vars: List[DMDO.DMDO.variableData])[source]
- get_design_vars_scaling(vars: List[DMDO.DMDO.variableData])[source]
- get_list_vars_names(vars: List[DMDO.DMDO.variableData])[source]
- class DMDO.DMDO.MDO_data(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], Architecture: int, Coordinator: DMDO.DMDO.ADMM, subProblems: List[DMDO.DMDO.SubProblem], fmin: float, hmin: float, display: bool, inc_stop: float, stop: str, tab_inc: List, noprogress_stop: int, eps_qio: List[float] = None, eps_fio: List[float] = None)[source]
Bases:
DMDO.DMDO.Process_data
- Architecture: int
- Coordinator: DMDO.DMDO.ADMM
- subProblems: List[DMDO.DMDO.SubProblem]
- fmin: float
- hmin: float
- display: bool
- inc_stop: float
- stop: str
- tab_inc: List
- noprogress_stop: int
- eps_qio: List[float] = None
- eps_fio: List[float] = None
- __init__(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], Architecture: int, Coordinator: DMDO.DMDO.ADMM, subProblems: List[DMDO.DMDO.SubProblem], fmin: float, hmin: float, display: bool, inc_stop: float, stop: str, tab_inc: List, noprogress_stop: int, eps_qio: Optional[List[float]] = None, eps_fio: Optional[List[float]] = None) None
- class DMDO.DMDO.MDO(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], Architecture: int, Coordinator: DMDO.DMDO.ADMM, subProblems: List[DMDO.DMDO.SubProblem], fmin: float, hmin: float, display: bool, inc_stop: float, stop: str, tab_inc: List, noprogress_stop: int, eps_qio: List[float] = None, eps_fio: List[float] = None)[source]
Bases:
DMDO.DMDO.MDO_data
- __init__(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], Architecture: int, Coordinator: DMDO.DMDO.ADMM, subProblems: List[DMDO.DMDO.SubProblem], fmin: float, hmin: float, display: bool, inc_stop: float, stop: str, tab_inc: List, noprogress_stop: int, eps_qio: Optional[List[float]] = None, eps_fio: Optional[List[float]] = None) None
- class DMDO.DMDO.problemSetup(data: Dict = None, Vs: List[DMDO.DMDO.variableData] = None, DAs: List[DMDO.DMDO.process] = None, MDAs: List[DMDO.DMDO.process] = None, Coords: List[DMDO.DMDO.coordinator] = None, SPs: List[DMDO.DMDO.SubProblem] = None, MDAO: DMDO.DMDO.MDO = None, Qscaling: List = None, userData: DMDO.DMDO.USER = None)[source]
Bases:
object
- data: Dict = None
- Vs: List[DMDO.DMDO.variableData] = None
- DAs: List[DMDO.DMDO.process] = None
- MDAs: List[DMDO.DMDO.process] = None
- Coords: List[DMDO.DMDO.coordinator] = None
- SPs: List[DMDO.DMDO.SubProblem] = None
- MDAO: DMDO.DMDO.MDO = None
- Qscaling: List = None
- userData: DMDO.DMDO.USER = None
- getVariables(v: List[str]) List[DMDO.DMDO.variableData] [source]
Find the variables by the input key assigned to them
- getDA(d: List[int]) List[DMDO.DMDO.DA] [source]
Get the list of corresponding disciplinary analyses
- getSPs(sp: List[int]) List[DMDO.DMDO.SubProblem] [source]
Get the list of corresponding disciplinary analyses
- getMDA(M: int) DMDO.DMDO.MDA [source]
Get the MDA process from the provided index
- getCoord(c: int) DMDO.DMDO.ADMM [source]
Get the coordinator from the provided index
- __init__(data: Optional[Dict] = None, Vs: Optional[List[DMDO.DMDO.variableData]] = None, DAs: Optional[List[DMDO.DMDO.process]] = None, MDAs: Optional[List[DMDO.DMDO.process]] = None, Coords: Optional[List[DMDO.DMDO.coordinator]] = None, SPs: Optional[List[DMDO.DMDO.SubProblem]] = None, MDAO: Optional[DMDO.DMDO.MDO] = None, Qscaling: Optional[List] = None, userData: Optional[DMDO.DMDO.USER] = None) None
- autoProbSetup() DMDO.DMDO.MDO [source]
Setup the MDO problem
Module contents
- class DMDO.double_precision(decimals: int)[source]
Bases:
object
- decimals: int
Decimal precision control
- __init__(decimals: int) None
- class DMDO.VAR_TYPE(value)[source]
Bases:
enum.Enum
An enumeration.
- CONTINUOUS = 1
- INTEGER = 2
- BINARY = 3
- CATEGORICAL = 4
- ORDINAL = 5
- class DMDO.VALIDATOR(value)[source]
Bases:
enum.Enum
An enumeration.
- PRE = 1
- RUNNING = 2
- POST = 3
- class DMDO.BARRIER_TYPE(value)[source]
Bases:
enum.Enum
An enumeration.
- EXTREME = 1
- PROGRESSIVE = 2
- FILTER = 3
- class DMDO.PSIZE_UPDATE(value)[source]
Bases:
enum.Enum
An enumeration.
- DEFAULT = 1
- SUCCESS = 2
- MAX = 3
- LAST = 4
- class DMDO.w_scheme(value)[source]
Bases:
enum.Enum
An enumeration.
- MEDIAN = 1
- MAX = 2
- NORMAL = 3
- RANK = 4
- class DMDO.MODEL_TYPE(value)[source]
Bases:
enum.Enum
An enumeration.
- SURROGATE = 1
- DATA = 2
- SIMULATION = 3
- NEUTRAL = 4
- class DMDO.COUPLING_TYPE(value)[source]
Bases:
enum.Enum
An enumeration.
- SHARED = 1
- FEEDBACK = 2
- FEEDFORWARD = 3
- UNCOUPLED = 4
- DUMMY = 5
- class DMDO.variableData(name: str, sp_index: int, coupling_type: int, link: str, dim: int, value: float, baseline: float, scaling: float, lb: float = None, ub: float = None, type: int = <VAR_TYPE.CONTINUOUS: 1>, index: int = None)[source]
Bases:
object
- name: str
- sp_index: int
- coupling_type: int
- link: str
- dim: int
- value: float
- baseline: float
- scaling: float
- lb: float = None
- ub: float = None
- type: int = 1
- index: int = None
- __init__(name: str, sp_index: int, coupling_type: int, link: str, dim: int, value: float, baseline: float, scaling: float, lb: Optional[float] = None, ub: Optional[float] = None, type: int = VAR_TYPE.CONTINUOUS, index: Optional[int] = None) None
- class DMDO.Process_data(*args, **kwargs)[source]
Bases:
Protocol
- term_critteria: List[Callable]
- term_type: List[int]
- term_status: List[bool]
- variables: List[DMDO.DMDO.variableData]
- responses: List[DMDO.DMDO.variableData]
- __init__(*args, **kwargs)
- class DMDO.coordinationData(nsp: int, budget: int = 20, index_of_master_SP: int = 1, display: bool = True, scaling: Any = 10.0, mode: str = 'serial', var_group: List[DMDO.DMDO.variableData] = <factory>, _linker: List[List[int]] = <factory>, n_dim: int = 0, index: int = None)[source]
Bases:
object
- nsp: int
- budget: int = 20
- index_of_master_SP: int = 1
- display: bool = True
- scaling: Any = 10.0
- mode: str = 'serial'
- var_group: List[DMDO.DMDO.variableData]
- n_dim: int = 0
- index: int = None
- __init__(nsp: int, budget: int = 20, index_of_master_SP: int = 1, display: bool = True, scaling: typing.Any = 10.0, mode: str = 'serial', var_group: typing.List[DMDO.DMDO.variableData] = <factory>, _linker: typing.List[typing.List[int]] = <factory>, n_dim: int = 0, index: typing.Optional[int] = None) None
- class DMDO.process(*args, **kwargs)[source]
Bases:
DMDO.DMDO.Process_data
,Protocol
- __init__(*args, **kwargs)
- class DMDO.ModelInadequacyData(type: int, relative_inadequacies: numpy.ndarray, absolute_inadequacies: numpy.ndarray, approx_rel_inadeq: numpy.ndarray, approx_abs_inadeq: numpy.ndarray, reference_model_index: int, errorSurrogateType: int)[source]
Bases:
object
- type: int
- relative_inadequacies: numpy.ndarray
- absolute_inadequacies: numpy.ndarray
- approx_rel_inadeq: numpy.ndarray
- approx_abs_inadeq: numpy.ndarray
- reference_model_index: int
- errorSurrogateType: int
- __init__(type: int, relative_inadequacies: numpy.ndarray, absolute_inadequacies: numpy.ndarray, approx_rel_inadeq: numpy.ndarray, approx_abs_inadeq: numpy.ndarray, reference_model_index: int, errorSurrogateType: int) None
- class DMDO.DA_Data(inputs: List[DMDO.DMDO.variableData], outputs: List[DMDO.DMDO.variableData], blackbox: Callable, links: List[int], coupling_type: List[int], index: int = None, timeout: int = 1000000)[source]
Bases:
object
- inputs: List[DMDO.DMDO.variableData]
- outputs: List[DMDO.DMDO.variableData]
- blackbox: Callable
- links: List[int]
- coupling_type: List[int]
- preCondition: Optional[Callable]
- runningCondition: Optional[Callable]
- postCondition: Optional[Callable]
- model: Optional[object]
- modelType: Optional[int]
- validation_list: Optional[List[Callable]]
- validation_type: Optional[List[int]]
- validation_status: Optional[List[bool]]
- index: int = None
- timeout: int = 1000000
- __init__(inputs: List[DMDO.DMDO.variableData], outputs: List[DMDO.DMDO.variableData], blackbox: Callable, links: List[int], coupling_type: List[int], index: Optional[int] = None, timeout: int = 1000000) None
- class DMDO.optimizationData(objectives: List[Callable], constraints: List[Callable], objectiveWeights: List[Any], constraintsHandling: int, solver: Callable)[source]
Bases:
object
- objectives: List[Callable]
- constraints: List[Callable]
- objectiveWeights: List[Any]
- constraintsHandling: int
- solver: Callable
- __init__(objectives: List[Callable], constraints: List[Callable], objectiveWeights: List[Any], constraintsHandling: int, solver: Callable) None
- class DMDO.DA(inputs: List[DMDO.DMDO.variableData], outputs: List[DMDO.DMDO.variableData], blackbox: Callable, links: List[int], coupling_type: List[int], index: int = None, timeout: int = 1000000)[source]
Bases:
DMDO.DMDO.DA_Data
- __init__(inputs: List[DMDO.DMDO.variableData], outputs: List[DMDO.DMDO.variableData], blackbox: Callable, links: List[int], coupling_type: List[int], index: Optional[int] = None, timeout: int = 1000000) None
- class DMDO.MDA_data(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], nAnalyses: int, analyses: List[DMDO.DMDO.DA], index: int = None)[source]
Bases:
DMDO.DMDO.Process_data
- nAnalyses: int
- analyses: List[DMDO.DMDO.DA]
- index: int = None
- __init__(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], nAnalyses: int, analyses: List[DMDO.DMDO.DA], index: Optional[int] = None) None
- term_critteria: List[Callable]
- term_type: List[int]
- term_status: List[bool]
- variables: List[DMDO.DMDO.variableData]
- responses: List[DMDO.DMDO.variableData]
- class DMDO.MDA(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], nAnalyses: int, analyses: List[DMDO.DMDO.DA], index: int = None)[source]
Bases:
DMDO.DMDO.MDA_data
- __init__(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], nAnalyses: int, analyses: List[DMDO.DMDO.DA], index: Optional[int] = None) None
- class DMDO.ADMM(nsp, beta, budget, index_of_master_SP, display, scaling, mode, M_update_scheme, store_q_o=False, store_q_io=False, index=None)[source]
Bases:
DMDO.DMDO.ADMM_data
Alternating directions method of multipliers
- __init__(nsp, beta, budget, index_of_master_SP, display, scaling, mode, M_update_scheme, store_q_o=False, store_q_io=False, index=None)[source]
- clone_point(p: DMDO.DMDO.variableData)[source]
- update_master_vector(vars: List[DMDO.DMDO.variableData], resps: List[DMDO.DMDO.variableData])[source]
- class DMDO.ADMM_data(nsp: int, budget: int = 20, index_of_master_SP: int = 1, display: bool = True, scaling: Any = 10.0, mode: str = 'serial', var_group: List[DMDO.DMDO.variableData] = <factory>, _linker: List[List[int]] = <factory>, n_dim: int = 0, index: int = None, beta: float = 1.3, gamma: float = 0.5, q: numpy.ndarray = array([], shape=(0, 0), dtype=float64), qold: numpy.ndarray = array([], shape=(0, 0), dtype=float64), phi: float = 1.0, v: numpy.ndarray = array([], shape=(0, 0), dtype=float64), w: numpy.ndarray = array([], shape=(0, 0), dtype=float64), update_w: bool = False, M_update_scheme: int = <w_scheme.MEDIAN: 1>, eps_qo: List = None, save_q_in: bool = False, save_q_in_out: bool = False, eps_fo: List = None)[source]
Bases:
DMDO.DMDO.coordinationData
- beta: float = 1.3
- gamma: float = 0.5
- q: numpy.ndarray = array([], shape=(0, 0), dtype=float64)
- qold: numpy.ndarray = array([], shape=(0, 0), dtype=float64)
- phi: float = 1.0
- v: numpy.ndarray = array([], shape=(0, 0), dtype=float64)
- w: numpy.ndarray = array([], shape=(0, 0), dtype=float64)
- update_w: bool = False
- M_update_scheme: int = 1
- eps_qo: List = None
- save_q_in: bool = False
- save_q_in_out: bool = False
- eps_fo: List = None
- __init__(nsp: int, budget: int = 20, index_of_master_SP: int = 1, display: bool = True, scaling: typing.Any = 10.0, mode: str = 'serial', var_group: typing.List[DMDO.DMDO.variableData] = <factory>, _linker: typing.List[typing.List[int]] = <factory>, n_dim: int = 0, index: typing.Optional[int] = None, beta: float = 1.3, gamma: float = 0.5, q: numpy.ndarray = array([], shape=(0, 0), dtype=float64), qold: numpy.ndarray = array([], shape=(0, 0), dtype=float64), phi: float = 1.0, v: numpy.ndarray = array([], shape=(0, 0), dtype=float64), w: numpy.ndarray = array([], shape=(0, 0), dtype=float64), update_w: bool = False, M_update_scheme: int = w_scheme.MEDIAN, eps_qo: typing.Optional[typing.List] = None, save_q_in: bool = False, save_q_in_out: bool = False, eps_fo: typing.Optional[typing.List] = None) None
- nsp: int
- var_group: List[DMDO.DMDO.variableData]
- class DMDO.partitionedProblemData[source]
Bases:
object
- nv: int
- nr: int
- sp_index: int
- vars: List[DMDO.DMDO.variableData]
- resps: List[DMDO.DMDO.variableData]
- is_main: bool
- MDA_process: DMDO.DMDO.process
- coupling: List[float]
- solution: List[Any]
- solver: Any
- realistic_objective: bool = False
- optFunctions: List[Callable] = None
- obj: float = inf
- constraints: List[float] = [inf]
- frealistic: float = 0.0
- scaling: float = 10.0
- coord: DMDO.DMDO.ADMM
- opt: Callable
- fmin_nop: float
- budget: int
- display: bool
- psize: float
- psize_init: int
- tol: float
- scipy: Dict
- class DMDO.SubProblem(nv, index, vars, resps, is_main, analysis, coordination, opt, fmin_nop, budget, display, psize, pupdate, scipy=None, freal=None, tol=1e-12, solver='OMADS')[source]
Bases:
DMDO.DMDO.partitionedProblemData
- __init__(nv, index, vars, resps, is_main, analysis, coordination, opt, fmin_nop, budget, display, psize, pupdate, scipy=None, freal=None, tol=1e-12, solver='OMADS')[source]
- set_dependent_vars(vars: List[DMDO.DMDO.variableData])[source]
- get_list_vars(vars: List[DMDO.DMDO.variableData])[source]
- get_list_vars_ub(vars: List[DMDO.DMDO.variableData])[source]
- get_list_vars_lb(vars: List[DMDO.DMDO.variableData])[source]
- get_design_vars_scaling(vars: List[DMDO.DMDO.variableData])[source]
- get_list_vars_names(vars: List[DMDO.DMDO.variableData])[source]
- class DMDO.MDO_data(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], Architecture: int, Coordinator: DMDO.DMDO.ADMM, subProblems: List[DMDO.DMDO.SubProblem], fmin: float, hmin: float, display: bool, inc_stop: float, stop: str, tab_inc: List, noprogress_stop: int, eps_qio: List[float] = None, eps_fio: List[float] = None)[source]
Bases:
DMDO.DMDO.Process_data
- Architecture: int
- Coordinator: DMDO.DMDO.ADMM
- subProblems: List[DMDO.DMDO.SubProblem]
- fmin: float
- hmin: float
- display: bool
- inc_stop: float
- stop: str
- tab_inc: List
- noprogress_stop: int
- eps_qio: List[float] = None
- eps_fio: List[float] = None
- __init__(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], Architecture: int, Coordinator: DMDO.DMDO.ADMM, subProblems: List[DMDO.DMDO.SubProblem], fmin: float, hmin: float, display: bool, inc_stop: float, stop: str, tab_inc: List, noprogress_stop: int, eps_qio: Optional[List[float]] = None, eps_fio: Optional[List[float]] = None) None
- term_critteria: List[Callable]
- term_type: List[int]
- term_status: List[bool]
- variables: List[DMDO.DMDO.variableData]
- responses: List[DMDO.DMDO.variableData]
- class DMDO.MDO(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], Architecture: int, Coordinator: DMDO.DMDO.ADMM, subProblems: List[DMDO.DMDO.SubProblem], fmin: float, hmin: float, display: bool, inc_stop: float, stop: str, tab_inc: List, noprogress_stop: int, eps_qio: List[float] = None, eps_fio: List[float] = None)[source]
Bases:
DMDO.DMDO.MDO_data
- __init__(variables: List[DMDO.DMDO.variableData], responses: List[DMDO.DMDO.variableData], Architecture: int, Coordinator: DMDO.DMDO.ADMM, subProblems: List[DMDO.DMDO.SubProblem], fmin: float, hmin: float, display: bool, inc_stop: float, stop: str, tab_inc: List, noprogress_stop: int, eps_qio: Optional[List[float]] = None, eps_fio: Optional[List[float]] = None) None
- class DMDO.problemSetup(data: Dict = None, Vs: List[DMDO.DMDO.variableData] = None, DAs: List[DMDO.DMDO.process] = None, MDAs: List[DMDO.DMDO.process] = None, Coords: List[DMDO.DMDO.coordinator] = None, SPs: List[DMDO.DMDO.SubProblem] = None, MDAO: DMDO.DMDO.MDO = None, Qscaling: List = None, userData: DMDO.DMDO.USER = None)[source]
Bases:
object
- data: Dict = None
- Vs: List[DMDO.DMDO.variableData] = None
- DAs: List[DMDO.DMDO.process] = None
- MDAs: List[DMDO.DMDO.process] = None
- Coords: List[DMDO.DMDO.coordinator] = None
- SPs: List[DMDO.DMDO.SubProblem] = None
- MDAO: DMDO.DMDO.MDO = None
- Qscaling: List = None
- userData: DMDO.DMDO.USER = None
- getVariables(v: List[str]) List[DMDO.DMDO.variableData] [source]
Find the variables by the input key assigned to them
- getDA(d: List[int]) List[DMDO.DMDO.DA] [source]
Get the list of corresponding disciplinary analyses
- getSPs(sp: List[int]) List[DMDO.DMDO.SubProblem] [source]
Get the list of corresponding disciplinary analyses
- getMDA(M: int) DMDO.DMDO.MDA [source]
Get the MDA process from the provided index
- getCoord(c: int) DMDO.DMDO.ADMM [source]
Get the coordinator from the provided index
- __init__(data: Optional[Dict] = None, Vs: Optional[List[DMDO.DMDO.variableData]] = None, DAs: Optional[List[DMDO.DMDO.process]] = None, MDAs: Optional[List[DMDO.DMDO.process]] = None, Coords: Optional[List[DMDO.DMDO.coordinator]] = None, SPs: Optional[List[DMDO.DMDO.SubProblem]] = None, MDAO: Optional[DMDO.DMDO.MDO] = None, Qscaling: Optional[List] = None, userData: Optional[DMDO.DMDO.USER] = None) None
- autoProbSetup() DMDO.DMDO.MDO [source]
Setup the MDO problem