Originally posted by: JimDan
Hello,
If I understand correctly, the most efficient network simplex algorithm requires node length arrays to maintain and perform operations on the tree.
In scanning the literature on what are the best data structures to implement network simplex, the augmented thread index list structures seems to come up. See for instance, (Linear Programming and Network Flows, Bazaraa, Jarvis and Sherali and Network Flows, Ahuja, Magnanti and Orlin). These list structures include: predecessor[], depth[], thread[], orient[] and flow[] and dual[], the latter two maintaining the primal flows on arcs and dual values associated with the nodes, while the former four help maintain the basis tree.
Could CPLEX developers clarify if this is indeed what is implemented in CPLEX network simplex optimizer? I am hoping this is not proprietary information. Could you point me to published literature which gives details of these structures and how they are to be updated from iteration to iteration?
It is just that I am encountering a large network problem which seems to have some additional specialized structure and I am currently developing an even more specialized algorithm than the primal network simplex to solve my problem and would like to eventually compare the computational times with the network optimizer.
Thanks.
#CPLEXOptimizers#DecisionOptimization