Scheduling of batch plants-Deterministic Model
Problem definition
The scheduling problem of a multiproduct batch plant under product demand uncertainty is solved to obtain a scheduling policy such that the expected profit is maximised. The production lines, a set of products to be produced with their given recipes, the time horizon, the economic data and the distribution probabilities associated to the uncertain parameters are given. The scheduling policy involves the number of batches to be produced of each product, the detailed sequence and the starting and final times of each operation performed.
The following assumptions have been made:
· One production line with assigned equipment units is considered. This assumption can be easily relaxed.
· The zero wait transfer policy is adopted. Under this policy, an intermediate product must be immediately transferred to the next processing step just after its production. Neither intermediate storage nor waiting times in the processing units are available. This assumption could be easily modified to consider other transfer policies.
· The scheduling policy is addressed for a time horizon of one month.
· Fixed inventory and penalisation costs are adopted for each product.
Deterministic model
The deterministic model, with serves as starting point for the proposed stochastic approach, is formulated as a MILP problem based on a batch slot concept. With this formulation, the time horizon is viewed as a sequence of batches, each of which will be assigned to one particular product. The decision variables involve the number of batches to be produced along with the sequence and the starting and finishing operation times.
The proposed mathematical model is as follows:
Objective function
The objective function (E.1) maximises the profit value (P) taking into account the sales of each product, the inventory costs associated to the amount of product produced but not delivered, and a penalisation cost for production shortfalls. The last term incorporated on the right hand side of the equation is a timing term, which assures that the operations will start as soon as possible.
/ E. 1Constraints
Equation (E.2) represents the time horizon constraint and expresses the requirement of all tasks to end within the time horizon H.
/ E. 2To assign to each batch the operation processing times of the correspondent product the following constraint is incorporated:
/ E. 3The binary variable X(b,p) takes the value of one if product p is produced in batch b and the value of zero, otherwise. Hence, the time of the operation o for batch b corresponds to the operation time of the product that is assigned to batch b. The connections between the starting and final times of each operation within a batch are provided by the following constraint:
/ E. 4To express the requirement of the initial time of every operation from one batch to start after the same operation in the previous batch the precedence constraint in equation (E.5) is used. In the same way, the sequence constraint in equation (E.6) assures the zero wait transfer policy within one batch.
/ E. 5/ E. 6
The binary variable X(b,p) is defined in constraints (E.7) to (E.9).
/ E. 7/ E. 8
/ E. 9
Equation (E.7) expresses that at each batch b only one product can be performed. In equation (E.8), the number of batches produced of each product n(p) is computed. Since a maximum number of batches is allowed, it is possible that not all of them will be required thus assigning a value of zero to all X(b,p) variables from one batch. Equation (E.9) assures that empty batches will be placed at the end.
To express that the number of batches required for all products will not exceed the maximum number allowed, constraint (E.10) is added.
/ E. 10Finally the following equations are required to evaluate the sales V(p), inventory I(p) and the production not delivered F(p) for each product.
/ E. 11/ E. 12
/ E. 13
Constraint (E.11) expresses the sales of each product as the minimum between the demand and the quantity produced. An amount of product higher than the amount produced can not be delivered. In equations (E.12) and (E.13) the inventory and the unsatisfied production for each product are computed, respectively.
Example
The multiproduct batch plant considered consists of one defined production line involving four production stages. Five different products are to be produced within a time horizon H of 1-month (720 h). Product demands are considered as uncertain parameters characterised by normal probability distributions. To represent this uncertainty, 500 independent scenarios were simulated.
The problem data related to batch sizes, processing times, sales prices, inventory and penalisation costs for production shortfalls, and the mean and standard deviation from demand distributions for each product are given below in Tables 1 to 4. The maximum number of batches allowed were 70. To solve all model formulations, all problems have been implemented in Gams and solved using the CPLEX solver (7.0).
Table 1. Batch sizes
Product / Batch Sizep1 / 80
p2 / 100
p3 / 500
p4 / 220
p5 / 250
Table 2. Processing times
Product / stage1 / stage2 / stage3 / stage4p1 / 10 / 4 / 10 / 1
p2 / 3 / 10 / 6 / 12
p3 / 4 / 12 / 6 / 10
p4 / 16 / 3 / 8 / 4
p5 / 7 / 2 / 5 / 3
Table 3. Sales prices, inventory costs and penalty costs coefficients
Product / Sale Price / Inventory Cost / Penaltyp1 / 4.5 / 0.1 / 2.25
p2 / 4.5 / 0.1 / 2.25
p3 / 6 / 0.1 / 3
p4 / 6 / 0.1 / 3
p5 / 4 / 0.1 / 2
Table 4. Expected product demands and standard deviation
Product / E[Demand] / Deviationp1 / 750 / 110
p2 / 1,000 / 150
p3 / 7,500 / 1,125
p4 / 3,250 / 450
p5 / 2,000 / 300
Results
The results obtained including the number of batches to be produced of each product, the quantity sold, inventory requirements and the production shortfalls are detailed in Table 5 along with the profit value and the makespan (time required to complete all the orders).
Table 5. Deterministic solution for case study using the deterministic model [(E.1) to (E.13)]
Productsp1 / p2 / p3 / p4 / p5
n(p) / 10 / 10 / 15 / 15 / 8
Sales / 750 / 1,000 / 7,500 / 3,250 / 2,000
Inventory / 50 / 0 / 0 / 50 / 0
Shortfalls / 0 / 0 / 0 / 0 / 0
Profit P / 80,365
Makespan / 617
To conclude with this preliminary analysis of the solution, a typical schedule corresponding to this problem schedule obtained has been depicted as a Gantt diagram in Figure 1. The higher number of batches produced makes difficult the identification of the sequence of products. Due to this complexity, the Gantt diagram will not be used to compare the different schedules obtained when managing financial risk.
Figure 5. Gantt chart.
Nomenclature
Sets:
b: Batches
i: Profit targets
o: Operations
p: Products
s: Scenarios
Parameters:
BS(p): Batch size for product p
CI(p): Inventory cost for product p
CPO(p): Cost of an option contract for product p
D(p): Demand of product p
H: Horizon time
L: Maximum number of batches allowed
MD(p): Mean demand of product p
Pe(p): Penalty cost for product p
Pr(p): Sales price for product p
Prob(s): Probability of occurrence of scenario s
PrPO(p): Price of product p under an option contract
StDev(p): Standard deviation
TOP(o,p): Operation time of product p in operation o
U: Big value
W(i): Profit target
x(i): Upper bound to financial risk
r(i): Weight value used in financial risk definition
d(s): Downside risk
m: Weight value used in downside risk definition
a: Low value
Variables:
EP: Expected profit value
F(p) / F(p,s): Production shortfall for product p
I(p) / I(p,s): Inventory of product p
MS: Makespan
n(p): Number batches of product p
P(s): Profit value
PO(p): Amount of product p available due to an option contract
T(o,b): Processing time of operation o in batch b
Tfn(o,b): Final time of operation o in batch b
Tin(o,b): Initial time of operation o in batch b
V(p) / V(p,s): Sales of product p
VPO(p,s): Sales of product p due to an option contract
X(b,p): Binary variable that assigns product p to batch b
z(s,i): Binary variable