1. Introduction
This paper is motivated by the current situation in a manufacturing industry that produces a variety of products in response to fulfilling orders from a large number of customers from various countries. This manufacturing industry operates using a make-to-order (MTO) strategy. Because shipping containers are currently very expensive, this industry prioritizes that each container sent has the best load efficiency possible, which is close to a full container load. In this manner, the production planning department will await the shipping department’s product delivery schedule in the form of a container delivery schedule and the contents of each container within a specific planning period, such as the next 4 to 8 weeks.
The production planning department is in charge of creating a production schedule in order to meet the delivery schedule established by the shipping department. Based on their experience, the company needs to minimize product variation in each period of the planning horizon. They also preferred to balance the production load across the period.
In the make-to-order environment, determining the production schedule is important [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10]. This decision is made for satisfying various purposes, with the most common purpose being to meet the customer delivery due dates [
1,
4,
10,
11,
12,
13,
14,
15]. Frequently, this production schedule decision is made in conjunction with other decisions. Furthermore, this production schedule decision frequently influences subsequent decisions. Examples of related decisions to production schedule are supplier selection [
2,
16], price [
4,
14,
17,
18], and transportation [
1,
18,
19,
20,
21,
22].
Previous research has demonstrated that the production schedule can be prepared using a mathematical programming approach by considering a variety of settings, constraints, and objectives. Galbraith and Miller [
23] discussed a scheduling problem for a multi-objective, multi-period, multi-product manufacturing operation in terms of four objectives: capacity utilization, delivery schedule compliance, cost minimization, and overtime minimization. They compared the approaches of mathematical programming and simulation to solve the problem. Hill [
24] proposed a mathematical model in which a manufacturer purchases raw materials, fabricates products, and distributes them on a regular basis to a single customer. The model’s purchasing and production schedules are output decisions with the goal of minimizing total costs, with each production run divided into multiple shipments. Bahroun et al. [
25,
26] considered the situation in a factory that produces multiple products and faces cyclic demand, i.e., the delivery schedule is repeated in the long run. They proposed a production model for creating production sequences. Li et al. [
27] discussed a manufacturing environment in which machines operate in parallel and require periodic maintenance. They proposed mathematical programming models for creating production schedules. Sun et al. [
28] proposed a novel mathematical programming model for scheduling production in the steel industry that takes energy consumption and carbon emissions into account in addition to traditional production performance indicators.
As demonstrated in the preceding studies, the production schedule is inextricably linked to the delivery schedule. As a result, numerous researchers are also developing simultaneous or integrated planning between production and delivery schedules. Li et al. [
29] examined several integrated production, inventory, and delivery problems where customers specify delivery dates. They proposed an integrated model with the goal of finding an integrated schedule for processing orders, keeping finished goods, and delivering them to customers that minimizes inventory and delivery costs. Fu et al. [
30] proposed an integrated production and delivery scheduling model, in which each job is occupied with release dates and deadlines. Nogueira et al. [
31] discussed integrated production and delivery planning in which parallel batching machines are available and orders are generic in size and processing time. Masruroh et al. [
32] proposed an integrated production and delivery scheduling model for manufacturers who produce many products and whose manufacturing setup is dependent on the production sequence. They aimed to reduce production costs to increase annual gross profit. Mohammadi et al. [
33] discussed an integrated production and delivery schedule, where the manufacturer is using a make-to-order strategy supported by multi-purpose machines. Their mathematical model has two objectives, which are minimizing total costs and minimizing precision on delivery.
Despite the extensive research in the past reviewed in the previous paragraphs, a new situation has arisen that requires a solution, which is to develop a production schedule that adheres to the load-optimized delivery schedule while minimizing production variation and balancing production load. The purpose of this article is to propose a mathematical model for addressing the production scheduling problem. The model is proposed in the form of integer programming and can be solved using LINGO, a commercial mathematical programming software. This article also demonstrates the effectiveness of the proposed model through several examples. The mathematical model and its solution method for coordinating production and delivery schedules is the main contribution of this article.
The remainder of this manuscript is organized as follows: In
Section 2, Materials and Methods, the problem and mathematical model are defined, and the solution method is explained.
Section 3 demonstrates the effectiveness of the proposed mathematical model and solution method by applying them to solve several scheduling cases involving a variety of problem settings. The conclusion of this manuscript is presented in
Section 4, along with some remarks for future development.
2. Materials and Methods
As stated in the preceding section, the purpose of this paper is to propose a new mathematical model for optimizing the production schedule in a manufacturing industry where the delivery schedule has previously been optimized in terms of the container delivery schedule. The production scheduling issue involves a multitude of products and customers. It also planned for multiple time spans. In the mathematical model, the number of products, customers, containers, and time span can be set flexibly, allowing the model to be applied to a variety of situations, i.e., problems with varying numbers of products, customers, containers, and time spans. After describing the problem and mathematical model in
Section 2.1,
Section 2.2 explains the solution method.
2.1. Proposed Mathematical Model
This mathematical model is intended to solve the problem described below. The problem is to create a production plan for P periods, that is, from t = 1 to t = P. For these P periods, the shipping department has issued a tentative delivery schedule for K containers, each of which contains L products. It is called tentative because there are three possible delivery schedules for a container. Some containers must be shipped within a specific time frame, such as the 3rd period. There are also containers that can be shipped within a specific time frame, for example between the 5th and the 8th period. Finally, there are also containers that can be sent at any time during the span.
The contents of each container have already been determined by the shipping department. In other words, the data input for this problem is the quantity of product i inside container j, denoted as Qij.
This problem has two sets of decision variables: the delivery schedule and the production schedule. The delivery schedule set the shipping delivery time for each container. The delivery schedule is specified in this mathematical model as binary variable
xjt, which is defined as
The production schedule details which products are manufactured during each period, as well as the quantity produced for each product. In this problem, it is assumed that the completed product within a specified time is shipped immediately in the same time period. The production schedule is also specified as binary variable
yit, which is defined as
The company wants to minimize product variation in each period of the planning horizon. Therefore, the sum of decision variables is being set to be minimized.
The quantity of product
i to be shipped at period
t can be calculated as
. Based on the assumption, this quantity is also equal to the quantity of product
i to be manufactured at period
t. The load factor is also defined for product
i or the total production time for one item product
i as
li. Therefore, the production load at period
t can be calculated as
The production load for each period needs to be balanced. If the total balance condition can be satisfied, then the production load in each period is equivalent to the average overall production load. The parameter
α is introduced here to anticipate the variety of possible cases and to provide production planners with flexibility, in which the production load at a certain period is set within α fraction from the average. Mathematically, it is written as the following two equations.
It is anticipated that by providing greater flexibility to the production load balance, i.e., a greater value of α, the problem is more relaxed, thereby increasing the likelihood of achieving a better objective function value, i.e., a smaller sum of decision variables . In the results section, these effects will be studied and discussed in detail.
The complete mathematical programming formulation is presented below. Equation (6) is the objective function, while Equations (7)–(12) are the constraints. Equations (7) and (8) are the constraint for balancing the production load for each period. Equation (9) is defined to ensure that each container is only being scheduled to be delivered in only a single period. Equation (10) is defined to ensure that the delivery schedule can be supported by the production schedule, i.e., the product inside the container delivered at period
t is scheduled to be manufactured in the same period. The parameter
M on the right-hand side of this equation refers to a large positive number, like the parameter in the well-known Big-M method. Equations (11) and (12) are the definition of binary decision variables.
Additional constraints may be added to address the tentative delivery schedule. If a container must be shipped at a specific period, the respective delivery schedule decision variable for that container for that period is set equal to 1 and the variables for other periods are set equal to 0. For example, if container 3 must be shipped at period 2, the following constraints are set
Similarly, if container 4 can be shipped during periods 1 to 4, the following constraints are set
2.2. Proposed Solution Method
To assist the production planner in solving the proposed mathematical model presented in the previous subsection, the following solution method is proposed. This method stores both the input and output data in Microsoft Excel
® spreadsheets. By using a Microsoft Excel spreadsheet, the production planner gains the advantage of being able to conveniently enter data and read the output in a format that is commonly used in their company’s business processes. Hereinafter, the mathematical model described in
Section 2.1 above is solved using a well-known mathematical programming solver, LINGO
® version 18. The designed solution procedure consists of the following steps:
- (a)
The data model is entered into the Excel spreadsheet file;
- (b)
The mathematical model is solved using LINGO;
- (c)
The production and delivery schedule output are read from the Excel spreadsheet file.
In the first step, a special effort should be made to make the data input and output transferable between Microsoft Excel and LINGO, which uses the “Define Name” feature in Microsoft Excel. All parameters and variables used in the mathematical model, which are
P,
K,
L,
Q,
l, α,
x, and
y, had to be identified by assigning a specific range in the worksheet to each name.
Figure 1 demonstrates how to define the selected range in the worksheet as the parameter
Q for the scheduling case of 18 products and 12 containers. Before the screenshot in
Figure 1 appears, two actions are required: selecting the cell range and clicking the Formula tab’s “Define Name” button.
In the second step, the mathematical model is solved using a well-known mathematical programming solver, LINGO
® version 18.
Figure 2 illustrates a typical LINGO Model of the proposed mathematical model. The SETS...ENDSETS statement defines the sets, parameters, and variables. The values of parameters and variables are defined in the DATA...ENDDATA statement, which uses the @OLE function to retrieve data from a Microsoft Excel
® worksheet. Additionally, the @OLE function returns the values of decision variables
x and
y to the corresponding Excel worksheet. It is noted that the worksheet referenced in the illustration is “DATA.XLSX”, which is located on the computer’s E drive. The remainder of the LINGO statements represents the mathematical programming expressed in Equations (5)–(10). For details on the syntax, please refer to the LINGO Manual book.
It is also noted that this LINGO model is free from specific values for the number of products (L), containers (K), and periods (P). These input parameters are set already through the Microsoft Excel spreadsheet. Therefore, if there is a need to make a production and distribution plan with a different number of products, containers, or periods, the same LINGO model can be used directly, but the input parameters in the spreadsheet must be updated.
In the third step, the production and delivery schedule as the solutions of the mathematical model, which are defined as decision variables
x and
y, can be obtained in the corresponding range name in the Excel spreadsheet file. The format of these decision variables in the Excel spreadsheet is also designed such that it is convenient to read by the production planner.
Figure 3 displays an example format for the variable
y, which represents the production schedule. It can be seen from the figure that the production schedule for each product can be read from its corresponding line. A value of zero in a column indicates that the product is not scheduled to be manufactured during that period. Otherwise, a value of one indicates that the product is scheduled to be manufactured during that period. In
Figure 3, for example, product P1 is scheduled to be manufactured in period 3 and product P9 is scheduled to be manufactured in period 1.
4. Conclusions and Further Works
Based on the results of the calculations for the four preceding cases, the mathematical model and proposed solution were successful in resolving the problem of delivery and production scheduling coordination. The four cases above illustrate a variety of possible real-world scenarios, including variations in the number of products, the number of containers, the number of planning periods, and various tentative delivery schedules.
In the proposed mathematical model, there is a parameter called α, which is used to balance the production load across periods. The computational results over all cases considered concluded that the larger the α, the smaller the value of the optimum objective function. However, that causes a wider range of production loads. It is essential to communicate with the company’s production manager in order to determine the value of α used in the model so that the solution method can obtain the best objective function for the chosen α value.
This research can be expanded by considering some realistic aspects of production and delivery schedules that exist in the real world. These additional factors may impose constraints on the mathematical model. Simultaneous scheduling of delivery and production is another area of future research.
Despite the success of mathematical programming in coordinating delivery and production schedules, the size of the resulting mathematical models will grow exponentially as more containers, products, and planning periods are introduced. Case 1 involves 428 integer variables and 11,081 constraints, whereas Case 2 involves 405 integer variables and 8048 constraints. The size of the model increases to 972 integer variables and 19,248 constraints if the planning period for a case like Case 1 is increased from 4 to 12 periods. This larger problem size will eventually cause the mathematical modeling solver’s computation time to increase. For this reason, it is still necessary to develop the solution of mathematical models using other techniques, such as metaheuristics or other computational techniques, so that mathematical models can be solved more quickly.