Optimizer.Objects
Class | Description | |
---|---|---|
![]() |
AbstractExpression |
Default implementation of expressions.
|
![]() |
BinaryExpression |
A binary operation in a non-linear formula.
|
![]() |
ConstantExpression |
A constant value.
|
![]() |
ConstraintDefinition<C> |
Base class for all constraints. This is a mostly opaque class that usually is short-lived and only saves as data container during the creation of constraints. One thing that is common to all constraints in Xpress is that they have a name. This property is accesible from the
GetName() and
SetName() functions in this class.
|
![]() |
Expression |
Base class for all expressions. Expressions are the building blocks for all constraints represented by Inequality and also for indicator constraints. Expressions are created by combining variables and constant using operators and functions. The operators available for combining constants, variables and expressions are
plus,
minus,
mul (multiply) and
div (divide) and are defined as member functions of the
Expression Class (or its subclasses). To add two variables
x and
y one would do ce.
x.Plus(y). To create the expression
2x + 3y one could write
x.Mul(2).Plus(y.Mul(3)). All operators are overloaded, so that you could also write
2*x+3*y. The functions that can be used to combine expressions can be found in the Utils class. Examples are
sum,
sin, etc. Expressions are unmodifiable and are represented as expression trees. This means that all operators are implemented to take only constant time to produce the result. An exception to the above are linear and quadratic Expressions (class LinExpression and QuadExpression). Linear and quadratic expressions are very common to math programming and thus they can be built in even more efficient ways: The LinExpression and QuadExpression are the only mutable expressions. They can be modified using the
AddTerm() family of functions. When creating a linear expression like
2x+3y+4z then it is more efficient to do this as
LinExpression.Create().AddTerm(x,2).AddTerm(y,3).AddTerm(z,4) than to create the expression using operators
plus and
mul. For short expressions the performance difference will not be measurable but for longer expressions it will start to matter. Since operators copy their argument expressions by reference, care must be taken when applying operators to LinExpression or QuadExpression: when changing an instance of LinExpression or QuadExpression, this will implicitly change any other expression that references this expression through operators or functions.
|
![]() |
FormulaExpression |
Base class for expressions that implement non-linear formulas.
|
![]() |
GeneralConstraint |
General constraint. General constraints are unmodifiable.
|
![]() |
GeneralConstraint.Definition |
Definition of a general constraint. Instances of this class describe a constraint that has not yet been added but can be added using
XpressProblem.AddConstraint() or
XpressProblem.AddConstraints(). Users should usually not have to deal with this class explicitly.
|
![]() |
IIS |
An irreducible infeasible subsystem.
|
![]() |
IISConstraint |
An infeasible constraint in an IIS.
|
![]() |
IISVariable |
Description of an infeasble variable in an IIS.
|
![]() |
IndicatorDescription |
An indicator constraint. Note that an indicator constraint does not have a direct representation in Xpress. Instead an indicator constraint comprises of 1. a row/inequality, 2. an indicator variable, 3. a flag that says whether the constraint is active when the variable is 1 or 0. The last two pieces of information are stored and modified along with a row. Consequently, submitting an instance of this class to
AddConstraint() will - assume that the indicator variable already exists, - create a new row, - set flag and variable on that row according to the information stored in this instance. The
name property of this constraint applies to the row that is associated with this Constraint (and that will be created when this instance is submitted to
AddConstraints()). Instances of this class describe a constraint that has not yet been added but can be added using
XpressProblem.AddConstraint(). Users should usually not have to deal with this class explicitly.
|
![]() |
IndicatorObjects |
Data describing an indicator constraint. This is mainly used for querying indicator constraints.
|
![]() |
Inequality |
A reference to an equation, inequality, or ranged row.
|
![]() |
Inequality.Definition |
Class representing a
<=,
>=,
==, or ranged constraint. Instances of this class describe a constraint that has not yet been added but can be added using
XpressProblem.AddConstraint() or
XpressProblem.AddConstraint(). Users should usually not have to deal with this class explicitly.
|
![]() |
InternalFunctionExpression |
A call to an internal function a non-linear formula.
|
![]() |
InternalUtils |
Utilities for modeling.
|
![]() |
LinCoef |
A linear coefficient. A linear coefficient is a variable/value pair that gives the factor for a variable in a linear expression.
|
![]() |
LinearView |
A read-only view on a linear expression.
|
![]() |
LinExpression |
A linear expression that represents its data by a collection of terms. This is an abstract base class that is implement by different subclasses which use different data types to actually store the various terms in the expression.
|
![]() |
LinQuadUtils |
(Internal) utilities for building linear and quadratic expressions.
|
![]() |
LinTerm |
A linear term.
|
![]() |
LinTermList |
A linear expression that is represented as a list of terms. Instances of this class represent a linear expression as a list of terms. This is the most efficient way to represent a list. By default, the implementation assumes that there are no two terms in the list that refer to the same variable. If there are you must either explicitly call .Compress() or set the
autoCompress property to
true.
|
![]() |
LinTermMap |
A linear expression. This class implements a linear expression as a map from variables to values.
|
![]() |
NotInProblemException |
Exception is raised in case a deleted variable, row, etc is accessed or such an object is queried from a problem to which it does not belong.
|
![]() |
PWL |
A piecewise lienar constraint.
|
![]() |
PWL.Definition |
A piecewise linear function constraint. An instance of this class requires variable
resultant to be the value of the piecewise linear function defined by
xval and
yval evaluated for variable
input. Instances of this class describe a constraint that has not yet been added but can be added using
XpressProblem.AddConstraint() or
XpressProblem.AddPWL(). Users should usually not have to deal with this class explicitly.
|
![]() |
PWLExpression |
A class that represents a piecewise linear function.
|
![]() |
QPair |
Pair of variables in a quadratic expression. Instances of this class are used to represent pairs of variables in quadratic expressions. Variables in this instance are always ordered according to a canonical ordering, so
(v1,v2) and
(v2,v1) will map to the same representation. Instances can represent linear terms as well. In that case
var2 is invalid and .IsLinear() returns
true. Instances can also represent constant terms. In that case
var1 and
var2 are both invalid and .IsConstant() returns
true.
|
![]() |
QuadCoef |
A quadratic coefficient. A quadratic coefficient is a (variable,variable)/value pair that gives the factor for a pair of variables in a quadratic expression.
|
![]() |
QuadExpression |
A quadratic expression that represents its data by a collection of terms. This is an abstract base class that is implement by different subclasses which use different data types to actually store the various terms in the expression.
|
![]() |
QuadTerm |
A quadratic term.
|
![]() |
QuadTermList |
A quadratic expression that is represented as a list of terms. Instances of this class represent a quadratic expression as a list of terms. This is the most efficient way to represent a list. By default, the implementation assumes that there are no two terms in the list that refer to the same pair of variables. If there are you must either explicitly call .Compress() or set the
autoCompress property to
true.
|
![]() |
QuadTermMap |
A quadratic expression. This class implements a quadratic expression as a map from variables to values.
|
![]() |
QuadView |
A read-only view on a quadratic expression.
|
![]() |
SOS |
A special ordered set constraint.
|
![]() |
SOS.Definition |
A special ordered set constraint. Instances of this class describe a constraint that has not yet been added but can be added using
XpressProblem.AddConstraint() or
XpressProblem.AddConstraints(). Users should usually not have to deal with this class explicitly.
|
![]() |
SumExpression |
Temporary class that is used to efficiently represent sums of expressions. You should never have to instantiate this class explicitly. Note that the array passed to the constructor is only copied by reference! So make sure this is not something that will change afterwards. This is also one of the reasons this class has "package" protection and is not visible to the user.
|
![]() |
Token |
A token in a non-linear formula. All constructors of this class are private. Use the various static factory functions to get new instances. This avoids creating multiple instances that refer to the same Token (like for example the
EOF token.
|
![]() |
UnaryExpression |
A unary operation in a non-linear formula.
|
![]() |
UserFunctionExpression |
A class that represents a call to a user function in a non-linear expression.
|
![]() |
Utils |
Utilities for modeling.
|
![]() |
Variable |
A reference to a variable.
|
![]() |
XpressProblem |
Optimizer interface that allows modeling by objects.
|
![]() |
XpressProblem.BranchObject |
Subclass of
XPRSbranchobject that allows using
Variable instances to specify bounds and constraints. Instances of this class always expects bounds and expressions to be specified in terms of the
original Space (not presolved space).
|
![]() |
XpressProblem.CallbackAPI |
API for adding and removing callbacks to this problem.
|
Interface | Description | |
---|---|---|
![]() |
IIndex |
Base class for objects that represent an indexed item in an
XpressProblem.
|
![]() |
IPostfixExtractor |
Helper class to extract formulas into a postfix representation.
|
Enumeration | Description | |
---|---|---|
![]() |
BinaryExpression.Operator |
Enumeration for binary expression operators.
|
![]() |
ExpressionRTTI |
Runtime type information for expressions.
|
![]() |
IIS.Isolation |
Isolation status of a constraint or variable.
|
![]() |
IISVariable.InfeasibleDomain |
Domain properties that can be infeasible in an IIS.
|
![]() |
InternalFunctionExpression.FunctionType |
Enumeration for internal functions.
|
![]() |
UnaryExpression.Operator |
Enumeration for unary expression operators.
|
© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.