3.1. Problem Definition and Modeling
The schematic diagram for the bakery production scheduling optimization procedure is shown in
Figure 2. Information about products, machines, and personnel work schedules is required for bakery production scheduling optimization. For a product, the duration of each processing task and the machines that can carry out the task are fundamental to optimization. Furthermore, manual operations must be explicitly recorded to maintain a continuous process flow. Since the employees are limited in number, their working plan is necessary to allocate the task among them accordingly. Based on the collected information and any given production sequence, a schedule is simulated using proposed NWFSSM. To begin with, the bakery’s actual production sequence is used to determine the current makespan and OIDT. The next stage involves running an optimization algorithm to find optimal solutions with a minimized makespan and OIDT. NWFSSM is used to simulate the production schedule each time the algorithm delivers a new production sequence. During the optimization process, the calculated makespan and OIDT are employed as quality criteria to contrast generated production sequences. The optimization is carried out until a stopping criterion is met.
In bakeries, many machines are often available to complete a task, such as a stone oven, oven chamber A, and oven chamber B for baking. The duties assigned to the machines are determined by their functionality and the product requirement. As a result, a product that requires a baking chamber can be assigned to either oven chamber A or oven chamber B rather than the stone oven. Sometimes the dough of more than one product is prepared and kneaded to take advantage of the same ingredients and resource capacity. However, after completing a few tasks, the dough separates to conduct additional treatments, which are distinct from one another. There is no general procedure for separating dough, as it depends on the product recipe, machine functionality, and machine capacity in the following stages. Since the dough for the products is common, none of them can be scheduled independently at any time. Therefore, it is convenient to organize the bakery products into different groups (G) based on predecessor constraints.
Table 1 shows an example of production data for one group with one pre-product and three products (P). Each product in a group has a bowl processing time, indicating how long it must wait after the processing of the group has started. One product in a group has no waiting time, meaning it has no predecessor and, thus, can start at any time.
The rest of the products in a group must wait for a certain period to initialize the processing. This waiting time specifies the time difference between two products within a group; however, there is no time difference between the two stages of a product. In the data shown in
Table 1, the pre-product has no predecessor. Products A, B, and C, in contrast, can start after the pre-product with bowl process periods of 25 min, 35 min, and 47 min, respectively. Here, the bowl process period is the sum of the duration of preparation, kneading, and bowl resting period. Product A has no bowl resting period, as it begins right after the kneading is completed. In contrast, product B and product C have bowl resting periods of 10 min and 22 min, respectively. In practice, a manufacturing line has several product groups like this, which must be produced as efficiently as possible. The efficiency of production is determined by the order in which these groups are produced.
Figure 3 shows the schedule for a group of products using the data presented in
Table 1. The dough is prepared and kneaded together before being split into several items, signifying that the pre-product is the predecessor for other items. Similarly, after the dividing for product A is completed, the dividing for product B begins, indicating the presence of a machine block. Product C has a recipe-based predecessor and starts after shaping for product A is completed. Meanwhile, the processing of the products runs in parallel, without waiting until the final stage is completed.
In another scheme, despite the initial treatments being wholly separate and different, two or more unfinished products are later merged. In practice, it is inefficient to run an energy-consuming device when part of its capacity is unused, which wastes energy. Therefore, bakers combine goods from various processing routes, but have similar machine requirements to perform the following task: baking in the same oven, at the same temperature, for the same amount of time. In such instances, hybrid NWFSSM should arrange the schedule so that the start time for the combined stage is the same.
Figure 4 illustrates the schedule of three products that are to bake together. Ideally, in the flow shop model, one machine can perform one task of one product at a time. However, to meet the demands of an actual situation, we consider that an oven can simultaneously perform the same task for several products in the same group. The hybrid NWFSSM is explained in
Appendix A.
Multi-objective optimization is applied in many real-world problems when a process must fulfill multiple criteria or objectives that conflict with one another. The advantage is that several optimal solutions show distinct tradeoffs between the objectives that facilitate decision-making. Given a decision space
, mapped into
for
objective functions
, a multi-objective optimization problem can be stated as follows.
where
are conflicting objective functions such that satisfying one function can result in other functions being unsatisfied.
Pareto dominance is a fundamental idea in multi-objective optimization that precisely describes objective values. The benefit of using Pareto dominance is that it eliminates the need for additional information from the problem set when comparing objective vectors. To define the Pareto dominance, given two vectors in the decision space,
and
is said to dominate
(
) if and only if
. In words,
dominates
, if
is not worse in any objective and better in at least one objective than
[
32,
33].
The Pareto efficiency, also known as Pareto optimality, refers to the solutions in a decision space, where improving one of the objectives causes at least one of the others to deteriorate. The collection of Pareto optimal solutions expressing the best trade-offs between the objectives are known as non-dominated solutions, forming the Pareto frontier (PF).
Figure 5 describes the concept of the Pareto frontier where solutions A, B, and C are Pareto optimal solutions and represents PF for two objective functions,
and
. Solution D is dominated by solution B because it improves
while not worsening
, and thus is not a Pareto optimal. The Pareto dominance operator can be used to separate weak solutions like D from the solutions in PF.
3.2. Optimization Algorithms
A product group sequence is a set of discrete numbers that expresses a solution to a problem, such as for groups. Each number indicates a product group, and the order in which the numbers appear in the sequence indicates when the product’s process begins. From a mathematical standpoint, for product groups, there are potential solutions, with each consisting of unique integers.
In
Appendix B, Algorithm A1 shows the structure of NSGA-II that finds a set of Pareto optimal solutions [
34]. Many studies have performed this algorithm as a classical approach to solve multi-objective optimization problems [
35,
36,
37,
38].
Figure 6 illustrates the general procedure for NSGA-II. Initially, it has a random population
of size
where members of the population are called individuals
. One individual is a sequence of product groups. Individuals are evaluated using NSFSSM to find their fitness vectors, which are made up of objective values. The population is sorted into different ranks using the fast non-dominated sorting approach, which is explained later.
The offspring of the same size is created using crossing over and mutation operators. A binary tournament selection routine is employed to find parents from the current population to construct an offspring individual. In this process, four random individuals from the current population are compared and the individual with the best rank is chosen as one of the parents. The same procedure is followed to select another parent to perform crossing-over and mutation. The combined population of size is formed. After evaluation, the population is sorted into different ranks. The best parent individuals for are chosen from the combined population. Since the combined population is double in size compared to the actual population size , a screening procedure is employed. The selection criterion is the individuals’ fitness, with the best rank taking priority.
If individuals at the best rank, such as
, are insufficient to fill the population slot, the nearest ranks are sequentially utilized until the population size is
. When a rank contains more individuals than the empty slots, it is difficult to establish the precise
size of the best population. Therefore, a crowding distance operator (
Figure 7) that computes the distance between the individuals in one front is performed. The crowding distance for border solutions is set to infinity as an exception. The individuals are sorted in descending order of crowding distance to choose the solutions of higher crowding distance first and fulfill the remaining slot in the parent population
.
Figure 6 illustrates that the
front, which carries more individuals than the empty slot for
, falls under the crowding distance sorting.
.
The description of the non-dominated sorting operator is as follows. The population is sorted into different ranks,
where
, based on the Pareto dominance operator (
Figure 8). In other words, the fitness of individual
is compared with that of other individuals,
. There are three conceivable outcomes when comparing two individuals; say
and
:
dominates
,
dominates
or no one dominates none. Finally, the number of other individuals that dominate individual
is recorded as the sum of domination. The sum of domination determines the rank of
. The rank starts from
and
can be a member of this rank if no other individuals dominate it (sum of domination is 0). The rank
contains the individuals that provide Pareto optimal solutions to the problem. An increase in the value of
in
signifies a decline in Pareto strength. The individuals in
forms an independent front; however, all of them are suboptimal compared to the individuals in rank
(
Figure 8). Similarly, based on the individual’s dominance level, the entire population is ordered into distinct ranks. The larger an individual’s sum of domination, the higher the
value for its front
, implying a weaker solution to the problem. This approach is known as fast non-dominated sorting, which divides the population into separate fronts [
34].
The crossover operator in NSGA-II creates a new production sequence (offspring) from two separate parent sequences. Combining segments from distinct sequences allows for product groups to be repeated and eliminated, effectively breaking the solution technique.
Figure 9 shows an example of the single-point crossover between parent solutions,
and
using the proposed Algorithm A2, shown in
Appendix B.
The offspring
is taken from the parent
; only
is randomly shuffled (
Figure 9a). To form offspring
(
Figure 9b),
, and
should be taken. However, it is clear that
will be repeated and
will be removed from the offspring. Therefore, the elements in
which are not present in
with this order, are considered to avoid repeating the same numbers in
.
Furthermore, we apply swap and reversion mutation operators to two randomly selected regions to maintain a higher level of population variety (
Figure 10). In swap mutation, two numbers in one individual are randomly chosen and swapped so that they exchange their locations. In contrast, all the numbers between two random points are reversely ordered in reversion mutation. The parameter settings of NSGA-II are shown in
Table 2.
The Pareto-based multi-objective random search algorithm (RSA) procedure is as follows.
Step 1. Initialize the number of iterations and evaluate a random solution using hybrid NWFSSM. Save the fitness vector with makespan and OIDT in a repository of non-dominated solutions. The main loop of the random search algorithm starts from the next stage.
Step 2. Generate a new random product group sequence and calculate its fitness using hybrid NWFSSM.
Step 3. Using the Pareto dominance operator, compare the fitness of the new solution to the repository solutions. The new solution should only be added to the repository if none dominates it. Otherwise, discard the new solution.
Step 4. Erase an old solution from the repository if the newly added solution dominates it.
Step 5. Repeat the procedure from Step 2 to Step 4 to complete the number of iterations. The members of the repository are the set of Pareto optimal solutions for a given problem.
In 20 trials, employing each of the problems separately, it was observed that the Pareto fronts for the NSGA-II exhibited no improvement from 100 to an increase in the iteration for up to 500 iterations. In practice, production scheduling is routinely carried out, and finding optimized schedules within the shortest computational time is preferable. Therefore, in this study, NSGA-II was performed with a population size of 50 for 100 iterations, while RSA was performed with 5200 iterations to achieve approximately the same computational time. Depending on the problems, the computational time varied from 16 min to 20 min. The Pareto front (PF) for a problem is not initially known. Therefore, we take collective non-dominated solutions from the algorithms and refer to them as the PF to compare the performance of the individual algorithm.
The algorithms’ performance was assessed using Equations (2) and (3), which calculate the closest proximity to the PF (CPF) [
39] and the maximum spread of the solutions in the front (MSF) [
40], respectively. A smaller CPF value indicates that the front of an algorithm is near the PF and thus performs better. In contrast, a higher MSF value indicates the better performance of an optimization algorithm.
where
is the number of solutions in the Pareto front and
is the Euclidean distance between the
solution and its nearest solution in the front found by the Algorithm that is under evaluation.
where
is the number of objectives,
and
are the maximum and minimum values of the
objective in PF, respectively,
and
are the maximum and minimum values of the
objective in the front, provided by the algorithm under evaluation.
The conversion rate (
CR) from best makespan to
OIDT reduction in alternative Pareto solutions is calculated using Equation (4).
where
and
are oven idle time (OIDT) and makespan at the best makespan solution, respectively, and
and
are OIDT and makespan at an alternative Pareto solution point, respectively.