Toronto Metropolitan University
Browse

Solving Binary Integer Programing Problems With Balas' Additive Algorithm Using Graphics Processing Units

Download (1.87 MB)
thesis
posted on 2024-06-19, 00:47 authored by Joseph Ryan Glover

This thesis seeks to determine if Balas' additive algorithm for solving Binary Integer Programming (BIP) problems benefits from parallel processing. It establishes serial implementations of a subproblem form and bookkeeping form of Balas' algorithm that introduce new branching rules, memory compaction schemes, fathoming rules and a record keeping method. Parallel implementations of the subproblem and bookkeeping algorithms are developed that use Graphics Processing Units (GPUs) as the parallel platform. The parallel work proceeds in three stages. The first stage involves the parallelization of subproblems with batches of nodes from a branch-and-bound tree being solved simultaneously on a GPU. The second stage involves the parallel exploration of many subtrees from a single branch-and-bound tree using a bookkeeping scheme and a work stealing technique. The third stage involves deploying the subproblem and bookkeeping approaches in a multi-GPU environment to study how the techniques scale with additional hardware resources. The serial Balas' work revealed that ordering BIP variables by their coefficient values delivers benefits in the form of accelerated branching, memory compaction and efficient record keeping. The parallel subproblem form of Balas' was the best performing parallel algorithm and delivered speedups of up to 1670x through the application of the serial innovations and GPU techniques such as memory coalescing and streaming. Despite these performance gains the subproblem form is limited by memory issues on the CPU that prevent the algorithm from solving very large problems. The parallel bookkeeping form of Balas' demonstrated speedups up to 217x thanks to a work stealing technique that balances work load across parallel processors. However, the bookkeeping algorithm suffers from code divergence on the GPU that degrades its parallel performance. In the multi-GPU environment, the performance of the subproblem algorithm scales with additional resources while the bookkeeping form’s performance improves only marginally. Despite its memory issues, the parallel subproblem form of Balas’ delivers orders-of-magnitude improvements in execution times compared to its serial analogue and is the dominant technique in this thesis.

History

Language

eng

Degree

  • Doctor of Philosophy

Program

  • Mechanical and Industrial Engineering

Granting Institution

Ryerson University

LAC Thesis Type

  • Dissertation

Thesis Advisor

Vinh Quan & Saeed Zolfaghari

Year

2022

Usage metrics

    Toronto Metropolitan University

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC