NO FRAMES

CPXNETextract

int CPXPUBLIC CPXNETextract(CPXCENVptr env, CPXNETptr net, CPXCLPptr lp, int * colmap, int * rowmap)
Definition file: cplex.h
Include files: cplex.h

The routine CPXNETextract finds an embedded network in the LP stored in a CPLEX problem object and copies it as a network to the network problem object, net. The extraction algorithm is controlled by the environment parameter CPX_PARAM_NETFIND.

If the CPLEX problem object has a basis, an attempt is made to copy the basis to the network object. However, this may fail if the statuses corresponding to the rows and columns of the subnetworks do not form a basis. Even if the entire LP is a network, it may not be possible to load the basis to the network object if none of the slack or artificial variables are basic.

The size of colmap must be at leastCPXnumcols(env, lp) + CPXnumrows(env, lp).

The size of rowmap must be least CPXnumrows(env, lp) + 1.

Example

 status = CPXNETextract (env, net, lp, colmap, rowmap);
 

Parameters:

env

A pointer to the CPLEX environment as returned by CPXopenCPLEX.

net

A pointer to a CPLEX network problem object as returned by CPXNETcreateprob.

lp

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

colmap

If not NULL, after completion colmap[i] contains the index of the LP column that has been mapped to arc i. If colmap[i] < 0, arc i corresponds to the slack variable for row -colmap[i]-1.

The size of colmap must be at leastCPXnumcols(env, lp) + CPXnumrows(env, lp).

rowmap

If not NULL, after completion rowmap[i] contains the index of the LP row that has been mapped to node i. If colmap[i] < 0, node i is a dummy node that has no corresponding row in the LP.

The size of rowmap must be least CPXnumrows(env, lp) + 1.

Example

 status = CPXNETextract (env, net, lp, colmap, rowmap);
 

Returns:

The routine returns zero on success and nonzero if an error occurs.