XPRSprob.RowCreator Class
Namespace: Optimizer
Assembly: xprsdn (in xprsdn.dll) Version: 44.01.01
public class RowCreator : IPostfixExtractor
The XPRSprob.RowCreator type exposes the following members.
Name | Description | |
---|---|---|
![]() |
XPRSprob.RowCreator |
Create a new instance.
|
Name | Description | |
---|---|---|
![]() |
AddNonzero(Int32, Double) |
Add a single non-zero to the current row.
|
![]() |
AddNonzero(Int32, Int32, Double) |
Add a single quadratic non-zero to the current row. Note: The information is passed to the low-level API as is! Check the C reference documentation for how constraints are represented there. In particular, check whether off-diagonal elements may have to be doubled or halved.
|
![]() |
AddNonzeros |
Add coefficients to the current row.
|
![]() |
AddRhs |
Add a value to the right-hand side of the current row.
|
![]() |
AddRow |
Add a row in a single shot.
|
![]() |
AddToken |
Append a token to this extractor.
|
![]() |
ApplyRange |
Apply a range constraint to the row that is currently built. The function assumes that the right-hand side has already been setup. It is an error to modify type or right-hand side of the current row after calling this function.
|
![]() |
CheckForVariables |
Check whether referencing
Variable instances should raise an exception. If it should, then raise the required exception. The text in this exception is the
errorIfVariables field that was passed to the constructor.
|
![]() |
Commit |
Flush all buffers.
|
![]() |
ConditionalCommit |
Check whether buffers are very big and need committing. If the buffer sizes exceed the thresholds then call
commit.
|
![]() |
DereferenceVariable |
Derefence a value. Converts a variable object into a variable index. This is different from
x.GetIndex() as it also checks whether the problem for which we are extracting the current formula is currently in a state in which variables can be Dereferenced (i.e. not in a callback and not in a presolved state). If it is not then an exception is raised.
|
![]() |
EndExpression |
Signal that a (sub)expression has been extracted.
|
![]() |
Equals | (Inherited from Object.) |
![]() ![]() |
EstimateLinearNonzeros |
Estimate the number of non-zeros that we will have to add when creating
rows new rows. This can be used to compute an initial size for the
rowcoef and
colinds buffers.
|
![]() |
Finalize |
Allows an
Object to attempt to free resources and perform other cleanup operations before the
Object is reclaimed by garbage collection.
(Inherited from Object.) |
![]() |
FinishRow |
Tell this instance that all data for the current rows has been added. This calls
ConditionalCommit().
|
![]() |
GetHashCode |
Serves as a hash function for a particular type.
(Inherited from Object.) |
![]() |
GetPostfixExtractor |
Get a
IPostfixExtractor that can extract formulas into this
RowCreator.
|
![]() |
GetRowCount |
Get the current row count, including buffered rows that are not yet committed.
|
![]() |
GetType |
Gets the
Type of the current instance.
(Inherited from Object.) |
![]() |
MemberwiseClone |
Creates a shallow copy of the current
Object.
(Inherited from Object.) |
![]() |
NormalizeCurrentRow |
Sort and merge duplicates in the current row. Must be called before FinishRow() is called.
|
![]() |
SetName |
Set the name of the current row.
|
![]() ![]() |
SetNonzerosPerInequality |
Set the estimate for number of non-zeros per row. In some cases we know how many rows we want to create but not how many non-zeros they will have. To avoid excessive reallocations this class attempts to guess the number of non-zeros that will created using the estimate set by this function. Usually you should not need to call this function but in some corner cases performance can be improved by tweaking this estimate. The function returns the previous estimate. If the function is called with a negative
estimate argument then the estimate is not changed. So
SetNonzerosPerInequality(-1) queris the current estimate.
|
![]() ![]() |
SetNonzeroThreshold |
Set the threshold value for non-zeros. If the number of non-zeros in the internal buffer exceeds the threshold then all rows currently in this instance are flushed to the corresponding Xpress problem instance. Usually you should not need to call this function but in rare cases performance may be improved by tweaking this value. The function returns the previous threshold value. If the
threshold argument is negative then the threshold is not changed. So
SetNonzeroThreshold(-1) just queries the current threshold.
|
![]() |
SetType |
Set the type of the current row.
|
![]() |
StartExpression | |
![]() |
ToString | (Inherited from Object.) |
![]() |
Undo |
Undo all changes ever done by this instance. The creator should not be used after calling this function.
|
Name | Description | |
---|---|---|
![]() |
colinds |
Non-zero indices.
|
![]() |
created |
The number of rows this instance created.
|
![]() |
firstRow |
objects.Index of first row this instance will create.
|
![]() |
flags |
Flags that indicate what properties are set on at least one row.
|
![]() |
formulaRows |
Indices of rows that contain formulas. This can be
null if no formulas have been collected so far.
|
![]() ![]() |
nonzeroThreshold | |
![]() |
prob |
The problem instance to which things are added.
|
![]() |
qcoef |
Value of quadratic non-zero triplets. This may be
null if there are no quadratic triples.
|
![]() |
qind1 |
First variable of quadratic non-zero triplets. This may be
null if there are no quadratic triples.
|
![]() |
qind2 |
Second variable of quadratic non-zero triplets. This may be
null if there are no quadratic triples.
|
![]() |
rhsvals |
Inequality right-hand side value. This is always one element
more than the number of rows actually completed so far.
|
![]() |
rowcoefs |
Non-zero coefficients.
|
![]() |
start |
Inequality starting offsets. This is always one element
more than the number of rows actually completed so far.
|
Reference
© 2001-2024 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.