A distributed processing algorithm for solving integer programs using a cluster of workstations
The sequential Branch and Bound algorithm is the established method for solving mixed integer and discrete programming problems. There are two goals in carrying out a tree search, namely, (i) finding a good and ultimately the best integer solution, and (ii) to prove that the best solution has been found or no integer feasible solution exists. We call these the stage 1 and stage 2 of tree search. In general it is extremely difficult to choose the ideal search strategy in stage 1 or stage 2 for a given integer programming problem. On the other hand by investigating a number of different strategies (and hence different search trees) a good solution can be reached quickly for a given problem. Starting from this observation a parallel branch and bound has been designed which exploits this two stage approach. In the first stage we investigate a number of alternative search trees in order to find a good solution quickly. In this stage 1 multiprocessing is found useful since not only the best integer solution is broadcast to other processors involved in tree development, the no feasible fathoming information is also shared as a global restriction. In the second stage we reorganize the search to investigate branches of the same tree in parallel. This algorithm has been implemented on a cluster of SUN workstations using the Parallel Virtual Machine (PVM) harness. The data structures for representing the parallel branch and bound tree search are described for each stage. We also describe the method of utilizing an existing sequential branch and bound code for our parallel implementations. The results of our investigation for a range of well known test problems taken from the MIPLIB set and others from the literature are reported here.
- OSTI ID:
- 36103
- Report Number(s):
- CONF-9408161--
- Country of Publication:
- United States
- Language:
- English
Similar Records
Control strategies for parallel mixed integer branch and bound
BBPH: Using progressive hedging within branch and bound to solve multi-stage stochastic mixed integer programs