2015 - Present
Optimization Approaches to Graph Partitioning
For my doctoral research, I'm developing a highly efficient graph partitioning library using continuous and discrete optimization techniques.
Parallel processing of graphs and finite element meshes, sparse matrix orderings, and VLSI chip layouts all use graph partitioning in some form or another.
I've gained a lot of experience using static analysis tools, code coverage, Doxygen, and Git to better engineer the codebase, which is a mix of C and C++ with a MATLAB interface.
Mongoose is available on GitHub.
2015 - Present
SuiteSparse Matrix Collection Web Application
This project started as a team project for the Software Engineering course. We built a Ruby on Rails makeover of a previous website that allows you to browse Dr. Tim Davis's SuiteSparse Matrix Collection, a collection of almost 3000 sparse matrices cataloged by size, sparsity, and other properties.
2011 - 2012
Multiperiod Blending Problem
As a graduate student at Carnegie Mellon University, I developed a better method to solve a class of time-dependent blending optimization problems common to the process industries. Applying this approach led to more than 100x improvement in performance.
Kolodziej, S., Castro, P.M. & Grossmann, I.E. Global optimization of bilinear programs with a multiparametric disaggregation technique. J Glob Optim (2013) 57: 1039. http://dx.doi.org/10.1007/s10898-012-0022-1
Scott P. Kolodziej, Ignacio E. Grossmann, Kevin C. Furman, Nicolas W. Sawaya. A discretization-based approach for the optimization of the multiperiod blend scheduling problem. Computers & Chemical Engineering (2013) 53, 122-142. http://dx.doi.org/10.1016/j.compchemeng.2013.01.016