OptimizationProblem¶
- class OptimizationProblem(*args)¶
 Base class to define an optimization problem.
This represents a general optimization problem:
where B is problem’s bounds, f is the objective function, g are equality constraints, and h are inequality constraints.
- Available constructors:
 OptimizationProblem(objective)
OptimizationProblem(objective, equality, inequality, bounds)
- Parameters:
 
Methods
Accessor to bounds.
Accessor to the object's name.
Accessor to input dimension.
Accessor to equality constraints.
getId()Accessor to the object's id.
Accessor to the underlying implementation.
Accessor to inequality constraints.
Accessor to level function.
Accessor to level value.
getName()Accessor to the object's name.
Accessor to objective function.
Accessor to the residual function.
Accessor to the variables type.
Test whether bounds had been specified.
Test whether equality constraints had been specified.
Test whether inequality constraints had been specified.
Test whether level function had been specified.
Test whether objective function is a scalar or vector function.
Test whether a least-square problem is defined.
Check if the problem is continuous.
isMinimization([marginalIndex])Test whether this is a minimization or maximization problem.
setBounds(bounds)Accessor to bounds.
setEqualityConstraint(equalityConstraint)Accessor to equality constraints.
setInequalityConstraint(inequalityConstraint)Accessor to inequality constraints.
setLevelFunction(levelFunction)Accessor to level function.
setLevelValue(levelValue)Accessor to level value.
setMinimization(minimization[, marginalIndex])Tell whether this is a minimization or maximization problem.
setName(name)Accessor to the object's name.
setObjective(objective)Accessor to objective function.
setResidualFunction(residualFunction)Accessor to the residual function.
setVariablesType(variableType)Accessor to the variables type.
Examples
Define an optimization problem to find the minimum of the Rosenbrock function:
>>> import openturns as ot >>> rosenbrock = ot.SymbolicFunction(['x1', 'x2'], ['(1-x1)^2+100*(x2-x1^2)^2']) >>> problem = ot.OptimizationProblem(rosenbrock)
- __init__(*args)¶
 
- getClassName()¶
 Accessor to the object’s name.
- Returns:
 - class_namestr
 The object class name (object.__class__.__name__).
- getDimension()¶
 Accessor to input dimension.
- Returns:
 - dimensionint
 Input dimension of objective function.
- getEqualityConstraint()¶
 Accessor to equality constraints.
- Returns:
 - equality
Function Describe equality constraints.
- equality
 
- getId()¶
 Accessor to the object’s id.
- Returns:
 - idint
 Internal unique identifier.
- getImplementation()¶
 Accessor to the underlying implementation.
- Returns:
 - implImplementation
 A copy of the underlying implementation object.
- getInequalityConstraint()¶
 Accessor to inequality constraints.
- Returns:
 - inequality
Function Describe inequality constraints.
- inequality
 
- getLevelValue()¶
 Accessor to level value.
- Returns:
 - valuefloat
 Level value.
- getName()¶
 Accessor to the object’s name.
- Returns:
 - namestr
 The name of the object.
- getResidualFunction()¶
 Accessor to the residual function.
- Returns:
 - residualFunction
Function Residual function.
- residualFunction
 
- getVariablesType()¶
 Accessor to the variables type.
- Returns:
 - variablesType
Indices Types of the variables.
- variablesType
 
Notes
Possible values for each variable are ot.OptimizationProblemImplementation.CONTINUOUS, ot.OptimizationProblemImplementation.INTEGER and ot.OptimizationProblemImplementation.`BINARY`.
- hasBounds()¶
 Test whether bounds had been specified.
- Returns:
 - valuebool
 True if bounds had been set for this problem, False otherwise.
- hasEqualityConstraint()¶
 Test whether equality constraints had been specified.
- Returns:
 - valuebool
 True if equality constraints had been set for this problem, False otherwise.
- hasInequalityConstraint()¶
 Test whether inequality constraints had been specified.
- Returns:
 - valuebool
 True if inequality constraints had been set for this problem, False otherwise.
- hasLevelFunction()¶
 Test whether level function had been specified.
- Returns:
 - valuebool
 True if level function had been set for this problem, False otherwise.
- hasMultipleObjective()¶
 Test whether objective function is a scalar or vector function.
- Returns:
 - valuebool
 False if objective function is scalar, True otherwise.
- hasResidualFunction()¶
 Test whether a least-square problem is defined.
- Returns:
 - valuebool
 True if this is a least-squares problem, False otherwise.
- isContinuous()¶
 Check if the problem is continuous.
- Returns:
 - isContinuousbool
 Returns True if all variables are continuous.
- isMinimization(marginalIndex=0)¶
 Test whether this is a minimization or maximization problem.
- Parameters:
 - marginal_indexint, default=0
 Index of the output marginal (for multi-objective only)
- Returns:
 - valuebool
 True if this is a minimization problem (default), False otherwise.
- setEqualityConstraint(equalityConstraint)¶
 Accessor to equality constraints.
- Parameters:
 - equalityConstraint
Function Equality constraints.
- equalityConstraint
 
- setInequalityConstraint(inequalityConstraint)¶
 Accessor to inequality constraints.
- Parameters:
 - inequalityConstraint
Function Inequality constraints.
- inequalityConstraint
 
- setLevelFunction(levelFunction)¶
 Accessor to level function.
- Parameters:
 - levelFunction
Function Level function.
- levelFunction
 
- setLevelValue(levelValue)¶
 Accessor to level value.
- Parameters:
 - levelValuefloat
 Level value.
- setMinimization(minimization, marginalIndex=0)¶
 Tell whether this is a minimization or maximization problem.
- Parameters:
 - minimizationbool
 True if this is a minimization problem, False otherwise.
- marginal_indexint, default=0
 Index of the output marginal (for multi-objective only)
- setName(name)¶
 Accessor to the object’s name.
- Parameters:
 - namestr
 The name of the object.
- setObjective(objective)¶
 Accessor to objective function.
- Parameters:
 - objectiveFunction
Function Objective function.
- objectiveFunction
 
Notes
Constraints and bounds are cleared if the objective has a different input dimension in order to keep the problem valid at all time.
- setResidualFunction(residualFunction)¶
 Accessor to the residual function.
- Parameters:
 - residualFunction
Function Residual function.
- residualFunction
 
- setVariablesType(variableType)¶
 Accessor to the variables type.
- Parameters:
 - variablesType
Indices Types of the variables.
- variablesType
 
Notes
Possible values for each variable are ot.OptimizationProblemImplementation.CONTINUOUS, ot.OptimizationProblemImplementation.INTEGER and ot.OptimizationProblemImplementation.BINARY.
Examples using the class¶
Linear Regression with interval-censored observations
Gaussian process fitter: configure the optimization solver
Compute the joint distribution of order statistics
      OpenTURNS