Tuesday, November 6, 2007 - 10:10 AM
174e

Mathematical Programming Tool For Lci Synthesis: A Case Study For Carpet Production And Recycling Systems

Di Lu1, Matthew Realff1, Yong Li2, and Michael Overcash2. (1) School of Chemical and Biomolecular Engineering, Georgia Institute of Technology, 311 Ferst Drive, N.W., Atlanta, GA 30332, (2) Chemical and Biomolecular Engineering, North Carolina State University, Raleigh, NC

There is growing interest in the assessment of products from a life cycle perspective.  Chemical engineers are uniquely positioned to carry out this analysis because of the extensive chemical supply chains that lead up to the materials contained in the products and the overwhelming contribution that the production of these chemicals make to the overall lifecycle due to their energy intensity.

A system for cradle to gate Life Cycle Inventory (LCI) analysis and synthesis from alternatives has been developed for products with both polymer and inorganic components.  The approach has three main phases: 1) Use an XML format input to represent the LCI blocks which construct an abstract chemical tree; 2) Design an algorithm to traverse the chemical tree and find all possible routes for the desired product; 3) Build a matrix to represent the constraints for the LP optimization and based on this matrix, find the optimal solutions for different objectives such as minimizing the non-renewable energy used, minimizing the use of water or emissions across different media.  A case study of evaluating the alternative carpet production system by resource requirement and environmental impact of different routes has been implemented as a case study to demonstrate the approach.  Specifically the study compares the environmental impact of using recycling processes to provide certain material components as opposed to the equivalent forward supply chains.

Figure 1 shows a generalized framework for the system. There are two core modules, Route Builder and Route Chooser, which we will explain in the following paragraphs. The Process Library is a library that contains all the necessary reactions and their related information (such as energy consumed, emissions, etc.) in the xml format. A route is defined as a complete set of reactions which can be used to generate the desired product from the existing raw materials.

 

Figure 1. A Generalized Framework

Given the desired product and the raw materials, we need to first find all the routes that can generate the desired product using the raw materials. The Route Builder module in Figure 1 is designed for this task. Depending on the Process Library, the Route Builder builds up all possible routes in a reversed way from the product to the raw materials. The algorithm for this reverse route-building process is as follows. Note: variables are in italic.

Find all the processes in the Process Library whose resultant is the desired product;

For each found process Process, do {

    Generate a new route Route;

    Add Process into Route;

}

For each existing route Route, do {

    For each existing process Process in Route, do {

        For each reactant Reactant in Process, do {

            If (Reactant is raw material)

                continue;

            if (the process whose resultant is Reactant is already in Route)

                continue;

            Find all the processes in the Process Library whose resultant is Reactant;

            For each found process FoundProcess, do {

                If (FoundProcess  is NOT the last found process) {

                    Create a new route NewRoute;

                    Copy all the processes in Route into NewRoute;

                    Add FoundProcess into NewRoute;

                }

                else

                    Add FoundProcess into Route;

            }

        }

    }

}

Algorithm 1. A Reverse Route-Building Algorithm

After we find all possible routes that can generate the desired product using the existing raw materials, we need to determine which route or routes can satisfy the requirements such as least energy consumption or least emissions. We first transfer all the routes into a matrix of routes and raw materials as Table 1. The value in each cell represents the amount of that raw material needed by that specific route in order to generate 1 unit of the desired product. For example, the cell (Route 1, Material 1) is 1.5, which means that 1.5 unit of Material 1 is needed by Route 1 in order to generate 1 unit of the desired product.

 

Raw Material 1

Raw Material 2

…

Raw Material n

Route 1

1.5

1

…

3

Route 2

0.5

0

…

1.5

…

…

…

…

…

Route m

0

0.5

…

1

Table 1. A Matrix of Routes and Raw Materials

Finally, we use the General Algebraic Modeling System (GAMS[1]) to handle this matrix to generate the following constraints and find the solution for them,

P1 * E1 + P2 * E2 + … + Pm * Em (This is our objective function which we want to minimize.)

P1 + P2 + … + Pm = P

1.5 * P1 + 0.5 * P2 + … + 0 * Pm < M1

1 * P1 + 0 * P2 + … + 0.5 * Pm < M2

…

3 * P1 + 1.5 * P2 + … + 1 * Pm < Mn

where

P represents the total amount of the desired product we want to generate;

P1, P2, …, Pm are the amounts of the desired product we want to generate by Route 1, Route 2, …, Route m;

E1, E2, …, Em are the amounts of energy consumed by Route 1, Route 2, …, Route m;

M1, M2, …, Mn are the amounts of the raw materials Material 1, Material 2, …, Material n.

Note: we use consumed energy as an example here. It can be replaced by any other objectives.

We have implemented the framework using Java and GAMS. Currently there are several limitations to the framework as implemented. First, we require all the processes in the Process Library to have only one output (or resultant). Many processes have more than one output in reality, but LCI studies always make some form of allocation across the outputs, and it is assumed that this allocation has already been made. Second, we require that there is no “loop” within the Process Library of blocks that are relevant to the product. For example, A + B -> C and C + D -> A form a loop related to A. If some loop exists in the Process Library, we can generate infinite routes in theory.  This does not prevent us from examining post-use recycled materials because the source of these materials is not a stage in the process tree but the consumer and requires a completely different process chain to recover them. Third, currently we can only handle one objective (such as least consumed energy or least emissions or some multi-objective weighting of individually calculated criteria). We will extend to multiple objectives in the future.

Reference

1. GAMS a user's guide release 2.25, Anthony Brooke, David Kendrick, Alexander Meeraus.