The key focus of my work is the multidisciplinary area of research known as Combinatorial Scientific Computing (CSC), which brings together key ideas from combinatorial optimization and algorithmics to solve difficult problems in scientific computing. The design and implementation of efficient parallel algorithms is critical in CSC. Beginning with my PhD thesis, I have worked on several variants of the graph matching problem. My collaborative work has not only resulted in novel approximate algorithms but also in scalable implementations on state-of-the-art computer systems. Since joining PNNL, I have continued this work to develop new algorithms and scalable implementations for coloring, clustering, network alignment, stochastic coordinate descent, extraction of chordal subgraphs and influence maximization. Scalable implementations have targeted distributed-memory systems, traditional multicore and manycore (GPUs; Tilera) platforms and massively multithreaded (XMT) architectures. Establishment of the ECP Codesign Center on graph algorithms (ExaGraph) is a testament to the importance of this work in the context of scientific computing. It is also worth to note that the same set of algorithms are equally important in the emerging areas of graph analytics and graph-based semi-supervised learning.

I portion of my work has covered topics in game theory, numerical optimization, machine learning and uncertainty quantification. I have explored several application areas including the study of electric power grid, computational biology, fault tolerance and scientific workflows.


Externally funded projects (PI/Co-PI/Senior Personnel):

Laboratory Directed Research and Development (LDRD) Projects, Pacific Northwest National Laboratory (PI/Co-PI/Senior Personnel):

Synergistic Activities

Doctoral Thesis

Abstract: A matching M in a graph is a subset of edges such that no two edges in M are incident on the same vertex. Matching is a fundamental combinatorial problem with many applications. In the first part of this thesis, we develop exact and approximation algorithms for vertex weighted matchings, an under-studied variant of the weighted matching problem. We propose three exact algorithms, three half approximation algorithms, and a two-third approximation algorithm. We exploit inherent properties of this problem such as lexicographical orders, decomposition into sub-problems, and the reachability property, not only to design efficient algorithms, but also to provide simple proofs of correctness of the proposed algorithms. In the second part of this thesis, we describe work on a new parallel half-approximation algorithm for weighted matching. Algorithms for computing optimal matchings are not amenable to parallelism, and hence we consider approximation algorithms here. We extend the existing work on a parallel half approximation algorithm for weighted matching and provide an analysis of its time complexity. We support the theoretical observations with experimental results obtained with MatchBoxP, toolkit designed and implemented in C++ and MPI using modern software engineering techniques. The work in this thesis has resulted in better understanding of matching theory, a functional public-domain software toolkit, and modeling of the sparsest basis problem as a vertex-weighted matching problem.

Last updated: