Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

An approach to automated product valuing for a real-time value optimization system Thomas, Ian Murray 1994

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata


831-ubc_1994-0631.pdf [ 842.12kB ]
JSON: 831-1.0075253.json
JSON-LD: 831-1.0075253-ld.json
RDF/XML (Pretty): 831-1.0075253-rdf.xml
RDF/JSON: 831-1.0075253-rdf.json
Turtle: 831-1.0075253-turtle.txt
N-Triples: 831-1.0075253-rdf-ntriples.txt
Original Record: 831-1.0075253-source.json
Full Text

Full Text

AN APPROACH TO AUTOMATED PRODUCT VALUING FOR A REAL-TIME VALUE OPTIMIZATION SYSTEM  by  IAN MURRAY THOMAS B. Eng. Carleton University (Ottawa), 1986  A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE in THE FACULTY OF GRADUATE STUDIES (Department of Forestry)  We accept this thesis as conforming to the required standard  THE  RSITY OF BRITISH COLUMBIA June 1994 © Ian Murray Thomas, 1994  In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. it is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission.  (Signature)  Department of  0 r  The University of British Cglumbia Vancouver, Canada  Date  DE-6 (2188)  %S1 ? L 4  /‘j9’74  ABSTRACT Uncertainties in timber supply are forcing forest product companies to search out ways of extracting greater economic benefit from the available forest resource. Secondary manufacturing is one area to which they are turning. Many of these secondary manufacturing operations employ rip-chop sawing systems to cut boards or slabs into custom size parts and improve quality by cutting out defects. In this thesis a methodology is developed for estimating product values and using these values to decide how to cut the boards. The goal is to maximize the total value produced over a production run while minimizing inventory and ensuring that customer orders are met on time. The method uses a linear programming model to estimate each product’s marginal value. It guides the chopsaw system towards a set of production targets by monitoring production and dynamically updating product prices. A singleboard-cut-up algorithm uses the product prices to decide where to cut. In a case study, this method recovered 95.6% of the maximum recoverable value of the production run, an 11.6% improvement over the current method used in the test mill. The method has the potential to improve the value recovery of rip-chop sawing systems, an important component of many secondary manufacturing operations. Increasing the value recovery will increase profitability and better utilize the available forest resource.  11  TABLE OF CONTENTS ABSTRACT  .  TABLE OF CONTENTS  .  ii iii  LIST OF TABLES  iv  LIST OF FIGURES  v  ACKNOWLEDGMENTS  vi  1. INTRODUCTION  1  2. LITERATURE REVIEW Cutting Stock Problem Single-Board-Cut-Up Algorithms Single-Board Algorithms Guided Toward Production Targets Combined Optimization Models: An Alternate Approach  6 6 7 9 10  3. LINEARPROGRAMFORPRODUCT VALUING Supply and Demand: A Conceptual Perspective Data Requirements Linear Program Formulation Model Flow  12 12 13 16 20  4. CASE STUDY Mill Layout Data Set Results Discussion  21 22 24 25 28  5. IMPLEMENTATION  30  6. SUMIvIARY AND CONCLUSIONS  32  LITERATURE CITED  34  APPENDIX A  Mill Information File : Demand Group Data  36  APPENDIX B  Volumes Produced by Method  38  111  LIST OF TABLES  1. Supply Group Data: Costs and Volumes  14  2. Demand Group Data: Volumes, Values and Costs  15  3. Summary of Results  28  iv  LIST OF FIGURES 1. Maximizing the Value Added : The three challenges  4  2. Comparing Chop and Rip-Chop  6  3. System Overview : How the parts fit together  21  4. Miii Layout Diagram  23  5. Per unit Value of Clears by Length  26  6. Value Recovery by Method  30  V  ACKNOWLEDGMENTS Special thanks to Dr. Thomas C. Maness for his ideas and inspiration and Dallas Foley for his programming advice and coding. Thanks also to the people at the mill for their co operation helping me put together the data set. This research was made possible by funding provided by the Science Council of British Columbia.  vi  1.  INTRODUCTION Traditional lumber manufacturing has focused on cutting trees into standard  dimension products. Increasing the volume processed and lowering production costs were seen as the ways to increase profitability. For an efficient operation with little room to lower production costs, higher profits had to come from higher revenues generated by cutting more wood. This path no longer has the potential it once did. Current levels of harvest are being questioned by governments and the public. The debate is ragging over: the amount of forest land that should be preserved in parks, the amount that should be included in the working forest, and what is an acceptable annual allowable cut (AAC) (Birss, 1993). In BC, the AAC is under review by the Ministry of Forests. In most management units where the review has been completed the AAC has been reduced. (Evans, 1993) With further reductions in the wood supply probable, forest product manufacturers and forest dependent regions are looking for ways to extract additional economic benefit from the available wood supply (Birss, 1993; Kingslien and Greber, 1993). That means getting a higher aggregate price for the products produced. For customers to be willing to pay the higher price, they must receive additional benefits, either through added service or products tailored to meet their particular needs. Value to the customer can be defined as a performance price ratio (Cohen, 1992). If performance is increased then the price can be increased proportionately without reducing the value the customer receives. From the producer’s perspective value added is the increase in the value of production output less the added cost of material, supplies, labour and energy. A producer can add value in many ways. The key criterion is to add more value than cost. Primary lumber manufacturers can add value by sorting products by dimension or species, controlling quality, custom grading, material handling, packaging, and marketing (Cohen, 1992). Value can also be added through secondary manufacturing; the  1  remanufacturing of primary wood products into a wide range of semi-finished and finished wood products (Sommer and Birss, 1990). Secondary manufacturers produce a diverse array of products. Some are commodity items but many are produced for relatively small niche markets (Sommer and Birss 1990). They can be classified into four broad categories: 1) remanufactured products siding, paneling, pallet stock, fencing, lumber -  specialties; 2) engineered products laminated beams, trusses, treated wood, prefabricated -  buildings, log homes; 3) millwork doors, windows, woodwork specialties, turned wood products; -  and 4) other kitchen and bathroom cabinets, furniture, pallets, ladders, garden -  products, do it your self kits. (Evans, 1993). To make this diverse group of products secondary manufacturers employ a wide range of processes and systems. One key operation for most remanufacturers is the custom cutting of solid wood. This is done with rip-chop sawing systems which convert boards or slabs into higher grade components by cutting out defective areas. A series of rips (cuts along the length of the lumber) is followed by a series of chops (cuts across the width) and so on, to cut the wood into components. In manual systems skilled operators quickly scan each board and decide how to cut it. Their decision process is usually based on getting the largest possible component from each available clear area, cutting around any defects. This is often not the optimal solution. Automated systems calculate the optimal solution using a computer. In order to fmd the optimal solution these systems must first locate the defects. The defects are located either by scanning coloured marks crayoned on the board by an operator, or through the use of a computer vision system. For example, in the test mill 2  used in this study an operator visually inspects each board and marks the defect locations with a reflective crayon. A photocell-encoder-camera detection unit then scans the marks and sends the mark positions to a computer which determines the resulting clear areas, decides how to cut up the board, and sends the cut positions to the chopsaw. The chopsaw executes the cuts and the resulting pieces are sorted into the appropriate bins by photocell-ejector units. The focus of this research is the computer algorithm that decides where to cut. This algorithm uses defect information and price data to calculate the optimal cut positions. The price data is contained in the price file and consists of the length and value of each product on order. The algorithm finds the optimal solution for a single board, but may be wasteful over a production run. This is because the price file is fixed and does not change to reflect production. For example when an order for a product is filled the valueto-the-mill of an additional piece may drop dramatically. Since the price file does not change, the algorithm will continue to produce the product even when producing another product would have generated more value. The problem is the single-board-with-defect algorithm does not know the up to date value-to-the-mill for the products being produced. In the case of the study mill the supervisor compensate by manually adjusting the prices during the production run, and removing products from the price file when an order is filled. The goal of the cutting decision algorithm is to meet the three challenges of maximizing value recovery, meeting customer orders on time and minimizing inventory (figure 1). In the current system meeting customer orders and minimizing inventory are solely in the hands of the production supervisor. Ad-hoc changes are made to the price file to get the system to cut to a series of production targets. Removing products from the cut list once their targets are met reduces the amount of inventory. Increasing the price of products not being produced quickly enough and removing competing products makes it  3  more likely that products required for an order will be produced. This method requires constant monitoring by the production supervisor and is not optimal.  How should board be  insure orders delivered on time Figure 1  -  maximize value recovery  minimize inventory costs  Maximizing the Value Added: The three challenges  The objective of this thesis is to develop a methodology to maximize the value added over a production run by better meeting the three challenges. A secondary objective is to reduce the need for supervisor intervention. To achieve these objectives a methodology is developed that automatically guides the decision algorithm towards a series of production targets. It involves using a computer to monitor production and repeatedly estimate product values (value-to-the-mill) using current production information. The estimates are used by a single-board-with-defect algorithm to decide how to optimally cut a particular board. The method is applicable to both one dimensional chop systems and two-dimensional rip-chop systems. It automates in a comprehensive way adjustments to prices in the product price file. The thesis is made up of four sections. The first, the literature review, surveys the work that this research is built upon. The second section describes the methodology used. It starts out with a conceptual perspective and follows with a detailed mathematical 4  description. The third section presents a case study simulating the methodology with data from the study mill and comparing the results with the existing system and the optimal solution. Lastly, the fourth section discusses implementation of the method in the study mill. The literature cited is included at the end of the thesis.  5  2.  LITERATURE REVIEW  Cutting Stock Problem Chop (one-dimensional) and np-chop (two-dimensional) (shown in figure 2) cutting decision algorithms fall into a wide category of problems concerned with cutting one-dimension and two-dimensions material into products. The early work in this area referred to it as the cutting stock problem. The problem is to find the best way to cut the available raw material to fill a series of product orders. An important subproblem is to find the best way to cut a single piece into products.  Chop (one-dimensional) Board  I  II  I  Products  Rip-Chop (two-dimensionalltwo stage) Board I  I i  I  Products  I  Figure 2 Comparing Chop and Rip-Chop -  According to Hinxman (1980) the best algorithms for solving the cutting stock problem are adaptations of the linear programming procedures developed by Gilmore and Gomory (1961, 1963, 1965, 1966). They use a linear program (main problem) linked with a method of finding the optimal solution for an individual piece (subproblem). The first two papers present the one-dimensional case and the second two the two-dimensional case. The 1963 paper develops a dynamic programming model (dp) for finding optimal solutions for individual pieces. This dp is extended to two dimensions in their 1965 paper.  6  The fourth paper develops a table look up scheme to improve the computation efficiency of the subproblem solution method developed in the third paper. These ideas are heavily used in the methods developed for solving related problems in the solid wood industry. From the solid wood perspective the problem can be described this way. The subproblem is to find the best way to cut a single board into products. The main problem is to fill customer orders while minimizing the raw material used and maximizing the overall value recovery. One major drawback of the basic cutting stock algorithms is that they assume defect free material. Removing defects is the main consideration when deciding how to cut a board into furniture parts or millwork blanks. Including defects makes the two-dimensional single-board-cut-up problem considerably more complex. A number of heuristic methods have been developed that find good, but not optimal solutions (Klinkhachorn et al, 1989; Hoff et al, 1992; Carmeri et al, 1993). A second problem is that randomly located defects create defect-free areas that have dimensions which are unknown before scanning. This makes it impossible to optimize over a production run, since the sizes of the defect-free material are not known. Attempts to address this problem are discussed in detail below. A more comprehensive approach, discussed later in this review, is suggested by a method used in combined optimization models.  Single-Board-Cut-Up Algorithms In the one-dimensional case the defects can be chopped out and then each clear area handled as a separate clear board. The lower the grade of lumber being cut-up, the more defects that will need to be removed. Azarm et al (1991) developed a heuristic approach to the one-dimensional problem and compared it with a knapsack algorithm. This heuristic approach recovered 99% of the volume with a solution time of 2 seconds compared with 55 seconds for the knapsack algorithm.  7  In the two-dimensional case, cutting a defect out creates multiple sets of rectangular shaped clear areas. Requiring defects to be cut out makes optimizing the twodimensional case computationally prohibitive. One solution is to ignore the twodimensional nature of the problem and simply chop out the defects. This creates a set of clear pieces which can be cut optimally. Brunner et a! (1990) and Carnieri et al (1994) present methods for optimally cutting clear-areas into products. Both methods are modified versions of Gilmore and Gomory’s work. The algorithms are useful in deciding how to cut the clear areas after another method has been used to decide how to remove the defects. The approach of simply chopping the defects out can be a very wasteful. A better approach is to develop a heuristic to decide which set of rectangular shaped clear areas to cut. Heuristic methods use information about the structure of the particular problem to find short cuts and rules of thumb which are not in general transferable. This tends to make the algorithms applicable only to the specific problem for which they were designed (Hinxman, 1980). Heuristics have been developed which find solutions to the two dimensional singleboard-with-defect(s) problem. (Klinlchachorn et al, 1989; Hoff et al, 1992; Carnieri et al, 1993). The ALPS (Klinkhachorn et al, 1989) system first maps the defects and then finds all available clear areas. It then chooses a clear area and finds the best set of blanks (products) that will fit in it. These blanks are then optimally placed within the clear area. The blanks are recorded and then their location is labeled as defective so that no other blanks will be cut from that space. This process is repeated until the largest clear space is smaller than the smallest blank in the cutting bill. GR-1ST (Hoff et al, 1992) optimizes the surface yield of primary parts (products). The program evaluates all possible combinations of saw spacing based on the primary part widths for a given board. It determines the optimum cut-up based on random or specified  8  part lengths. If part lengths are specified a maximum of three pieces per clear section are allowed. Carnieri et al (1993), use a tree search to address the problem of a single defect. This branch and bound method utilizes the table of defect-free sheet values developed by Gilmore and Gomory (1966). It starts with a “good° initial solution and searches each path keeping track of the best solution, back tracking when a path is found to be unproductive. It continues until it has searched the tree. Single-Board Algorithms Guided Toward Production Targets Single-board algorithms optimize a single board at a time. Over a production run this may be wasteful because certain products may be overproduced and others underproduced. Ideally the number of boards produced would match the number ordered. This is difficult to do because randomly located defects create clear material with various dimensions which are unknown before scanning. Without knowing the sizes of the clear material in advance it is impossible to optimize over the entire production run. The storage and handling costs of scanning all the boards first and then cutting them optimally is prohibitive (Dmitrovic Ct al, 1992). Given this restriction a solution can be found by guiding the single board cut up system towards the production targets. A number of methods for doing this have been proposed. Cheng and Pila (1977) and Azarm et al (1991) both propose heuristic solutions where the values assigned to each piece are dynamic and dependent directly on the rate of production of the product. Cheng and Pila set the value of a piece equal to the quotient of the overall rate of production divided by the rate of production of the piece. For Azarm et al, the difference between the amount required and the current production level is used to assign a set of pre-established values. Dmitrovic et al (1992) describe a heuristic automatic adaptation of values. The latter are functions of a constant term representing the intrinsic value of the piece (if the 9  piece is larger, this value is larger) and of a variable term dependent on the quantities produced and those remaining to be produced for each piece. Dmitrovic et al (1992) model production rate vs. priority (value) curves for each product. The priorities of all the other products are held constant. This model is then used as the basis of a heuristic control scheme which guides the single-board algorithm by generating priorities (values) based on the goal of a constant rate of production for each product. Priorities (values) are revised each period based on production and the new rates of production required to meet the production targets for each product. In each case the values are assigned to meet the goal of reaching the production targets without weighing the costs and benefits of doing so. Work done with combined optimization models provides insight into a more comprehensive method for assigning product values.  Combined Optimization Models : An Alternate Approach Gilmore and Gomory (1963) used Lagrange multipliers (shadow prices) to link a linear program (main problem) to a dynamic program (sub problem). The linear program calculates the shadow prices which are then passed to the dynamic program. The dynamic program then generates a set of optimal cutting patterns based on the shadow prices. The patterns are then added to the linear program. The new patterns in turn may change the shadow prices calculated by the linear program. This loop of running the linear program and then the dynamic program continues until the shadow prices stabilize, at which time the problem is solved. This method is based on Dantzig and Wolfs Decomposition Principle (1960) and has been widely used (McPhalen, 1978; Mendoza and Bare, 1986; Maness and Adams, 1991; Carnieri et al, 1994). Maness and Adams use product demand groups to simulate product demand curves. This method allows additional product to be sold at lower prices. The conclusions suggest that the final shadow prices from the linear program are good 10  estimates of the value of the products. The results indicate that 91% of the available value could be obtained by using shadow prices correctly in the dynamic programming models which drive the process control equipment. This idea is central to this thesis. A linear program is developed and the final shadow prices are used as estimates of product value. The value estimates are used by a single-board-with-defect algorithm to decide how to cut up the individual boards. Even with this use of shadow prices in the decision systems of the process control equipment, the prices are still static. Dynamically updating the prices based on actual production could begin to recover part of the remaining 9%. That would require running the linear program in real-time using current production information to generate up-to date value estimates. This methodology is investigated in this thesis. A linear program solves the problem incorporating current production information. The shadow-price-value-estimates are used by the single-board-cut-up algorithm to make cutting decisions until a new set is generated. The process is repeated until the production run is complete.  11  3.  LINEAR PROGRAM FOR PRODUCT VALUING  Supply and Demand : A Conceptual Perspective A market, in the economic sense, matches buyers making orders with sellers supplying goods. This analogy can be applied to a manufacturing facility. The raw material, lumber (the supply), is used to produce products which fill orders (the demand). Orders compete for the available raw material. Single-board-with-defect decision algorithms do not know about supply or demand. They operate on a single set of prices and so make decisions as if supply and demand were infinite. The result is overproduction of some products or in a mill setting, the supervisor intervening to remove products from the product list to stop production or experimenting with combinations of product prices to try and generate the right mix. The methodology developed here uses a linear program (Ip) to model local supply and demand considerations. The supply consists of a number of grades of lumber. Each grade (supply group) provides a different distribution of clear lengths to be chopped into products and has an associated cost. The demand comes in the form of orders. Each order (demand group) has a size and a per unit value. The value depends on the selling price and product related costs. The linear program finds the best way to cut the available lumber to meet product orders. It can be thought of as multiple orders (demand groups) competing for raw material of varying lengths which can be cut to produce the orders. The result of the linear program is the amount of lumber cut and the amount of each product produced. This is the optimal solution. If the defect-free distribution is the exact one for the boards processed, as if the lumber were scanned in advance, then the optimal solution will be the best solution for that lumber. If the best approximate distribution is used then the optimal solution will be the best solution given the current knowledge.  12  After finding the optimal solution the linear program calculates the marginal values (shadow prices) for each of the product and clear-length-category constraints. They are the net incremental value to the mill of one additional unit of the product or clear length. Taken together, they describe the equilibrium points where the supply curves and demand curves meet. The shadow prices for the product constraints provide the estimates of product value which are passed on to the single-board algorithm. They are a byproduct of the linear program’s modeling of supply and demand considerations. The supply and demand data are gathered in the Mill Information File and are converted into the supply and demand numbers used by the linear program.  Data Requirements  In the model the lumber (raw material) is grouped by its grade (clear-lengthdistribution) and associated unit cost into supply groups. The products, clear lumber cut to component lengths, are produced to meet orders from the sales department. From the production perspective the orders are the demand. An order or part of an order for a particular product that will return the same per unit value when sold is called a demand group. The Mill Information File is a collection of information about the supply groups (lumber raw material) and the demand groups (orders/potential orders). The numbers are used to derive the volume limits and costs, for supply groups, and the sales limits and values, for demand groups.  13  Supply Group Data Table 1 contains supply group costs and volumes from a mill information file.  SUPPLY GROUP DATA Grade Lumber Processing Total Amount Cost Costs Cost Available $/MBF $/MBF $/MBF MBF 900 90 990 22.70 Grade A 29.40 550 120 670 Grade B Table 1 Supply Group Data: Costs and Volumes -  In this example there are two supply groups, grade A and grade B. Grade A is of higher quality since it has fewer defects than grade B. Lumber cost is the price paid for the lumber. Processing costs are the costs of processing the lumber into products, including the cost of labour, the cost of energy and the cost of maintenance. The total cost is the sum of the lumber cost and processing costs. For each supply group there is a limited amount available which is given in thousands of board feet (MBF). The amount available and its associated total cost are used by the linear program.  14  Demand Group Data Table 2 contains demand group data.  DEMAND GROUP DATA Inventory Added Cost Product Length Number Number Amount Costs of Alternate Value Label of piece of pieces of pieces Required Price Supply required inventory MBF $IMBF $/MBF mm $/MBF $IMBF 900 2557 0 0.819 1657 0 P16.1 1600 312 0 0.205 1657 100 0 1557 1600 78 P16.2 0 900 2557 832 0 3.317 1657 P22.1 2440 0 1557 208 0 0.829 1657 100 P22.2 2440 0 1744 312 0 1.433 1744 0 P23.1 2800 0.358 1744 100 0 1644 2800 78 0 P23.2 Table 2 Demand Group Data: Volumes, Values and Costs -  The label references the demand-group. For instance P16.1 is the label for the first demand group of product number 16. Product 16 has a length of 1600mm. For this product 819 board feet can be sold returning a value of $2557 per thousand board feet (IvIBF). The amount that can be sold is the number of pieces required less the number in inventory, converted into IVIBF. The price is the selling price net of all product processing costs. These costs include product handling costs and any additional remanufacturing costs that are directly related to the product. Inventory costs are the addition per units costs of storage and handling that will be incurred if the product in this demand group is produced during this production run. The cost of alternate supply is the additional cost of buying the product in the open market less the variable costs of production, the cost of buying instead of chopping. It applies in the case where a supply contract is in place guaranteeing delivery of the product. In this case if product is not produced then it must be bought in the open market incurring this additional cost. This is applied in the linear program by subtracting a fixed 15  cost equivalent to the extra cost of buying the entire order and balancing that with an added value for each unit of production. If the contract is filled then the value added from production will exactly equal the additional fixed cost of buying the entire order. Product value is the price plus the added cost of alternate supply, less inventory costs. The per unit value and amount available for each demand group are used by the linear program.  Linear Program Formulation This section discusses in detail the linear program equations. It describes the  variables used and the constraints that describe the relationships between the variables. Along with the data in the mill information file the linear program requires as input the defect-free-length distribution for each grade of lumber (a measure of the lumber quality). These are the PortiOnS CLC numbers in Equation 2 discussed below.  Maximize  (DemandGroupVaIued  *  DemandGroupAmtd)  -  (SupplyGroupCost,  *  SupplyGroupAmt,) (1)  subject to: Material Balance Constraints for each clear length category CLC 3 (Portion  *  SupplyGroupAmt,)  *  (PattemTag  -  PattemAmç)  =  0  (2)  for each product P (Recovery, pun  *  PatternAint)  (ProductTags  -  *  DemandGroupAmtd)  =  0 (3)  d  16  Upper Bounds Supp1yGroupAmt  LumberAvai1ab1e  (4)  DemandGroupAmtd  Sa1esLimit  (5)  Non-negativity on all variables.  Subscript definitions: d  demand group  ptrn  cutting pattern  s  supply group  CLC  clear length category  P  product  Definitions: DemandGroupAmtd  -  the amount of demand group d produced  (volume) DemandGroupValued  -  the value of a unit of demand group d  ($/unit volume) LumberAvailable  -  the amount of supply group s available  (volume) PatternAmtptm  -the amount the linear program chooses to cut using cutting pattern ptrn  (volume) -  one if the cutting pattern applies to the clear length category  otherwise zero (unitless) POI-tiOn$CLC  -the proportion of supply group s that is in clear length category CLC 17  (proportion) , 1 ProductTags  -  one if the demand group d is for product P otherwise zero  (unitless) Recovery..,  -the proportion of the length of pattern ptrn that is product P  (proportion) SalesLimitd  -  the maximum amount of demand group d which can be sold  (volume) SupplyGroupAmt  -  the amount of supply group s used by the linear program  (volume) SupplyGroupCost  -  the cost of a unit of supply group s  ($Iunit volume)  Variables The formulation contains three types of variables: 1- Supply group variables, 2- Demand group variables and 3- Pattern variables. Each represents the amount of material supplied, demanded, or cut using a particular pattern.  Objective Function The objective function (equation 1) is the value of the products produced less the costs of processed lumber. The linear program chooses values for the variables which maximize the objective function given the bounds on the variables and the constraints.  18  Upper Bounds For supply group variables each group has a ceiling limiting how much can be made available for that unit cost (equation 4). This limits the amount of lumber available to be cut into products. For demand-group variables each demand-group has a sales-limit (the maximum amount of that product that will return the demand groups per unit value when sold) (equation 5). For some products there may be no limit. In that case the saleslimit will be set to the amount of lumber available which is equivalent to setting the saleslimit to infinity.  Material Balance Constraints There are two types of constraints, clear-length-category constraints and product constraints. Clear-length-category constraints relate the portions of lumber processed that falls into a particular clear length to the possible cutting patterns. The product constraints relate the products produced by a particular cutting pattern to the demand-groups for that product.  Clear Length Category Constraints The amount of material available with a particular clear length is a set portion of the total amount of lumber processed from a particular supply group. These proportions are set based on past experience. The clear-length-category constraints (equation 2) sum the amount of each clear length category supplied by the supply groups and distributes it among the cutting pattern options that apply to that clear length category. The portion of lumber processed with a particular clear length must equal the amount processed using the available cutting patterns.  19  Product Constraints The recovery numbers are specific to a particular cutting pattern. The recovery of a given product is the proportion of that product recovered from the total volume cut using the particular cutting pattern. The product constraints (equation 3) sum the amount of product P recovered from each of the cutting patterns and distributes it to the demandgroups for that product. The amount of product produced by all patterns must be equal to the amount of product assigned to the demand groups for that product. Since the linear program seeks to maximize value, it first applies production to the highest value demand group. When that demand group reaches its sales limit, the demand group with the next highest value is filled, and so on until demand for that product is saturated.  Model Flow If the defect locations are known then the linear programming model can determine the optimal solution. Knowledge of the defect locations before cutting would require all the lumber to be scanned in advance which is not practical. In the mill, defect locations are scanned immediately before chopping. For this reason defect locations need to be represented by an approximate clear length distribution since the actual distribution of clear lengths is unknown. The linear program is run at regular intervals using up to date production data (the amount of lumber remaining to be processed and the size of unfilled orders). Each run finds new marginal values (shadow prices) for each product given the current situation. The shadow-price-value-estimates are then used by the single-board-with-defect algorithm to decide how to cut boards, until they are again updated by the linear program. The system keeps track of defect-free lengths going through the chopsaw so they can be  20  compared with the current approximation and used to improve future approximations. Figure 3 illustrates the relationships between the various components of the system.  supply information demand information  Scannner Figure 3 4.  -  Chopsaw  System Overview : How the parts fit together.  CASE STUDY A study was conducted into the cost effectiveness of implementing the value  estimation methodology. Four variations were compared with the current method of using static prices and the optimal solution. The comparison was done by simulating each. The XA Professional Linear Programming System (Anonymous, 1987) was used for the linear programming engine with control and data updating mechanisms written in C++. A data set of 5950 boards from the study mill was used along with lumber supply and product order information from the front office. The layout of the mill in Figure 4 provides a framework for understanding what data was collected. Total net value cut 21  from lumber for twenty hours of production (the value of products produced less the variable costs of production) was the means of comparison.  Mill Layout The test mill is a west coast cedar remanufacturing operation. Figure 4 diagrams the layout of the chopsaw operation. The chopsaw currently process approximately 2,300 boards in an eight hour shift. The boards first pass through the planer/molder. They are then visually inspected and marked for defects by an operator at the marking station (MkSt). The master computer (MC) receives board information from the photocellencoder-camera detection unit from which the mark positions are determined and the clear lengths are calculated. The master computer uses this processed board information along with the product length and price data from the price file to calculate the optimal cutting positions. The results are sent to the chop saw (ChSa), which makes the cuts. The cut material is then sorted into the appropriate bins by a photocell-ejector unit located at each bin.  22  MC  p/!AoIdr  Key: MkSt Marking Station CS Camera Scanner PhCe: Photoceti PhRx Photocell Receive ChSa Chopsaw MC Master Computer Enc Encoder Ejectar Pm Pflnter  Figure 4 Mill Layout Diagram -  23  Data Set The case study is based a complete data set from the mill consisting of actual defect locations for 5950 boards, product order information and lumber supply information. This represents about twenty hours of production.  Board Defect Location Data Mark locations were collected for 2666 grade A boards and 3284 grade B boards. The information is stored in a raw material file that contains the grade, board length and a series of mark locations for each board. Both grade A and grade B are two by six inch lumber. Grade A is a higher quality material which means it has fewer defects. The marks are put on each board using a reflective crayon to indicate the location of the defects. A photocell-encoder-camera detection unit reads the location of each mark. This data was captured over a serial connection and reformatted into the raw material file used in the analysis.  Lumber and Product Data The lumber and product data enter the model through the mill information file described above. Grade A lumber costs $900IMBF and has associated processing costs of $90/MBF, The cost of grade B lumber is $500/MBF and it costs $12OIMBF to process. The processing costs include labour, energy and maintenance costs. The difference in processing costs is due to the number of defects. Grade A lumber can be processed faster because it has less defect. This means each board requires less marking, less cutting and is generally easier to process. The product information used to calculate the production targets and demand group values are included in Appendix A.  24  Results Optimal Solution The ideal would be to know the clear lengths in advance and chose the best way to meet the orders based on the knowledge of what clear lengths were available. In this study this was possible because the raw material came from a data file. The clear length distributions, for each grade of boards in the data set, were used by the linear program and the optimal solution found. The ideal model produced an optimal value of $58,857. This linear program had 906 constraints, 25 product constraints and 801 clear length category constraints and used 5502 variables: 50 demand group variables, 2 supply group variables and 5450 pattern variables. It took 15,527 iterations and 18 minutes to solve. An interesting byproduct of the linear program is the shadow price (marginal value) for each clear-length-category constraint. They represent the value of one additional unit of material from that clear length category; the per unit value of a clear board of that length. Figure 5 is a graph of the values by length category.  25  lVbrginal value by Clear Length Category  1QcXY  acrs oQcXX2 IQW1  >  Lfl  Lfl  C)  a-i  c  CD  1 T  C)  C)  i—  C%i  C)  CD C%i  C)  a-,  LL,  V Lfl  U)  V  CJ C)  C)  r-  C)  0  0  Cb)  OD  V  0  0  0  ciear Length Category Figure 5 Per unit Value of Clear Boards by Length -  For short clear lengths the graph peaks when the length is equal to a product length. Since the product lengths are fixed, longer clear lengths only add more waste and therefore have lower per unit values. When the length gets as long as the next product the graph again peaks. For long clear lengths combinations of product can be found to match the length. This reduces the variation in the amount of waste and keeps the per unit value consistently high. In general, when short products are less valuable than long products, the graph has an upward trend that gradually smoothes out terms of variation. In this case the short products were more valuable than the mid-length products and as valuable as the long products. Thus in this case the graph has a flat trend with a large dip over the “C 1089” category.  Static Price Method The system currently used in the mill is a single-board-with-defect algorithm with static (fixed) prices. Given a series of marks and a price file defining the products and 26  their value, it finds the cut locations which maximize the total product value. Only one price per product can appear in the price file. For this analysis the highest selling price was used. The algorithm produced a value of $26,497 based on the value/volume relationships listed in the mill iiformation file (Appendix A). A few products grossly exceeded the amount demanded. Overproduction of up to 25% of regular orders was stored in inventory. It’s value was reduced somewhat by inventory carrying costs. Beyond that, overproduction was given a value of zero. This loss of value due to overproduction had a drastic effect on the total value produced. This is an unrealistic case. In real world product is not produced if it is of no value. This problem is addressed by adding target cutoff.  Static Prices except for Target Cutoff To simulate how this problem is dealt with in the mill the algorithm was modified to stop production of a product when it was found to have reached its target. In the mill the production supervisor checks with the tally man to see what has been produced and modifies the product price file removing products when enough product has been produced. To simulate this procedure production was calculated every ten boards and the price set to zero if the target was met. The modified method produced a value of $50,454.  Value Estimating Method using the LP Four variations of the value estimating methodology were simulated. The price file was updated after processing each board, after every ten boards, after every hundred boards and after every thousand boards. The total value of the products produced is listed in Table 3.  27  The more often product values are estimated the higher the total value. However the incremental improvement falls off quite quickly. There is only a one quarter of one percent increase in value between estimating every hundred boards and estimating every board.  Optimal Solution  Value $58,857  Percentage of Ideal 100.00%  Static Prices Static Prices except for Target Cutoff LP Value Estimation every 1000 boards LP Value Estimation every 100 boards LP Value Estimation every 10 boards LP Value Estimation every board  $26,497 $50,454 $55,134 $56,164 $56,298 $56,301  45.02% 85.72% 93.67% 95.42% 95.65% 95.66%  Table 3  -  Summary of Results  Discussion The optimal solution makes use of complete knowledge of both supply and demand to find the product combination which maximizes total value. This solution is the maximum value that can be cut from the available lumber and is the yard stick by which other methods are measured. Table 3 compares the optimal solution with the total value produced by the static price approach, its target cutoff variation and the four variations of the Ip value estimation methodology. The optimal solution value comes directly from the linear program. The other six values are the total value of the products produced by the single-board algorithm, each uses a different procedure for setting the product values in the price file. The static (fixed) price file methodology knows nothing of supply or demand and consequently grossly overproduces a few products recovering only 45% of the available value. By modif’ing the procedure so a product is removed when it has met it’s production target, demand considerations are added in a crude but effective manner. This  28  simple technique of cutting off overproduction increases the value recovery to 85% of the global optimum. The value estimation methodology incorporates local supply and demand considerations through a linear program which dynamically estimates current product values. Inputs to the linear program are repeatedly modified to reflect current production, updating both production targets and available supply. The resulting shadow prices are used by a single-board-with-defect algorithm. The linear program can be used to update product prices at any time. In this study four variations were simulated. In each case the prices were regularly updated at intervals ranging from every board processed to every thousand boards processed. It was found that estimating the values more often improved the total value but that the incremental improvement dropped significantly. In this case there was little additional gain estimating the values more that once every one hundred boards. Figure 6 illustrates the value recovery curve for the ip value estimation methodology.  29  96% 94% 92% Value Estimation  90% 88% •  Sialic Prices Wihcuioff  84% 82%  80% 1000  100  10  1  boards processed before estimation  Figure 6 Value Recovery by Method -  In the best case, when product values were estimated after every board, 95.66% of the available value was recovered, 11.59% better that the simple cut off method. This result demonstrates a new methodology. It is a positive result that strongly suggests that there is merit in this approach. An 11% increase in value is gained by better choosing what products to cut from the clear lengths available. It is the same raw material only it is cut into products that better meet the demand requirements. Another benefit is that the methodology is relatively inexpensive to implement as is discussed below. More research is required to test the model in an operational setting, explore the sensitivity of the results to clear length distributions used 5.  iMPLEMENTATION  The easiest way to implement this model would be to set it up on a separate computer and connect it to the existing system via an existing serial connection. This would involve establishing a serial link with the master computer to gather mark data and 30  update the price file. In the simulations mark data came from a raw material file and the price file was updated internally. It took fifty-two hours to perform computations for the 5,950 boards estimating product values every board and twelve hours estimating product  values every ten boards. In the study miii 2,300 boards are processed in an eight hour shift. Therefore it would take approximately 20 hours for the mill to process 5,950 boards. Interpolating between the time it takes to estimate after every board and after every ten boards leads to the result that the shadow-price-value-estimates could be computed after every three boards and process the 5,950 boards in the 20 hours it would take the mill to process the boards. This means the average rates are the same. For capacity planning the peak rates are the important number, however, the average provides a ballpark figure. The results of the case study show that estimating every ten boards is only marginally better than estimating every board therefore for practical purposes the system could be operated estimating every ten boards well within the capacity limits. The times are based on using the current value estimation algorithm running on a 486/33. The cost of installing this prototype system would be about $25,000.00. The costs include a computer to run the linear program, linear programming software, and the labour to modif,’ and install the system. For the 5950 boards analysis set there was a $5,800 saving. The additional value generated by using the value estimation method every ten boards compared with using static prices except for target cutoff ($56,298 $50,454). -  Assuming 2,300 boards a shift that represents a per shift saving $2,250, a substantial saving. It means that it would take 12 eight-hour shifts to pay back the installation costs. I suspect a lower percentage return would be realized in an operational system. Broader study is required to explore the benefits returned by this methodology under a variety of supply and demand constraints.  31  6.  SUMMARY AND CONCLUSIONS This thesis has shown the effectiveness of updating product prices using value  estimates in a single case study. A broader study will be needed to verifj the methodology’s effectiveness and demonstrate its practical benefits. The method applies to the problem of deciding how best to cut defective material into products to meet specific orders. Although it was applied here to a one-dimensional system the concept is adaptable to the two-dimensional problem. Single-board-with-defect algorithms use product value information to decide the best way to cut a board into products. Currently the values are based on the selling price and must be manually changed to reflect current production levels. In this thesis a linear program is formulated to estimate product values based on local supply and demand considerations. The final shadow prices of the product constraints are estimates of product value. They are estimates because the actual sizes of available clear material are not known and estimates based on past experience are used. If the actual sizes were known, the linear program would find the optimal way to cut the available clear lengths into products the ideal system. This method of assigning values, unlike previously -  developed product priority methods, is more comprehensive. It takes into account the supply costs, the value of outstanding orders and constraints on production. In the value estimation methodology the system keeps track of what is actually produced and continually updates the inputs to the linear program. The resulting shadowprice-value-estimates supply the single-board-with-defect algorithm with up to date value information. In this way the knowledge gained from the scanned boards is included in subsequent value estimates and used in fi.iture cutting decisions. In the case study the ideal system produced a value of $58,857. This was compared with the single-board-with-defect algorithm using a static price file which produced a value of $26,497, 45% of the ideal. Modifying the algorithm to stop  32  production of a product when it met the demand target, increased the value recovery to 85% of the ideal.  The value estimation method described above improved the value recovery by 11.6% over the single-board algorithm using a static price file and production cut off and 112% over the straight single-board-with-defect algorithm. It produced a value of $56,301, 95.6% of the optimum. These results provide support for the incorporation of  local supply and demand consideration into rip-chop saw decision algorithms. Further development work will be required to extend the method to twodimensions. The ideas are clearly transferable. The challenge will be to formulate the linear program to estimate the product values for the particular two-dimensional system. The results show that the methodology has the potential to increase the value recovery of rip-chop sawing systems. By guiding the rip-chop system towards production targets using values that reflect the costs and benefits of production choices, it better meets the three challenges of maximizing value recovery, meeting customer orders on time and minimizing inventory. It is a better solution to a practical problem and is relatively inexpensive to implement. The methodology finds more value-for-the-mill in the available raw material, in the case study 11.6% more than using static prices with target cutoff. From the broader view, it extracts added economic benefit from the available wood supply. Since rip-chop systems are widely used in solid wood remanufacturing this method could prove valuable to the forest products industry and indirectly to forest dependent communities.  33  LITERATURE CITED Anonymous. 1987. XA professional linear programming system. Sunset Software Technology. San Marino. Azarm, S., G. Harhalakis, and P. Statton, Jr. 1991. Heuristic optimization of roughmill yield with production priorities. Journal of Engineering for Industry. 113:108-116. Birss, H. 1993. Making wood work: Value added policies and programs. Northwest Policy Center Report. University of Washington, Seattle. Brunner, C.C., D.A. Butler, A.G. Maristany and D. VanLeeuwen. 1990. Optimal cleararea sawing patterns for furniture and millwork blanks. Forest Products Journal. 40(3):5 156. Carnieri, C, G. A. Mendoza and L. Gavinho. 1994. Optimal cutting of lumber and particleboard into dimension parts: Some algorithms and solution procedures. Wood and Fiber Science. 26(1)131-141. Carnieri, C, G. A. Mendoza and W.G. Luppoid. 1993. Optimal cutting of dimension parts from lumber with a defect: a heuristic solution procedure. Forest Products Journal. 43(9):66-72. Cheng, R.M.H., and A.W. Pila. 1977. Maximized utilization of surface areas with defects by the dynamic programming approach. ISA Advanced Instrumentation. 32(1):51-64. Cohen, D.H.. 1992. Adding value incrementally: A strategy to enhance solid wood exports to Japan. Forest Products Journal. 42(2):40-44. Dmitrovic, B., D. Wolf and R.H.C. Husson. 1992. A standard model of the placement problem aimed at resolving a cutting stock problem. IEEE Transactions on Industry Applications. 28(6): 1406-1415. Dantzig, G.B. and P. Wolf. 1960. Decomposition principle for linear programs. Operations Research. 8:101-111. Evans, C. 1993. Lumber remanufacturing in British Columbia. First report of the select standing committee on Forests, Energy, Mines and Petroleum Resources. Second session of the thirty-fifth Parliament, Legislative Assembly of British Columbia. Gilmore, P.C. and R.F. Gomory. 1961. A linear programming approach to the cutting stock problem. Operations Research. 9:849-859. Gilmore, P.C. and R.F. Gomory. 1963. A linear programming approach to the cutting stock problem, part II. Operations Research. 11:863-888.  34  Gilmore, P.C. and R.F. Gomory. 1965. Multistage cutting-stock problem of two or more dimensions, Operations Research. 13:94-120. Gilmore, P.C. and R.F. Gomory. 1966. The theory and computation of knapsack flinctions. Operations Research. 14:1045-1074. Hinxman, A.I. 1980. The trim-loss and assortment problems:a survey. European Journal of Operational Research. 5:8-18. Hoff, G.H., EL. Adams and E.S. Walker. 1992. Computer optimization of hardwood parts yield using gang-rip-first procedure. Forest Products Journal. 42(3):57-59. Kingslien, H., and B.J. Greber, 1993. Wood remanufacturing: growth trends and selected characteristics identij opportunities. Forest Products Journal. 43(6):29-34. Klinkhachorn, P., J.P. Franklin, C.W. McMillin, and H.A. Huber. 1989. ALPS:yield optimization cutting program. Forest Products Journal. 39(3):53-56. Maness, T.C. and D.M. Adams. 1991. The combined optimization of log bucking and sawing strategies. Wood and Fiber Science. 23(2):296-3 14. Mendoza, G.A., and B. Bare. 1986. A two-stage decision model for log bucking and allocation. Forest Products Journal. 36(10):70-74. McPhalen, J.C. 1978. A method of Evaluating Bucking and Sawing Strategies for Sawlogs. M. Sc. Thesis. University of British Columbia. Vancouver. Sommers, P. and H. Birss. 1990. Improving the vitality of the secondary wood products sector in Oregon. Final report for the Oregon Interim Legislative Committee on Forest Products Policy by the Northwest Policy Center. University of Washington. Seattle.  35  APPENDIX A  Mill Information File: Demand Group Data  The Mill Information File Demand Group Data is presented in the table below.  Label  P1.1 P1.2 P2.1 P2.2 P3.1 P3.2 P4.1 P4.2 P5.1 P5.2 P5.3 P5.4 P6.1 P6.2 P7.1 P7.2 P8.1 P8.2 P9.1 P9.2 P10.1 P10.2 P11.1 P11.2 P12.1 P12.2 P13.1 P13.2 P14.1 P14.2 P15.1 P15.2  DEMAND GROUP DATA Length Number Number Amount Price Inventoiy Added Cost Product of piece of pieces of pieces Required Costs of Alternate Value on Order in Supply Inventory mm MBF $/MBF $/MBF $IMBF $/IVIBF 832 510 0 0.696 1850 0 1000 2850 510 208 0 0.174 100 0 1750 1850 540 4992 0 0 4.422 1850 1000 2850 540 1248 0 100 0 1750 1.106 1850 622 1664 0 1.698 0 1000 2850 1850 622 416 0 0.424 100 0 1850 1750 673 3328 0 3.674 1850 0 1000 2850 673 832 0 100 0.919 1850 0 1750 740 2912 0 0 3.549 1850 1000 2850 740 1664 0 0 2.028 1314 700 2014 740 728 0 0.887 100 1850 0 1750 740 416 0 0.507 100 0 1314 1214 790 936 0 0 1.228 1314 700 2014 790 234 0 0.307 100 0 1314 1214 890 624 0 0.911 1657 0 900 2557 890 156 0 0.228 100 0 1657 1557 950 1248 0 1.945 0 1657 900 2557 950 312 0 0.486 100 1657 0 1557 1100 1872 0 3.378 1657 0 900 2557 1100 468 0 0.844 100 1657 0 1557 1180 416 0 0.805 0 1657 900 2557 1180 104 0 0.201 1657 100 0 1557 1200 624 0 0 1.228 1950 1100 3050 1200 156 0 0.307 100 1950 0 1850 1250 1248 0 2.559 0 1657 900 2557 1250 312 0 0.640 100 1657 0 1557 1320 624 0 1.351 1950 0 1100 3050 1320 0 156 0.338 1950 100 0 1850 1350 832 0 1.843 0 1657 900 2557 1350 208 0 0.461 100 1657 0 1557 1470 624 0 1505 1950 0 1100 3050 1470 156 0 0.376 100 1950 0 1850  36  Label  P16.1 P16.2 P17.1 P17.2 P18.1 P18.2 P19.1 P19,2 P20.1 P20.2 P21.1 P21.2 P22.1 P22.2 P23.1 P23.2  DEMAND GROUP DATA (continued) Length Number Number Amount Price Inventory Added Cost Product of piece of pieces of pieces Required Costs of Alternate Value in on Order Supply Inventory mm MBF $/MBF $IMBF $IMBF $IMBF 0 1600 312 0.819 1657 900 0 2557 78 1600 0 1657 0.205 100 0 1557 936 0 1640 2.518 1100 1950 3050 0 1640 234 0 0.630 1950 0 100 1850 0 1850 1144 1657 3.472 900 0 2557 286 1850 0 0.868 1657 0 100 1557 416 0 1960 1950 1.338 1100 3050 0 1960 104 0 0.334 1950 100 0 1850 2912 2120 0 10.127 1657 0 900 2557 728 0 2120 2.532 1657 0 100 1557 208 2230 0 0.761 1657 0 900 2557 52 0 2230 0.190 1657 100 0 1557 832 2430 0 1657 3.317 0 900 2557 208 2430 0 0.829 1657 100 0 1557 2800 312 0 1.433 1744 0 1000 2744 78 2800 0 0.358 0 1744 100 1644  37  APPENDIX B  Volumes Produced by Method  AMOUNT OF EACH PRODUCT PRODUCED BY METHOD (in lineal mm) Product static cutoff 1000/iter 100/iter lO/iter 1/iter optimal Label P1 1320424 532973 466032 473697 481362 489538 424320 P2 1948141 2450189 2459386 2615735 2659556 2651982 2695680 P3 1133284 1313664 1102184 1039984 1035008 1036252 1035008 P4 1346000 1812389 2291565 2231668 2237725 2239744 2239744 P5 1718640 2790744 2212656 2199264 2165784 2163552 2163616 P6 0 0 0 0 0 0 0 P7 564515 698754 708533 552069 555625 554736 555360 P8 540550 1023150 1069700 1183700 1185600 1184650 1185600 P9 0 122100 418000 402600 387200 405900 406974.6 P10 0 219666 331861 297612 305879 283440 410817.3 2409990 948409 762564 744579 750574 749375 P11 748800 P12 0 188750 690000 708750 671250 657500 923660.2 P13 1774103 1038306 811094 836193 822983 821662 823680 P14 0 353438 345344 392559 423586 431794 839062.1 P15 2393317 1169445 903194 904665 920846 917904 917280 P16 0 499200 476800 496000 500800 499200 499200 P17 2369604 2026635 1491669 1527771 1535976 1535976 1535040 P18 0 528814 848691 758090 732204 791372 629053.7 P19 2694414 1043252 841269 813815 815776 815776 815360 P20 0 316029 816585 782649 772044 859005 727103.7 P21 0 345650 338960 430390 463840 463840 463840 31603 230945 646646 880022 867867 709852 769413.9 P22 820107 1097208 1116801 887283 878886 926469 P23 873600 FJ 4333705 4595464 4300615 4299719 4298979 4298993 4162157 Volume 30930170 Available Volume 82.12% Recovery Value Value Recovery  $26,497 45.02%  81.94%  82.28%  82.31%  82.34% 82.41%  83.56%  $50,454 $55,134 $56,164 85.72% 93.67% 95.42%  $56,298 $56,301 95.65% 95.66%  $58,857 100.00%  38  


Citation Scheme:


Citations by CSL (citeproc-js)

Usage Statistics



Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            async >
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:


Related Items