NO FRAMES

CPXcopyorder

public int CPXcopyorder(CPXCENVptr env, CPXLPptr lp, int cnt, const int * indices, const int * priority, const int * direction)
Definition file: cplex.h

The routine CPXcopyorder copies a priority order to a CPLEX problem object of type CPXPROB_MILP, CPXPROB_MIQP, or CPXPROB_MIQCP. A call to CPXcopyorder replaces any other information about priority order previously stored in that CPLEX problem object. During branching, integer variables with higher priorities are given preference over integer variables with lower priorities. Priorities must be nonnegative integers. A preferred branching direction may also be specified for each variable.

The CPLEX parameter CPX_PARAM_MIPORDIND must be set to CPX_ON, its default value, for the priority order to be used in a subsequent optimization.

Table 1: Settings for direction
CPX_BRANCH_GLOBALuse global branching direction when setting the parameter CPX_PARAM_BRDIR
CPX_BRANCH_DOWNbranch down first on variable indices[i]
CPX_BRANCH_UPbranch up first on variable indices[i]

Example

 status = CPXcopyorder (env, lp, cnt, indices, priority,
                        direction);

See Also:

Parameters:

env

A pointer to the CPLEX environment as returned by CPXopenCPLEX.

lp

A pointer to a CPLEX problem object as returned by CPXcreateprob.

cnt

An integer giving the number of entries in the list.

indices

An array of length cnt containing the numeric indices of the columns corresponding to the integer variables that are assigned priorities.

priority

An array of length cnt containing the priorities assigned to the integer variables. The entry priority[j] is the priority assigned to variable indices[j]. May be NULL.

direction

An array of type int containing the branching direction assigned to the integer variables. The entry direction[j] is the direction assigned to variable indices[j]. May be NULL. Possible settings for direction[j] appear in Table 1.

Returns:

The routine returns zero if successful and nonzero if an error occurs.