Compact linear programming for the reel cutting stock problem

Similar documents
37 Game Theory. Bebe b1 b2 b3. a Abe a a A Two-Person Zero-Sum Game

BUILDING A SIMPLEX TABLEAU AND PROPER PIVOT SELECTION

Public Key Cryptography

Chapter 1: Digital logic

!"#$%&'("&)*("*+,)-(#'.*/$'-0%$1$"&-!!!"#$%&'(!"!!"#$%"&&'()*+*!

CIS 2033 Lecture 6, Spring 2017

Cracking the Sudoku: A Deterministic Approach

The Problem. Tom Davis December 19, 2016

Game Theory. Chapter 2 Solution Methods for Matrix Games. Instructor: Chih-Wen Chang. Chih-Wen NCKU. Game Theory, Ch2 1

Probability with Set Operations. MATH 107: Finite Mathematics University of Louisville. March 17, Complicated Probability, 17th century style

Dyck paths, standard Young tableaux, and pattern avoiding permutations

Exploring Concepts with Cubes. A resource book

CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25. Homework #1. ( Due: Oct 10 ) Figure 1: The laser game.

MAS336 Computational Problem Solving. Problem 3: Eight Queens

Modular arithmetic Math 2320

Digital Filters Using the TMS320C6000

MULTIPLES, FACTORS AND POWERS

An ordered collection of counters in rows or columns, showing multiplication facts.

Ziggy MacDonald University of Leicester

Multiplying Three Factors and Missing Factors

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

Contents. MA 327/ECO 327 Introduction to Game Theory Fall 2017 Notes. 1 Wednesday, August Friday, August Monday, August 28 6

Surreal Numbers and Games. February 2010

Non-overlapping permutation patterns

Laboratory 1: Uncertainty Analysis

Conway s Soldiers. Jasper Taylor

6.2 Modular Arithmetic

Findings. A Number of Candles Do Not Work as Expected

Strategic Bargaining. This is page 1 Printer: Opaq

repeated multiplication of a number, for example, 3 5. square roots and cube roots of numbers

Sequences. like 1, 2, 3, 4 while you are doing a dance or movement? Have you ever group things into

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

WORKING WITH NUMBERS GRADE 7

Chapter 5 Integers. 71 Copyright 2013 Pearson Education, Inc. All rights reserved.

Balancing Bandwidth and Bytes: Managing storage and transmission across a datacast network

Solutions to Exercises Chapter 6: Latin squares and SDRs

DC CIRCUITS AND OHM'S LAW

SOME EXAMPLES FROM INFORMATION THEORY (AFTER C. SHANNON).

Keywords: Poverty reduction, income distribution, Gini coefficient, T21 Model

MEASURING SHAPES M.K. HOME TUITION. Mathematics Revision Guides. Level: GCSE Foundation Tier

Cutting a Pie Is Not a Piece of Cake

A slope of a line is the ratio between the change in a vertical distance (rise) to the change in a horizontal

Dice Games and Stochastic Dynamic Programming

JIGSAW ACTIVITY, TASK # Make sure your answer in written in the correct order. Highest powers of x should come first, down to the lowest powers.

You ve seen them played in coffee shops, on planes, and

Problem 2A Consider 101 natural numbers not exceeding 200. Prove that at least one of them is divisible by another one.

CHAPTER 6 PROBABILITY. Chapter 5 introduced the concepts of z scores and the normal curve. This chapter takes

Intermediate Mathematics League of Eastern Massachusetts

Optimal Play of the Farkle Dice Game

!"#$%&'("&)*("*+,)-(#'.*/$'-0%$1$"&-!!!"#$%&'(!"!!"#$%"&&'()*+*!

Whole Numbers. Predecessor and successor Given any natural number, you can add 1 to that number and get the next number i.e. you

Econ 172A - Slides from Lecture 18

LESSON 2: THE INCLUSION-EXCLUSION PRINCIPLE

Free Cell Solver. Copyright 2001 Kevin Atkinson Shari Holstege December 11, 2001

Math Fundamentals for Statistics (Math 52) Unit 2:Number Line and Ordering. By Scott Fallstrom and Brent Pickett The How and Whys Guys.

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

Games for Drill and Practice

Synergy Round. Warming Up. Where in the World? Scrabble With Numbers. Earning a Gold Star

Taking Sudoku Seriously

CALCULATING SQUARE ROOTS BY HAND By James D. Nickel

Work: The converse of the statement If p, then q is If q, then p. Thus choice C is correct.

Crapaud/Crapette. A competitive patience game for two players

SET THEORY AND VENN DIAGRAMS

Working with Formulas and Functions

Logarithms ID1050 Quantitative & Qualitative Reasoning

Combinational Logic Circuits. Combinational Logic

Intermediate Mathematics League of Eastern Massachusetts

Launchpad Maths. Arithmetic II

A GRAPH THEORETICAL APPROACH TO SOLVING SCRAMBLE SQUARES PUZZLES. 1. Introduction

Rosen, Discrete Mathematics and Its Applications, 6th edition Extra Examples

arxiv: v1 [math.co] 7 Jan 2010

MODEL 5002 PHASE VERIFICATION BRIDGE SET

Figurate Numbers. by George Jelliss June 2008 with additions November 2008

Trial version. Resistor Production. How can the outcomes be analysed to optimise the process? Student. Contents. Resistor Production page: 1 of 15

Playing With Mazes. 3. Solving Mazes. David B. Suits Department of Philosophy Rochester Institute of Technology Rochester NY 14623

constant EXAMPLE #4:

Constructions of Coverings of the Integers: Exploring an Erdős Problem

Lecture Notes on Game Theory (QTM)

Chapter 3 Learning in Two-Player Matrix Games

17. Symmetries. Thus, the example above corresponds to the matrix: We shall now look at how permutations relate to trees.

A Mathematical Analysis of Oregon Lottery Win for Life

1 Introduction. 2 An Easy Start. KenKen. Charlotte Teachers Institute, 2015

Hundreds Grid. MathShop: Hundreds Grid

Assignment Problem. Introduction. Formulation of an assignment problem

THE ASSOCIATION OF MATHEMATICS TEACHERS OF NEW JERSEY 2018 ANNUAL WINTER CONFERENCE FOSTERING GROWTH MINDSETS IN EVERY MATH CLASSROOM

2. Nine points are distributed around a circle in such a way that when all ( )

EXPLORING TIC-TAC-TOE VARIANTS

New Values for Top Entails

NEW ASSOCIATION IN BIO-S-POLYMER PROCESS

Pearson Edexcel GCE Decision Mathematics D2. Advanced/Advanced Subsidiary

IC Preamplifier Challenges Choppers on Drift

HAVER & BOECKER. Information. Woven Wire Cloth Terminology, Types of Weave and Apertures

Quad Cities Photography Club

ECON 312: Games and Strategy 1. Industrial Organization Games and Strategy

Skill Builder. J. B. Wright A D VA N TA G E

In this paper, we discuss strings of 3 s and 7 s, hereby dubbed dreibens. As a first step

1. How many subsets are there for the set of cards in a standard playing card deck? How many subsets are there of size 8?

WHAT IS THIS GAME ABOUT?

Scoring methods and tactics for Duplicate and Swiss pairs

Variations on the Two Envelopes Problem

Transcription:

Compact linear programming for the reel cutting stock problem Adolf Diegel, Cutline Research 1 Olaf Diegel, Massey University 2 Edouard Montocchio, Sias van Schalkwyk, Mondi Business Paper South Africa 3 George Pritchard, Mpact Limited 4 ABSTRACT Linear means that two units are twice as large, heavy or costly as one unit: to compute total size, weight or value, for each order we multiply one number by another and add up the products. Linear Programming, LP, reflects this same linearity. We add, subtract, multiply or divide and use search routines (which order is to be filled next?). This involves arithmetic, not mathematics. Similarly for a Reel Cutting Stock Problem, CSP. We are to obtain narrow reels from wide rolls to fill the orders on hand with minimal stock, the main task. We also consider setups, order splits, short runs, surplus or deficit, pattern or reel multiples and related aspects: any one may be given priority even if this affects stock usage. We go from an initial table with demand and patterns to new ones. They show which patterns should run how often to fill demand, then to improve a plan. We use a small example to allow printing all patterns. For large orders, patterns reach astronomical numbers and we need dynamic pattern ( column ) generation, as explained in another paper. So also for stock reduction, trade tolerance or two-stage orders, with a second cutter to chop sheets or to slit reels below a winder s knife settings. We aim to enable practitioners to control our optimiser and eventually to write their own procedure. Either way, we shall appreciate feedback. KEYWORDS: Compact Linear Programming, Reel Cutting Stock Problem A SIMPLE EXAMPLE Work on our topic began in the 1950s, the possibly earliest paper being Kantorovich (1961 reprint). Like most publications since then, it used mathematical formulations. We present our case in plain language. We begin with an example so small that, on one page, we can present full tables vertically (with all possible patterns) and horizontally (for all orders). We may even want to place two tables side by side to study them before and after the procedure at hand. To introduce such data, we start at the end, with a final picture-type cutting plan, Figure 1. Figure 1. Simple picture-type cutting plan 46 TAPPSA JOURNAL VOLUME 2 2012

This picture plan tells the winder crew all it needs to know: where to set knives and how often a pattern is to run. For a planner it omits crucial data. How many reels are wanted? How many are output? Are there split orders, deficit or surplus? A quantitative plan provides answers based on demand, each pattern s run length and on how often a reel appears in it, n-up, Number up, Table 1. Table 1. Quantitative plan: reels & roll, pattern runs and output Table 2. 10 cutting plans for 2 orders, pattern labels from Table 4 This plan lists the reel widths at hand, nett usable stock width, then demand. Patterns come with their label and frequency or run length. The first has 13 runs of 600*5 + 400*2 = 3800 mm with 80 mm loss. Then the other pattern obtains the reels not provided by Pattern 1. The bottom line summarises all runs. First appear the rolls used, then the reels produced for each width. Output may differ from demand, with surplus (or deficit, when allowed): 80 400s are wanted, 13*2 + 7*8 or 82 are produced, with 2 extra reels. Finally, the bottom line ends with total loss (broke, pulp or scrap). The quantitative plan also leads to the LP-table in the next section. Before turning there, we document the need for an informed approach by showing that few orders may yield many solutions. For the data at hand, Table 2 has 10 plans with minimal stock, but they differ in setups, run length, pattern loss, order splits, total loss: minimal stock may yet allow much loss, to be traded for surplus and run length, as will be seen by comparing successive plans. Pattern labels come from the list of all possible patterns, below. They have 6 to 9 reels across, per pattern, a number which becomes critical when we do not have so many knives. Also, we have only 2 orders, but as many as 3 setups in 7 of the 10 plans. 5 of these are exact solutions: instead of surplus, we have more broke, perhaps justified by fewer order splits in the first exact plan (one order is filled by one pattern, all other plans use 2 or 3 patterns to fill an order). Two orders are likely to use as many setups, even three, but with more data we may expect fewer setups than orders. Given the cost of stock or setups and the value of surplus, we may even allow extra rolls if they improve other aspects of a solution. Finally, the patterns at hand have at least 80 mm broke. So, if these data are typical, the paper mill might reduce stock width to 3800 mm. Yet elsewhere we present two-stage planning where the extra width is just what is needed for cutreel trim on a second cutter. Here we repeat that each plan is unique in at least one aspect: surplus, pattern loss, total loss, setups, run length, even order splits (Diegel 2011b). Yet we do not now choose a best plan, nor do we know how to define it without a practitioner s specification. We do show that 2 orders may yield at least as many as 10 plans. 1 Corresponding author: 66 Edmonds Road, Durban 4001, cutworks7@iafrica.com, www.cutworks7.com. 2 o.diegel@massey.ac.nz, www.massey.ac.nz 3 ed.montocchio@mondigroup.co.za, sias.vanschalkwyk@mondigroup.co.za. 4 gpritchard@mpact.co.za TAPPSA JOURNAL VOLUME 2 2012 47

Table 3. Initial summary of raw data Table 4. Initial tableau for simple data with all full-cut patterns Thus LP differs from a mathematical formula with a single deterministic result. LP depends not on delta x to infinity, derivative or integral, but on arithmetic and informed programming. LP-FRIENLDY FORMULATION OF INITIAL DATA We document this for the data at hand by our tables for the Reel-CSP, starting with the initial one, Table 4 above. Before turning there, we note that the traditional word for an LP-table is Tableau : we use it when we refer to a Tableau in a Table. Also, unused stock is Broke, but, to reduce column width, we use Loss and round fractions to 2 decimals (normally we print 3 or more). Finally, output begins with a summary of the data at hand, Table 3. Our two orders accumulate 600*72 + 400*80 = 75200 mm. Dividing by 3880 makes 20 rolls, integer round-up. 3880*20 = 77600 mm, so 2400 mm remain as slack, for pattern loss (or surplus in a good plan). 20 appears twice on top of Table 4, first as the initial estimate then, in the last column, as the number still available: stock rapidly diminishes with new patterns; in due course we may have to allow extra rolls. Row 1 begins with the table number, 0 initially. Next comes 20, expected usage of stock rolls (which may be exceeded by poorly fitting patterns or if we allow extra rolls to improve a solution). In row 2, we begin with.00 loss, naturally. It is also natural to mark demand by a minus-sign, as yet unfilled, so -20 in the last column is the demand to use as much stock as computed in the initial summary. If any finally remains, it may become surplus or be forced into broke. Conversely, if stock usage exceeds our estimate and we fail to reduce it by new patterns, we must allow deficit or more stock or else abandon the current plan and wait for more orders. We should add that the stock column will become essential in The final steps, below, when we need a column for surplus or an extra pattern. As we saw above, two orders may entail three patterns or surplus: neither could be quantified without the final column in our LP-Tableau. Reels and demand are followed by 7 patterns. To separate positive reel widths from a pattern, we make its label negative. We also include its reels: a label is the pattern s number*100 plus its reels, here 06 to 09, n-across. Pattern labels appear in column 1. Column 2 at left has pattern loss: 600*6 reels in 3880 stock leave an offcut of 280 mm. Pattern -106 yields 6 reels of 600 mm, no 400s, then it ends with 1 for stock usage. These numbers appear column by column. Positive widths for reels and stock make sense. So do negative labels: the minus-sign serves to identify them. This holds also for negative demand, unfilled. But a glitch occurs in filling demand: for any one order, the number of pattern reels, n-up, is zero or positive; zero is not relevant, but dividing a negative demand by positive n-up makes a negative run length, inconsistent. We correct this in Table 5, but for the moment use ABS (demand)/n-up, the absolute value of run length. Our patterns are full-cut, with as many reels as they can hold. 3880 allows 6*600 reels with 280 mm loss: we avoid a pattern with 5 600s and 880 mm loss to favour surplus over loss. Indeed, forbidding surplus by an upper limit on any one order may prevent an integer solution. Finally, our table reflects Compact LP. It is compact in doing without the explicit Identity Matrix used by Carl Friedrich Gauss, 1777 to 1855, to solve Simultaneous Equations. Such a matrix was part of LP until the 1970s when (Wagner 1970, p. 67 ff.) and (Kemeny 1972, p. 283) used the procedure presented below, yet without explaining its significance. 48 TAPPSA JOURNAL VOLUME 2 2011

PROGRAMMING THE INITIAL TABLE Reading the raw data and defining the initial table is a simple exercise in any programming language: it does not involve LP but data processing. To prepare the table, all we need initially is its number of columns. The number of rows is given by number of patterns + 2 in a static approach (or else, dynamically, it is an open dimension, large enough to allow for the comparatively few patterns actually used). The number of columns is known as soon as orders are read. More exactly, we mean orders for the same width: if they come from several clients, we add up their total beforehand, while reading the data as for Table 3. Conversely, at the end of planing, the raw data are read again: output and surplus, if any, are allocated client by client. Thus we guarantee to fill demand with minimal stock, then favour other criteria. Adding up orders would be complicated by trade tolerance, if any clients admit percentages, including zero, for the reels they would accept below or above the nominal order. If so, one needs two columns for orders with tolerance, one for the lowest, another for the highest acceptable limit. This could be programmed easily enough, yet we show elsewhere that trade tolerance is counterproductive (Diegel 2011d, Goulimis 1990). Specifically, if an exact plan would come about by default, enforcing it at best merely increases run time; at worst, it also has more setups. Yet if an open plan would have surplus, forbidding it may prevent integer solutions or else yield one with good reels turned into broke, usually with more setups, high pattern loss, large tables and long run time. Exact plans which do not occur by default tend to be worse in all respects other than in being exact. As for positive trade tolerance, demand and output will differ as much as permitted. Some orders are filled at their lowest level, others may reach their highest, depending on whether stock is minimised absolutely or allowed to increase to favour secondary objectives (Diegel 2011c). So we explain LP for open tolerance, without any initial percentages: all orders are filled with minimal stock usage. This also means minimal surplus: if any, it is allocated order by order, after the fact. This approach tends to improve a plan in other respects. Either way, the columns needed for an LP-tableau are orders plus 3 as in Table 4: a column for a pattern label, then for loss, each reel width and stock. Once columns are known, building Tableau 0 and its patterns is routine programming. LP enters only when it comes to chose a pattern and evaluate its effect on demand -- and on other patterns. OBJECTIVE FUNCTION AND SIMPLE EXAMPLE The first two rows of Table 4 formulate the objective, to fill demand for each order with expected stock, here 20 rolls. Yet their function goes beyond listing raw data, so these rows are the objective function. It is to record how demand is to be filled, first by finding a pattern for orders as yet unfilled, then by choosing better patterns and finally, if necessary, by allowing deficit, surplus or extra stock. Keywords in this process are Pivot, Ratio and notably Critical Ratio. Pivot is n-up, the pattern reels for the order to be filled. It is that cell in a row upon which a table turns or is inverted, the word coined by Gauss: the pivot row becomes a column and the column a row. Ratio initially is an as yet unfilled (negative) demand divided by a (positive) n-up, the co-responding number of reels in a pattern. Critical is the ratio which fills an order without increasing demand on other orders in a given pattern. Then, among several patterns, best tends to be the one with the highest ratio, with most runs, to fill more demand. Once demand is filled, we may explore new patterns to improve a plan. We shall explain the full procedure below, but here we propose to admit only the first and last patterns from Table 4, -106 & -709. Each covers one order, so they may not be as effective as patterns with many orders, but they would be relevant if we had only one packing stack (see Order Spread and Order Splits, Diegel 2011b). In any case, one-order patterns simplify a first approach. Indeed, no decisions are required: we know which pattern covers each order and we do not need to search for a pivot. Even so, a pivot is still a pivot: it determines how often a pattern runs, how much stock is used and how much broke will be lost. Thus, in Table 5 and Tableau 0 we list the objective function and the patterns at hand, then go from the Old Tableau to a new one by exchanging 600s for 12 runs of Pattern -106. (This seems to imply several tables, but a programmer will update the original space.) Updating the objective function after the 0/1-change in the critical cells yields consistent results in Tableau 1. Subtracting a negative number makes a positive sum: -12*280 is -3360, but 0 - -3360 becomes +3360 mm total loss. Similarly for -106 s run length: minus -12 is +12 and -20 + 12 = -8, the remaining stock rolls. Having saved PIVOT = 6 from Tableau 0 and with its cell at 1, results for the 600-row are also consistent: 6 reels imply 280 mm broke, so it is 280/6 or 46.67 mm per reel, then 1/6 or.1666, printed as.17 to save space. What may not be obvious are 0 & 1 for the critical cells TAPPSA JOURNAL VOLUME 2 2012 49

of the intermediate Tableau (after saving its data, -12 and 6). 0 & 1 reflect Gauss s Identity Matrix, with 1 on its diagonal, 0 elsewhere. Table 5. Tableaux for 600s filled by -106, with intermediate steps What then if we obtain 400s from that other pattern, -709? After saving RATIO = -80/9, PIVOT = 9 and replacing their cells by 0 & 1, we proceed as above to change Tableau 1 to 2, Table 6. Orders are filled, but with a fractional run, RATIO = -80/9 for -8.89 runs of 709, 0.89 rolls above expected usage in the stock column, or 1 integer roll. Similarly, total loss of 5848.89 mm exceeds one roll: we need 21 rolls, or else we must allow deficit or reduce initial demand. Table 6. Objective function before/after using second pattern Table 7. 3880/-709 pivot in Tableau 1 or add a roll to Tableau 3 By how much does an integer solution change demand or stock usage, still with one-order patterns? Instead of going back to the beginning, we can derive relevant answers from Tableau 1 in Table 6, to get Table 7. Tableau 1 leads to Tableau 3 if we consider unused stock as a demand, fill it with 8 runs of pattern -709 and accept -8 400s deficit. For Tableau 4 we allowed extra stock by adding the stock row in Tableau 3 to its objective function: 9 runs of -709 yield 1 surplus 400-reel and 21 rolls make 5880 mm broke. The same plan would be obtained by allowing an extra roll to begin with, still with one-order patterns. Either way, if our initial example was trivial, it did provide some insights. We explained how to obtain positive run lengths from negative demand and how to keep a table compact, but we skipped intermediate computations. What about -1.50 in the 600-rows of Table 7? 600 is worth 1.50*400, so this is not a random number, but how did we compute it? See below. Here we note that one-order patterns may yield fractional runs and that an integer plan may entail deficit or extra stock and surplus. CRITICAL RATIO AND POTENTIAL UPDATE Plans for single-order patterns should have been meaningful, but they avoided this fact: several orders per pattern in several patterns imply that, upon accepting one pattern, we update its effect on the objective and on all other patterns already in a table. So far we filled demand; now we must also update patterns and perhaps replace poor patterns by better ones. This requires more detailed definitions, as follows. The objective function is always in rows 1 & 2. The main part of Row 1 lists reel and stock widths, to be replaced by pattern labels and runs. Matching cells in Row 2 start with negative demand, to become positive run lengths. Some demands or run lengths may become zero or positive, when one pattern fills several orders or demand became surplus. The pivot row can be any row below row 2, while the pivot is that entry in the pivot row which makes the critical ratio for demand/pivot. More exactly, the pivot is always nonzero, but it may be positive to fill a negative demand or negative to remove a pattern or surplus. Once a pivot was chosen, we update the objective function in rows 1 and 2 as well as every row with a non-zero entry in the pivot column. This row-update is the essence of LP: as one row is changed, so are others, simultaneously. This is easily said, but one will hardly appreciate the consequences without an example. Thus we resume all possible patterns for the data at hand. We begin with the first pattern and study its effect on the 50 TAPPSA JOURNAL VOLUME 2 2011

Table 8. Initial tableau for all patterns and effect of -106 Table 9. Entering -207 initially as compared to -207 after -106 72)/5 = 14.40 runs. These results seem so unexpected that we should corroborate them. One way to do this is to enter the loss-reducing pattern -207 initially in Tableau 0 to get Tableau 1 in Table 9. Its Tableau 2 is the result of entering -207 by a second round in Tableau 1 of Table 8. Both tableaux are identical to the last digit (excepting their numbers). Table 10. Data and plans with low-loss patterns -207, -408 and -609 objective function and on other rows in the new Tableau. Pattern -106 with 280 mm loss may not be the best one, but it is used in 2 of the 10 plans in Table 2. One is the 2-setup exact plan, the only one. So, a pattern s value depends not so much on its loss as on how it fits in with other patterns. In any case, before defining updating procedures, we show the effect of -106. We will see that, upon entering one pattern, revised are both the objective function and most pattern rows, Table 8. We understand the exchange of row -106 at left for 12 runs in its column at right. Also, that one reel accounts for 280/6 or 46.67 mm broke while 1/6 =.1666 or.17 of its pattern and of a stock roll. Other rows with non-zero cells in the pivot column were also updated, simultaneously. Thus pattern -207 should reduce loss by -153.33 mm per run and replace 12 runs of -106 by ABS(12/-.83) or ABS(- So the good news for a practitioner is evident. It hardly matters if one activates a poor pattern: its effect will be marked by a -sign in the loss column of a better pattern in the new tableau, Table 8 above. We may consider this good news and, formally, it is. In practice, poor patterns not only waste time; they may also involve more fractions: as these accumulate, it may become difficult to restore integers. So, beyond finding a good pattern, we look for the best one. This may depend on how orders are sorted, by reel width, size (width*number) or delivery date, for example. Here we begin with the pattern which reduces demand most significantly. CHOOSING AN INITIAL PLAN In Tables 8 and 9 the first of all possible patterns was not a good one. This may well be so generally because a first pattern tends to cover few orders, here only 600s. Chances are that patterns with several orders will do better. How then do we define better? Do we look at loss only or at a pattern s efficiency? The data at hand provide a convenient example. Repeating Tableau 0 from Table 8, we show the results of beginning with any one of the low-loss patterns -207, -408 and -609, Table 10. TAPPSA JOURNAL VOLUME 2 2012 51

All Tableaux are Number 1, what they would be if one of the patterns in question enters initially. Yet on the one hand they differ absolutely, in total stock usage, from 14.40 to 16 and 10 rolls. On the other hand, in all three plans stock related to output is identical, 2.1053% above demand, because all three patterns have the same loss, 80 mm. Clearly, then, it is not enough to check a pattern s loss: after -207, it is positive elsewhere; after -408 it is -48 for -609 and after -609 all pattern loss is positive again. Total loss changes accordingly, but so does output. In turn, among the patterns at hand, we choose the one with the longest run, here 16 for 408. The example at hand defines this clearly enough. It also shows that any pattern s use changes most other patterns in a Tableau, all those with a non-zero entry in the pivot column. LP-PROCEDURE TO UPDATE PATTERNS We document LP computations in Table 11 by going from Tableau 0 to 1 via an Intermediate Tableau. After saving PIVOT and RATIO, active labels are exchanged and their cells set to 0 and 1 to simulate Gauss s Identity Matrix. We start with pattern -408 to fill 600s and we ask, How does pattern -408 change other patterns in Tableau 1?. Somebody doing this by hand might now pivot backwards, exchanging -408 for 400s to return to Tableau 0. We prefer to go forward, to fill the demand for -24 600s (or to use unused stock rolls). The classic approach is to focus on demand before pivoting on stock. Either way, -207 is the most promising second pattern: it has the lowest loss for patterns with a positive cell in columns 600 and 3880. Thus we repeat the procedure of Table 11 to confirm consistent results. These now involve serious fractions, so we print them with 3 decimals: output becomes congested, but one should find it easier to verify most results by inspection. Also, we retained only the patterns actually used, -408 & -207, then two more for the next step, seen in Table 12. Table 11. Computations to update rows other than Active Pattern 52 TAPPSA JOURNAL VOLUME 2 2011

It would be tedious to do these computations by hand, but programming them involves simple arithmetic (if applied in the right order). The example is also relevant in clarifying that we may deal with serious fractions: these would increase for orders larger in size and number. Yet fractions may often be reduced by choosing a pivot column with that in mind. For example, in Tableau 1 we could have used remaining rolls for pattern -108, Table 13. Figure 12. Computations for second update Pattern -108 with 280 mm loss may yet yield a plan preferred by those who prefer loss to surplus. Table 2 has 9 other solutions, each with its own characteristics. THE FINAL STEPS Previous tables have shown that the Stock Column is more than cosmetic. We need it for surplus or a new pattern: neither could enter without the extra column. This is confirmed by the next best pattern to remove the fractions in Tableau 2 with minimal loss, Tableau 3 in Table 14. Table 13. Exact solution uses stock, yet also fills demand Table 14. First integer solution and better plan Pattern -609 could not enter in Tableau 1 without creating fractions or exceeding available stock. Yet, once -408 and 400 are active, -609 fits perfectly. It is better objectively because, at no extra cost, it has a longer shortest run, 7 against 6. Among the 10 plans in Table 2, only the exact one can compete, but who would prefer loss to surplus? Thus, beyond its strength, LP also has a weakness: it may yield so many plans that it is difficult to find the best one. Or rather, at fault is the CSP: a pattern s value depends on how it combines with others. Also, we have so many patterns that we may not be able to examine all of them: our 2 orders made 10, but if we add say 500 mm reels, we get 32 patterns and for realistic data it could be hundreds and thousands. TAPPSA JOURNAL VOLUME 2 2012 53

In short, one may have so many patterns that the static approach becomes impractical even on a modern computer. Not that their number matters as it would have in the 1980s, but replacing an initial pattern by a better one adds a new formula to pattern revision and it tends to have more fractions. Thus we need dynamic pattern generation as explained in a companion paper. CONCLUSION We presented a basic LP formulation and solution procedure for a simple example with only 2 orders, but a programmer will know that more orders just make larger tables: they do not change principles. Our case was simple as we aimed only for a basic solution. More details are needed to generate patterns dynamically (rather than beforehand), to reduce stock usage if it exceeds the initial estimate, to convert fractional to integer solutions or to reduce setups. See references. REFERENCES Diegel, Adolf, Edouard Montocchio, Edward Walters, Sias van Schalkwyk and Spurs Naidoo (1996). Setup minimising conditions in the trim loss problem. European Journal of Operational Research 95:631-640. Diegel, Adolf, Sias van Schalkwyk and Olaf Diegel (2004). Favouring prompt delivery in the trim loss problem. TAPPSA conference, Durban, 13 Oct. 2004, TAPPSA Journal March 2005:17-22, www.tappsa.co.za/ archive2. Diegel, Adolf, Garth Miller, Edouard Montocchio, Sias van Schalkwyk and Olaf Diegel (2006a). Enforcing minimum run length in the cutting stock problem. European Journal of Operational Research 171:708-721. Presented at EURO/INFORMS, Istanbul 6 July 2003. Diegel, Adolf, Garth Miller, Edouard Montocchio, Sias van Schalkwyk, George Pritchard and Olaf Diegel (2006b). Two-stage optimisation of the cutting stock problem. 3rd ESICUP meeting, Porto 16-18 March 2006. Diegel, Adolf and Olaf Diegel (2007). Optimal stock widths in corrugator combining. Cutline Research, www. cutworks7.com. Diegel, Adolf, Edouard Montocchio, Sias van Schalkwyk, George Pritchard and Olaf Diegel (2009). Trade tolerance and fixed reel-multiples in the cutting stock problem. www.cutworks7.com. Diegel, Adolf, Olaf Diegel and Leo Wintrich (2011a). Fixed pattern multiples in cutting stock rolls of foil, film or wrap. TAPPSA Journal Volume 1:1-10. Diegel, Adolf, Olaf Diegel, Edouard Montocchio, Sias van Schalkwyk (2011b). Order Spread and Order Splits in the cutting stock problem. TAPPSA Journal Volume 2:36-45. Diegel, Adolf, Olaf Diegel, Edouard Montocchio, Sias van Schalkwyk and George Pritchard (2011c). Favouring long runs in the cutting stock problem. TAPPSA Journal Volume 3:37-44. Diegel, Adolf, Olaf Diegel, Edouard Montocchio, Sias van Schalkwyk and George Pritchard (2011d). Trade tolerance and exact solutions in the cutting stock problem. TAPPSA Journal Volume 4:37-43. First presented at 2nd EsICUP meeting, Southampton 14-16 April 2005. Diegel, Adolf, Olaf Diegel, Edouard Montocchio, Sias van Schalkwyk and George Pritchard (2011e). Exploring two-stage reels and portrait or landscape sheets. TAPPSA Journal Volume 6:39-46. Diegel, Adolf and Olaf Diegel (2012a). Formulating twostage, two-machine deckling with compact LP. TAPPSA Journal Volume 1:31-39. Goulimis, Constantine (1990). Optimal solutions for the cutting stock problem. European Journal of Operational Research 44:197-208. Kantorovich, I. W. (1962 reprint). Mathematical Methods of Organising and Planning Production. Management Science 6:366-422. Kemeny, John G., Arthur Schleifer, J. Laurie Snell, Gerald L. Thompson. Finite Mathematics With Business Applications. Englewood Cliffs: Prentice-Hall, 1962. Second ed. 1972, compact flow diagram on page 283. Wagner, Harvey M., Principles of Management Science. Englewood Cliffs: Prentice-Hall, 1970, page 103. 54 TAPPSA JOURNAL VOLUME 2 2011