XSLPchgccoef
PurposeAdd or change a single matrix coefficient using a character string for the formulaSynopsisint XPRS_CC XSLPchgccoef(XSLPprob Prob, int RowIndex, int ColIndex, double *Factor, char *Formula);Arguments
Prob The current SLP problem. RowIndex The index of the matrix row for the coefficient. This respects the setting of XPRS_CSTYLE. ColIndex The index of the matrix column for the coefficient. This respects the setting of XPRS_CSTYLE. Factor Address of a double precision variable holding the constant multiplier for the formula. If Factor is NULL, a value of 1.0 will be used. Formula Character string holding the formula with the tokens separated by spaces.ExampleAssuming that the columns of the matrix are named Col1, Col2, etc, the following example puts the formula 2.5*sin(Col1) into the coefficient in row 1, column 3.char *Formula="sin ( Col1 )"; double Factor; Factor = 2.5; XSLPchgccoef(Prob, 1, 3, &Factor, Formula);Note that all the tokens in the formula (including mathematical operators and separators) are separated by one or more spaces.Further informationIf the coefficient already exists as a constant or formula, it will be changed into the new coefficient. If it does not exist, it will be added to the problem.
A coefficient is made up of two parts: Factor and Formula. Factor is a constant multiplier which can be provided in the Factor variable. If Xpress-SLP can identify a constant factor in the Formula, then it will use that as well, to minimize the size of the formula which has to be calculated.
This function can only be used if all the operands in the formula can be correctly identified as constants, existing columns, XVs, character variables or functions. Therefore, if a formula refers to a new column or XV, that new item must be added to the Xpress-SLP problem first.
Related topics
If you have any comments or suggestions about these pages, please send mail to docs@dashoptimization.com.