Initializing help system before first use

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.
Topic areas
Synopsis
int XPRS_CC XPRSchgmqobj(XPRSprob prob, int ncoefs, const int objqcol1[], const int objqcol2[], const double objqcoef[]);

int XPRS_CC XPRSchgmqobj64(XPRSprob prob, XPRSint64 ncoefs, const int objqcol1[], const int objqcol2[], const double objqcoef[]);
Arguments
prob 
The current problem.
ncoefs 
The number of coefficients to change.
objqcol1 
Integer array of size ncol containing the column index of the first variable in each quadratic term.
objqcol2 
Integer array of size ncol containing the column index of the second variable in each quadratic term.
objqcoef 
New values for the coefficients. If an entry in objqcoef 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: [15x12 + 7x1x2]/2
objqcol1[0] = 0; objqcol2[0] = 0; objqcoef[0] = 15;
objqcol1[1] = 1; objqcol2[1] = 0; objqcoef[1] = 3.5;
XPRSchgmqobj(prob,2,objqcol1,objqcol2,objqcoef);
Further information
1. If objqcol1[t] is not equal to objqcol2[t], then both the matrix elements (objqcol1[t], objqcol2[t]) and (objqcol2[t], objqcol1[t]) are changed to leave the Hessian symmetric.
2. The quadratic matrix coefficients are implicitly divided by two. But since the coefficients for xixj ( i not equal to j) appear twice, only the coefficients for xi2 should be multiplied by two in the objqcoef array to account for the implicit division. See the example above.
3. 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

© 2001-2025 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.