MACRo 2015- 5th International Conference on Recent Achievements in Mechatronics, Automation, Computer Science and Robotics Throughput Maximization with S-graph Framework using Global Branching Tree Tibor HOLCZINGER1, Ákos OROSZ2 1 Department of System and Computer Science, Faculty of Information Technology, Pannon University, Veszprém, e-mail: [email protected] 2 Department of System and Computer Science, Faculty of Information Technology, Pannon University, Veszprém, e-mail: [email protected] Manuscript received January 12, 2015, revised February 9, 2015. Abstract: Majozi and Friedler [3] developed the first approach for throughput maximization, which has no need for the optimal number of time points a-priori. The feasibility of a sequence of subproblems is examined with guided search driven S-graph based approach. Although, the approach has proved to be efficient for several problems [1], it can be developed further to increase the size of addressable cases. In the original approach, a branching tree is generated for each subproblem separately, even though these trees can have significantly large overlaps. The presented approach exploits this redundancy to reduce the computational needs for industrial scale problems. Keywords: Batch processes, scheduling, throughput maximization, global branching tree, S-graph. 1. Problem statement The problem aimed in this paper can be summarized as follows. Given, the task network (recipe) for each product, the set of potential equipment units for each task, the cost data and the time horizon of interest. The objective is to determine a schedule that has the highest throughput or revenue for all the products involved. In all the problems in this paper no intermediate storage (NIS) policy has been taken into account. It means there are no storage units between tasks, so the intermediate material must be stored within the equipment unit manufacturing the material till the consecutive equipment unit of the next stage becomes available. 201 10.1515/macro-2015-0020 Unauthenticated Download Date | 6/17/17 11:35 AM 202 T. Holczinger, A. Orosz 2. S-graph representation In this section the sufficient details of the S-graph also will be given. The detailed mathematical formulation for the S-graph framework has been presented by Sanmartí et al. [4]. An S-graph is a weighted directed graph which has two types of arcs, the recipe-arcs and schedule-arcs. Specific types of S-graphs are defined for representing a recipe (recipe-graph) and a solution (schedule-graph). In a recipe-graph each task and each product are represented by a node (tasknode and product-node, respectively). Recipe-arcs show the order of nodes of consecutive tasks in the recipe, where the weight of the arc is the smallest processing times of the tasks. In case of multiple batches, task-nodes, productnodes, and recipe-arcs are multiplied appropriately. Fig. 1 shows the recipegraph of production of two products (A and B), where product B is produced in three consecutive steps and four tasks are needed to generate product A. Figure 1: Example of a recipe-graph. A schedule-graph describes a solution of a scheduling problem. In a solution, each task must be assigned to an equipment unit, and a total ordering must be defined for the tasks scheduled to the same equipment. S-graph is called a schedule-graph if all tasks have been scheduled by taking into account the equipment-task assignments. Fig. 2 shows a schedule-graph of recipe-graph of Fig. 1. By a branch and bound algorithm, the optimal schedule can be effectively generated. There are two important advantages of the S-graph framework which can be used for throughput maximization. First, it can effectively generate a feasible solution of a given number of batches under a fixed time horizon. Moreover, using dynamic programming techniques, the algorithm can provide results from the previous feasibility test to the next test phase, so the solution time can be improved. Unauthenticated Download Date | 6/17/17 11:35 AM Throughput maximization with S-graph framework using global branching tree 203 Figure 2: A schedule-graph of recipe-graph from Fig. 1. 3. Throughput algorithm using a sequence of feasibility tests The base idea of solving throughput maximization problems with the Sgraph framework has been published by Majozi and Friedler [3]. The algorithm uses a feasibility tests in each step, which is a modified version of the S-graph based makespan minimization algorithm. The feasibility test only decides whether the problem can be solved in a given time horizon, i.e. it tries to generate a feasible solution. The algorithm build a discrete search space based on the number of batches of each product. This search space can be represented by a coordinate system with the number of dimensions equal to the number of products. The elements of the search space are subproblems, which are instances of the scheduling problem with fixed batch numbers. For example in case of two products, the search space is shown in Fig. 3, where subproblems are denoted by points. From now, the subproblems will be denoted by tuples, where the elements of a tuple are the number of batches of the products (in alphabetic order). For example the subproblem, where two batches of product A and one batch of product B is to be produced, is denoted by (2,1). Figure 3: Search space representation for two products. Unauthenticated Download Date | 6/17/17 11:35 AM 204 T. Holczinger, A. Orosz If a subproblem is infeasible, then a part of the search space can be excluded from further investigation, because a subproblem with equal or more batches from each product cannot be manufactured in shorter time. For example, if subproblem (3,5) is infeasible, then subproblems (3,6), (3,7), ..., (4,5), (4,6), ..., (5,5), (5,6), ... are also infeasible. The final search space can be seen in Fig. 4, where the infeasible nodes are crossed and the vertical and horizontal lines denote the cuts of the search space. Figure 4: Search space representation for two products, with infeasibility cuts. 4. Global branching tree This section will show that the previously presented approach performs redundant computations. Moreover a new optimization technique will be presented, which can eliminate this redundancy. 4.1. Disadvantages of independent feasibility tests The original S-graph based throughput maximization method performs independent feasibility tests which technique has some disadvantages. For demonstration, let us introduce a small example. In the example two products (A and B) are produced through two consecutive steps according to recipe given in Table 1. The aim is to optimize the total revenue for 8 hours. Table 1: Recipe of two products. Task 1 2 Eq. E1 E3 Product A Time (h) 2 4 Eq. E2 E1 Product B Time (h) 3 2 Using the original method, several S-graphs (subproblems) have to be examined. In the first subproblem only one batch from product A is to be Unauthenticated Download Date | 6/17/17 11:35 AM Throughput maximization with S-graph framework using global branching tree 205 produced. To check its feasibility, for both tasks an equipment unit are to be assigned which takes two steps and no scheduling decision is required. The branching tree of this feasibility test are given in Fig. 5. In the root of the tree (grey node) no tasks are scheduled. After the first branch, one task is scheduled, leading to a partial schedule (white node). After the second branch, all tasks are scheduled, and a feasible solution of the subproblem is found (double lined node). Figure 5: Branching tree of the example given in Table 1 with one batch for product A. To generate the optimal solution, the algorithm has to examine seven subproblems. The branching strategy of the feasibility test can greatly affect the number of branches, because finding a feasible schedule stops the search. Table 2 shows, how many branching steps are required to determine the feasibility of a subproblem. In the best case, the branching strategy can find a feasible solution for the first try using only the necessary number of steps. In the worst case, the test generates all other nodes of the search tree before finding a feasible solution. In case of infeasible subproblems, the algorithm examines the whole branching tree, so the best case and the worst case are the same. Table 2: Number of branches for the subproblems. Subproblem (A,B) (1,0) (0,1) (2,0) (1,1) (0,2) (3,0) (2,1) Sum Worst case 2 2 7 5 4 14 11 45 Best case 2 2 4 4 4 14 6 36 To better understanding let’s take subproblems (2,0) and (3,0) as an example. Fig. 6 shows the corresponding branching trees. The meanings of grey, white and double lined nodes are the same as in the previous branching tree. If during the branch and bound algorithm, a schedule with circular Unauthenticated Download Date | 6/17/17 11:35 AM 206 T. Holczinger, A. Orosz precedencies (represented by a directed cycle in the S-graph) is generated, the corresponding schedule is infeasible (crossed nodes). Moreover since the problem has a time horizon, any feasible schedule with longer manufacturing time is also considered infeasible subproblem (hatched nodes). The branching tree of subproblem (2,0) contains nine nodes (needs eight branches) two of them are feasible schedules. In the worst case, the algorithm performs 6 branches (second column of Table 2), and finds a solution for the seventh one. In the best case, four branches are enough to get a feasible schedule (third column of Table 2). Subproblem (3,0) does not have any feasible schedule, so all fourteen nodes are to be generated (the worst and the best cases are the same). Figure 6: Branching trees of subproblems (2,0) and (3,0). It can be clearly seen, that these branching trees have a common part, especially the bigger one contains the other. It means, that the algorithm performs redundant calculations, because the feasibility tests of the subproblems are independent. This redundancy can be eliminated by building a common tree, called global branching tree. 4.2. Optimization strategy All branching trees of the subproblems can be combined into one large branching tree, shown in Fig. 7. The branching tree of subproblem (2,0) contains the branching tree of subproblem (1,0). In the global tree, the part labeled by (2,0) denotes the branches examined for subproblem (2,0), but not Unauthenticated Download Date | 6/17/17 11:35 AM Throughput maximization with S-graph framework using global branching tree 207 for subproblem (1,0). It can be seen, that the total number of branches required to generate the branching tree is only 28, while with feasibility tests the algorithms needs at least 36 branches in the best case (45 branches on worst case). The feasibility of a subproblem depends on the feasibility of its ancestor subproblems. From this point we say a subproblem is a parent of an other subproblem if they differ only in one batch number, and in the child it is bigger by one. For example subproblem (1,2) is a parent of (2,2) and (1,3), moreover its parents are (1,1) and (0,2). Figure 7: Global branching tree of the example given in Table 1. This parent/child definition allows that a subproblem can have multiple children and multiple parents, however in a tree each node must have exactly one parent (except the root). For each subproblem the algorithm has to select one parent and the selection rule can greatly influence the effectiveness of the algorithm. For a subproblem there can be multiple possibilities for generating its branching tree. If the branching method for subproblem (1,1) first schedules the tasks of product B, than of product A, the branching tree shown in Fig. 7 is generated. If it starts with the tasks of product A, the branching tree would be different, as shown in Fig. 8. Since both subproblems (1,0) and (0,1) are parents of subproblem (1,1), the algorithm must select exactly one of them, form which Unauthenticated Download Date | 6/17/17 11:35 AM 208 T. Holczinger, A. Orosz the branching tree of (1,1) will be generated. The selection rule can greatly influence the effectiveness of the algorithm. In case of branching tree of Fig. 7, the lexicographically first parent has been chosen as the parent for each subproblem. Choosing the lexicographically last parent for each subproblem results the branching tree seen in Fig. 8, which consists of 29 branching steps. The number of branching steps are slightly increased from 28 to 29, although the difference can be bigger for bigger problems. Further parent selection strategies are not presented in this work. Figure 8: Another global branching tree of the example given in Table 1. The parent selection strategy does not determine the algorithm fully. The order of the examination of subproblems has a huge role as well, because the infeasibility of a subproblem yields the infeasibility of all of its descendant subproblems. Considering the branching tree in Fig. 7, although subproblem (2,1) has feasible solutions, the algorithm does not examine subproblem (3,1). Though in the branching tree subproblem (3,1) is not a child of subproblem (3,0) (because of the parent selection strategy), the definition of parent/child relation provides that the infeasibility of (3,0) yields the infeasibility of (3,1). To ensure this cut in the branching tree, the feasibility of subproblem (3,0) must be examined beforehand. Also, for the same reason, there is no need to examine Unauthenticated Download Date | 6/17/17 11:35 AM Throughput maximization with S-graph framework using global branching tree 209 subproblem (2,2) if the algorithm examines subproblem (2,0) earlier and it is infeasible. 5. Illustrative example In this section a literature example is presented to demonstrate the performance of the global branching tree. The example is published by Ierapetritou and Floudas [2]. Fig. 9 shows the flowsheet of the literature example. The example involves a heater, a separator and two reactors. Each of the reactors can perform 3 reactions, i.e. reaction 1, 2 and 3. The reactions take 2, 2 and 1 hour, respectively. Heating takes 1 hour and the separation is 2 hours. The process operates in a no intermediate storage (NIS) policy. The objective is to maximize revenue for products 1 and 2. Figure 9: Flowsheet for literature example. The computational results are given in Table 3 for 14, 15 and 16 hours time horizons. The necessary number of branches and the CPU time are highly decreased using global branching tree. Table 3: Computational results for the illustrative example. Time horizon 14 15 16 Separate branching trees # of branches CPU time (s) 1 229 117 3.706 6 524 679 21.593 56 815 742 199.802 Global branching tree # of branches CPU time (s) 53 335 0.573 124 587 1.156 323 241 2.914 Unauthenticated Download Date | 6/17/17 11:35 AM 210 T. Holczinger, A. Orosz 6. Conclusion In this work we have reduced the redundancy of the optimization strategy for throughput maximization presented by Majozi and Friedler [3]. To demonstrate the performance of the technique, a literature problem was used to compare to the original method. However, the efficiency of the global branching tree has been presented by examples, it has room for further accelerations. Acknowledgements This publication/research has been supported by the European Union and Hungary and co-financed by the European Social Fund through the project TÁMOP-4.2.2.C-11/1/KONV-2012-0004 - National Research Center for Development and Market Introduction of Advanced Information and Communication Technologies. References [1] [2] [3] [4] Holczinger, T., Majozi, T., Hegyhati, M., Friedler, F., “An automated algorithm for throughput maximization under fixed time horizon in multipurpose batch plants: S-graph approach”, presented at ESCAPE 17, Bucharest, Romania, May 27-30, 2007. Ierapetritou, M. G., Floudas, C. A., “Effective continuous-time formulation for short-term scheduling. Part 1. Multipurpose batch processes”, Ind. Eng. Chem. Res, 37, 4341-4359, 1998. Majozi, T., Friedler, F., “Maximization of throughput in a multipurpose batch plant under fixed time horizon: S-graph approach”, Ind. Eng. Chem. Res., 45, 6713-6720, 2006. Sanmartí, E., Holczinger, T., Puigjaner, L., Friedler, F., “Combinatorial framework for effective scheduling of multipurpose batch plants”, AIChE Journal, 48(11), 2557-2570, 2002. Unauthenticated Download Date | 6/17/17 11:35 AM
© Copyright 2026 Paperzz