PULPO

Open-source Python framework for life-cycle optimisation, developed at CEPIMA.

← Back to tools

PULPO logo

PULPO: Python-based User-defined Lifecycle Production Optimization

PULPO is an open-source framework that brings mathematical optimisation to life-cycle assessment (LCA). Instead of evaluating a single, fixed product system, PULPO lets analysts pose an LCA problem as an optimisation model, selecting technologies, scaling activities and routing flows so that environmental impacts are minimised subject to demand and feasibility constraints.

At a glance

  • Type: Python package (open source).
  • Built on: Brightway2 life-cycle databases and the Pyomo optimisation modelling environment.
  • License: see the repository for the latest license terms.
  • Maintainer: Fabian Lechtenberg (CEPIMA, UPC).

What PULPO does

Classical attributional LCA answers the question “what are the impacts of this product system?”. PULPO lets you ask the more useful, decision-oriented question:

“Given a demand and a set of available technologies, which configuration minimises environmental impact, and by how much?”

It does this by:

  1. Importing an LCA inventory (e.g. ecoinvent) via Brightway2.
  2. Translating the technology and biosphere matrices into a linear / mixed-integer optimisation problem in Pyomo.
  3. Letting the user define custom constraints, choices and objectives, for example capacity limits, mandatory recycling rates or trade-offs between several impact categories.
  4. Solving the problem with any Pyomo-compatible solver (open-source or commercial) and returning an optimised production plan together with the corresponding LCA results.

This makes PULPO especially useful for circular economy studies, technology screening, and scenario analysis where many candidate systems must be compared on environmental criteria.

Get started

  • Repository: github.com/flechtenberg/pulpo, with installation instructions, examples and tutorials.
  • Issues & contributions: please open an issue or pull request on GitHub.

Reference paper

If you use PULPO in academic work, please cite:

Lechtenberg, F. et al. PULPO: A framework for efficient integration of life cycle inventory models into life cycle product and process optimization. Journal of Industrial Ecology, 2024. doi:10.1111/jiec.13561

PULPO supports our work on the optimisation and performance assessment research lines, and is used in projects such as CEPI.