Initializing help system before first use

XPRSchgmqobj, XPRSchgmqobj64

XPRSchgmqobj, XPRSchgmqobj64


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[]);

int XPRS_CC XPRSchgmqobj64(XPRSprob prob, XPRSint64 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