NO FRAMES

CPXcopyorder

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

The routine CPXcopyorder is used to copy a priority order to a CPLEX problem object of type CPXPROB_MILP, CPXPROB_MIQP, or CPXPROB_MIQCP. During branching, integer variables with higher priorities are given preference over integer variables with lower priorities. Priorities must be positive 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 integer 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 on success and nonzero if an error occurs.