12.07.2015 Views

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Choosing an Optimizer: Network ConsiderationsAs explained in Using the Callable Library in an Application on page 111, to exploit<strong>ILOG</strong> <strong>CPLEX</strong> in your own application, you must first create an <strong>ILOG</strong> <strong>CPLEX</strong> environment,instantiate a problem object, and populate the problem object with data. As your next step,you call a <strong>ILOG</strong> <strong>CPLEX</strong> optimizer.If part of your problem is structured as a network, then you may want to consider calling the<strong>ILOG</strong> <strong>CPLEX</strong> Network Optimizer. This optimizer may have a positive impact onperformance. There are two alternative ways of calling the network optimizer:◆If your problem is an LP where a large part is a network structure, you may call thenetwork optimizer for the populated LP object.◆ If your entire problem consists of a network flow, you should consider creating a networkobject instead of an LP object. Then populate it, and solve it with the network optimizer.This alternative generally yields the best performance because it does not incur theoverhead of LP data structures. This option is available only for the Callable library.How much performance improvement you observe between using only a simplex optimizerversus using the network optimizer followed by either of the simplex optimizers depends onthe number and nature of the other constraints in your problem. On a pure network problem,performance has been measured as 100 times faster with the network optimizer. However, ifthe network component of your problem is small relative to its other parts, then using thesolution of the network part of the problem as a starting point for the remainder may or maynot improve performance, compared to running the primal or dual simplex optimizer. Onlyexperiments with your own problem can tell.Formulating a Network ProblemA network-flow problem finds the minimal-cost flow through a network, where a networkconsists of a set N of nodes and a set A of arcs connecting the nodes. An arc a in the set A isan ordered pair (i, j) where i and j are nodes in the set N; node i is called the tail or the fromnodeand node j is called the head or the to-node of the arc a. Not all the pairs of nodes in aset N are necessarily connected by arcs in the set A. More than one arc may connect a pair ofnodes; in other words, a 1 =(i,j) and a 2 = (i, j) may be two different arcs in A, bothconnecting the nodes i and j in N.Each arc a may be associated with four values:◆x a is the flow value, that is, the amount passing through the arc a from its tail (or fromnode)to its head (or to-node). The flow values are the modeling variables of a networkflowproblem. Negative values are allowed; a negative flow value indicates that there isflow from the head to the tail.218 <strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!