UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Production planning in JS McMillan Fisheries Ltd. : catch allocation decision support tool design Begen, Mehmet Atilla 2001

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

Item Metadata

Download

Media
831-ubc_2002-0018.pdf [ 15.34MB ]
Metadata
JSON: 831-1.0090086.json
JSON-LD: 831-1.0090086-ld.json
RDF/XML (Pretty): 831-1.0090086-rdf.xml
RDF/JSON: 831-1.0090086-rdf.json
Turtle: 831-1.0090086-turtle.txt
N-Triples: 831-1.0090086-rdf-ntriples.txt
Original Record: 831-1.0090086-source.json
Full Text
831-1.0090086-fulltext.txt
Citation
831-1.0090086.ris

Full Text

P R O D U C T I O N P L A N N I N G in JS M c M I L L A N F I S H E R I E S L T D : C A T C H A L L O C A T I O N D E C I S I O N S U P P O R T T O O L D E S I G N Mehmet Atilla Begpn BSc (Industrial Engineering), Middle East Technical University, Turkey, 2000 A T H E S I S S U B M I T T E D I N P A R T I A L F U L F I L L M E N T O F T H E R E Q U I R E M E N T S F O R T H E D E G R E E O F M A S T E R O F S C I E N C E (Business Acbiinistrat ion) T H E F A C U L T Y O F G R A D U A T E S T U D I E S (Faculty of C o m m e r c e & Business Administrat ion) W e accept this thesis as confonning „ to the required standard T H E U N I V E R S I T Y O F B R I T I S H C O L U M B I A D e c e m b e r 2001 ©MehmetAtillaBegn,2001 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. Department of The University of British Columbia Vancouver, Canada DE-6 (2/88) ABSTRACT JS McMillan Fisheries Ltd. (JSM) is a Vancouver-based company with operations in nearly all levels of the commercial fishing industry, from supply through distribution. The heart of the operation is the processing facilities where freshly caught Pacific salmon are prepared for sale to end consumers and institutional buyers. As the operations of JSM evolved, the decision making for allocating a catch of salmon with varying characteristics amongst a set of final products has become too complex and time consuming. The focus of this study is to determine an effective and efficient method for JSM to allocate daily a fresh salmon harvest between the various products they produce on a daily basis. The goal is short-term production planning, to allocate the catch among the products in such a manner that the profit potential of the catch is maximized, i.e. prepare a production schedule that maximizes the total profit over the planning horizon. Additional goals of this project include: automation of the decision making process for the catch allocation, "what if" planning, decreasing expert dependency, reducing decision making time, and building a practical and innovative decision support tool. In order to solve this problem efficiently and effectively, optimization models were developed for allocating the catch to the end products. A corresponding decision support tool was built for the end-users at JSM. Key words; fish processing planning, fish deterioration modeling, by-products modeling, decision support tool for catch allocation, software development in Excel, salmon, optimal catch allocation, production planning, linear, stochastic, integer programming. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design ii TABLE OF CONTENTS ABSTRACT ii TABLE OF CONTENTS iii LIST OF THE FIGURES v LIST OF THE TABLES vi ACKNOWLEDGMENT vii 1. INTRODUCTION 1 1.1 PROJECT BACKGROUND 1 1.1.1 Project Description and Problem Definition 1 1.1.2 Fishing Industry in BC: Salmon Catching Methods and Species 5 1.1.3 JS McMillan Fisheries Ltd. 9 1.2 SUMMARY OF PREVIOUS WORK 14 1.3 LITERATURE REVIEW 15 2 INITIAL APPROACH 18 2.1 SPLP - SINGLE PERIOD LINEAR PROGRAM 18 2.1.1 SPLP Model 20 2.1.2 Catch allocation tool -CAT. 24 3. REVISED CATCH ALLOCATION PROBLEM 26 3.1 MPMSLP MULTI PERIOD MULTI SPECIES LINEAR PROGRAM 26 3.1.2 MPMSLP Model 29 3.2 EXTENSIONS TO M P M S L P 33 3.3 DATA REQUIREMENTS OF THE MODEL 35 3.4 A DECISION SUPPORT TOOL FOR M P M S L P 35 3.5 PRACTICAL ISSUES 37 Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 4. RESULTS AND FINDINGS 40 4.1 IMPLEMENTATION 40 4.2 SAMPLE OUTPUT 41 4.2.1 Sample Output with mostly negative profit coefficients 41 4.2.2 Sample Output with all positive profit coefficients 43 5. EXTENSIONS 45 5.1 STOCHASTIC SUPPLY 45 5.2 CATCH SIZE FORECASTING 45 5.2.1 Models 47 5.2.2 Results 48 5.3 STOCHASTIC OPTIMIZATION 49 5.3.1 Stochastic LP formulation 49 5.4 A COMBINED PRODUCTION PLAN FOR BOTH PLANTS 52 5.4.1 MIP formulation 53 5.5 FURTHER RESEARCH 55 6. CONCLUSION 56 REFERENCES 57 A P P E N D I X 1- S U M M A R Y O F T H E P R O D U C T I O N P R O C E S S 58 A P P E N D I X 2 - F I S H C A T E G O R I E S A N D P R O D U C T L I S T F O R C H U M S 59 A P P E N D I X 3 - P R I N C E R U P E R T ' S P L A N T H I G H L I G H T S 60 A P P E N D I X 4 - A M P L M O D E L 64 A P P E N D I X 5 - C A T D E S C R I P T I O N 65 A P P E N D I X 6 - M P M S L P P R O T O T Y P E 77 Begen, Production Planning in JS McMillan: Catch Allocation Tool Design LIST OF THE FIGURES FIGURE 1 - TROLLING 6 FIGURE 2 - SEINING 6 FIGURE 3 - GILLNETTING 6 FIGURE 4 - C H U M SALMON 7 FIGURE 5 - SOCKEYE SALMON 7 FIGURE 6 - PINK SALMON 8 FIGURE 7 - S P L P GRAPHICAL REPRESENTATION 19 FIGURE 8 - M P M S L P GRAPHICAL REPRESENTATION 28 FIGURE 9 - DETERIORATION REPRESENTATION 28 FIGURE 10 - T H E LOGIC AND FLOW DIAGRAM OF C A T 2 36 FIGURE 1 1 - DAILY LANDED CATCH SUMMER 2000 46 FIGURE 12 - PLOTS FOR TOTAL LANDINGS, MEAN, NAIVE AND M A (2) 49 FIGURE 13 - STOCHASTIC L P SCENARIOS 50 FIGURE 14 - COMBINED PRODUCTION PLAN FOR VANCOUVER AND PRINCE RUPERT 52 Begen, Production Planning in JS McMillan: Catch Allocation Tool Design LIST OF THE TABLES TABLE 1 - 1999 CATCH VOLUME IN LBS, LANDED VALUE, AND WHOLESALE VALUE 5 TABLE 2 - FISH QUALITY DETERIORATION MATRIX 31 TABLE 3 - SAMPLE INPUTS TO THE S P L P M O D E L 41 TABLE 4 - PRODUCTS THAT HAVE POSITIVE PROFITS 42 TABLE 5 - SAMPLE OUTPUT FOR THE S P L P WITH CURRENT PROFIT COEFFICIENTS 42 TABLE 6 - SAMPLE OUTPUT FOR THE S P L P WITH ALL POSITIVE PROFIT COEFFICIENTS 44 TABLE 7 - SUMMARY T A B L E OF FORECASTING RESULTS 48 Begen, Production Planning in JS McMillan: Catch Allocation Tool Design A CKNO WLED GMENT Coming to Canada was one of the b iggest dec is ions that I have made in my life. I am happy with my decis ion and I be l ieve that my choice was correct. L iv ing, s tudy ing and work ing in Canada has been a ve ry pract ical and fulf i l l ing exper ience for me. I real ly en joyed the master ' s p rog ram, my project and Vancouve r . I have learned and benef i ted a lot f rom the COE MSc p rog ram. Th is p rogram a l lowed me to ga in work ing exper ience in a real life prob lem whi le s tudy ing . And the COE's f inancia l a id dur ing my stud ies is great ly apprec ia ted . I wou ld l ike to thank all the people who we l comed me wa rm ly and gave support dur ing my s tud ies . I start with my parents and fami ly who encouraged me to go to abroad for my mas te r degree and suppor ted me dur ing all my life. I owe t h em a lot and wou ld not be here w i thout t h em . I wou ld l ike to thank Dr. Mart in Pu te rman who gave his great encou ragement and suppor t dur ing my stud ies a lso who encouraged and persuaded me to come to Canada and COE p rog ram. I wou ld not be here wi thout h im . I a lso would l ike to thank to Dr. Dav id G lenn for his contr ibut ions, adv ice and suppor t for the project and th is thes is . The i r contr ibut ions to th is project and thes is are eno rmous . I a lso wou ld l ike to thank S tephen Jones, Paul H iom, Lauren Gray and all the people in COE for the i r suppor t dur ing the project and my stud ies. A lso many thanks to all my c l assmates and f r iends who made th is s tudy fun exper ience and helped me out wheneve r I needed. Spec ia l thanks to Oma r Ladak for his ass is tance in the forecast ing project. And f inal ly I would l ike to thank Barry and Dan McMi l lan, S teve Parkhi l l , Paulli Bodmer , Bra in Gi l ley and Phil Young f rom JS McMi l lan for prov id ing such a cha l leng ing and interest ing project oppor tun i ty and the i r t rust and suppor t for the project. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design vii 1. INTRODUCTION 1.1 PROJECT BACKGROUND 1.1.1 Project Description and Problem Definition This thesis describes the work done for the project entitled "Optimal Catch Allocation" for JS McMillan Fisheries Ltd. (JSM) with the Centre for Operations Excellence (COE) at the University of British Columbia (UBC). The work presented in this thesis is the continuation of a study with JSM and COE done by a previous graduate student in COE. The project started July 2000 after JSM approached COE with the catch allocation problem and I have been working on this project since September 2000. The previous work will be summarized in the "summary of previous work section" in this chapter. JS McMillan Fisheries Ltd. is a Vancouver-based company with operations in nearly all levels of the commercial fishing industry, from supply through distribution. The heart of the operations is the processing facilities where freshly caught Pacific salmon are prepared for sale to end consumers and institutional buyers. Decision making for allocating a catch of salmon with varying characteristics amongst a set of final products became too complex and time consuming as the operations of JS McMillan Fisheries Ltd evolved, and the numbers of products, markets and operations increased. The focus of this project is short-term production planning. That is to develop an efficient method for JS McMillan to allocate a fresh salmon harvest between the various salmon products that they prepare, such as dressed salmon, filleted salmon, and canned salmon. The goal is to allocate the catch among the products in such a manner that the profit potential of the catch is maximized each day. The main goal for this project is to develop and implement a decision support tool that allocates the catch optimally. In order to solve the problem optimally the characteristics of the catch should be clearly understood. Salmon processing is seasonal and the department of fisheries Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 1 dec ides when and where sa lmon wil l be caught. The sa lmon spawn cyc le is usua l ly 2-4 years . F i shermen can only catch the sa lmon dur ing speci f ic t imes, in speci f ic p laces. For examp le the depar tment of f isher ies on ly a l lows f ish ing, before the sa lmon can enter to r iver where they spawn and die. F i shermen are notif ied about the t ime, durat ion and place of the catch by the depa r tmen t of f isher ies. Th is is cal led the catch open ing announcement . One of the reasons why depar tment of f i sher ies has such a regulat ion is that it wants to protect the f ish supp ly so that enough f ish can spawn the next genera t ion . There are d i f ferent part ies invo lved in th is bus iness such as First Nat ions People, recreat iona l f i shermen and o ther commerc i a l f ishing boats. Seasona l sa lmon runs and depar tment of f i sher ies regulat ion cause sa lmon f ish ing to be done in short t ime per iods. But with th is s imu l taneous f ish ing, all boats and fish process ing p lants have sa lmon at the s ame t ime . Usual ly, JSM gets more f ish than it can process dur ing a short period of t ime . Whi le I was v is i t ing the Prince Rupert plant, in one day 600 ,000 lbs of s a lmon , more than twice of the capac i ty , was landed. Accord ing to J S M , th is number can some t imes be more than one mi l l ion pounds. There are a lso s ome uncerta int ies such as catch s izes and durat ion of catch open ings . The quant i ty and character is t i cs (s ize, spec ie, qua l i ty) of the catch coming to the plant may not be known unti l the f ish ing boat arr ives at the plant. Fur thermore , the depa r tmen t of f isher ies could tel l the f ish ing boats that they can cont inue f ishing for s ome more t ime say, three more days but are not a l lowed to catch a speci f ic spec ies, say pink. If depa r tment of f i sher ies dec ides that pink supp ly is s t ra ined, they c lose the f i sh ing. Depa r tment of f isher ies pol icy, uncerta int ies in catch amoun t , seasona l i ty , and short t ime per iods for f ishing make product ion p lanning a compl i ca ted task that has to be so lved very qu ick ly . T ime is an issue because there can be another catch coming next day and sa lmon must be processed as qu ick ly as poss ib le to decrease the f ish deter io ra t ion . At the s ame t ime, f inding a good so lut ion might be diff icult in that env i r onment s ince the catch amount , character is t i cs change f rom one catch to ano ther and past exper ience may not help. Hence, f ish process ing plants and JSM need an eff ic ient and effect ive, way to f igure out what to do each day. Ove r the company ' s h istory, the dec is ion of a l locat ing the catch to the end products ( i .e. mak ing a feasib le product ion plan) has been comb ined exper ience, marke t expec ta t ions and intui t ion. However , as the c ompany has evo lved the number of Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 2 products, fish types and decision-making parameters have increased and thus the decision-making has become a time consuming and complicated process. The owners are involved heavily in this decision-making process and they are looking forward to being less involved. They would like to transfer their responsibilities to managers who will be assisted by a decision support tool. On the other hand developing only a feasible production plan is not the best thing to do. There is an also need for optimal decisions in order to increase the company's profitability. Moreover, time definitely is an issue due to salmon business characteristics: fish is a perishable product and the salmon supply is seasonal. We hope that the decision support tool developed in this project will overcome these difficulties and provide the optimal production plan for allocating the catch to the end products to JSM very efficiently. The scope of the project is to "Build an automated, customizable decision support tool that will allow the user to enter decision-making parameters, produce a feasible production schedule that maximizes the expected profit of the total catch and give the production schedule as output, record the past data". The specific goals for the project are: Producing a feasible production schedule that maximizes the profit: Optimization model will allocate the catch to end products in such a way that the profit from these products will be maximized and this allocation will be feasible for the plant, products and catch properties. For example for plant; each product line has a certain capacity, for products; it is not possible to produce a certain product from every type of fish and for catch; what and how much to produce depend on the catch amount and its characteristics. Automating the decision making process: Due to dynamic characteristics of salmon fishing the catch allocation decision must be made each day and some automated and standardized way for decision-making is crucial. An optimization model itself is not enough for practical use of end users. For this reason the decision support tool (used as Catch Allocation Tool as well, CAT), which uses optimization, may be developed to provide easy and user-friendly software for the end users. This software will be used on a daily basis by decision makers. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 3 CAT has a user interface, which will enable the user to enter the necessary inputs and provide the optimal catch allocation as output and automate the decision making process. Decreasing decision making time: Sometimes there is a very short time between when the company receives the catch information and when they start production. Moreover, the current decision-making process is done by hand and is costly in terms of time. In one of meetings it was mentioned that it could take a couple of hours to produce a production plan. A Decision Support Tool will decrease the decision-making time considerably by automating it. As an example, the catch allocation decision can be received in a minute after entering all the inputs to the CAT. Decreasing expert dependency: The catch allocation tool has been developed according to current decision-making processes and decision makers' practices so that it will decrease the expert dependency by using and automating the expert knowledge and experience in the decision-making process. Described above, CAT will enable the user, not necessarily the decision maker, to enter the inputs for decision-making and give the catch allocation as output. Decision makers can check the tool's recommendations for catch allocation then can make some adjustments and solve it again. Moreover they can analyze many different scenarios and see how the production schedule changes. Thus CAT uses and automates the expert knowledge and experience in the decision-making process and reduces expert dependency. The thesis organization is as follows: The project background, project description, company and fishing industry information, previous work and literature review can be found in this (first) chapter. The second chapter discusses the initial approach to the catch allocation problem. The revised problem description and approach are included in the third chapter. The thesis concludes with findings in chapter four and extensions in chapter five. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 4 1.1.2 Fishing Industry in BC: Salmon Catching Methods and Species The information in this section is mostly taken from taken from Fisheries and Oceans and BC fisheries web sites. Please refer to http://www.ncr.dfo.ca/index.htm and http://www.qov.bc.ca/f ish for more information. The marine and fresh waters of British Columbia provide more than 80 commercially harvested or farmed species. The seafood industry employs more than 6,800 people in full and part-time positions including fish harvesting, vending, buying, brokering, aquaculture and fish processing. British Columbia shipped a total $850 million worth of seafood to more than 50 countries during 1999. Commercial fishing is the fourth largest primary industry in British Columbia after forestry, mining and agriculture. The 1999 season figures are presented in Table 1. S p e c i e s Land ings ( lbs) Landed Va lue ($m i l l i on ) W h o l e s a l e V a l u e ($mi l l i on ) W i l d S a l m o n 37,300,000 25.4 169 Her r i ng 65,700,000 51.5 119.3 G r o u n d f i sh 318,600,000 100.1 163.8 W i l d She l l f i sh 38,000,000 93.5 141 O t h e r 4,500,000 2 5.7 To ta l 464,000,000 311.2 657.3 Table 1 - 1999 Catch volume in lbs, landed value, and wholesale value. Both BC and Alaska regions are very rich in terms of fish supply and JSM acquires its fish supply from both regions. Although JSM processes some ground fish besides salmon, the project focus is on salmon only. Specifically, chum, pink, and sockeye salmon species are considered. Like salmon, herring fishing is seasonal whereas ground fish can be caught any time with some quota restrictions. Fishing boats can fish for these species any time they want as long as their total catch for that year is less than the quota amount. When this is the case for ground fish, JSM has authority over fishing boats and can require them to bring a certain amount on at specified times so that JSM can handle their Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 5 production planning more easily. Despite the fact that the other species are out of this project scope, there is an opportunity for further study with these species in the future. Salmon are usually caught in three different ways depending on the fishing boat type. These are trolling, seining and gillnetting. Figure 1 - Trolling Trailers employ hooks and lines, which are suspended from large poles extending from the fishing vessel. Altering the type and arrangement of lures used on lines allows various species to be targeted. Trailers catch approximately 2 5 % of the commercial harvest in BC. Seine nets are set from fishing boats with the assistance of a small skiff. Nets are set in a circle around aggregations of fish. The bottom edges of the net are then drawn together into a "purse" to prevent escape of the fish. Seiners take approximately 50% of the commercial catch. Figure 2 - Seining Figure 3 - Gillnetting • Salmon gill nets are rectangular nets that hang in the water and are set from either the stern or bow of the vessel. Fish swim headfirst into the net, entangling their gills in the mesh. Altering mesh size and the way in which nets are suspended in the water allows nets to target selectively on certain species and sizes of fish. Gill-netters take about 2 5 % of the commercial catch. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 6 The focus of the project is chum, pink and sockeye species. Figure 4 - Chum Salmon Chum Salmon Larqe Pupi Large Mouth (Maxillary extends behind eye) Silver Streaks No spots \ Narrow caucfSI 13-17 anal rays Chum salmon are attractive fish. In salt water they are metallic blue and silver, with occasional black speckling on the in back. They are the latest of the five salmon species to enter the southern streams and rivers to spawn, usually in late autumn and in some instances in late winter. In northern rivers, however, they arrive on the spawning beds as early as July. Chums are widely dispersed along the Pacific coast from northern California up to the Aleutian Islands, in the Bering Sea and the Mackenzie River, inhabiting more than 875 rivers and streams in British Columbia alone. While some have been known to weigh 35 lbs, chum salmon average 7.5 to 10 lbs, and can measure more that 100 cm at maturity. They are harvested primarily on their return to their spawning streams. Because their flesh is pale and low in fat content, chum salmon are not considered prime fish for canning. As a result, they are usually marketed fresh, frozen or smoked, although some canning does take place. Figure 5 - Sockeye Salmon Best know of the Pacific salmon, sockeye are the most sought after for their superior f lesh, color and quality. Their rich oil content Body slender and firm 13-18 anal rays and red colour are factors that make them a favorite with the Canadian and international consumers. Although all Pacific salmon feed on shrimp and other crustaceans, these are the main diet of the sockeye, which many believe induces the rich colour and oil content. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 7 Sockeye were the first salmon to be canned in quantity and are still the mainstay of the canning industry, which started in British Columbia in 1870. By 1876 three canneries were established in the province and expansion was so rapid that by the turn of the century, 65 canneries were in operation. The number peaked in 1917 with 84 canneries, but gradually declined as canning technology improved and salmon became scarcer, especially sockeye. Their size varies with age: a four-year-old sockeye averages 7 lbs, while older fish will run to 12 lbs. After a number of years at sea, sockeye return to their home streams to spawn. In the majority of southern BC rivers and streams, sockeye return as four-year-olds, but in northern rivers of the province, f ive-year-olds are about as common, and still farther north in Alaska, six-year-olds are in the majority. Some eight-year-old sockeye are also found in northern rivers. Figure 6 - Pink Salmon Pink Salmon Scales small Larqe oval spots Soft body (limp fish) 17 anal rays Smallest but most abundant of the west coast salmon, pink salmon are known to fishermen as "humpbacks" or "humpies" due to the extremely humped back developed by the males as they return to spawn. The females do not exhibit this same change during spawning. Because of their fixed two-year life span, even-and-odd year pink stocks are effectively isolated from each other. When the young 2.5 cm fry emerge from the gravel beds the following spring, they go directly downstream to the ocean. During their first summer in salt water, they stick close to shore, moving offshore in September. Rich ocean feeding in subsequent months induces remarkably rapid growth, bringing their average weight to 5 lbs at maturity with some reaching a weight of 10 lbs and a length of 76 cm. This species is found in streams and rivers from California north to the Mackenzie River, with their principal spawning areas between Puget Sound, Washington, and Bristol Bay, Alaska. When pinks enter the ocean, they feed at first on plankton, but gradually turn to more active prey. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 8 In spite of their short life span and small size, their migrations are extensive, covering thousands of kilometers from their home streams. Millions are caught along the coast of BC and Alaska as they return to spawn. This species is fished by gillnets, purse seines and by trolling gear. They are also caught by sport fishermen using artificial lures. Most pinks are canned; some are sold as fresh fish. Many more, especially of the troll catch have been frozen in recent years. 1.1.3 JS McMillan Fisheries Ltd. A privately owned family business established in 1953, JS McMillan Fisheries Ltd. (JSM) is a Vancouver-based company with operations in nearly all levels of the commercial fishing industry, from supply through distribution. JSM is one of the top four companies in terms of capacity of processing fresh and frozen products. JSM employs over 250 people in two plants and this number is higher in peak the season. JSM outsources its canning operations to Great Northern Packing Ltd. Facilities of this canning company are within JSM plant in Prince Rupert and Great Northern Packing Ltd. employs around 100 people. JSM has two plants: one in Vancouver and one in Prince Rupert. The plant in Prince Rupert is bigger than the plant in Vancouver and it processes American (i.e. Alaskan) and BC salmon and ground fish. During the project I had an opportunity to visit both plants. I spent one week observing the peak salmon season in Prince Rupert; this experience was very informative and relevant to my study. I achieved a greater understanding of the company processes and operations, and learned many new things about the company, its structure and people. It is really informative to listen to employees and managers about the company and its operations and see by yourself. Observing the production, modifying and verifying the optimization model (separation of hand and Ryco lines in the model, better understanding of fish deterioration, by-products, multi period supply, addition of a new product category; selling fresh), giving project information to managers and production people in Prince Rupert, delivering the CAT were the main points of the visit. While collecting information, I spoke with several JSM employees. Some of the information was subject to each person's interpretation. For example, when I asked different people about a typical catch size, they tented to remember the biggest Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 9 catch, not the average catch. Though, most of the time the answers were similar, there were times when further questions were necessary to gain accurate information. The main product categories for JSM are fillets, fresh, frozen, canned, fishmeal (called animal meal as well) and the main by-product is roe. The main production lines are hand, Ryco, filleting, and canning, freezer tunnel and reduction plant. The landed fish are unloaded from fishing boats using pumps, put in a tank for temporary storage and then graded into different totes according to size, quality, skin colour. These totes are then sent to the different production lines, shipped to Vancouver or another buyer, or put aside or into the freezer to be processed later. Keeping the fish in the inventory and processing later is a common practice. Please see Appendix 1 for a summary of the production process. Fish are classified according to size, quality and skin colour. This task is based on grading people's experience and it is a subjective process. For fish categories and product list for chums please see Appendix 2 . More grading or selection can be done in the cannery department as well. If the fish is in good quality and fresh, it is separated to another tote and processed in a different line or sold as it is. It is sometimes possible to freeze the fish and process than later but management does not want to do this. Although, this can be done if there is not enough capacity available, they would like to process or sell the salmon fresh and store after processing so that fish does not deteriorate much and lose its value. Salmon can be processed in any production line according to requested end product. Hand lines and Ryco lines are very similar; the only difference being that Ryco has a machine that cuts fish heads off automatically. Ryco is a production line where salmon is dressed using a machine that cuts the head off. Refer to Appendix 3 for Ryco and hand lines. The Ryco is faster and cheaper to operate but when JSM needs fish with heads, hand lines must be used. Moreover, if the fish is heavier than 12 lbs it must be processed in the hand line since the Ryco line cannot work with fish heavier than 12 lbs. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 10 Head-on products slow down the production but make more profit per unit. The customers for these products are most commonly Japanese restaurateurs and these head-on products are prepared for visual appearance. The reason that the hand-on fish slow down production is that they require more labour and the Ryco line cannot be used. Fresh products are prepared in hand and Ryco lines and then sent to the packing department. Similarly, frozen products are prepared first in these lines, then sent to the freezing tunnel and then to packing. Fillets are prepared in filleting lines and if required are sent to the freezing tunnel as well. In the canning department canned products are prepared. The canning department sometimes receives dressed 1 fish but usually " round" 2 fish. The canning department needs to remove bone, fin and tail as well as head and viscera. Therefore all fish, even dressed, go through the same process in the cannery department. This means that JSM incurs dressing cost twice. The reason this occurs is that sometimes the fish quality cannot be determined unless it is dressed. First it is decided that fish quality is good enough for fresh or frozen products but after some time it is observed that fish is no good for fresh or frozen products and it is send to cannery. Cannery fish must not be too fresh or too old for a smooth production otherwise the machine that cuts the fish into small pieces does not work very well and it becomes difficult to process. Neither fresh nor old fish are the best for the cannery. Unfortunately, at the moment it is not always possible to plan this fish processing in the cannery but the hopefully CAT will make a better job. Animal meal and fish oil are produced in the reduction plant. Other companies send their leftovers to JSM's reduction plant to generate those products. Ten years ago the reduction business was very profitable because the animal meal price was quite high, however, at the moment the price for this product is not very profitable. Roe is taken out in the Ryco, hand and cannery lines and then processed in the roe-processing unit. It is separated into eggs and packed into small boxes ready for shipping. Fish viscera, head and tail removed (some fish may have the tail on or head on) but with skin and bone retained. Unprocessed fish Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 11 The boxes for pack ing are prepared pr ior to product ion. Fish is kept in totes with ice in f reezers and then packed, iced and sh ipped . Or it can be kept in the f reezer for future sh ipp ing . Mater ia l handl ing is done us ing totes and forkl i f ts. The f i l lets take 15 minutes in the f reezer tunne l to f reeze, whereas dressed sa lmon takes 45 minutes . JSM has its own ice-produc ing unit and it produces its own ice for operat ions . Freezer capac i ty for the f in ished products is b igger that the one for semi- f in i shed products. JSM uses these two di f ferent f reezers at the same t ime s ince the i r locat ions and d i s tances f rom the product ion are di f ferent. The fo rmer one is out of the plant whereas the latter one is in the product ion plant. There is a lso one f reezer in Vancouver . Refer to Appendix 3 for Pr ince Rupert plant's h igh l ights. The qua l i ty depar tment samp les and checks incoming fish and f in ished products . It per fo rms random samp l ing and records the dai ly landings by spec ies per boat. They record f ish qual i ty and f ish s ize d is t r ibut ion, though no records are kept of the catch amoun t . The catch amoun t data is kept by account ing . However most of the data are in di f ferent t ransact ion papers or in other records and is diff icult to ob ta in . The qua l i ty depar tment keeps t rack of f ish d istr ibut ion s ize and qual i ty . Radio contacts with f ishing boats help to de te rmine character is t i cs of incoming f i sh. Comb ined , these efforts help to forecast product ion es t imates . It is impor tant to note that th is s tudy is new and there is not ye t much data ava i lab le to de te rmine the f ish s ize d is t r ibut ion and other stat ist ica l in format ion. Each emp loyee can work in di f ferent workstat ions . For examp l e a forkl i f t dr iver can help box ing and grading the f ish and t ransport ing the totes. However , there are s ome tasks , such as grad ing or forkl i f t dr iv ing, wh ich require spec ia l knowledge and exper ience . Moreover , JSM can call seasona l workers if it is needed, as ove r t ime which is a c ommon pract ice. Most of the t ime, JSM can learn about the catch (amount and s ize, qual i ty character i s t i cs) that is coming to the plant 10 to 24 hours in advance . However , if the boat is a gi l lnet or sma l l Canad ian boat, their in format ion may be mis lead ing because these boats avo id mak ing radio contacts. Even when they make radio contacts , they do not want to g ive the accurate in format ion on the radio because of the possib i l i ty that other boats can hear t hem and may start f ish ing in the same Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 12 area. I asked if an encryption system could be used and JSM staff told me that they had already tried this in the past but it did not work. Therefore, JSM learns about the catch size and composition only after the boats arrive to the plant. There are usually 30 to 40 gillnetters that bring fish to JSM at different times in the season. Alaskan boats' information always reaches JSM before they come to the plant as they stop in other ports on their way. Their estimates are accurate and they provide good information since the boats that bring fish to shore are usually boats that collect fish from smaller fishing boats. Alaskan boats bring the majority of the fish. This is because Alaska has more catch openings and more fishing areas. Fishing boats are independent. When the fishing is opened, they go to that area and start fishing and return to fish processing plants. They may go to any plant but they go to plants where they have contacts, trust and previous working experience with. Payment to these fishermen can be done right away, or at various time periods throughout the season. There are different type of boats, some that do the actual fishing and others that collect the fish from those fishing boats and brings the catch to the JSM plant. Fishing boats differ considerably in size such as trollers or gillnetters. If the Prince Rupert plant gets more fish than its capacity they have several options; they can sell fresh fish to other fish companies, send fish to the Vancouver plant, or store and process later. After JSM learns or forecasts how much fish is available, marketing people call their customers and try to estimate demand. Sometimes they promise certain products to their customers based on forecasts or market conditions and do whatever they can to fulfill those orders. Other times, in order to fulfill these JSM ends up buying fish from other fish companies and giving priority filling these orders. When JSM buys fish from other fish companies to fulfill the promised order to their customers, the company's profit margin decreases considerably. One might question why JSM does not make their order arrangements after a good allocation and production plan are prepared. At the moment the marketing department controls the order arrangements. With the tool proposed in this project, JSM can first decide the most profitable catch allocation plan and then decide what Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 13 and how much to sell. Or they can see the effect of different catch allocation plan outcomes by solving different market demand scenarios. Everyday the management in Prince Rupert communicates with the Vancouver plant and decides the production schedule. Currently, they make decisions based on experience, intuition and past outcomes. Things may change during the day; either a new catch may arrive or JSM may learn about a new boat arrival or catch opening. The problem that needs to be solved is to generate an effective catch allocation plan while maximizing profit according to expected input parameters. JSM has just started to record the daily production information and this will be useful for us to compare the tool's suggestions and their actual production figures. JSM is considering an implementation plan as follows: the tool will be installed on different PCs in the production department, as well as on the main server. This will allow various analyses by production individuals, with the final schedule saved on the server. The company has enough computer power and networking ability to achieve this. Another suggestion for implementation is to have one person responsible for entering the necessary inputs to the program and solving the schedule prior to the teleconference call with the Vancouver plant. This would allow discussions to be focused on actual scenarios of each planning horizon. 1.2 SUMMARY OF PREVIOUS WORK The project was started on July 2000 by a former COE student, Laura Morrison. She was the first project analyst and she did the first analyses, developed the first model and built the first tool. Then I became involved into the project in September 2000. My work during this time (Sep 2000 - Dec 2000) was getting familiarized with the project, to help in the development of the initial model and develop a small prototype of the model in AM PL 3 by using a database to access the data. The reason we developed the model in AMPL was because it was thought that AMPL might be used in the next phases of the project. This AMPL model represented the same version of the real model but excluded the recovery rates 4 . Recovery rates were AMPL: A Modeling Language for Mathematical Programming 4 It is a number between zero and one showing the percentage of the fish can be used to produce a particular product. JSM determines recovery rates by comparing the round fish and finishes product and by experience. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 14 excluded for simplicity on the first AMPL model. The AMPL model can be found in Appendix 4. The work done by Morrison is reported in Morrison (2000) and can be summarized as follows: • Initial data gathering about the fishing industry and JSM operations. • Building a prototype model and tool to show JSM the concept of the proposed model and tool. • Building the first LP model and first tool. • Presenting these to JSM. The details of the Morr ison's LP model and her initial tool can be found in her thesis. Morrison graduated in December 2000. I took the project over at that point and then I started to work on the tool and model. The first thing was developing the revised model (SPLP - Single Period LP) and the first software (CAT- Catch Allocation Tool). Refer to the chapter two for SPLP and CAT. Some of the tasks done were: • Adjusting the model to one shift per day over three days and allow increase in the capacity if required. • Addition of by-product 5 modeling • New user interface, addition of aggregate production reports, product reports, inputs menus, help file (user manual). • Addition of the input save function (so that users can save the catch inputs with time and date for future reference). 1.3 LITERATURE REVIEW Fishing industry research is usually divided into three areas: fish stocks and harvesting; mostly dealing with fish population models, harvesting policies and fleet operations, fish processing; producing end products from raw materials i.e. production planning, fish marketing; dealing with different markets, customers and products. There is a large amount of literature available in the area of fish population models and harvesting. Similarly some literature is available for scheduling fishing Some examples are roe, heads, tails and other leftovers from the production. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 15 boats and production planning. For example Forsberg (1996) gave a multi period linear programming approach to the production planning in fish farms. This includes the determination of optimal number of fry to transfer into the grow-out system, the estimation of population growth and production costs and the determination of the optimal harvesting. For fishing boats scheduling, Gunn, Millar and Newbolt (1991) studied tactical planning for a fishing company with integrated fishing and fish processing. The characteristics of the model included a fleet of trawlers, a number of processing plants, and market requirements. A linear programming model was formulated to determine the production plan and trawler scheduling to maximize profits. This model is in more aggregate level than our model and unlike our short-term production model it is aimed at long-term planning. Moreover, it includes trawler scheduling but excludes other points such as fish deterioration. In our project we need an optimization model that handles the production-planning problem of a fish processing plant with some complications such as fish deterioration, and by-product modeling. Production-planning models in different industries can be found in literature but there are not many papers that directly address fish processing. However general type of production planning models can be applied to fish processing with some modifications. An example for this type of study is given by Randhawa and Bjarnason (1995). The writers state that production planning in the fishing industry depends on raw material supply and the uncertainty and randomness in the raw material supply requires frequent decision on production plans for product mix, labor requirements, and raw material inventory carried from one period to next. They describe a decision aid for coordinating fishing (fishing boats) and fish processing at shore plants. Their suggested system combines a simulation model with a linear programming model. The simulation model analyses fishing boats operations, including catch generation, length of fishing trips, and trawler landings and the LP model uses the output from the simulation model to determine labor requirements, inventory levels, and production levels to maximize net revenues. They use the simulation to generate inputs i.e. catch sizes, and fish quality levels for the optimization model by simulating trawler operations, length of fishing trips and trawler landings. The LP model uses the output from the simulation model to determine production levels, labor requirements and inventory levels to maximize Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 16 net revenues. Moreover, using the output of the optimization and simulation trawler schedule is generated. There are some significant differences between Randhawa & Bjarnason's approach and our approach. JSM has no control on fishing boats operations since boats are independent. In our model we are using the company's best guesses for the catch size and catch composition because of the seasonal salmon runs and department of fisheries regulations as discussed in the previous sections. Moreover, they take into account the labor planning into the production planning. However, JSM has a very flexible work force and most of the workers are seasonal workers so we did not include labor planning into our model. However we needed to include fish deterioration and by-products modeling. Our fish deterioration modeling approach is different than the one presented by Randhawa and Bjarnason. In our approach fish either stays in the same quality level or goes to lower quality level, whereas in their model the fish should be processed in a certain amount of time and the quality remains the same before processing. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 17 2 INITIAL APPROACH 2. l SPLP - SINGLE PERIOD LINEAR PROGRAM The initial approach for the problem was to develop a linear program and a decision support tool for chum catch allocation. The model was designed to generate a 3 day production plan. Chums are the one of the three salmon species that JSM buys and processes for the end products. JSM wanted to start to the project with only chums because of the following reasons: o JSM wanted to give priority to chums in processing since they must be processed as soon as possible after landing to get the most value out of roe. o JSM wanted to develop a simple model at the beginning and then extend this to other species and complications. Linear Programming (LP) is the modeling and optimization approach for the CAT. The objective is to maximize the total profit over the planning horizon given to the constraints of the production processes and products. With the LP approach we can easily find the optimal catch allocation for a large number of different fish types, a large number of end products and a complicated constraint structure in seconds. Since it was the first attempt to model JSM's production processes some of the characteristics of real processes were relaxed or were not included in the model to simplify the modeling and understanding of the model. These points were fish deterioration, multiple species, by-products and multi-day supply. However by-product modeling is very important. Since it could be added to the model very easily, this feature was added to this initial model. The assumptions of the model are: o Fish quality is the same over 3 days i.e. there is no deterioration of the fish, o Product mix 6 is known. o The supply only arrives at the beginning of day 1. o Supply o Amount of the total catch is known. o Proportion or amount of each type of fish is known. 6 Fish types, product list and feasibility matrix showing which product can be produced from which types of fish. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 18 o By-products o Net profit coefficient for each main product, is calculated as weighted average of profit coefficient and recovery rates of the main product and by-products. o Profit coefficient 7 for each product and recovery rate for each product and by-products are known. SPLP in words: Maximize {total profit for the 3 days} Subject to: Capacity constraints Upper bound constraints Lower bound constraints (demand) Supply Storage constraints Non - negativity constraints Supply day 1 Production day 1 Production day 2 Production day 3 Figure 7 - SPLP Graphical Representation As seen from Figure 7, the fish arrives at the beginning of day one, and then the model allocates this supply to the first, second and third day according to capacity availability. As we see there is there is no direct inventory, no fish deterioration and no future inputs. There are 48 types of fish and 52 products for chums. The model produces a feasible production schedule over 3 days. There are 7488 decision Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 19 variables and 375 plus non-negativity constraints. Refer to Appendix2 for fish type and products details. 2.1.1 SPLP Model The notation for the SPLP model is as follows: X jjk = amount fish allocated to product j from type i fish for day k in lbs Nj = net profit from main product j in $/lbs PM j = profit for the main product j in $/lbs PbmJ = profit for the by - product m of main product j $/lbs rj = recovery rate for the main product j bmj = recovery rate for by product m of main product j Ck - capacity of canning on day k in lbs Rk = capacity of reduction on day k in lbs Hk = capacity of hand & Ryco on day k in lbs Fk = capacity of freezer on day k in lbs Ek = capacity of filleting on day k in lbs Djk = demand for product j on day k in lbs Si = supply of fish type i in lbs U j k — upperbound for product j on day k in lbs Tk = storage capacity on day k in lbs C= set of products processed in canning R = set of products processed in reduction H= set of products processed in hand&Ryco F= set of products processed in freezer E= set of products processed in filleting i= 1,2..,48 (48 different types of fish) j = 1, 2.. ,52 (52 different products) k=l,2,3 (3 days planning horizon) The revenue - all costs for a particular product in $/lbs. JSM calculates profit coefficients by identifying the costs and determining the sale price. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 20 / / k ZZ*, k ± c k Canning zz*. / je R * ^ Vk Reduction Z Z * . Vk Hand & Ryco Z Z * . \/k Freezer zz*, ' j^E \fk Filleting Zo *> Demand zz*, j k Supply TrJxtjk i v/,v* Upperbound Z Z o VJt Storage \/i,j,k Non - Negativity Nj is the net profit coefficient for product j and it is calculated as the sum of profit coefficient weighted by the recovery rates for the main product and by-products. This is to model by-products. By-products modeling is crucial for the optimization model. The reason is if by-products are not considered than some of the products will have negative profits and they will never appear in the solution. In reality, those products also have some by-products such as roe, which bring considerable revenue, enough to yield a net profit. Hence by-product modeling is essential for our problem. The objective function is the summation of the net profit coefficient of a particular product multiplied by amount of fish allocated for that product from a particular fish type on a particular day over all fish types, for all products and for all days; i.e. total profit over the planning horizon. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 21 The first five constraints, called as capacity constraints, are capacity constraints for different production lines where Q , Rk, Hk, Fk, Ek represents available capacity, on day k for canning, reduction, hand\Ryco, freezer and filleting respectively. These capacity values will be determined and entered to the model by production people at JSM depending on labor and other resources availability. These constraints ensure that the amount of salmon allocated and processed in a particular production line does not exceed its capacity. Each production line has a certain capacity but the it can be adjusted by increasing or decreasing the number of people working in that line, altering machine speeds or making an extra shift. The model can be solved for different capacity values and a capacity change decision can be given by judging the improvement or deterioration in the objective function. The next constraints are estimated demand constraints and these ensure the amount of processed fish for a particular product on a particular day will be met. In other words, these constraints provide a lower bound for the amount of production for each product. If there are no market commitments these numbers should be set to zero so that they will not have any effect on the LP. Supply constraints are conservation type of constraints and make sure that processed fish amount is less than or equal to what the plant has available for production. In this model, for each type of fish there is only one supply value to be entered to the tool and it is the first day's supply value. This value needs to be estimated by JSM even the first day's supply is exactly known since supply figures for the second and third day should be taken into account for a good production plan. JSM estimates these by evaluating the fishing openings, number of boats, forecasts and the information JSM has in that particular week. Very similar to demand (lower bound constraints) we have upper bound constraints, which put an upper bound on each product. If we do not have these in the model, the LP will allocate all the available resources to the most profitable product but in the market we will not be able to sell that much. The upper bounds will be set using the company's experience. There are some certain types of products such as fresh types that should be consumed sooner than others such as frozen ones and hence the upper bound for a fresh product should be determined more conservatively than the other one. The marketing department knows that how much of a particular Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 22 product can be sold in the market by past experience and they can update these according to market conditions. If there are no upper bounds these values should be set to very high so that they will not have any effect on the LP. The next type of constraint is for storage capacity. This is very similar to capacity constraints making sure that we do not produce more fish than storage capacity. One question might be does the capacity of the storage depend on the previous products inside the storage? The answer is no since if the previous products in the storage will not be shipped immediately they are transferred to bigger storage area outside of the production facility and that one is significantly large to accommodate the end products. Otherwise the finished products are transported immediately to the trucks for the shipment. Another point is that products of canning and reduction lines do not require this storage space and they are not included in this constraint. Frozen products are also excluded since they have to be processed in hand & Ryco before the freezer and they are already considered together with other products (fresh) of hand & Ryco line. The final sets of constraints are non-negativity and they force all the decision variables to be non-negative. If these constraints are omitted then the model may allocate negative values to decision variables since some of the profit coefficients are negative. The LP model was tested during and after the development of the decision support tool by verifying assumptions with JSM management and making some test runs; one example can be found in chapter four. The CAT and LP model were presented to JSM during company visits. This model as discussed above was developed for chums only and it has 52 different products and 48 types of fish. It provides a solution for the production schedule over the planning horizon. The planning horizon is 3 days and this model will be solved each day with the new data. This is called rolling horizon approach. SPLP does not include fish deterioration modeling, multi period supply and multiple species. It was the first attempt to model the process. It familiarized JSM with the LP approach and helped us to understand JSM processes and operations. After Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 23 developing this model, JSM had more information about linear programming and their operations. And we gained expertise about company operations. Both JSM and COE explored improvement areas and JSM wanted us to build more sophisticated models to capture all the relevant aspects of the problem. 2.1.2 Catch allocation tool - CAT JSM required a reliable and fast tool for decision-making in the salmon season due to the complications of the salmon business. Some of the complications are control of the department of fisheries on catch openings, the uncertainty involved in catches and demand for the end products. JSM would also like to increase its profitability, automate the decision making process, decrease the decision making time and expert dependency. The catch allocation problem can be solved optimally with a linear program. However it must be easy and simple enough for the end users. They usually need to solve this problem again with different input parameters, and get the production schedule in understandable format everyday. There is also need for user error checking, and saving the inputs for future reference. For these reasons we need a decision support tool that will provide a friendly interface and provide these functions for the end users so that they will be able to use linear programming easily for daily decision-making. Therefore, LP alone is not sufficient for our goals in this project. There are two main aspects to this project, the linear program formulation and user interface development. Optimization solves the catch allocation problem optimally and software development is used to build the decision support tool. CAT has been built. It allows the users to enter the decision-making inputs and get the production schedule as output. The LP calculations are done at the backend. CAT also saves the inputs for future analysis and reference. User interface is designed according to JSM preferences and a help file (user manual) was prepared and included into the software. It was developed in MS Excel with VBA (Visual Basic for Applications), and it uses an external LP solver. The solver is a spreadsheet solver named Large Scale LP solver by Frontline Systems. User interface of the LP solver is very similar to standard solver in Excel. However it is more powerful in terms of time Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 24 and number of decision variables. It is hoped that CAT will save time and increase profitability for JSM by finding an optimal production schedule in a very short time. The LP model and software tool have been built and tested and they are ready for the implementation. CAT was delivered to JSM in Prince Rupert visit. JSM started to collect information about their actual production and they will first try CAT and then start using it in their daily decision-making. A detailed description of the CAT software with user interface screen shots can be found in Append ix 5. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 25 3. REVISED CATCH ALLOCATION PROBLEM During the project, both JSM and COE recognized there was an opportunity to improve the previous model and tool by relaxing the single day supply and single species assumptions of the first model by including a model for deterioration and considering the other points that we did not include in the first model. The nature of the problem is very similar to multi-period production planning problems. The excess fish, that is, fish which cannot be processed today remain in the inventory and become available for tomorrow's production. The challenge is that fish is a perishable good. Fish today are not of the same quality as fish tomorrow. This deterioration can be effected by many factors such as the conditions of the fish when it is landed and the storage space. Fish deterioration was a big concern to the company in our June meeting and the management mentioned that this is very crucial for the tool to capture the practice. One of the assumptions for the initial model was the supply arrives only at the beginning of day 1 but this is not very realistic. In the salmon season the company can get fish every day and sometimes more than once during a day. Moreover this type of modeling for a production planning is more common practice. JSM can receive different species (chum, pink, sockeye) at the same time. JSM gets fish from both Canadian and American fishing boats coming from different regions of the Pacific Ocean. All these boats can arrive with different types of fish and these species will compete against each other for the capacity and other resources available. 3.1 MPMSLPMULTIPERIOD MULTI SPECIES LINEAR PROGRAM The revised problem definition is the same as the previous problem definition namely, finding the most profitable production schedule, but it more realistically models the actual process. The additions are fish deterioration, multi period supply and multiple species modeling. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 26 Assumpt ions of the mode l : Although we relaxed or removed some of the assumptions of the initial model in this new model there are still some assumptions that we have to make in order to model the process. Before starting to build the model, these (new and old ones) assumptions were verified several times by talking with JSM staff. Moreover with company visits I had opportunities to go over these assumptions once more by observing the real system processes and talking with people involved in those. There is one new assumption for deterioration. Each type stays or deteriorates to a lower type with a certain probability each day and those probabilities are known. The other assumptions: product mix, by-products, supply assumptions (catch amount and fish type amounts) are the same with SPLP. MPMSLP Model in Words : Maximize {total profit for the 3 days} Subject to: Capacity constraints Upper bound constraints Lower bound constraints (demand) 1 Supply and Inventory constraints Fish deterioration constraints Storage constraints Book keeping (artificial) constraints Non - negativity constraints Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 27 Supply day 1 Supply day 2 Supply day 3 Inventory day 0 Inventory day 1 Inventory day 2 Inventory day 3 Production day I Production day 2 Production day 3 Figure 8 - MPMSLP Graphical Representation In Figure 8 the inventory day 0, supply day 1, supply day 2 and supply day 3 arrows represent the necessary inputs to the model. The model finds the optimal solution and gives the production and other inventory arrows as output. Deteriorated Inventory day d-1 Supply d Supply day d+1 1 Production day d MPMSLP Deteriorated Inventory day d 1 New Inventory day d+1 Production day d+1 Figure 9 - Deterioration Representation Figure 9 represents the deterioration process. At the end of day d, unprocessed fish deteriorates and become available as deteriorated inventory for the production on day d+1. The model is solved using a rolling horizon approach; each day this model is solved for the next planning horizon, taking today as the first day in the model with the new estimates of future supply. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 28 3.1.2 MPMSLP Model Fstpd = quantity of type t fish of species s used for product p on day d in lbs Psp = net profit coefficient for product p of species s in $/lbs PMps = profit coefficient for main product p of species s in $/lbs PBmps = profit coefficient for by - product m for product p of species s in $/lbs RMsp = recovery rate for main product p of species s RBspm = recovery rate for by - product m of product p of species s Ck = capacity of canning on day k in lbs Rk = capacity of reduction on day k in lbs Hk = capacity of hand & Ryco on day k in lbs Fk = capacity of freezer on day k in lbs Ek = capacity of filleting on day k in lbs Sd = storage capacity on day d in lbs Uspd = upper bound limit for product p of species s on dayd in lbs Dspd = lower bound limit for product p of species s on dayd in lbs Ssld = supply of type t fish of specie s on day d in lbs Is!d = deteriorated inventory of type t fish of species s on day d in lbs Bsld = new inventory of type t fish of species s on day d in lbs M j t = entry of row j, column t of deterioration matrix C= set of products processed in canning R= set of products processed in reduction H= set of products processed in hand & Ryco F= set of products processed in freezer E= set of products processed in filleting s= 1,2,3 (3 different species) t = 1, 2.. ,T (T different type offish - T is the maximum number for fish types of 3 species) p - 1, 2.. ,P (P different products - P is the maximum number products of 3 species) d=l,2,3 (3 days planning horizon) m=l,2..,M (M different by products M is the max number by- products of 3 species) j is a dummy index for fish type Begen, Production Planning in JS McMillan: Catch Allocation Tool Design Psp = PMsp RMsp +YJPBspm RBspm Vs,p (1) m Equation (1) shows the net profit calculation. It is a weighted average of the recovery rates and prices of the main product and by-products. By doing so we take into account the by-product profitability. w «*XX^XX Fswd s p t d subject to S S !S Fstpd — Cd s t peC V d Canning X X X - ^ - K s 1 peR yd Reduction XXX^V* - Hd s t peH W Hand & Ryco X X X Fstpd ^ Fd s t peF V d Freezer X X X ^stpd — Ed s t peE V d Filleting X X zZFstpd ~ Sd s 1 pfzH.E V d Storage X RW F*'pd — Uspd t \fs,p,d Upper bound limit X ^sp Fstpd — Dspd t V s,p,d Lower bound (demand) Sstd + I st,d-l = Bsld + Fstd Vs,t,d Supply & Inventory \/s,t,d Deterioration Fstd ~ X^ Fstpd p Vs,t,d Artifical Fslpd * 0 Vs, t, d, p Non - negativity The objective function is total profit over the planning horizon. It is the summation of the fish allocated to a particular product times the net profit coefficient of that product for all fish species, fish types, products and days. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 30 The capacity (first five constraints), storage, lower bound and upper bound constraints are very similar to the SPLP capacity, storage, lower bound and upper bound constraints respectively. One difference is that in this model, we have constraints for all species. The next constraints are to balance inventory. Supply and inventory are bookkeeping constraints and they ensure that the daily fish supply plus inventory from the previous day equal to production plus the unprocessed fish remaining in the inventory. So supply and inventory constraints balance inputs and outputs. In these equalities S represents the supply, F represents the production (fish allocated to production), I represents the unprocessed fish from the previous day and B is the inventory at the end of the current day. Fish deterioration constraints convert the previous day's unprocessed fish to today's fish by allocating them to lower quality levels according to fish quality deterioration matrix. In order to model the deterioration the following is assumed; fish have a certain quality level (state of the fish and in the model it is called type, this idea was also used in SPLP to classify fish inputs to types) and in the next day if it is not processed it can stay in that type, or it can deteriorate to a lower quality level (i.e. lower type) with known transition rates. For example, assume there are 4 types in the model with type 1 corresponding to the best quality and type 4 representing the worst quality (sent to the reduction). Suppose the transition rate matrix is given in Table 2. Type 1 2 3 4 1 0.2 0.5 0.25 0.05 2 0 0.6 0.3 0.1 3 0 0 0.35 0.65 4 0 0 0 1 Table 2 - Fish Quality Deterioration Matrix Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 31 Let Iid - deteriorated inventory level for type i fish on day d B(d= new inventory level for type i fish on day d Observe that the sum of rates for each row equals 1. In this example we see that type 2 fish stays in this quality level with the rate 0.6. So if we have 10 lbs of type 2 fish only 6 lbs will be available for the production for type 2, 3 lbs will be type 3 and the remaining 1 lb will be type 4 and type 4 fish will remain always in that state until reduction. Then the deterioration equations for this example will be: /,RF=0.05* Bid+0.l* B2d+0.65* B3d +1* B4d (5) If we have 100 lbs type 1, 50 lbs type 2 and 40 lbs type 3 and 20 lbs type 4 fish in day d and if we do not process them on day d then at the beginning of day d+1 • 20 lbs will again be type 1 fish from equation 2. • 50 + 30 = 80 lbs will be type 2 fish from equation 3. • 25 + 15 +14 = 54 lbs will be type 3 fish from equation 4. • 5 + 5 +26+20 = 56 lbs will be type 4 fish from equation 5. The last two set of constraints in the LP model are artificial and non-negativity constraints. Artificial constraints make the conversion of more specific decision variables (Fstpd) to more aggregate variables (Fsld) since in some of the constraints we have to use the former but in some others the latter. These decision variables should be linked and artificial constraints do this. On the other hand, non-negativity ensure all the decision-making variables be positive and prevent the model allocating negative values to decision variables when some of the profit coefficients are negative. The size of the model will be certain after JSM specifies the exact fish types, product lists and other inputs for the LP model. There are 3 species and I believe that / / d =0.2* B,d (2) (3) (4) I2d=0.5* Bld+0.6* B2d I3d=0.25* Bld+0.3* B2d+0.35* B3d Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 32 sockeyes and pinks will have less number of products and fish types than chums. If we assume, the same number fish types and products for sockeyes and pinks as chums then there will be 3 times more decision variables {22464) than in SPLP plus inventory variables (864) in MPMSLP. With the same assumption there will be 2247 constraints plus non-negativity constraints. Since at the moment we do not have the actual inputs for the model, a prototype was developed for testing the modeling idea. This smaller prototype helped us to: • Test and verify the MPMSLP model. • Verify modeling assumptions with JSM staff. • Develop a plan for CAT2. The MPMSLP model has been developed. A prototype of the software tool has been built and tested. We are ready to build the new software when JSM decides the exact content and context of the new model. Please see A p p e n d i x 6 for the user interface of the prototype. 3.2 EXTENSIONS TO MPMSLP During the Prince Rupert visit I had the opportunity to observe the company's daily operations and its daily practices. Moreover I had many opportunities to discuss and ask questions about operations. Here are the some of the findings from the trip regarding this new MPMSLP model. It seemed that some of the products and fish types that we have in the current chum tool are not used in Prince Rupert plant. Currently, JSM uses fewer fish type categories and products in classifying fish types and products. It had been agreed to keep the same rich fish type and product structure for other fish species in the new MPMSLP. The number of products and fish types might be reduced, if the similar products and fish types were combined and aggregated together. And the management can interpret results easier. The reason why I reached this conclusion was that I observed that production people in Prince Rupert at the moment are not using as many fish types and products as we do in our current chum model. So I Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 33 thought it might be more useful if we decrease the number of input fish types and products. This idea was suggested to JSM management but they said that they would lose profit opportunity if this happens. The reason is that with the decision support tool and computational power that have been delivered to them, they can use richer product and fish type differentiation to optimize their planning and get more profit. One interesting point is that at the moment JSM is not using this many fish and product types. But the management would like to apply this type of product and fish type structure in the future and we are in that sense helping them to organize or improve their operations. Some other points for the improvement of MPMSLP and MPMSLP tool (CAT 2) were: In the software for roe by-product, the ratio of male and females could be stated. This ratio is usually %50 - %50 but the ratio can be adjusted if needed. 4 different roe products will be added to by-products for future potential products. Moreover 4-6 "adjustable products" 8 will be added into the LP model so that they can be used when something extraordinary happens. JSM sometimes sells round fish to other fish plants. This is done for two reasons, either there is not enough capacity to process the incoming catch or selling to another plant is more profitable due to shortage of round fish in that plant. In order to include this, round fish will be added into product categories for each species and its recovery rate will be set to one. The Ryco line and hand line constraints could be separated since they are physically different lines and their capacities and production speeds can differ according to type of the product they are producing. The hand line can produce all types of products that the Ryco line can produce with a slower speed but the hand line can also produce some of the products that cannot be produced by the Ryco line such as head-on products. As a results of these observations, the LP model was revised since both head-on and head-off products can be produced in hand line whereas in the Ryco line only head-off products are processed. The changes to MPMSLP model are as follows. We introduce the additional variables. These products do not belong to a specific category. Their input types can change from time to time and are produced seldom. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 34 H d = capacity for production hand line on day d in lbs Y(l = capacity for Ryco line on day d in lbs Freed = free capacity for head off products in hand line after producing head on products on day d in lbs The revised MPMSLP is almost the same as previous MPMSLP except the modification of capacity constraints for the hand line and the Ryco line. Hand line capacity constraints make sure that head-on fish are produced in the hand line only and the remaining capacity (free) can be used to produce head-off fish together with Ryco line capacity. All the remaining (objective function, indexes and their dimensions, constraints except capacity and non-negativity) are the same as the first MPMSLP model. Changes in the model are as follows: Z X ^ ! Fslnd + Freed = Hd V d Handline capacity s t pehead on Z X X Fs,Pd — Freed +Yd V d Ryco & handline capacity s t pehead off F d , Freed > 0 Vs, t, p, d Now - negativity constraints 3.3 DATA REQUIREMENTS OF THE MODEL The MPMSLP model requires more data than the SPLP model. The additional data requirement is the deterioration rates. Product and fish types, product mix for pinks and sockeyes are also needed. Although the deterioration rates can be changed using the decision support tool, the product and fish type, product mix information was needed to start coding the software. In order to get this information an Excel data template was prepared and sent to JSM. Currently, JSM and COE are working together to prepare this information and to decide what should be included in the new model and tool. 3.4 A DECISION SUPPORT TOOL FOR MPMSLP Since the LP model was changed from the SPLP to MPMSLP there is a need for a tool that will use MPMSLP. Similar methodology will be used to build the new tool. Since Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 35 the new MPMSLP model is considerably larger than the SPLP model, a prototype was built for testing. The real one will be developed after getting the required information from JSM and reaching an agreement with JSM for the next steps of the project. This new tool will be named CAT 2 (Catch Allocation Tool 2) and it will allow users to enter the decision-making inputs and obtain the production schedule as output. All the calculations and the optimization will work at the backend similar to CAT. CAT 2 will save all the inputs and outputs in to a database for future analysis and reference. The user interface will be designed for ease of use and to prevent potential user errors. In addition a user manual will be prepared and included in the software. It is planned to be developed in MS Excel with VBA (Visual Basics for Applications) and it will use an external LP solver. The logic and flow diagram of CAT 2 is in Figure 10: Inputs User enters the inputs to CAT 2 CAT 2 solves the allocation problem & generates the allocation plan The inputs and outputs are stored in to a database The allocation plan is presented as output Figure 10 - The logic and flow diagram of CAT 2 Inputs are catch size and compositions, demand and upper bound limits, production capacities, deterioration probabilities, recovery rates and profit coefficients. Note that not all of the inputs will be changed from one day to another. Most likely only the catch information and demand figures will be changed everyday. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 36 3.5 PRA CTICAL ISSUES To test, verify and ensure the quality of the LP models and tools, the following steps have been carried out for CAT. Similar approach will be used for developing CAT 2. A s s u m p t i o n C h e c k i n g : The assumptions (supply, deterioration, by-products, multiple species) used in LP models were validated and checked by testing and getting approval from JSM management. E r ro r Debugg ing & T e s t s ; Like all software, our tools may contain some programming errors. To minimize these errors, comprehensive checks and tests were and will be done for tools. More specifically, there were two main issues. One was ensuring that software is bug-free that is working as intended. The other one was ensuring the LP is working correctly. To prevent programming errors, coding checks and sample runs were carried out during code generation and after completion of the software. These tests were done in two ways. First one of them is code checking, a complete check of all the coding. The second one is running and solving some scenarios, checking, the outcomes and looking at the results. These tests also helped us to validate the LP models. Moreover for LP validation, more sample runs with different inputs were done with and without using the user interface these results were compared and some sensitivity analysis was done to ensure the optimality. It was seen that user interface and LP work fine and correctly. Code D o c u m e n t a t i o n : Code documentation is writing explanations on the inside of the program code to help the programmers remember how the programming was done. This is especially very useful when any update or correction is required or a new programmer is involved to the project. This is done by writing explanations for each module, algorithm or piece of code and by giving meaningful names to modules, functions, objects and variables. Use r M a n u a l : Another name for the user manual is the help file. This is useful when a user needs some assistance for a particular function of the tool. This was designed for CAT in MS Word and HTML format and it is easy to use and refer to. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 37 Suppo r t : The necessary support for users has been provided by company visits and other means of communication. And the software will be maintained and updated according to clients needs. S o m e M e a s u r e s : • CAT runs in less than a minute and we are expecting CAT 2 will run in less than 5 minutes. • CAT crashes only if Excel crashes. This depends only operating system and Excel. These measures are valid for both tools with a computer of at least 256 MB SDRAM and PHI 800 CPU. A minute is used as a benchmark here because in one of the meetings one of the contacts from JSM stated that running this tool in 15 minutes would be fantastic and even 15 minutes is much more below current decision process. Some risks for the project are: P r o g r a m m i n g E r ro rs : Preventive Action: Comprehensive testing and checking were done to prevent these. These checks were instant checking (just after code generation) by first going over the written code and then making some test runs. After each module was completed, once again a final check was done by inspecting all the code and making test runs. Use r E r ro rs : Preventive Action: To make this errors minimum, warnings and checks were designed in the software and user support was/will be given at the beginning of implementation stage. Res i s tance to c h a n g e : Management, production managers may show some resistance at the beginning due to lack of trust to the tool. This is expected to be minimal due to fact that this tool was developed in collaboration with JSM contacts who will use eventually this software. But still can be a problem. Preventive Action: Inform JSM about the usage and benefits of tool and show how to use it. Recommend a trial period that will be helpful to compare the tool's Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 38 performance with actual performance. Involve JSM staff at several key development steps. Insufficient data and information: Deterioration probabilities, product mix information for pinks and sockeyes are necessary to build CAT 2 and implement MPMSLP. The strategy for getting the data is to tell the client the importance of these, work closely with them and get the required information. Assumptions for the modeling: The models depend on assumptions made before development. These assumptions should be valid for the company operations. Deterioration, by-products assumptions are crucial for the model. Those assumptions were explained with all others to JSM management as early as possible and verified before and during the model constructions. Another help for the verification of those was company visits which gave us opportunity to observe the system closely and to see how the company really operates. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 39 4. RESULTS AND FINDINGS 4.1 IMPLEMENTATION Implementation involves presentation and installation of the decision support tool and giving user support. Our implementation recommendation to JSM is to start using the software for a trial period concurrently with the company's current system. This would help JSM to get familiarized with the tool and would enable us to compare the performance of the tool against the company's current system over some time period. It is also mentioned that the quality of the solution depends on inputs provided to the tool and the tool may need calibration in terms of its inputs. Current decision making heavily depends on expert experience, knowledge and judgment. Most of the time the production decisions should be done very quickly. This could force decision-makers to make more ad-hoc decisions. During my Prince Rupert visit, I observed production people make a teleconference call with the management in Vancouver and decide what to do to or generate different schedules for different possible landings or events. These decisions usually seek to only develop a feasible production plan since there is a very limited amount of time for decision-making. Our decision support tool can be very effectively used here to provide guidance to the management by showing the optimal solution for different scenarios. Since the tool works very fast one can evaluate several catch scenarios and bring the results to the meeting and present to the others. The proposed tools are capable of allocating the many fish types to many different products in the optimal way in seconds. We hope that this will help JSM in their daily decision-making and increase their profitability. Moreover all the people involved in production decision can also use the tool separately. Each one can make her/his own reasoning and produce her/his solution and discuss these in planning meeting. The company has the necessary computer and network structure to realize these. The cost of the implementation includes the necessary LP solver to run the decision support tool and the opportunity cost of time spent in implementation. There is no Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 40 other costs except the LP solver since the c o m p a n y already has MS Excel . However the benefits f rom the tool are expected to be much higher than these costs so in that sense the project is feasible to be implemented . On the other h a n d , the project has a potential to be a commerc ia l software package for other fishing plants as well. In order to determine the per formance of the software it should be implemented and tried before exploring other opportunit ies. 4.2 SAMPLE OUTPUT As ment ioned before most of the products for c h u m s (product list of CAT) have negative profit coefficients (out of 52 different products only 10 of them positive profits) without the by-product information. Here the solution outputs will be presented. First the LP solution with existing profit coefficients, without the by-product informat ion, will be shown then all the negative profit coefficients will be taken equal to a small profit margin to prevent negative profit coefficients and solution will be presented. Va lues of all inputs (capacit ies, fish composi t ions , profit coefficients, etc) are hypothetical due to data confidentiality. Hence the outputs are hypothetical too. 4.2.1 Sample Output with mostly negative profit coefficients The inputs used for the SPLP model is in Table 3: Skin Colour Ratios Amounts (lbs) Total Catch 250000 Chum 0.85 212500 Other 0.15 37500 Size Ratios Amounts (lbs) 2-4 lbs 0.1 25000 4-6 lbs 0.4 100000 6-9 lbs 0.3 75000 9-12 lbs 0.2 50000 A - C 0.5 125000 D - F 0.2 50000 G - I 0.3 75000 Quality Ratios Amounts (lbs) 1 0.5 125000 2 0.3 75000 3 0.2 50000 4 0 0 Canning Ryco/HL Filleting Reduction Freezing Storage 71000 240000 85000 500000 230000 1000000 Table 3 - Sample Inputs to the SPLP Model Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 41 • All the upper bound are set to a very high number (1 ,000,000 lbs) in order not to effect the LP and no demand (lower bounds) are set i.e. all the lower bounds are zero. • Est imated recovery rates are used . They are a number between zero and 1 depending on product. • All the products have negative profit coefficients except the following ten products in Table 4. Number Product Profit ($/lbs) 1 Ocean run fresh, 1000 lb tote 0.02 2 Frozen, type 1, 2-4 lbs, head on, red meated bright 0.2 3 Frozen, type 1, 4-6 lbs, head on, red meated bright 0.3 4 Frozen, type 1, 6-9 lbs, head on, red meated bright 0.4 5 Frozen, type 1, 9-12 lbs, head on, red meated bright 0.27 6 Frozen, type 1, 2-4 lbs, head off, red meated bright 0.03 7 Frozen, type 1, 4-6 lbs, head off, red meated bright 0.13 8 Frozen, type 1, 6-9 lbs, head off, red meated bright 0.26 9 Frozen, type 1, 9-12 lbs, head off, red meated bright 0.13 10 Frozen, type 1, 6-9 lbs, head off, red meated dark 0.04 Table 4 - Products that have positive profits The LP output: T h e objective function value is $ 24,145 and the product list is: Product Type Raw Fish type Used Amount in lbs (raw fish) Size Skin Quality Frozen, type 1, 2-4 lbs, head on, red meated bright 2 - 4 lbs A - C 1 5312 Frozen, type 1, 2-4 lbs, head on, red meated bright 2 - 4 lbs D - F 1 2125 Frozen, type 1, 4-6 lbs, head on, red meated bright 4 - 6 lbs A - C 1 21250 Frozen, type 1, 4-6 lbs, head on, red meated bright 4 - 6 lbs D - F 1 8500 Frozen, type 1, 6-9 lbs, head on, red meated bright 6 - 9 lbs A - C 1 15937 Frozen, type 1, 6-9 lbs, head on, red meated bright 6 - 9 lbs D - F 1 6375 Frozen, type 1, 9-12 lbs, head on, red meated bright 9 - 12 lbs A - C 1 10625 Frozen, type 1, 9-12 lbs, head on, red meated bright 9 - 12 lbs D - F 1 4250 Table 5 - Sample Output for the SPLP with current profit coefficients T h e total amount of fish processed is 74,375 lbs. We were expect ing this amount and this product list since all the products appear in the solution are the products which have positive profit coefficients. Note that out of 10 products from Table 5, 8 of them appeared in the solut ion. Product 1 and product 10 were not in the solution since their profit margin is less than the other products which can be used to produce Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 42 more profitable products with the same type of fish. The total available fish for the allocation was 250,000 * 0.85 = 212,500 lbs of chums. But our LP allocates only 74,375 lbs. It did not allocated the rest since the objective function goes down if it allocates for fish to other products which have negative profits. None of the capacity constraints were binding. 74,375 =,250,000, , * 0.85 * 0.5 , , * 0.7 , 74,375 lbs is the amount of the total catch available to fish type of quality 1 and skin colors A-C & D-F. And only these fish types are the inputs for the profitable products. 4.2.2 Sample Output with all positive profit coefficients The same problem was solved again but this time all the negative profit coefficients were replaced with a small profit margin i.e. all the products have some profit coefficient positive. The negative profit figures were replaced with $ 0.05 / lbs. All the other outputs were the same. The solution is in Table 6. All the available fish is allocated to end products and total production amount is 212,500 lbs. Objective function value is $ 31,051. Only canning capacity is binding (the capacity of canning is 71,000 lbs and the total amount of canned products is 71,000) but all others are not binding. The dual for capacity constraint is $ 0.24. The chum itself has a low value but its roe is very valuable and that is the reason by-product modeling is added into the LP model. The information about by-products and updated profit coefficient should be entered to the model before it is used. As we see from two sample solutions, calibration of the profit coefficients is very important and the LP solution is very sensitive to these. Total catch Chum Ratio Quality 1 ratio Skin Color A-C and D-F Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 43 Raw Fish type Used Amount in Product Type Size Skin Quality lbs (raw fish) Canned 1/4 lb 4 - 6 lbs A - C 2 12563 Canned 1/4 lb 9 - 12 lbs A - C 2 6375 Canned 1/4 lb 2 - 4 lbs D - F 2 1275 Canned 1/4 lb 6 - 9 lbs D - F 2 3825 Canned 1/4 lb 2 - 4 lbs G - I 2 1913 Canned 1/4 lb 4 - 6 lbs G - I 2 7650 Canned 1/4 lb 9 - 12 lbs G - I 2 3825 Canned 1/2 lb 6 - 9 lbs A - C 2 9563 Canned 1/2 lb 4 - 6 lbs D - F 2 5100 Canned 1/2 lb 9 - 12 lbs D - F 2 2550 Canned 1/2 lb 6 - 9 lbs G - I 2 5738 Canned 1 lb tall 2 - 4 lbs A - C 3 2125 Canned 1 lb tall 4 - 6 lbs A - C 3 8500 Fishmeal 9 - 12 lbs A - C 3 4250 Fishmeal 4 - 6 lbs D - F 3 3400 Fishmeal 6 - 9 lbs D - F 3 2550 Fishmeal 2 - 4 lbs G - I 3 1275 Fishmeal 6 - 9 lbs G - I 3 3825 Fishmeal 9 - 12 lbs G - I 3 2550 Fillets, type 1 2 - 4 lbs G - I 1 3188 Fillets, type 1 4 - 6 lbs G - I 1 12750 Fillets, type 1 6 - 9 lbs G - I 1 9563 Fillets, type 1 9 - 12 lbs G - I 1 6375 Fillets, type 1 2 - 4 lbs A - C 2 3188 Fillets, type 1 4 - 6 lbs A - C 2 188 Frozen, type 1, 2-4 lbs, head on, red meated bright 2 - 4 lbs A - C 1 5313 Frozen, type 1, 2-4 lbs, head on, red meated bright 2 - 4 lbs D - F 1 2125 Frozen, type 1, 4-6 lbs, head on, red meated bright 4 - 6 lbs A - C 1 21250 Frozen, type 1, 4-6 lbs, head on, red meated bright 4 - 6 lbs D - F 1 8500 Frozen, type 1, 6-9 lbs, head on, red meated bright 6 - 9 lbs A - C 1 15938 Frozen, type 1, 6-9 lbs, head on, red meated bright 6 - 9 lbs D - F 1 6375 Frozen, type 1, 9-12 lbs, head on, red meated bright 9 - 12 lbs A - C 1 10625 Frozen, type 1, 9-12 lbs, head on, red meated bright 9 - 12 lbs D - F 1 4250 Frozen, type 2, 2-4 lbs, soft, red meated bright 2 - 4 lbs D - F 3 850 Frozen, type 2, > 9 lbs, soft, red meated bright 6 - 9 lbs A - C 3 6375 Frozen, type 2, > 9 lbs, soft, red meated bright 9 - 12 lbs D - F 3 1700 Frozen, type 2, 2-4 lbs, firm, red meated dark 4 - 6 lbs G - I 3 5100 Table 6 - Sample Output for the SPLP with all positive profit coefficients Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 44 5. EXTENSIONS 5.1 STOCHASTIC SUPPLY In MPMSLP model one of the assumptions was that the catch size for the next two days are known. If not, the company must enter their best guesses. Although JSM can predict the next two days catches by using information (fishing boats' contacts, weather, etc) and experience, the catch sizes will be different than the expected values due to the uncertainty involved. If the actual supply was known MPMSLP solution with actual supply would be the upper bound for the stochastic optimization solution with expected scenarios. Similarly it would be also the upper bound for MPMSLP solution with the forecasted supply. One can expect different catch landings according to different weather, number of fishing boats or other conditions. Instead of putting one expected value for a catch landing value we can use different values with their probabilities. Another point might be doing some forecasting to provide a good estimate for JSM to help to predict the catch landings for the future days in the planning horizon. The catch size depends on the number of boats fishing, weather conditions, duration and place of that opening and salmon in that area in that time. This suggest that the suitable forecasting method is causal forecasting since all the factors mentioned above are very important factors effecting the catch. Unfortunately, we did not have any data to perform this analysis but we only had times series data of total landings for 58 days effected by company policy. We performed a preliminary forecasting analysis with this existing biased data. 5.2 CATCH SIZE FORECASTING This analysis was the initial investigation for the forecasting of daily landed catch for JSM. The data used in this analysis was daily landed catch values for the summer salmon season of July and August 2000. Forecasts or estimates for daily catch values over the planning horizon are necessary inputs for the MPMSLP model. At the moment this will be done by JSM using their Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 45 own judgment and the information available in that planning horizon. History and current information can be used to build a forecasting system to estimate daily catch values for JSM. One step further can be to get the catch distribution over the planning horizon for all fish types and qualities and this information can be used for stochastic models. This analysis only looks at models for forecasting the total landed catch each day at JSM during the summer salmon season, which is a first step to the ultimate goal of developing forecasts of all fish types and quality levels. The data available for this study was the daily landed catch totals for the summer salmon season July and August 2000. In the summer salmon season for the year 2000, which lasted two months (July and August), JSM had almost 5 million lbs. of landed salmon. This period consisted of 58 days of data shown in Figure 11. JSM Time Series of Daily Catch Figure 1 1 - Daily Landed Catch Summer 2000 As we can see from Figure 11, there are a number of characteristics of this data series. There is not a lot of data in the data series. Fifty-eight data points is a small data set for many of the known forecasting techniques. Moreover, there is a great deal of variability in the data. The mean of this data is 82566 and the standard deviation is 99439. This large variability will make estimating future points very difficult. Third, the data set contains several zero values. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 46 5.2.1 Models There are no significant correlations over time between data points, this means that the ARIMA modeling technique can not be used to provide any forecasts. As well, since no seasonality was shown, models involving seasonality should not be used. Since there is no trend pattern in the data, nor any seasonally were found in the analysis, the initial analysis involved four simple models. The "Naive 1" model (today's forecast is yesterday's actual value), simple exponential smoothing, moving average models and mean (today's forecast is the average of all observations until today). Models were fit in-sample using all of the data. All analysis was constructed in-sample instead of out of sample forecasts since the data series was sparse and variable. When more data becomes available, a more extensive out of sample comparison could be constructed. Another attempt was the Markovian Probability model based on state transition. The question it asks is; what is the probability of moving from the given state to all other possible states in one time step? The first step for using such an approach is to describe the states that will be used for the analysis. Two states were used for this model. State x corresponds to the total landed catch, c, being equal to zero; state y to c > 0. This modeling approach has the benefit of allowing us to model the zero values directly. The next step was to derive the transition probability matrix. The transition probabilities were derived by categorizing each consecutive pair of data points as being in one of four categories: state x to state x, state x to state y, state y to state x and state y to state y. The probability estimates for each category is then derived through a simple arithmetic operation. This is calculated by counting the number of times that a zero value is preceded by another zero value (i.e. state x to state x) and dividing by the number of zero values. In our data set P(C (t+1) = x | C (t) = x) = 8 / 23 = 0.348, where C(t) is total catch quantity at period t. Since the goal is to predict a value for the total daily catch, not simply predict whether or not the value is zero, a probability model for the non-zero values, state y, must be developed. A discrete probability mass function was developed for the non-zero catch days using the data in the series. Simulation was the method used to test the model. The probability model above was used to simulate the data using the random number generator in Excel. Two random Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 47 numbers were used for the simulation. The first random number was used with the transition probability matrix to decide if the total landed catch was zero or larger than zero. If the catch to be larger than zero, the second random number was used with the CDF of the non-zero catch days to get a value for the total landed catch. The simulation was run 20 times and the RootMSE values for each run were averaged to determine the fit parameter for model. 5.2.2 Results All models were compared for fit on the in-sample RootMSE (Root Mean Square Error) value. The moving average with two periods was the best fitting forecast using this criterion and had a RootMSE of 65882. None of these time series models could produce very satisfying results. This is due to two main factors. The data reflects JSM's buying preferences and time series analysis is not very appropriate for this data; causal forecasting may perform better results. Table 7 shows RootMSE values for the models and Figure 12 shows plots for some of the models. Method In Sample Root MSE Naive 142536 Simple Exp Smoothing 99692 Moving Average (2) 65882 Moving Average (3) 86309 Moving Average (5) 79999 Moving Average (10) 87127 Mean 101270 Markovian Simulation 139039 Table 7 - Summary Table of Forecasting results Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 48 350000 n Figure 12 - Plots for total landings, mean, naive and MA (2) 5.3 STOCHASTIC OPTIMIZATION If supply (amount of the total catch) is considered a random variable and its distribution can be calculated using a forecasting system then, this information may be used in stochastic LP models to improve the accuracy of the model. This approach may be more successful to estimate the uncertainty in supply. Instead of using expected value into the deterministic model, we can use the supply distribution to calculate the probabilities of the expected supply values and put these into a stochastic model. However in order to have a better performance with stochastic model than the deterministic one, accurate probabilities and expected supply values are required. 5.3.1 Stochastic LP form ula tion This approach is very similar to the MPMSLP but uses multiple possible scenarios for each day in the planning horizon with the corresponding probabilities instead of expected values for the next days' supply values. At the moment we do not have data and information to calculate the probability distribution of that supply. However, JSM has already started to record more information so that in the future this stochastic model may be used. Note that in this proposed stochastic model, only Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 49 total catch size is assumed to be random. We assume that all other information (fish species' and quality ratios) is known. The scenario tree can be represented in Figurel3. Figure 13 - Stochastic LP Scenarios As seen in Figure 13, there are two, three, four possible outcomes for day 1, day 2, day 3 respectively. In this model every node represents a possible catch size, scenario, for the corresponding day. From every node you can reach to any other node. These node values i.e. catch sizes and their probability of occurrence can be generated by using a forecasting system. The sum of probabilities of occurrence for each node for each day should sum up to 1. Each day a 3-day plan will be generated with the actual initial inventory values for the first day. To make the model work we need to know the inventory at the end of day 1 and day 2. However those depend on actual supply and production and we cannot determine those in advance. Instead we are approximating (expected inventory constraints) those figures by taking the expectation of optimal inventory (7stdi) variables for that particular day with probabilities of scenarios. After this initial explanation the developed model is as follows: Only new notation is given, all the others (variables, constraints, net profit calculation) are the same with revised MPMSLP model. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 50 Fstpdi = amount of type t fish from species s for product p on day d for scenario i Sstdi -supply of type t fish from species son day d for scenario i Isldi = deteriorated inventory of type t fish from species s on day d for scenario i Estd = expected inventory of type t fish from species s on day d for scenario i Bstdj = new inventory of type t f ish from species s on day d for scenario i mid = probability for scenario ion day d ^ X X X X X ^ , ^ , R F 5 P I id subject to ? ? ^ ~C" V d canning X X X X F « M ^ vd s I peR ied X X X X F * > M ^ vd s I peF ied X X X X ^ M ^ , / Vd s I peE ied X X X H^pdi+Free^H. Vd * I pe head on ied X X X HFs,pdi^rd+Freed Vd s ' pe head off ied X X 1 1 ^ ^ 5 t peH,E ied X X ^'P Fstpdi — Uspd t ied YZRspFs,pd^D: spd I ied Sstdi + Fsl,d-1 ~ Bstdi + Fsldi Is!di=Y.MJ<Bsjdi Es,,d = X m t f 7 i Fstdi ~ Fstpdi P Fs,pdi.Fr^d ^0 sldi reduction freezer filleting hand line capacity ryco & hand line capacity V d storage Vs,p,d upper bound limit Vs,p,d lower bound Vs,t,d,i supply and inventory Vs,t,d,i deterioriation Vs,t,d expected inventory Vs,t,d artifical Vs, t, p, d, i non- negativity This model is very similar to the revised MPMSLP model and the only difference is that the total catch size is not deterministic but stochastic so we can have multiple scenarios (index for scenarios is i) for the catch size and hence for production, supply and inventory for each day. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 51 5.4 A COMBINED PRODUCTION PLAN FOR BOTH PLANTS Developed models so far are optimizing the production for each of the two plants separately. However sometimes JSM sends fish from Prince Rupert to Vancouver to be processed in Vancouver plant. Moreover in our discussions some managers expressed they would like to know when it is optimal to send fish from north to south. This suggests that production of both plants plan should be prepared together. It may be a better optimization than optimizing the plants individually and we can increase the model accuracy and reality if sending fish from North to South is a common practice. The Figure 14 represents the conceptual model idea. Supply Supply Figure 14 - Combined Production Plan for Vancouver and Prince Rupert Transportation between the two plants is done with trucks and it takes about a day (in the model the lead time is assumed one day, but this can be adjusted if it is different). There is a fixed cost of sending trucks from north to south, independent of fish amount and variable cost dependent on fish amount. These make this new model a Mixed Integer Program (MIP). Assumptions for this MIP model are all the assumptions of revised MPMSLP model plus o Transportation time is one day. o There is a fixed and variable cost for the transportation as mentioned above. Production Production Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 52 5.4.1 MIP form ula tion Fcstpd = amount of fish alocated to type t from specie s for product p on day d in city c Vc = variable cost of one lbs of transporta tion from city c to the other Fc ~ fixed cost of transporta tion from city c to the other Ccd = capacity for canning on day d in city c H cd = capacity for hand line on day d in city c Ycd = capacity for ryco line on day d in city c Rcd - capacity for reduction on day d in city c Fcd = capacity for freezer on day d in city c Ecd - capacity for filleting on day d in city c Scd = storage capacity on day d in city c Scsld = supply of type t fish from species s on day d in city c Icsld = deteriorat ed inventory of type t fish from species s on day d in city c Bcsld = new inventory of type t fish from species s on day d in city c N j t = entry of row j, column t of deteriorat ion matrix (trip deterioration) Freecd = free capacity for head - off products in hand line after producing head - on products on day d in city c Tcstd = Departed fish from city c to other city of type t fish from specie s on day d Acsld = Arrived fish from city c to other of typet fish from specie s on day d (deteroria ted) Zd = number of trucks required on day d Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 53 s p t d c c s t d c d subject to X X X F « W - C « / V c ' ^ ca/i»mg XXXFcs,Pd ^ Rcd Vc,d reduction s t peR XXX FcstPd ^ Fcd Vc,d freezer s I peF XXX FcstPd * Ecd Vc,d filleting s t peE XX X Fcs,Pd + F r e e cd=Hcd ^c>d handline s t pehead on XX X FcstPd ^ F r e e cd + Ycd Vc>d Ryco & handline s t pehead off XXX Fcs,Pd ^ $cd Vc>d storage s t peH.E XXR'P FcstPd ^  UsPd Vs,p,dupper bound limit c t XXRsP FcstPd ^  DsPd \fs,p,dlower bound (demand) c t cstd ^cst,d-l + Acstd_! - Bcstd + Fcsld + Tcstd V s, t, d, c supply & inv I cstd = X^i' Bcsjd V c,s,t,d inventory deterioria tion J Acstd = X- /^r Tcsjd \/ c,s,t,d transporta tion deterioria tion j ^ y] Tcstd <Zcd * one truck capacity \fc,d truck capacity s t Fcs,d = X FcstPd Vc, s, t, d artifical p all variables > 0 and Z is integer Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 54 5.5 FURTHER RESEARCH There are many more and interesting opportunities for further research in this project. With the usage of the tools, JSM will be able to collect data and information about catch size, characteristics and other inputs for decision-making. And this information can be used to make more sophisticated forecasting studies and then stochastic models can be developed and used. Ground fish is another important operation of JSM as well as salmon processing. Ground fish can be caught during the year with a certain quota limit so JSM can tell fishing boats how much and when to catch and bring to the plant. In that sense the production planning for ground fish seems to be easier than salmon production scheduling but there is still room for improvement. Some research and analysis can be done for taking into account ground fish into the production planning. The biggest problem with salmon business is that the supply is very volatile and the planning would be much more easier if it was smoother. One way to solve this problem would be reorganize the fishing boats with catch openings. Unfortunately this seems really difficult at the moment due to different parties involved in the business such as department of fisheries, fishing boats. However, these can be talked and negotiated with these sides and it can be rearranged for the benefit for all parties. One example can be smoothing the supply by scheduling fishing boats, giving some reward to fishing boats and deciding on how much fish to buy for processing from fishing boats. Like in every process or production environment there is always some room for further improvement. Work and motion study can be done on production lines, the process and work flow charts can be prepared, bottleneck resources are determined and some improvement can be done. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 55 6. CONCLUSION The focus of this study was to develop an effective and efficient method for JSM to allocate daily a fresh salmon harvest between the various products they produce on a daily basis. The goal is short-term production planning, to allocate the catch among the products in such a manner that the profit potential of the catch is maximized. Automation of the decision making process for the catch allocation, "what if" planning, decreasing expert dependency, reducing decision making time, and building a practical and innovative decision support tool are the additional goals. In order to solve this problem efficiently and effectively, several optimization models were developed for allocating the catch to the end products. For one of the models (SPLP), the corresponding decision support tool was built for the end-users at JSM and it is ready for implementation. A decision support tool for more complex models can be built if required. Implementation involves presentation and installation of the decision support tool and giving user support. Our implementation recommendation to JSM is to start using the software for a trial period concurrently with the company's current system. This would help JSM to gain familiarity with the tool and would enable us to compare the performance of the tool with the company's current system over some time period. The quality of the solution depends on inputs provided therefore there may be a need for inputs calibration before using the tool. We hope that this study will help JSM in their daily decision-making and increase their profitability. On the other hand, the project has a potential to be extended to a commercial software package for other fishing plants as well. In order to see the performance of the software it should be implemented and tried before doing so. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 56 REFERENCES • Web sites of Fisheries and Oceans and BC fisheries web sites. http://www.ncr.dfo.ca/index.htm and http://www.qov.bc.ca/fish • Laura Jean Morrison, Decision Making in the Fisheries Industry, MSc. Thesis, University of British Columbia, Canada, 2000. • S. Makradakis, S. Wheelwright and R. Hyndman, Forecasting Methods and Applications, 3rd Edition, John Wiley and Sons, New York, 1998. • O.I. Forsberg, Optimal stocking and harvesting of size-structured farmed fish: A multi-period linear programming approach, Mathematics and Computers in Simulation 42 (1996) 299 - 305 • E.A. Gunn, H.H. Millar, S.M Newbolt, Planning harvesting and marketing activities for integrated fishing firms under an enterprise allocation scheme, European Journal of Operations Research 55 (1991), 243-259. • S.U. Randhawa, E.T. Bjarnason, A decision aid for coordinating fishing and fish processing, European Journal of Operations Research 81 (1995) 62-75. • Begen Mehmet, Puterman Martin, Optimal Catch Allocation, Mitacs Newsletter, Summer 2001, 8 • Web site of Frontline Systems for Large Scale LP solver http://www.frontsvs.com or http://www.solver.com Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 57 APPENDIX l - SUMMARY OF THE PRODUCTION PROCESS Fishing boats arrive to the plant after and during the catch openings > The landed fish is unloaded from boats using a pump to a temporary waiting space,tank Fish is stored temporarily before going to grading in this tank Cannery: fish is dressed, cleaned, cut, canned, cooked. Hand line: fish is dressed and cleaned. I J V Fish is prepared for shipping or storing Ryco line: fish is dressed and cleaned. Reduction Plant: all parts of fish not used in production are boiled, oil & other parts are separated Leftovers from manufacturing from other companies for the reduction plant Products: Fish Meal and fish oil. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 58 APPENDIX 2 - FISH CATEGORIES AND PRODUCT LIST FOR CHUMS There are 48 types of fish in the SPLP model. Four sizes, 3 skin colour categories and four quality levels. A-C refers to finest skin colour and 1 is the best quality level. Size Skin Colour Quality 2 - 4 lbs A - C 1 4 - 6 lbs D - F 2 6 - 9 lbs G - I 3 9 - 12 lbs 4 There are 52 different products. Main categories are can, fresh, frozen, fillets and fishmeal. The complete product list as follows: Canned 1/4 lb Frozen, type 2, 6-9 lbs, firm/soft, red meated bright Canned 1/2 lb Frozen, type 2, 9-12 lbs, firm/soft, red meated bright Canned 1 lb tall Frozen, type 2, 2-4 lbs, f irm, red meated bright Canned 4 lb Frozen, type 2, 4-6 lbs, f irm, red meated bright Canned fr. Fillet, 1/4 pulltop Frozen, type 2, 6-9 lbs, f irm, red meated briqht Freeze for 1A pulltop Frozen, type 2, 9-12 lbs, f irm, red meated briqht Fishmeal Frozen, type 2, 2-4 lbs, soft, red meated briqht Ocean run fresh, 50 lb pkq Frozen, type 2, 4-6 lbs, soft, red meated briqht Ocean run fresh, 1000 lb tote Frozen, type 2, 6-9 lbs, soft, red meated briqht Bright fresh, 50 lb pkg Frozen, type 2, 9-12 lbs, soft, red meated briqht Briqht fresh, 1000 lb tote Frozen, type 1/2, unsized, firm/soft, pale meated bright/dark Fillets, type 1 Frozen, type 2, unsized, firm/soft, red meated dark Fillets, type 2 Frozen, type 2, < 9 lbs, soft, red meated bright Fillets, canned Frozen, type 2, < 9 lbs, f irm, red meated briqht Fillets, pale Frozen, type 2, > 9 lbs, soft, red meated bright Fillets, scrap Frozen, type 2, > 9 lbs, f irm, red meated bright Frozen, type 1, 2-4 lbs, head on, red meated briqht Frozen, type 1, 2-4 lbs, head off, red meated dark Frozen, type 1, 4-6 lbs, head on, red meated bright Frozen, type 1, 4-6 lbs, head off, red meated dark Frozen, type 1, 6-9 lbs, head on, red meated briqht Frozen, type 1, 6-9 lbs, head off, red meated dark Frozen, type 1, 9-12 lbs, head on, red meated briqht Frozen, type 1, 9-12 lbs, head off, red meated dark Frozen, type 1, 2-4 lbs, head off, red meated briqht Frozen, type 2, 2-4 lbs, firm, red meated dark Frozen, type 1, 4-6 lbs, head off, red meated briqht Frozen, type 2, 4-6 lbs, f irm, red meated dark Frozen, type 1, 6-9 lbs, head off, red meated briqht Frozen, type 2, 6-9 lbs, f irm, red meated dark Frozen, type 1, 9-12 lbs, head off, red meated bright Frozen, type 2, 9-12 lbs, f irm, red meated dark Frozen, type 2, 2-4 lbs, firm/soft, red meated briqht Frozen, type 2, < 9 lbs, f irm, red meated dark Frozen, type 2, 4-6 lbs, firm/soft, red meated bright Frozen, type 2, > 9 lbs, firm, red meated dark Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 59 APPENDIX 3 - PRINCE RUPERT'S PLANT HIGHLIGHTS Fishing boats, either waiting for unloading or resting after unloading This is the pump used for unloading, on the top ice unit and on the right cannery Initial grading to different totes Plant, outside Ryco Line, machine cut the heads off automatically Hand Line, every operation is done by hand. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 60 Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 61 Cannery, fish is dressed and cleaned Cannery, fish is put to the cans Cannery, canning machine Cannery, canned fish is being cooked Roe, is prepared and boxed Salmon Roe Begen, Production Planning in JS McMillan: Catch Allocation Tool Design Begen, Production Planning in JS McMillan: Catch Allocation Tool Design APPENDIX 4 - AMPL MODEL A M P L prototype of the model: # index definitions set type; set family; set product; set day; # parameter definitions param profit {i in type, f i n family, j in product, k in day}; param capacity { f in family, k in day}; param demand (j in product, k in day}; param upperbound (j in product, k in day}; param totalcatch {i in type}; # decision variable definitions var x {i in type, f i n family, j in product, k in day}; # objective function maximize totalprofit: sum{i in type, f in family, j in product, k in day} x[i,fj,k]*profit[i,f,j,k]; # constraints subject to capacities { f i n family, k in day}: sum{i in type, j in product} x[i,f,j,k] <= capacity [f,k]; subject to demands {j in product, k in day}: sum{i in type, f in family} x[i,fj,k] >= demand[j,k]; subject to upperbounds {j in product, k in day}: sum{i in type, f in family} x[i,f,j,k] <= upperbound[j ,k]; subject to totalsupplys {i in type}: sum{f in family, j in product, k in day} x[i,f,j,k] <= totalcatch[i]; subject to positive {i in type, f i n family, j in product, k in day}: x[i,f,j,k]>=0; Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 64 APPENDIX 5-CAT DESCRIPTION GETTING STARTED HO W THE APPLICA TION STARTS? • The Catch Allocation Decision Tool is accessed by opening CAT.XLS. • A dialog box will appear, warning that CAT.XLS contains macros. Select the "Enable Macros" option. NA VIGATION OF THE TOOL After opening the tool, it checks the demand and upperbound values and gives a warning message if there are any. And the user will press ok button to continue. This warning is aimed to get the attention of the user for the existing demand and upperbound limits. Upper Bound Limit Info There are some upper bounds limits please check OK Then main menu appears and it is ready to be used. The main menu has 4 different submenus (step 1, step 2, step 3 and step 4) and 4 buttons (help, about, save and exit). The user will go through from step 1 to step 4, enter the necessary inputs (step 1, step 2, step 3) to the program and at the end (step 4) will solve the linear program and get the production schedule that maximizes the expected profit for the planning horizon. These steps are explained with screen views in the rest of this document. The necessary explanations are also presented on the tool. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 65 STEPI (CATCHCHARACTERISTICS) The user will enter the catch properties and can save this to the catch history and view the previous history. The corresponding buttons can be seen above: catch properties, save history, view history buttons. When the user press these buttons the corresponding forms or sheets are opened and the user can enter or view the desired information. The submenus (step 1, step 2, step 3, step 4) he Chum Salmon Allocation Decision Tool *epi jstejfe ) step/1 scep4 | Catch Properties View and Update the Catch Properties Catch Properties Catch Properties History Save the History Total Catch and Catch Properties Save History Catch Properties History Save the Kstory Total Catch and Catch Properties View History HELP About Save Exit Opens help Contact Save file Info for the file (this file) support Exit the program without saving Opens the catch > properties form to view, modify Save current catch properties to the history sheet Opens the history sheet for viewing Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 66 STEP2 (CAPACITY, REVENUE) In this screen the user will enter the plant properties as inputs to the program such as cost and revenue figures and capacity figures. The buttons for these inputs can be seen below. The Chum Salmon Allocation Decision Tool stepl step2 step3 step4 r— Product Costing and Revenue ! View/Adjust Costing & Revenue Figures View Cost - Process ing Line Capaci ty One Shift Only View/Adjust Capacity One Shift Only View Capacity r Processing Line Capacity All the Shifts Total — | View/Adjust Capacity Total Capacity View Capacity Frozen Storage Capacity View/Adjust Capacity View Storage HELP About Save Exit Opens the Cost sheet for viewing, modifying Opens the Capacity form "Tor viewing, modifying Opens the > Total capacity form for viewing or modifying Opens the Storage capacity form for viewing or modifying Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 67 STEP3 (UPPERBOUNDS, ORDERS, RECOVERY) In this screen the user will enter the maximum desired production levels (upperbounds), minimum desired production levels (orders) and recovery rates. The buttons for these can be seen below. The Chum Salmon Allocation Decision Tool stepl step2 step3 step4 Upperbound View/Adjust upperbound Product Market Commitments View/Adjust Market Orders view upper bounds View Orders Round to-Processed Lb Recovery Rates View/Adjust Recovery Ratios View Recovery HELP About Save Exit 2<J Opens the UpperBound sheet for viewing, modifying Opens the Orders (demand) sheet for viewing, modifying Opens the Recovery sheet for viewing, modifying Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 68 STEP4 (SOLUTION, REPORTING) In this screen the user will get the solution of the LP and its reports. There are 4 different parts (frames) on step 4 submenu. The explanations are presented below: The Chum Salmon Allocation Decision Tool stepl | step2 | step3 step4 r~ Solution •—-——-— Allow Second Shift ^ iNo i r yes Generate New Allocation Plan Generate a new plan Aggregate Reports Aggregate Production fL dayl C day2 (~ day 3 Products It dayl C day2 C day3 Solution Reporting View Recommendation Report" ff dayl r day2 C day3 view the solution report | Aggregate Production Products HELP About Save Exit 2U Allows the user to view the solution reports. In d a y l ' s report there is a tool that allows the _^.user to make some what-if analysis. The user will select a day and press the view solution report button. Takes the reports of the "solution reporting" and generates a report "^el iminat ing the zero production levels. Takes the reports of the "aggregate ^ p r o d u c t i o n " and generates a report showing the different products recommended by the LP solution. This frame solves the LP and produces the solution. The user will choose the number of ^ . shifts (one or more, default value is one shift) and then will press to generate a new plan button. When the user hits this button the program checks the feasibility conditions and gives a warning message with an action recommendation if these are not satisfied. When the user chooses more than one shift the program asks to verify the total capacity settings again to prevent any confusion or mistakes. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 69 SOL VER MESS A GE stepl | step2 | step3 step4 | Solution Allow Second Shift <• No C yes Generate New Allocation Plan Generate a new plan Solution Reporting View Recommendation Report dayl r day2 f day 3 view the solution report Solver Results JLJ*] Solver found a solution. All constfaints and optimality conditions are satisfied. <*• i^^^^^Sdiution] <~ Restore Original Values OK Cancel Reports Answer Sensitivity Limits 3 J _ J Save Scenario... Help HELP About Save Exit This pop-up menu appears after pressing to the "generate a new plan" button. This is generated by the LP solver and gives information about the solution. When this pop-up menu appears as it is here ("Solver found a solution and all constraints and optimally conditions are satisfied") means the optimal solution is found. The user will press OK and return to main menu. Sometimes the solver cannot find a solution because of infeasibilities. If this is the case, the user must check the supply, demands and capacity figures and must verify these. In order to provide more guidance to users tool checks capacities and demands (2 possible infeasibility causes) before solving LP and warns user with corresponding message if there are any feasibilities. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design THE FORMS AND SHEETS IN THE TOOL: THE CATCH PROPERTIES MENU When the user press the catch properties button on step 1 submenu, this form is opened. The form takes the current values for these estimates and user can view these then the user will enter the catch properties using this menu. User must press the corresponding update button after entering the new values to modify the estimates. And if the value entered by the user is not correct the program will pop up a warning message and recommend an action. (For example the values should sum up to 1 for each frame estimates) Catch Properties • Current Catch Volumes : . . . • • * _ _ • *_ „ * update estimates — Day 1 1 Size of Catch (in raw lbs) used to view, enter the ^. catch volume used to Current Catch Estimates • ' »'••»••••-••• ni'i-rn > • • • • • .v.j '. '. View, . . : : : : : : : : : : : : : : : : : : : : : : : : : en te r t he Spring: : : : coho Other update estimates • Catch '• '• '• ' . ' • • —'•— • • I " m m n r Current catch Composition Estimates Chum Pink ' Day i : : : : | : : : : | • Cumnt Sizt EstirrutM . . . • . • Current size estimates Size Estimates Gurwnt Skin Colour Estimates -Current skin colour Skin Colour Estimates A-C D-F G-I update Estimates Day 1 Cun^nt Quality Estimate* -'• Current quality Quality Estimates Quality 1 Quaky 2 Quality 3 Quality 4 Day 1 update estimates co pos i t i on used to v i ew , en te r • the s ize e s t i m a t e s used to view, enter the skin colour. used to view, enter the quality estimates This button is used to go back to main menu. The program will check if there is any change on this form that is not updated (i.e. the user did not press the update estimates button) and will give a warning message with a recommended actions. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 71 VIEW THE HISTORY History of Catch Characterictics In this sheet you can view and print old catch properties with the date and time The amounts are for all types of species. in lbs (Raw Fish) 1 i Total Catch Chum Pink Coho Spring Other Size 2-4 lbs 4-6 lbs 6-9 lbs 9-12 lbs 100000 85000 15000 0 0 0 30000 20000 20000 30000 4/27/2001 10:11 Skin Colour A-C D-F G-I Qualify / 2 3 4 40000 300D0 30000 80000 15000 5000 0 Total Catch Chum Pink Coho Spring Other Site 2-4 lbs 4-6 lbs 6-9 lbs 9-12 lbs 100000 85000 15000 0 0 0 30000 20000 20000 30000 4/27/2001 10:13 Skin Colour A-C D-F G-I Qualify / 2 3 4 40000 30000 30000 80000 15000 5000 0 Total Catch Chum Pink Coho Spring Other Size 2-4 lbs 4-6 lbs 6-9 lbs 9-12 lbs 100000 85000 15000 0 0 0 30000 20000 20000 30000 4/27/2001 11:08 Skin Colour A-C D-F G-I Qualify / 2 3 4 40000 30000 30000 80000 15000 5000 0 The saved (it can be saved by pressing save history button from s tep l submenu) history can be viewed from this sheet by pressing view history button from s tep l submenu. Go back to main menu VIEW CAPACITY (ONE SHIFT), VIEW CAPACITY (ALL SHIFTS), VIEW STORAGE Since the usage of all these are similar only one of them is presented and explained here. Current Capacity Settings Available Processing Line Capacities (in raw lbs) • Update Capacity Settings <lbs raw fish) Day 1 Day 2 Canning In this form D f l y 3 : : : : : : ; [ ' : : : : the capacity :::::[.:::; information for the productions R y C 0 / H a n d L k i e I;! : : : : : : : : : : : lines can be viewed and Filleting Reduction updated. Freezing - Internal Freezing - Rented • update settings mam menu Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 72 VIEW COST, VIEW UPPER BOUNDS ,BY-PRODUCTS INFORMATION VIEW ORDERS, VIEWRECOVERY Since the usage of all these are similar only one of them is presented and explained here. Costing & Pricing Entry in lbs (Processed Units) Bright fresh, 50 lb pkg Bt-Produa 1 (Rot StVSO Kl Selling Price Purchase Price Labour Expense Packaging Expense Miscelaneous Expenses NET Profit \ \ After updating the Press this button to return back cost figures, the user to main menu. In this sheet and will press this button in other sheets which has an for the update costing update feature, the program information in the LP. checks and gives a warning message if there is any change. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 73 SOL UTION REPOR TING This is for the first day and since the others are very similar only this is presented here. (The others have main menu button only) Allocation Results Report: Day 1 Update Prof* CAMMED I CAMMED | CAMMED I CAMMED I CAMMED | CAMMED | FISHMEAL f FRESH I '.lim.il.' I Profit (for entire planning \ Drizon) Get LP Solution Back Canned 1 /4 lb Canned 112 to Canned 1 lb tall Conned 4 to Canned fr Filet, 1/4 puHtop Freeze tor 1H pulitop Ocean run Ocean n Fishmeal tresh.SOIb tresh, 100 pkg tote Skin Color Quakl t Expected profit of the LP solution 0\ 0 0 0 0 0 0 0 0 o N \ 0 0 0 0 0 0 0 0 0 \ 0 0 0 0 0 0 0 0 0 \ l 0 0 0 0 0 0 0 0 \ 0 0 0 0 0 0 0 0 0 \ 0 0 0_ 0 0 0 0 X 0 0 \ 0 0 0 0 0 0 0 \ 0 0 \ 0 0 0 0 0 0 0 \ 0 L "> X 0 0 0 0 0 0 \ 0 0 0 0 0 0 D 0 V 0 0 \ 0 0 0 0 0 0 \ 0 0 > V o 0 0 0 0 0 0\ 0 0 \ 0 0 0 0 0 0 0 \ 0 0 0 0 0 0 0 0 \ 0 0 o \ 0 0 0 0 0 0 V 0 0 0 \ 0 0 0 0 0 0 \ 0 0 0 \ 0 0 0 0 0 0 \ 0 0 0 \ 0 0 0 0 0 0 \ 0 0 0 0 0 0 0 0 \ D 0 0 ° \ 0 0 0 0 0 V 0 0 0 \ 0 0 0 0 0 0 0 0 \ 0 0 0 0 0 a 0 \ o 0 0 0 0 o \ 0 0 0_ o 0 0 0 \ 0 a 0 0 \ 0 Returns back main menu Returns back to the original LP solution The user can modify the production quantities on this report and then see the expected profit of this change by pressing update profit button. But do not forget this can be infeasible. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 74 A GGREGA TE REPOR TS This is for the first day and since the others are very similar only this is presented here. X Microsoft EMtet - jsmjh Efc E« Set* Insert Fo/rnat look Beta tjMon Help &a * zi J , m # * J 100% . g • . a # • 10 - B / u E • m m * % , tog .5 tr * _ - * - t i • ST J _ -Type of the product to be produced Type of the raw fish to be used Amount of the raw fish to be used Back to main menu Expected Profit This report takes the previous report (above) and identifies only the nonzero production schedule and generates the production schedule. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 75 PRODUCTS REPORT This is for the first day and since the others are very similar only this screen is presented here. *y G>a Edit Wew Insert Formet loot! Djta Window Help D c * H e 5 E i y * % i ® < ^ * * * A i i JU „ # * loo* - $ Times New Roman -11 • B / U 9 3 gl S % , *j8 .i8 if- _ - * • ^  --|g |x - t a l * ±1 Dayl Production C D E Expected Protit for the enote hori2on 5 Pioditct Type H I -7 there are 5 different products proposed 8 9 11 Frozen, type 1, 2-4 lbs. head on, red miated bright 12 Frozen, type 1, 4-6 lbs, head on, red meated bright 13 Frozen, type 1, 6-9 lbs, head on, red meated bnght 14 Frozen, type 1, 9-12 ibs, head on, red meated bright 15 Frozen, type 1, 4-6 Ibs, head off, rea meated bright 16 17 18 19 20 21 22 23 | 24 25 26 27 2B |l< i • M I-I Type of the product to be produced Amount of the raw fish to be used Expected Profit •r Back to main menu Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 76 APPENDIX 6 - MPMSLP PROTOTYPE Supply | initial Inventory | deterioration | Profit | Recovery Rates ] Qa LB, UB ] dayl day2 day3 total supply 10000I 25000 dayl 15000 day2 day3 Supply Information chum 0.2 0.4 0.2 pink 0.3 0.2 0.5 sockeye | 0.5 | 0.4 | 0.3 Chum Composition quality 1 quality2 quality3 dayl | 0.2 | 0.25 | 0.55 day2 | 0.35 | 0.5 | 0.15 day3 | 0.35 | 0.25 | 0.4 Pink Composition quality 1 quality2 dayl | 0.2 | 0.8 day2 | 0.5 | 0.5 day3 | 0.35 | 0.65 Sockeye Composition quality 1 quality2 sizel size2 dayl | 0.2 | 0.8 | 0.15 | 0.85 day2 | 0.4 | 0.6 | 0.65 1 0.35 day3 | 0.8 | 0.2 | 0.6 | 0.4 Catch Allocation Tool Update Info in the Model Generate a new plan View the plan Savetk Exit Screen example from the prototype of the new MPMSLP model. Begen, Production Planning in JS McMillan: Catch Allocation Tool Design 77 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

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"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0090086/manifest

Comment

Related Items