- Procedure GMP::Row::SetRightHandSideRaw(GMP, rowSet, value)
GMP::Row::SetRightHandSideRaw
The procedure GMP::Row::SetRightHandSideRaw
changes the
right-hand-sides of a group of rows in a generated mathematical program.
GMP::Row::SetRightHandSideRaw(
GMP, ! (input) a generated mathematical program
rowSet, ! (input) a subset of Integers
value ! (input) a parameter
)
Arguments
- GMP
An element in
AllGeneratedMathematicalPrograms
.- rowSet
A subset of the set
Integers
, representing a set of row numbers.- value
A parameter defining a new right-hand-side for each row in rowSet.
Return Value
The procedure returns 1 on success, and 0 otherwise.
Note
If the constraint has a unit then value should have the same unit. If
value has no unit then you should multiply it by the row scale, as
returned by the function GMP::Row::GetScale
. See
GMP::Row::SetRightHandSide
for an example with units.
Example
Assume that MP
is a mathematical program. To use
GMP::Row::SetRightHandSideRaw
we declare the following identifiers
(in ams format):
ElementParameter myGMP {
Range: AllGeneratedMathematicalPrograms;
}
Set ConstraintSet {
SubsetOf: AllConstraints;
}
Set RowSet {
SubsetOf: Integers;
Index: rr;
}
Parameter RHS {
IndexDomain: rr;
}
To change the right-hand-side values of the constraint c(i)
we can use:
myGMP := GMP::Instance::Generate( MP );
ConstraintSet := { 'c' };
RowSet := GMP::Instance::GetRowNumbers( myGMP, ConstraintSet );
RHS(rr) := 5.0;
GMP::Row::SetRightHandSideRaw( myGMP, RowSet, RHS );
See also