Brady Hunsaker: Computational tools

This page lists computational tools that I have created or am currently working on. I like to share all the tools I create, though not all have polished downloads available.

STOP: Selection Tool for Optimization Parameters

I am currently doing research on tuning software parameters automatically, using ideas from software testing and machine learning. The method was developed with collaborators Paul Brooks, Abhijit Gosavi, and graduate student Mustafa Baz. We have a framework written in C++ that is designed to be flexible enough to use with a variety of software. We have only tested it using solvers for mixed-integer programs.

More information on STOP is at my software distribution page.

BAK: Branch-and-bound Analysis Kit

I am working with graduate student Osman Ozaltin and collaborator Ted Ralphs on better ways to measure progress in branch-and-bound algorithms. We have developed a tool for visualizing the progress of branch-and-bound algorithms in a variety of ways. We are also working on a method for predicting the time to completion of a solver run.

More information on BAK is at my software distribution page.

CG inequalities software

CG-rank. Coded by Brady Hunsaker and Mustafa Baz based on research by Brady Hunsaker, Craig A. Tovey, and Mustafa Baz. The download version determines whether a given inequality has Chvatal-Gomory rank 0, 1, 2 or higher.

Our current development version can instead optimize over all rank 1 CG inequalities. We plan to make this version available for download soon. Contact me if you are interested in getting this version sooner.

Written in C++. Licensed under your choice of Common Public License (CPL) or GNU General Public License (GPL).

Using Beamer for teaching

I use the LaTeX package Beamer for teaching. I have a simple Makefile that allows me to easily generate three versions of the file: the file for display on the screen, a file for a handout that puts two frames on each page but has certain parts intentionally omitted, and a file for a handout with all parts included (for distribution after class).

The Makefile just does two things: it allows all three files to come from a single source by automatically adding the appropriate options to a temporary file, and it uses pdfnup to put multiple frames on a single printed page for handout and trans versions.

Download: Makefile for beamer lectures

COIN-OR Open Solver Interface (OSI) to GLPK

Original coding by Vivian DeSmedt and Brady Hunsaker. I maintain this code as part of the COIN-OR Initiative. Written in C++. Licensed under the Common Public License (CPL).

Contributions to GNU Linear Programming Kit (GLPK)

I have contributed code to determine sensitivity bounds for linear programming and to determine the best LP bound for a branch-and-bound tree. GLPK was written and is maintained by Andrew Makhorin.

Back to Brady Hunsaker's homepage
Page last modified 2007 Aug 17.