Optimizing Workflow in Cell-Based Slaughtering and Cutting of Pigs

. In this paper we describe and solve a scheduling problem taken from the slaughterhouse industry. In an on-going research project, a new concept for slaughtering and cutting of pigs is developed. The idea is to replace the traditional production line with a number of meat factory cells , where an operator slaughters and rough-cuts the pig, assisted by a robot. In order to minimize non-productive operator time, a solution approach is presented together with computational results.


Introduction
The meat industry, like most other industries, is constantly searching for decreased costs and increased revenues.Cost savings have mainly been achieved through centralization, with fewer, larger and more specialized and automated factories and increased transport distances.This has resulted in very large plants with a slaughter capacity of up to 1 400 pigs per hour in the Netherlands [2], and 5 000 smallstock (lambs/sheep) per day in Bordertown, Australia [1].Also in Norway, many small slaughterhouses have been closed down and replaced by larger and more automated plants during the last decades.However, long distances and relatively few livestock in Norway makes it impossible to decrease the number and increase the size of slaughterhouses further.The transportation time for livestock from many farms to the closest slaughterhouse is already close to eight hours, which is the longest time allowed for transportation of live animals in Norway.This means that a more efficient meat production must be sought in other ways than by replacing relatively small plants by larger ones with increased capacity and more automation.
Nortura [3], which is the largest meat company in Norway, is currently running a research project called Meat 2.0 to find out if a new way of organizing slaughtering and rough-cutting can give benefits in terms of increased flexibility, improved hygiene and better utilization of edible offals, so-called plus products, without losing efficiency compared to today's assembly line-like production system.The basic idea is to replace the traditional production line, where each worker performs a small operation before the carcass continues to the next station, with a number of Meat Factory Cells, where one animal at the time is slaughtered and rough-cut by an operator assisted by a robot.
In the project, parts of the Meat Factory Cell concept is tested on pigs at Nortura's plant in Tønsberg, Norway.The focus in this paper is how the work in the cell is organized, so we will just give a brief overview of the whole process before looking at the operations in the cell and how these can be optimized.
The pigs are first stunned, put to death, emptied for blood, skalded, dehaired and disinfected.Up to this point, the process is the same as in today's production line system.Each pig is then transported to a cell, where an operator, assisted by a robot, slaughters and rough-cuts the pig and places the parts on a rack or trolley.When all the parts are on the rack, the rack is transported via meat control to sorting and further processing of the parts.The equipment in the cell is cleaned, and the next pig is placed in the cell for processing.
The equipment and operations in the cell are still being developed and tested, but it is already clear that both an operator and a machine or robot will be working in the cell, so we have enough information to look at how the work in the cell should be optimized.Each operator will be working in more than one, most likely two, cells in parallel.This is to avoid unnecessary waiting when the robot works in the cell, as the operator must keep a certain distance to a working robot.In addition to choosing which cell to work in at a given time, the operator can also sometimes choose between different operations to carry out, this adds to the complexity of the planning problem.The time needed for the operator to complete all operations to slaughter and rough-cut each pig is assumed to be constant and known, so the goal is to minimize the amount of time the operator spends waiting for the robot and moving between cells.
The problem has many similarities to scheduling problems, see, e.g.[5], as we are looking for the best ordering or sequence of operations or tasks.In most scheduling problems in food processing [4], "industry-specific characteristics induce specific and complex scheduling problems" [4, p. 1].This is also the case here, and we have not been able to find similar problems in the literature.The option for the operator to stay in the current cell and wait for the robot to finish its current task, or move to another cell, seems to be unique.We have tried a few modeling and solution approaches from the operations research literature to handle the problem.
The remainder of the paper is organized as follows.The problem is presented in more detail in Section 2. A heuristic solution method is described in Section 3. Computational testing is described in Section 4, followed by conclusions in Section 5.

Problem description
When a pig arrives in the cell, it is placed on a table and kept in place by four grippers, each of them holding one leg.The operator cuts off the pig's head and the four legs, the parts are lifted onto a rack by the robot.The grippers "hand over" the legs to the robot.
After the head and the legs have been cut off and removed, the pig is turned around on the table, now with the back up.The operator uses a saw to open the carcass by performing one cut on each side of the spine, the robot then lifts the neck/back over to the rack.While the robot is lifting, the operator cuts the back/neck free from the carcass.This means that in this so-called combined task, the operator is assisted by the robot, and the robot is active while the operator is working in the cell.During the other robot operations the operator has to keep a certain distance to the robot and can therefore not do operations on the pig.
Next, the operator removes the intestines (heart, lungs, liver, stomach etc), which are also placed on the rack.When all the inner organs are removed, the robot lifts the belly part over to the rack.The table is then cleaned before the next pig arrives.
An overview of operator, robot and combined tasks is given in Table 1.The times needed to perform the different tasks, and to move between cells, are supposed to be known.The times given in Table 1 are preliminary estimates which will become more precise as more testing is performed in the project.Operators can work in multiple (normally two) cells at the time, and must choose what to do while the robot works.In general, the operator will wait in the cell if the robot task is short, and go to the neighboring cell and work there if the robot task is long.Depending on the duration of tasks and when the operator moves between cells, it may happen that the robot is still working when the operator returns to a cell, forcing the operator to wait.The time estimates given in Table 1 will not lead to such situations, as the longest robot task (except the task where the operator and the robot works together) does not last longer than the shortest operator task.We nevertheless want to consider this as a possibility in case time estimates change, and because time estimates may be different for different animal types.If the project shows that the Meat Factory Cell concept should be used in production, both bovine and smallstock may also be slaughtered using this method.

Modeling and solution approaches
When studying a new and unknown optimization problem, we have often found it useful to start by writing down a mathematical model and try to find optimal solutions using traditional algorithms.This was also the first approach for the problem presented here.The model was a mixed integer model with indicator variables α otpct p c equal to 1 if operator o performs task t on pig p in cell c immediately after performing task t on pig p in cell c, and 0 otherwise.The model also has variables telling when the operator starts performing the different tasks, and variables for moving and waiting times between operations.The constraints in the model ensure that all tasks are performed in the correct order, and that all time variables are computed correctly.The model is relatively easy to understand and straightforward to write down, but it turns out to be very hard to solve by standard solvers like Gurobi, and not even the smallest instances included in the computational experiments in Section 4 could be solved to optimality in reasonable time.We therefore do not present this model in detail.

A construction heuristic
Because solving a standard mathematical model turned out to be impossible in reasonable time for realistically sized instances, a heuristic approach seemed natural.We have developed a simple heuristic which finds good solutions in short time for problem instances of reasonable size.The solution method builds schedules for one operator working in two cells in parallel, and works as follows.
-An initially empty vector P of partial schedules is constructed.An empty schedule is created, the first operator task in cell 1 is added, cell 1 is set as the current cell (the cell where the operator is currently staying), and the schedule is added to P. -Whenever P is not empty, a partial schedule is picked from P, extended in all feasible ways, the resulting schedules are then put back into P.When all tasks in both cells are added to a schedule, the completion time is compared to the best so far, and the schedule with the earliest completion time is kept.-When a partial schedule is extended, an operator task, a robot task or a combined task is added to the schedule.The previous task in the current cell must have the new task as a successor, and all predecessors of the new task must already be added for the current cell.If the added task is an operator task or a combined task, the current cell does not change.
-If the added task is a robot task, the current cell may change.If the robot task lasts no longer than the time it takes for the operator to move to the other cell, the operator stays in the cell and thus the current cell is not changed.If the robot task lasts longer than the operator move time, the time it takes before the operator can start working in the current or the other cell is computed and compared.
• If the difference is at most equal to the operator move time, both changing and not changing the current cell is considered by making two copies of the schedule.• If the difference is larger, the alternative where the operator can start working first is chosen.

Computational experiments
In order to find out how well the heuristic performes, both in terms of run time and solution quality, we have conducted computational experiments.In the following subsections, we describe the test instances used and the test results.

Test instances
We have created 60 test instances, based on five different problem sizes.The smallest instances have three operator tasks, two robot tasks and one combined task, and are small enough to allow us to check that solutions are correct, and even optimal, by inspection.The largest instances have more operator and robot tasks than we consider in the problem presented here, in addition there are up to five successor tasks.Instance 9 represents the real-world problem described in Section 2 with tasks listed in Table 1.For each problem size, we create instances with two different sets of task durations, one where most operator tasks are longer than the longest robot task (instances with odd numbered IDs), and one with shorter operator tasks and longer robot tasks (instances with even numbered IDs).Each instance is then replicated with one and two pigs per cell, and with three different operator move times.An overview of the instances is given in Table 2, and a graphical view of instance 3 is given in Figure 1.

Results
The heuristic outlined in Section 3 was implemented in C++, and tests are run on an Intel(R) Core(TM) i7-4600U CPU @ 2.10 Ghz 2.70 Ghz with 8.00 GB of RAM.Results are shown in Table 3.
From the results in Table 3, it is evident that the real-world instances (instance 9 and 10) are easy to solve, even if the number of tasks is quite high.Especially instance 7 and 8 are hard to solve, these have both the largest number of tasks and the largest complexity in terms of many possible successors for some of the tasks.This means the number of possible paths through the network of tasks is quite high, and thus finding the best one takes time.Even though the problem studied here normally does not have that many options, we find it useful Table 2. Problem instances."Inst" refers to instance numbers, the columns under "Size" give the number of operator, robot and combined tasks, and the maximum number of successors for a task, respecitively.The ranges for task durations are given in the columns under "Duration", and in the last two columns we give the total operator and robot time needed per pig.

Inst
Size Duration Time per pig Op tasks R tasks C tasks Succ Op tasks R tasks C tasks Operator Robot   to test some instances with more successors, as there may be other application of this problem with a different structure.It is not obvious that running instances with two pigs in each cell is needed, as we expect the same pattern of movements between cells and waiting for the robot to be repeated, but we wanted to see how much harder the instances become with two pigs.In addition, it may be beneficial to use different cutting patterns to get more flexibility for how the carcasses are utilized, and thus the ordering and duration of tasks may change from one pig to the next, and between cells.
From Table 3, we also see that the time spent moving and waiting varies with different move times and different task durations.For the odd numbered instances with long operator tasks and short robot tasks (the left half of Table 3), waiting occurs when moving takes more time than waiting for the robot task to complete, and this never happens with short move times.For the even numbered instances with short operator tasks and long robot tasks (the right half of Table 3), waiting may occur also with short move times, as it may happen that waiting is needed when the operator comes back after working in the other cell, because the robot may still be working and thus forces the operator to wait.

Conclusions
We have described and solved a scheduling problem in cell-based slaughtering and rough-cutting of pigs, based on a new concept which is currently being tested in a research project.Using standard software to solve a traditional mathematical model is not feasible, so we have developed a simple heuristic to solve the problem.Computational testing shows that this method gives good results in very short time for realistically sized problem instances.

Fig. 1 .
Fig. 1.Instance 3 with five operator tasks (in blue), two robot tasks (in red), and one combined task (in green).Durations for each task are given, and the arrows indicate possible orderings of tasks.In this instance, Ot3 has the highest number of possible successors (three).

Table 1 .
Operations in the cell

Table 3 .
Test results.Explanation of column headers: "Instance" refer to instances, where the three numbers refer to intance number, the number of pigs processed in each cell and the operator move time, respectively."Op time" is the total operator time needed to perform the operator and combined tasks."Obj" is the best solution found in terms of completion time."Move" and "Wait" are the number of time units the operator spends moving and waiting in the best found solution, and "Time" is the time (in seconds) the algorithm needs to solve the problem.A * in the time column means the algorithm ran out of memory before it completed, and the solution given is the best solution found before this occured.