MultiObjectiveOptimizationAnalysis

class persalys.MultiObjectiveOptimizationAnalysis(*args)

Perform the multi-objective optimization analysis of a model.

Parameters
namestr

Name

physicalModelPhysicalModel

Physical model

solverNamestr

Optimization algorithm name (optional). Use GetSolverNames() to list available names.

Examples

>>> import openturns as ot
>>> import persalys

Create the model:

>>> X0 = persalys.Input('X0', 0)
>>> X1 = persalys.Input('X1', 0)
>>> Y0 = persalys.Output('Y0')
>>> Y1 = persalys.Output('Y1')
>>> bounds = ot.Interval([0.0, 0.0], [5.0, 5.0])
>>> model = persalys.SymbolicPhysicalModel('aModelPhys', [X0, X1], [Y0, Y1], ['X0', 'var g := 1.0 + 9.0 * (X0 + X1); g * (1.0 - sqrt(X0 / g))'])

Create the analysis:

>>> analysis = persalys.MultiObjectiveOptimizationAnalysis('anAnalysis', model, 'nsga2')
>>> analysis.setInterestVariables(['Y0', 'Y1'])
>>> analysis.setBounds(bounds)
>>> analysis.setPopulationSize(50)
>>> analysis.setGenerationNumber(10)
>>> analysis.setVariableInputs(['X0', 'X1'])
>>> analysis.run() 

Get the result:

>>> result = analysis.getResult() 
>>> finalPop = result.getFinalPop() 
>>> fronts = result.getFronts() 
Attributes
AlgorithmDictionary

Methods

GetSolverNames(*args)

Accessor to the list of solver names.

addConstraint(*args)

Adds a constraint to the analysis

getBounds()

Accessor to bounds.

getClassName()

Accessor to the object's name.

getErrorMessage()

Error message accessor.

getGenerationNumber()

Accessor to the number of generations.

getInterestVariables()

Get the variables to analyse.

getMaximumAbsoluteError()

Accessor to maximum allowed absolute error.

getMaximumConstraintError()

Accessor to maximum allowed constraint error.

getMaximumRelativeError()

Accessor to maximum allowed relative error.

getMaximumResidualError()

Accessor to maximum allowed residual error.

getMinimization()

Test whether this is a minimization or maximization problem.

getName()

Accessor to the object's name.

getPhysicalModel()

Physical model accessor.

getPopulationSize()

Accessor to popSize.

getPythonScript()

Physical model accessor.

getRawEquations()

Accessor to constraints equations

getResult()

Accessor to result.

getSeed()

Accessor to random generator seed.

getSolverName()

Accessor to solver name

getStartingPoint()

Accessor to starting point.

getVariableInputs()

Accessor to variable input names

getWarningMessage()

Warning message accessor.

hasName()

Test if the object is named.

hasValidResult()

Whether the analysis has been run.

isReliabilityAnalysis()

Whether the analysis involves reliability.

isRunning()

Whether the analysis is running.

resetConstraints()

Clears the current analysis constraints

run()

Launch the analysis.

setBounds(bounds)

Accessor to bounds.

setGenerationNumber(generationNumber)

Accessor to the number of generations.

setInterestVariables(variablesNames)

Set the variables to analyse.

setMaximumAbsoluteError(maximumAbsoluteError)

Accessor to maximum allowed absolute error.

setMaximumCallsNumber(maximumCallsNumber)

Accessor to maximum allowed number of calls.

setMaximumConstraintError(maximumConstraintError)

Accessor to maximum allowed constraint error.

setMaximumRelativeError(maximumRelativeError)

Accessor to maximum allowed relative error.

setMaximumResidualError(maximumResidualError)

Accessor to maximum allowed residual error.

setMinimization(varNames)

Tell whether this is a minimization or maximization problem.

setName(name)

Accessor to the object's name.

setPopulationSize(popSize)

Accessor to popSize.

setSeed(seed)

Accessor to random generator seed.

setSolverName(name)

Accessor to solver name

setStartingPoint(startingPoint)

Accessor to starting point.

setVariableInputs(inputs)

Accessor to variable input names

canBeLaunched

defineProblem

getElapsedTime

getEqualityConstraints

getInequalityConstraints

getMaximumCallsNumber

getParentObserver

getVariablesType

initialize

setVariablesType

__init__(*args)
static GetSolverNames(*args)

Accessor to the list of solver names.

Returns
namesDescription

List of available solver names.

addConstraint(*args)

Adds a constraint to the analysis

Parameters
constraintstr

Constraint equation

getBounds()

Accessor to bounds.

Returns
boundsInterval

Problem bounds.

getClassName()

Accessor to the object’s name.

Returns
class_namestr

The object class name (object.__class__.__name__).

getErrorMessage()

Error message accessor.

Returns
messagestr

Error message if the analysis failed

getGenerationNumber()

Accessor to the number of generations.

Returns
generationNumberint

number of generations for the evolving algorithm.

getInterestVariables()

Get the variables to analyse.

Returns
variablesNamessequence of str

Names of the variables to analyse

getMaximumAbsoluteError()

Accessor to maximum allowed absolute error.

Returns
maximumAbsoluteErrorfloat

Maximum allowed absolute error.

getMaximumConstraintError()

Accessor to maximum allowed constraint error.

Returns
maximumConstraintErrorfloat

Maximum allowed constraint error.

getMaximumRelativeError()

Accessor to maximum allowed relative error.

Returns
maximumRelativeErrorfloat

Maximum allowed relative error.

getMaximumResidualError()

Accessor to maximum allowed residual error.

Returns
maximumResidualErrorfloat

Maximum allowed residual error.

getMinimization()

Test whether this is a minimization or maximization problem.

Returns
valuebool

True if this is a minimization problem (default), False otherwise.

getName()

Accessor to the object’s name.

Returns
namestr

The name of the object.

getPhysicalModel()

Physical model accessor.

Returns
modelPhysicalModel

Physical model

getPopulationSize()

Accessor to popSize.

Returns
popSizeint

Initial population sample size.

getPythonScript()

Physical model accessor.

Returns
scriptstr

Python script to replay the analysis

getRawEquations()

Accessor to constraints equations

Returns
equationssequence of str

Constraints equations

getResult()

Accessor to result.

Returns
resultMultiObjectiveOptimizationAnalysisResult

multi-objective analysis result.

getSeed()

Accessor to random generator seed.

Returns
seedint

random generator seed for the evolving algorithm.

getSolverName()

Accessor to solver name

Returns
solverstr

Solver name

getStartingPoint()

Accessor to starting point.

Returns
startingPointPoint

Starting point.

getVariableInputs()

Accessor to variable input names

Returns
inputsDescription

Variable input names. It is set by default to the list of inputs of the model.

getWarningMessage()

Warning message accessor.

Returns
messagestr

Warning message which can appear during the analysis computation

hasName()

Test if the object is named.

Returns
hasNamebool

True if the name is not empty.

hasValidResult()

Whether the analysis has been run.

Returns
hasValidResultbool

Whether the analysis has already been run

isReliabilityAnalysis()

Whether the analysis involves reliability.

Returns
isReliabilityAnalysisbool

Whether the analysis involves a reliability analysis

isRunning()

Whether the analysis is running.

Returns
isRunningbool

Whether the analysis is running

resetConstraints()

Clears the current analysis constraints

run()

Launch the analysis.

setBounds(bounds)

Accessor to bounds.

Parameters
boundsInterval

Problem bounds.

setGenerationNumber(generationNumber)

Accessor to the number of generations.

Parameters
generationNumberint

number of generations for the evolving algorithm.

setInterestVariables(variablesNames)

Set the variables to analyse.

Parameters
variablesNamessequence of str

Names of the variables to analyse

setMaximumAbsoluteError(maximumAbsoluteError)

Accessor to maximum allowed absolute error.

Parameters
maximumAbsoluteErrorfloat

Maximum allowed absolute error.

setMaximumCallsNumber(maximumCallsNumber)

Accessor to maximum allowed number of calls.

Parameters
Nint

Maximum allowed number of calls.

setMaximumConstraintError(maximumConstraintError)

Accessor to maximum allowed constraint error.

Parameters
maximumConstraintErrorfloat

Maximum allowed constraint error.

setMaximumRelativeError(maximumRelativeError)

Accessor to maximum allowed relative error.

Parameters
maximumRelativeErrorfloat

Maximum allowed relative error.

setMaximumResidualError(maximumResidualError)

Accessor to maximum allowed residual error.

Parameters
maximumResidualErrorfloat

Maximum allowed residual error.

setMinimization(varNames)

Tell whether this is a minimization or maximization problem.

Parameters
minimizationbool

True if this is a minimization problem, False otherwise.

setName(name)

Accessor to the object’s name.

Parameters
namestr

The name of the object.

setPopulationSize(popSize)

Accessor to popSize.

Parameters
popSizeint

Initial population sample size.

setSeed(seed)

Accessor to random generator seed.

Parameters
seedint

random generator seed for the evolving algorithm.

setSolverName(name)

Accessor to solver name

Parameters
solverstr

Solver name. Use GetSolverNames() to list available names.

setStartingPoint(startingPoint)

Accessor to starting point.

Parameters
startingPointsequence of float

Starting point.

setVariableInputs(inputs)

Accessor to variable input names

Parameters
inputssequence of str

Variable input names. It is set by default to the list of inputs of the model.