Skip to main content

New tool to help solid-waste systems reach cost, environmental goals

Researchers from North Carolina State University have developed a free, user-friendly tool that makes use of multiple computational models to help solid waste systems achieve their environmental goals in the most cost-efficient way possible.

Waste management systems do more than simply put solid waste into landfills. These systems need to not only safely store or recycle solid waste, but also must minimize any health risks associated with the waste, minimize environmental risks associated with air or water pollution, and minimize the release of greenhouse gases (GHGs) that can be produced as solid waste is processed or decomposes.

“The challenge is that there are a host of things waste management systems can do to accomplish these goals,” says James Levis, co-author of a paper on the new tool and a research assistant professor of civil, construction and environmental engineering at NC State. “And many of those actions have trade-offs, in terms of cost, environmental impact, technical challenges, and so on.

“To address this, we’ve created an open-source tool called the Solid Waste Optimization Life-cycle in Python (SwolfPy), which allows users to assess all of these options in one place. This can help users determine the best course of action for any specific set of circumstances. And, because it is open-source, the solid waste community can develop additional features over time to make the tool even more useful in guiding decision-making.”

“SwolfPy is a dynamic tool,” says Mojtaba Sardarmehni, corresponding author of the paper and a Ph.D. student at NC State. “For example, if someone develops a better model for one of its components, the open-source platform will allow users to update SwolfPy.”

The SwolfPy framework includes a collection of process models and a user-interface that allows users to plug in data relevant to their circumstances. SwolfPy will then run the numbers and do two things. First, it gives users a concise snapshot of their current overall operations, and what that means for their cost and environmental goals. Second, SwolfPy gives users the best combination – or combinations – of processes that would allow them to meet their target numbers for cost, GHG emissions, and so on.

But users don’t have to use the default models included in SwolfPy. Users can also choose to develop process models tailored to their specific projects and connect those models to SwolfPy; or users can use a combination of the default models and customized models. Regardless of which suite of models they choose, SwolfPy allows users to plug their target numbers into the user-interface, and SwolfPy will let them know which combination of processes will get them closest to their goals.

“To be clear, there isn’t always one best solution,” Sardarmehni says. “For example, there may be one combination of processes that is most cost-effective, while a second option is less cost-effective, but does a better job of reducing GHG emissions. What SwolfPy does is identify the range of best possible options for users, depending on how they prioritize their goals.”

“We think SwolfPy will be a useful tool for waste management companies, government decision makers who deal with solid waste issues, state policymakers and the research community,” Levis says.

SwolfPy is already freely available online at

“We’re open to hearing from people in the solid waste community who have ideas or questions about how SwolfPy can be used, as well as what can be done to continue fine-tuning it as a practical tool,” Levis says.

The paper, “Solid Waste Optimization Life-cycle Framework in Python (SwolfPy),” is published in the Journal of Industrial Ecology. The paper was co-authored by Pedro Chagas Anchieta, a former graduate student at NC State.

The work was done with support from the National Science Foundation under grant 1437498, and from the Environmental Research and Education Foundation.


Note to Editors: The study abstract follows.

“Solid Waste Optimization Life-cycle Framework in Python (SwolfPy)”

Authors: Mojtaba Sardarmehni, Pedro H. Chagas Anchieta and James W. Levis, North Carolina State University

Published: Jan. 13, Journal of Industrial Ecology

DOI: 10.1111/jiec.13236

Abstract: This paper describes a novel open-source life-cycle optimization framework for solid waste and sustainable materials management applications named SwolfPy. The current version includes life-cycle models for landfills, mass burn waste-to-energy, gasification, centralized composting, home composting, anaerobic digestion, material recovery facilities, refuse-derived fuel facilities, material recycling, transfer stations, and single-family collection. Compared to existing frameworks, SwolfPy streamlines data input/output processes, improves model integration and modularity, provides a wide variety of data visualization and customization, speeds up uncertainty analysis and optimization, and has a user-friendly graphical user interface (GUI). SwolfPy’s GUI allows users to define solid waste management networks and scenarios as well as perform comparative life-cycle assessments (LCAs), contribution analyses, uncertainty analyses, and optimization. SwolfPy is implemented in Python using Pandas, NumPy, and SciPy for computational tasks, PySide2 for creating the GUI, and Brightway2 for storing life-cycle inventory data and performing the LCA calculations. SwolfPy is modular and flexible which enables it to be easily coupled with other packages and to facilitate the addition of new processes, materials, environmental flows and impacts, and methodologies. SwolfPy uses Sequential Least-Squares Programming for constrained non-linear optimization to find systems and strategies that minimize cost or environmental emissions and impacts while meeting user-defined constraints. An illustrative case study with 44 materials, four collection processes, and six treatment processes is presented, and SwolfPy performs 10,000 Monte Carlo iterations in 16 minutes and finds optimal solutions in 10 to 25 minutes on a Windows 10 machine with a CPU speed of 3.60 GHz and 8 logical processors. [Note: This article met the requirements for a Gold-Gold Badge. JIE data openness badge described at]

This post was originally published in NC State News.