Initializing help system before first use

XPRSaddobj

Purpose
Appends an objective function with the given coefficients to a multi-objective problem. The weight and priority of the objective are set to the given values.
Topic areas
Synopsis
int XPRS_CC XPRSaddobj(XPRSprob prob, int ncols, const int colind[], const double objcoef[], int priority, double weight);
Arguments
prob 
The current problem.
ncols 
Number of objective function coefficient elements to add.
colind 
Integer array of length ncols containing the indices of the columns whose objective coefficients will change. An index of -1 indicates that the fixed part of the objective function on the right hand side should change.
objcoef 
Double array of length ncols giving the new objective function coefficients.
priority 
An integer defining the relative priority for the new objective (only relevant for multi-objective problems). Higher values mean higher priority. During optimization, objectives with the same priority are combined together in a weighted sum.
weight 
A double defining the weight for the new objective (only relevant for multi-objective problems). If the weight is negative, the sense of this objective is reversed.
Example
Adding a second objective function to a problem:
colind[0] = 0; colind[1] = 2; colind[2] = 5;
objcoef[0] = 25.0; objcoef[1] = 5.3; objcoef[2] = 0.0;
XPRSaddobj(prob,3,colind,objcoef,1,1);
Further information
1. This function cannot be called while the current problem is being solved or when it is in an interrupted state. Use XPRSpostsolve to restore the problem to a non-solving state.
2. If all objectives have equal priority but different weights, a blended (weighted-sum) approach is applied. For cases where each objective has a different priority but the same weight, a lexicographic approach is applied. The highest priority objective is optimized first. In the second and subsequent iterations, all objectives from previous iterations are fixed to their optimal values within tolerances (see XPRSsetobjdblcontrol). If both different priorities and different weights are passed, a hybrid approach is applied: Xpress will solve the problem once for each distinct objective priority that is defined, optimizing in each iteration a linear combination of the objective functions with the same priority.
3. The optimization sense of the first objective defines the default sense for all objectives. To revert the sense of an objective in relation to the first objective, assign it a negative weight. For example, if the first objective is set to be maximized, further objectives to be minimized can be declared with weight=-1.
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.