Research on Charging Combination Based on Batch Weight Fit Rule for Energy Saving in Forging

As a traditional high energy-consuming industry, the forging industry consumes a lot of energy.The activity consuming the highest energy during forging process is the heating.The problem regarding how to separate workpieces with the same holding temperature and holding time and combine them for charging in forging was analyzed and amodel based on batch weight fit rule for optimizing the charging combination with the goal of energy saving was proposed. A genetic algorithm was adopted to optimize and solve the model in order to reduce energy consumption in forging. In addition, an instance was given to prove the effectiveness of the proposed model.


Overview
As a traditional high energy-consuming industry, the forging industry consumes a lot of energy every year, occupying approximately 20% of total cost in a factory.In order to save energy and therefore increase the profit, more and more enterprises consider the performance per watt as a key factor to win competition in the industry [1].The procedure consuming the highest energy during forging process is the heating [2].The material to be charged can be divided into different groups which are then combined in a predefined way to realize optimization.
Normally, production scheduling is used to separate, combine, and order jobs in a production plan [3].It can be considered as a detailed plan and is often called "job scheduling plan." For forging production, how to separate and combine the workpieces to be charged and heated is a typical problem about scheduling [4].Known studies on scheduling usually take a flow shop or a job shop as the study object while minimum time of completion [5] (i.e., a typical minimum makespan problem) or minimum delivery delay is always taken as the optimization goal.Another kind of scheduling aims at interval production, that is, scheduling for batching, which also takes minimum time of completion as the optimization goal [6].However the charging combination is less studied and it is rarer to take energy saving as the optimization goal [7].At present energy saving of most forging industry is achieved by process improvement, equipment modification, use of energy-saving materials, and so on.And the optimal production configurations with energy-saving scheduling and utilization rate improvement of equipment, to reduce the unnecessary invalid links and energy consumptions, have become a new research direction.Through energy control optimization of production process, production efficiency can be ensured as well as green manufacturing without any additional investment.In this paper, the charging combination in forging production was studied and a model for optimizing the charging combination with goal of energy saving was established.Optimization calculation was adopted to formulate an energy-saving solution for charging and heating process and tests were carried out to verify the effectiveness of established model and algorithm.

Problem Description
When making a plan for forging production, factors like delivery time and production capacity will be taken into consideration.Workpieces with similar heating curves (similar holding temperature and holding time) are usually arranged in a forging job.In this case, since the effect of holding temperature and holding time can be negligible, the main optimization goal is limited to quantity of charging batches and charging amount and the optimization model is established on this basis.The index of average charging amount is used for measuring.The average charging amount and the average charging difference are defined as follows.
Definition 1 (average charging amount).All batches in job schedule are descendingly ordered by weight and then take the average of first  − 1 charging amounts as the average charging amount for this job schedule; that is, where  is the average charging amount,  is the quantity of charging batches, and   is the weight of th charging batch ( = 1, 2, . . .,  − 1).
The batch with the smallest weight is removed because, in actual production, how to arrange the last batch can affect the planning of job schedule.If the last batch has a small weight, it can be brought into the next production cycle for heating or take some workpieces from the next production cycle to form a new batch with it and heat together.Therefore the average charging amount is defined as above for planning a job schedule.Definition 2 (average charging difference).The charging amount represents the batch weight while the difference between the maximum furnace capacity and the batch weight is represented by charging difference.All batches in a job schedule are again descendingly ordered by weight and then take the average charging difference of first  − 1 batches as the average charging difference for this job schedule; that is, where  is the average charging difference and  is the maximum capacity of heating furnace.
From the above, this kind of combinatorial optimization can be described as follows.
Providing there are  workpieces with similar holding temperature and holding time and the weight of each workpiece is known, those workpieces have to be divided into  batches and each batch corresponds to a heating job.The maximum capacity of furnace is  and the weight of workpieces to be heated will not exceed the maximum capacity of furnace.However, the smaller the difference between weight of workpieces and maximum capacity is, the higher the heating efficiency is.The optimization goal is to minimize the quantity of charging batches while maximizing the average charging amount.

Basic Assumptions.
To facilitate the study, the following assumptions are taken to establish the charging combination optimization model for energy saving.
(1) Each workpiece is allocated to a charging batch.
(2) A workpiece would be subject to several heating steps.
For example, it would be heated again after forging.Because its initial temperature, finishing temperature, and heating time are all defined in process specifications and its tapping temperature is always the same, it can be considered as a constant heating process with the heating steps being ignored.It is assumed that each batch is only heated one time in one furnace.
(3) A batch of workpieces are charged and heated at the same time.Once the heating process is started, interruption is not allowed, which means that any workpiece cannot be taken out of the furnace before reaching the final temperature equalizing time.In addition, new workpiece will not be added into the furnace before current heating is finished.
(4) The capacity of next working procedure (machining) is sufficient.
(5) The job size is within the scope of capacity of equipment, which means that the scheduled job does not exceed the maximum processing capacity of equipment.
(6) The biggest weight of workpiece does not exceed the maximum loading capacity of heating furnace.
(7) Because the workpieces in a batch are charged and tapped together with similar holding time and holding temperature, the constraint of minimum total processing time can be ignored.

Modeling.
The optimization problem for charging combination in this paper is similar to the bin packing problem while workpieces and charging batches are described as the materials and the bins in the bin packing problem, respectively.It is required that the weight of workpieces in each batch will not exceed the allowable maximum weight and each workpiece has to be allocated to only one batch.The goal of a bin packing problem is to ensure all materials can be packed in bins while using bins as less as possible.However, the goal of this optimization model is to minimize the quantity of charging batches and to minimize the average charging difference.
Equation (5) indicates that each workpiece  can be allocated to only one charging batch .
Equation ( 6) is the constraint for batch weight, indicating that the total weight of workpieces in a batch will not exceed the maximum capacity of the furnace.Equation ( 7) defines the scope of quantity of charging batches by giving a lower limit for the quantity of charging batches, that is, ∑  =1   .It is assumed that workpieces can be separated and allocated to different batches.
Equation ( 8) is the decision variable.

Algorithm Design
As a typical combinational optimization problem, the bin packing problem [8] can be classified as a NP complete problem.The combinational optimization is to seek optimal combination, separation, ordering, or screening by using mathematical methods.It is a classical and important branch in operations research.Metaheuristic algorithm is a good way for solving such kind of problems [9].So for the mathematic model for energy-saving optimization of charging combination, the genetic algorithm in the metaheuristic algorithm is used for solutions.

Genetic Algorithm.
The genetic algorithm (GA) was proposed by Ling in 1975 who was inspired by the biological evolutionism [10].GA is a global searching method and is characterized by randomization.Since it operates on objects directly, it is not subject to constraint of continuity during derivation process.Additionally, its optimizing way is characterized by randomization and self-adaptable search, so it is not necessary to define clear rules, resulting in advantages of excellent global optimizing capacity and implicit parallelism.GA is an optimization algorithm based on the theory "survival of the fittest" and is characterized by randomization, parallelism, and self-adaptation.It labels the feasible solutions of a problem into chromosomes and simulates the surviving process of creatures through evolution of populations with different chromosomes.For those populations, iteration will be performed for selection, crossover, and mutation in order to obtain individuals which adapt to environment best.Those individuals are the optimal solutions of primal problem.
Main steps for GA are as follows [11]: (1) decoding and coding for optimization problem; (2) construction and application of fitness function; (3) genetic operations (including selection, crossover, and mutation).
Flowchart for standard GA is shown in Figure 1.

Genetic Algorithm Design Based on Charging Batch
Weight Fit.In the abovementioned model, all workpieces are charged and tapped as a batch for heating in a furnace and the process is very similar to job scheduling.The charging combination is similar to the batching step in job scheduling, so, during algorithm design, we can refer to the method used to solve a job scheduling problem.Currently many researches use jobs ordering to express individuals or paths for an algorithm and carry out batching based on heuristic algorithm for solutions.Since the optimization goal in this paper is different from those, a genetic algorithm based on batch weight fit rule was established and each job was considered as an individual for solving.
(1) Batching Algorithm Based on Batch Weight Fit.Because the chromosome is directly composed of charging batch numbers, the weight of a batch would exceed maximum capacity of heating furnace (infeasible solution) when randomly generating individuals.Therefore when initializing population, such kind of chromosomes with infeasible solutions will be improved by the batch weight fit (BWF) rule described in literature [12].The BWF rule aiming at the batch with excessive weight in chromosome is used to take the workpiece with excessive weight out of the batch and put it into another proper batch as far as possible.If no proper batch can accommodate this workpiece, create a new batch for it.The BWF rule is adopted in this paper to form the batch weight fit rule for solving the abovementioned model problem.
Steps are as follows.
Step The algorithm flow according to batch weight fit rule is shown in Figure 2.
(2) Genetic Algorithm Design Based on Batch Weight Fit Rule.A chromosome in algorithm represents a batching solution, the arrangement of chromosome genes corresponds to the arrangement of workpieces, and the gene value represents the batch number assigned to the workpiece.Because the value of a chromosome gene is an integer within the scope defined by the quantity of charging batches , the integer coding way can be used to randomly generate chromosomes.The chromosome in Table 1 indicates that workpieces 1 and 4 are allocated to the 3rd batch, workpiece 2 is allocated to the 2nd batch, workpieces 3 and 6 are allocated to the 4th batch, and workpiece 5 is allocated to the 1st batch.But this coding way could lead to null batch, which means those batch numbers in chromosome are arranged discontinuously.So the code shown in Table 2 would occur.
In this case, the batch number at position 2 is null.Because the null batch can cause difficulties to model interpretation and problem solving, the continuity rule is adopted for batch numbers in order to make those numbers continuous.
Continuity Rule for Batch Numbers.If a null batch occurs in a chromosome, shift numbers behind this null batch one position forward in succession (batch number minus 1) to fill this null position and make batch numbers continuous.Finally the biggest batch number is equal to the quantity of batches.What is shown in Table 3 is the code by repairing the chromosome in Table 2 according to continuity rule for batch numbers.
Details of hybrid genetic algorithm according to batch weight fit rule are as follows.
Step 1 (coding of individuals).Use integer coding way to randomly generate chromosome and use batch numbers as its gene values.Because new batch will be generated when using the batching algorithm based on batch weight fit rule, set 1/2 of the lower limit in model as the initial quantity of batches, namely, [  /2].
Step 2 (population initialization).Use the coding way in Step 1 to generate a chromosome population with initial size of .The batch weight fit rule is also used to repair infeasible solution and continuity rule for batch numbers is used to make batch numbers in each individual continuous.
Step 3 (construction of fitness function).Because the quantity of batches in model is the less the better but the average charging amount is the bigger the better, the fitness function is constructed as follows: Step 4 (selection).Use the classical roulette wheel way for selection of individuals.Step 5 (crossover).Use dual-point of tangency for crossover.After transition, any chromosome with discontinuous batch numbers will be repaired by the continuity rule.In case of a chromosome with batch weight exceeding the maximum capacity of furnace, use the batch weight fit rule to repair it.
Step 6 (mutation).Use the interchange way to randomly select two genes from a chromosome and interchange their positions.If the chromosome generated by mutation includes a batch weight that exceeds the maximum capacity of furnace, use the batch weight fit rule to repair it.
Step 7 (algorithm termination).Once the biggest number of iterations is reached or the optimal solution cannot be improved, the algorithm is terminated.Then the optimal solution solved through the algorithm can be obtained.
The algorithm flowchart is shown in Figure 3.

Types of Workpieces to Be Charged and Related Parameters.
Providing a forging company has to deliver the goods within a predefined period, all workpieces are separated and combined to generate a group of jobs.The workpieces with similar heating curve, that is, similar holding temperature and holding time, are classified into the same type and the workpieces contained in a job will be of the same type.The method described in the last section is used to obtain optimal result, which is subsequently compared with the result obtained through the traditional manual batching method.The maximum capacity of heating furnace is 8T and related parameters of workpieces are listed in Table 4.

Traditional Batching Method.
The traditional batching is normally carried out based on experiences with the following principle: first separate workpieces into different aggregates and calculate total weight of each aggregate.The weight exceeding maximum capacity will be put into a new batch for charging.Carry out this process for all aggregates until each batch is not overweight.Regarding those batches as individuals, descendingly order them according to weights and initially consider each aggregate as a charging batch.Start matching from the batch with the biggest weight and if two or more aggregates can be combined into a batch, combine them.Otherwise take it as a single batch.
The batching plan figured out by the traditional way is as follows: number of batches is 9 and average charging amount is 7688 kg.The details of charging batches are shown in Table 5, where (1) the weight of the 1st batch is 7452 kg including 9 pieces of workpiece J9; (2) the weight of the 2nd batch is 7800 kg including 7 pieces of workpiece J9 and 6 pieces of workpiece J14; (3) the weight of the 3rd batch is 7934 kg including 10 pieces of workpiece J10 and 8 pieces of workpiece J3; (4) the weight of the 4th batch is 7954 kg including 25 pieces of workpiece J13 and 7 pieces of workpiece J18;

Start
Select a batch b to check whether its weight exceeds maximum capacity of Check each batch to see whether the weight exceeds maximum capacity of furnace Select workpiece j from batch Have all batches been adjusted for proper weight?End furnace and calculate batch weight s b and charging difference Δs b = S − s b into queue B Select batch b from queue B b and calculate Δs bj = s j + Δs b Select workpiece j m with the biggest weight, remove it from b, add it into J  update Δs b = Δs b < 0? Select workpiece j  corresponding to , remove it from b, and add it intoJ  Calculate charging difference = Δs b − s j after j  is added into each batch Select batch b corresponding to the smallest move j into it, and update Δs b = Create a new batch b new , move j into it, and update Δs b new = S − s

Figure 2 :
Figure 2: Batching algorithm flowchart according to batch weight fit rule.

2 Let k = k + 1 Crossover 1 ]Figure 3 :
Figure 3: Flowchart of genetic algorithm based on batch weight fit rule.
1. Search for batch with weight exceeding maximum capacity of furnace and move it into queue   .Calculate current weight   of batch  and current charging difference Δ  (difference between maximum capacity  of furnace and   ): Δ  =  −   .If the charging difference Δ  < 0, the batch weight exceeds the maximum capacity of furnace and thus batch  has to be adjusted (move batch  into queue   ).After all batches with weight exceeding maximum capacity of furnace are found, go to Step 2 for adjusting the batch weight.Pick batch  out of queue   and select workpieces which have to be removed from batch  to form an aggregate   .Calculate the sum Δ  between weight   of workpiece  in batch  and Δ  : Δ  =   + Δ  .Among those workpieces with Δ  ≥ 0, select the workpiece   with the smallest Δ  and remove it from batch .Then add it into queue   , update Δ  = Δ   , and go to Step 3. If there is no workpiece with Δ  ≥ 0, remove the workpiece   with the biggest weight from batch  and add it into queue   .Then set Δ  = Δ   and go to Step 2 for readjusting.Pick workpiece  out of queue   and allocate workpiece  into a new batch.Calculate the charging difference Δ   = Δ  −   after allocating workpiece  into a new batch.If there are several batches with Δ   ≥ 0, select the batch  with the smallest Δ   .Then move workpiece  into batch  and update Δ  = Δ   .If there is no batch with Δ   ≥ 0, create a new batch  new and move workpiece  into batch  new .Then update the current charging difference Δ  new =  −   of batch  new .Go to Step 2 and continue to adjust weight of other batches until all batches are properly adjusted.

Table 1 :
Code message of one chromosome.

Table 2 :
Code with null batch.

Table 3 :
Code message after using continuity rule for repairing.