Computer Science
April 2007

Speed demon

Todd Munson researches optimization codes that makes programs run their best.

As Todd Munson writes computer code and develops algorithms – mathematical recipes – he gets the greatest kick out of making his programs run faster.

“I’m a speed junkie,” admits Munson, a computer scientist at the Department of Energy’s Argonne National Laboratory who focuses on optimization research.

Speed Demon 1

Todd, S Munson, Argonne National Lab

“Optimization is really a matter of determining what is best for some system,” he says.  For example, engineers designing a detection system might need to know where to place a set of sensors for optimal coverage, he says.  Or, “If I’m a business, what strategy do I use to get the best profit out of my constituents?”.

Despite myriad applications for his work, Munson is driven by the mathematical nuts and bolts of the problems themselves.  As a generalist, much of his work is focused on the Toolkit for Advanced Optimization (TAO), an Argonne-based project to develop computer code researchers can apply to a variety of high-level problems.  He and the other computer scientists on the project post their code on the Internet, which allows researchers to download and adapt it to meet their specific goals.

For particularly sticky applications or on larger projects supported by the Department of Energy’s Scientific Discovery through Advanced Computing (SciDAC) program, Munson works more directly with researchers, including economists, chemists, physicists and environmental scientists.  One day he might work on code to help economists at Stanford University and the University of Chicago examine optimal tax policies.  On another day, he might help physicists understand questions about nuclear fission or chemists who are trying to understand the energy of how a molecule reacts.  He also works on environmental projects, including computer models to understand abatement of groundwater contaminants.

Speed Demon 2

Optimization can be used to speed up the calculation of problems in complex systems. In this problem modeling fluid flow around dilute suspended particles, the space around the particles is described by a mesh, a set of solids (hexahedrons) that cover this space. Before optimization (figures at the top) the spaces in the mesh are regular. But after applying optimization methods developed by Munson and his colleagues, the vertices of the mesh are shifted (figures at the bottom). Using this optimized mesh, researchers at Argonne National Laboratory and the University of Illinois at Urbana-Champaign reduce the time to calculate the fluid flow by 30 percent.

One day he might work on code to help economists at Stanford University and the University of Chicago examine optimal tax policies.  On another day, he might help physicists understand questions about nuclear fission or chemists who are trying to understand the energy of how a molecule reacts.  He also works on environmental projects, including computer models to understand abatement of groundwater contaminants.

Munson’s work today progressed naturally from programming his home computer by the time he was in fourth grade.  He followed his interests to the University of Nebraska at Omaha and majored in computer science.

While he was an undergraduate, Professor Betty Hickman sparked Munson’s interest in optimization during an undergraduate course and later as his research mentor.  Compared to other areas in computer science, optimization was both new and challenging for him.  Chewing on the complicated and interesting problems in class hooked him.  “If I’m not challenged, then I would just be bored,” he says.

That spark led to a focus on optimization research through the rest of Munson’s career, including a doctoral degree at the University of Wisconsin-Madison and work at Argonne, first as a postdoctoral fellow and now as a staff scientist.

Ultimately, Munson comes to work each day with the goal of improving computer applications that will help users solve their problems.

“Typically I can improve upon the existing methods and make them better,” he says.  “A lot of the things that I do are motivated primarily because we want to provide a better experience for the customer and solve their problems faster, better and more reliably.”