Originally posted by: UserCplex
Hello:
The following is from the CPLEX manual
Quote 1:
setting RootAlg to Network in Concert Technology
When you do so, CPLEX performs a sequence of steps. It first searches for a part of the LP that conforms to network structure. Such a part is known as an embedded network. It then uses the network optimizer to solve that embedded network. Next, it uses the resulting basis to construct a starting basis for the full LP problem. Finally,it solves the LP problem with a simplex optimizer.
I am trying to contrast this with the following quote also from the manual.
Quote 2:
If your entire problem consists of a network flow, you should consider creating a network object 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 the overhead of LP data structures. This option is available only for the Callable library.
I code in Concert C++. I have a pure network flow problem - i.e. - I populate IloRangeArray constraint object such that it contains atmost one +1 and one -1 entry in each column. I set the RootAlg of the IloCplex instance to IloCplex::Network.
Now, Quote 1 would indicate that given the above, CPLEX will solve the LP using Network Simplex. Is this right? But, what does this mean? Does this mean that CPLEX will internally create the network object (as indicated in Quote 2) and solve this object using network simplex?
To really exploit the network simplex algorithm, should I only code using the C Callable Library and not Concert?
Thanks.
#CPLEXOptimizers#DecisionOptimization