Purpose
Used to change multiple
quadratic coefficients in the
objective function. If any of the coefficients does not exist already, new coefficients will be
added to the objective function.
Synopsis
int XPRS_CC XPRSchgmqobj(XPRSprob prob, int nels, const int mqcol1[], const int mqcol2[], const double dval[]);
Arguments
prob
|
The current problem.
|
nels
|
The number of coefficients to change.
|
mqcol1
|
Integer array of size ncol containing the column index of the first variable in each quadratic term.
|
mqcol2
|
Integer array of size ncol containing the column index of the second variable in each quadratic term.
|
dval
|
New values for the coefficients. If an entry in dval is 0, the corresponding entry will be deleted. These are the coefficients of the quadratic Hessian matrix.
|
Example
The following code results in an objective function with terms: [6x12 + 3x1x2 + 3x2x1]/2
mqcol1[0] = 0; mqcol2[0] = 0; dval[0] = 6.0;
mqcol1[1] = 1; mqcol2[1] = 0; dval[1] = 3.0;
XPRSchgmqobj(prob,2,mqcol1,mqcol2,dval);
Further information
1. The columns in the arrays
mqcol1 and
mqcol2 must already exist in the matrix. If the columns do not exist, they must be added with
XPRSaddcols.
2.
XPRSchgmqobj is more efficient than repeated calls to
XPRSchgqobj and should be used in its place when several coefficients are to be changed.
Related topics
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.