Nonlinear Blend Scheduling via Inventory Pinch-based Algorithm using Discrete- and Continuous-time Models

The following article is the final publisher’s version of an article published in an open access journal or otherwise published with open access privileges. Under the publisher’s open access policy, the publisher of this article permits the direct downloading and distribution of this article free of charge to the general public provided that the original publisher is cited and acknowledged. Journal: Chemical and Biochemical Engineering Quarterly Publisher: Croatian Society of Chemical Engineers Article DOI: 10.15255/CABEQ.2014.1941 Publisher’s Page for this article: http://hrcak.srce.hr/132451?lang=en


Introduction
Mathematical optimization has become an important supply chain management tool for any contemporary enterprise.Increasing profit margins through better design, planning, and operative decisions across the supply chain represents a huge opportunity in the more than ever competitive economic market, especially in a global scale.Industrial and academic researchers have been working intensively in the process systems engineering area, and several advancements have been made in the optimization field, from new mathematical models, more efficient solution algorithms, use of more powerful computing machines and with parallel capabilities, and the development of different optimization frameworks.
A supply chain is composed of the following elements: procurement and storage of raw materials, facilities and processes to transform the raw materials into intermediate and final products, storage of these products and its distribution to warehouses or to the final customers.Operating the complete supply chain structure in the best possible manner (i.e.maximizing profit or minimizing cost) involves making decisions at different levels along the supply chain network.Production planning determines the production targets of each different product along a defined planning horizon (usually ranging from a few months to 2 years), for the entire supply chain, for each different production facility, or for each production line or unit.Production scheduling determines the best operating sequences and the best operating conditions to achieve the inventory and production targets determined by the production plan.Scheduling is done on smaller time horizons (e.g.days or weeks), and includes more operational rules and constraints than planning models.Fig. 1 shows how the length of the time horizon and model accuracy changes, depending on the spatial or time scale, under a hierarchical production planning framework.
Nonlinear Blend Scheduling via Inventory Pinch-based Algorithm using Discrete-and Continuous-time Models This work uses multi-period, inventory pinch-based algorithm with continuous-time model (MPIP-C algorithm 1 ) for scheduling linear or nonlinear blending processes.MPIP-C decomposes the scheduling problem into (i) approximate scheduling and (ii) detailed scheduling.Approximate scheduling model is further decomposed into two parts: a 1 st level model which optimizes nonlinear blend models (with time periods delineated by inventory pinch points), and a 2 nd level multi-period mixed-integer linear programming model (which uses fixed blend recipes from the 1 st level solution) to determine optimal production plan and swing storage allocation, while minimizing the number of blend instances and product changeovers in the swing tanks.The 3 rd level computes schedules using a continuous-time model including constraints based on the short-term plan solution.Nonlinear constraints are used for the Reid vapor pressure in our case studies.Excellent computational performance is illustrated by comparisons with previous approach with discrete-time scheduling model.

Key words:
inventory pinch, nonlinear gasoline blending, discrete-time scheduling model, continuous-time scheduling model Computation of optimal production plans is usually based on linear programming (LP) or successive linear programming (SLP) models 2,3,4 since these approaches have proven to be robust and provide good answers under a variety of circumstances.Production planning models are constructed by dividing the time horizon in a number of periods, the length of which is usually set equal to some calendar unit (e.g.monthly, or quarterly periods).Such approach leads to models which grow in size linearly with the number of periods.If the models are nonlinear, the likelihood of encountering convergence problems increases significantly as the problem size increases.However, formulation of planning models with nonlinearities is becoming more spread in practice 4,5,6,7 in order to compute more accurate solutions and increase profitability.Scheduling is in many cases a NP-complete 8,9 or NP-hard 10 problem, which means that there is no polynomial-bounded algorithm to solve it, even if the underlying supply chain models are linear.Process plants are nonlinear but the usual practice for scheduling is to approximate the system behavior by linear models. 2,11,12,13Recent advances have made it possible to use nonlinear models for some scheduling problems. 14,15PIP-C algorithm 1 enables use of nonlinear models to solve scheduling problems for plants which produce multiple products by switching from producing one product to another.An example of such system is gasoline blending.The first step is to compute an approximate scheduling solution which imposes some constraints on the detailed scheduling problem, thereby simplifying it and reducing the number of integer variables: it also enables faster solution of detailed scheduling problems by providing additional constraints.MPIP-C algorithm uses inventory-pinch based two-level approach to solve the approximate scheduling problem 16,17 based on nonlinear blending models.The algorithm: (i) Computes an approximate schedule based on a nonlinear blend model, such that the there is a minimum number of optimal blend recipes along the planning horizon, (ii) Minimizes the total number of blend instances, and (iii) Allocates swing tankage.Solution of the approximate planning model provides additional constraints for the 3 rd level continuous-time scheduling problem.If the 3 rd level scheduling problem is infeasible, the algorithm resolves a modified approximate scheduling problem, and iterates until a feasible optimal solution is found.We use gasoline blending as an example of the algorithm application.This paper is organized as follows: First, a brief review on prior work on blend planning and scheduling, then we present the problem statement, which is followed by the description of our decomposition approach, the mathematical models used, the MPIP-C algorithm steps, numerical results and conclusions.

Related prior work
In this section, a brief summary of previous works on blend planning and scheduling is presented.
Mendez et al. 3 presented an algorithm to schedule blending operations including blend recipe determination.In order to approximate nonlinear quality constraints, they use linear constraints with correction factors.The algorithm iterates until the correction factors converge.The sequencing problem is avoided since it is assumed that each blender produces only one particular gasoline grade.
Li et al. 18 developed a continuous-time mixed integer linear programming (MILP) model with a common global time grid for all units.The model includes blend recipe optimization, and operational features found in industrial practice such as parallel non-identical blenders, multipurpose tanks, inventory constraints, blender capacity constraints, and order delivery scheduling.Li and Karimi 13 extended the model from Li et al. 18 in order to incorporate blender setup times and consider the case for simultaneous receipt and delivery by product tanks.Li and Karimi 13 used a unique time grid for the time slots of each unit (i.e.tanks and blenders).Solving these models for real-life scale problems (e.g.8-day horizon, three blenders, and more than 25 orders) to optimality requires large execution times (more than 12 hours for their case studies).Kolodziej et al. 15 formulated a discrete-time mixed integer nonlinear programming (MINLP) model to solve the pooling problem including inventory, flow, and quality constraints.They developed three different procedures to solve the MINLP problem to global optimality.Two of those algorithms use a radix-based discretization technique to discretize one variable in the bilinear terms and obtain MILP relaxations, and one of them computes better solutions and in less time than commercial MINLP solvers such as BARON and GloMIQO, for their case studies and despite the increment in the number of binary variables in the model.
Glismann and Gruhn 19 developed a two-level method to solve the blend scheduling problem.First, a discrete-time NLP model computes blend recipes and production targets.Then a discrete-time MILP scheduling model, based on a resource-task-network representation, is solved.If the MILP is infeasible, the algorithm re-computes the blend recipes by re-solving the NLP model with extra constraints.
Thakral and Mahalec 20 presented an iterative algorithm that optimizes blend recipes using a multi-period MILP planning model, then minimizes blender switches through the use of a genetic algorithm, and subsequently detects infeasibilities via agent-based simulation.The algorithm is repeated until a feasible solution is found.

Inventory pinch analysis in production planning and scheduling
Singhvi and Shenoy 21 presented a pinch analysis approach to solve an aggregate production planning problem.They constructed composite curves for the demand and production amounts in order to locate the pinch as the point where both curves touch.The idea is to determine the composite production curve that meets the demand and the given inventory policy.Production targets are determined directly from the composite curves and imposed as constraints into a MILP model that minimizes the material, inventory, and labor costs, subject to material balance equations and production capacity constraints.Singhvi et al. 22 extended the work from Singhvi and Shenoy 21 in order to handle multiple products and solve the product sequencing problem based on some heuristic rules and assuming that the demand is met only at the end of the horizon.Ludwig et al. 23 applied the pinch analysis of Singhvi and Shenoy 21 to a process with seasonal supply, and they included the constraint that the composite production curve must not cross either the composite demand curve or the composite supply curve.Foo et al. 24 implemented the algebraic technique equivalent to the graphical pinch methodology from Singhvi and Shenoy 21 for a single product process, and included minimum and maximum product inventory constraints and the capability of scheduling a plant shut down.
Castillo et al. 16 defined an inventory pinch as the point in time where the composite total demand (CTD) curve touches the composite average total production curve (CATP).The CATP curve can be defined as the concave envelope of the CTD curve, with the difference that the CATP curve starts at the total initial product inventory.Fig. 2 shows an example with two inventory pinch points.In contrast with previous approaches to solve planning problems using composite curves, the CATP curve does not represent the actual production rates; it is only used to locate the pinch points, as well as the minimum production volumes to satisfy the demand in each interval delineated by pinch points.The idea is that between pinch points, the same optimal blend recipes can be used to generate a feasible blend plan.This is not always the case due to other operational constraints, and Castillo et al. 16 developed an iterative approach to eliminate such infeasibilities.
Castillo et al. 16 introduced a two-level inventory pinch-based decomposition approach to solve multi-period gasoline blend planning models with nonlinear blending rules.The blend recipes are computed at the first level by solving a discrete-time NLP model which only considers the material balance equations around the blenders and storage tanks, the linear and nonlinear quality equations, the minimum and maximum inventory and production capacity constraints, and product quality specifications.Then, these recipes are fixed at the second level which consists of a discrete-time MILP model.The integer variables are required to enforce minimum production thresholds at each time period.The number of time periods at the first level is delineated by the inventory pinch points, and changes in the quality and price of blend components, while the number of time periods at the second level is determined by the planner/scheduler.For the case studies presented by Castillo et al. 16 , this approach computes solutions that are optimal or close to the optimum, and with rapid execution times compared with MINLP solvers.Castillo and Mahalec 17,25 extended the algorithm from Castillo et al. 16 to solve blend scheduling problems by introducing a third level to solve the scheduling problem using a discrete-time MILP model.Most recently, Castillo and Mahalec 1 developed a continuous-time model to solve the third level more efficiently.

Problem statement
Given a scheduling horizon [0, H], a blending system constituted of storage tanks and blenders (see Fig. 3 for an example), and sets of blend components, products, and delivery orders which must be fulfilled during specific time delivery windows along the horizon, the objective is to minimize the total cost which consists of the cost of the blended materials (i.e. the blend cost) and the switching costs comprised of the number of different blend runs, product changeovers in the storage tanks, and F i g . 2 -Two inventory pinch points on the cumulative curves number of deliveries from different tanks to the same order.The cost, quality properties, initial inventories, and flow rates into the system of the blend components are known.Minimum and maximum product quality specifications are given.Initial product inventories are known and on specification.Blend components have dedicated sto rage tanks.Storage tanks for the finished products can be dedicated tanks or swing tanks (i.e. they can store different products, but not at the same time).Product changeover times are negligible for swing tanks.All storage tanks have minimum and maximum capacity constraints.Parallel non-identical blenders are considered, with minimum and maximum blending capacities.Minimum blend size, minimum blend length, and minimum setup time constraints are assumed for each blender and they are product-dependent.Perfect mixing is assumed to occur in the blenders and a blender can only feed one product tank at any time, since this is industrial practice.Each order involves only one product (one original order involving different products can be broken into orders of each specific product).
It is required to determine the blend recipes, the production sequence of each blender, the blending rates of each blend run, the delivery sequence of each product tank, the start and end times of the blend runs and delivery runs, the product allocation of swing tankage, and the inventory profiles of all tanks along the horizon.

Decomposition strategy
In this work we use the decomposition framework from Castillo and Mahalec 1,25 .It is assumed that a long-term (e.g.twelve months) production planning model has been optimized for the refinery or the gasoline blend system.In addition, it is assumed that the long-term plan determines which feedstocks are to be processed, which products are produced, and the total amount for each of them, respectively.Results of the long-term plan are used to optimize a short-term discrete-time multi-period approximate scheduling model (e.g.thirty days), which in turn provide constraints for a continuous-time scheduling model (see Fig. 4).

Approximate scheduling
The purpose of the approximate scheduling model is to minimize the production costs or to maximize the profit for a given selection and quan-F i g .3 -Sample blending system F i g .4 -Three-level decomposition approach tities of the feedstocks.In addition, the approximate scheduling model: -Determines how much to produce of each product and each time period.
-Manages allocation of the swing storage capacities; it is assumed that a swing storage capacity can be re-allocated only at the beginning of each period.
-Minimizes the number of instances of different operating modes for each multi-mode unit, e.g.maximum gasoline or maximum diesel for an FCC unit, or number of different grade gasoline blenders for a gasoline blender.In order to eliminate instances of minute production for any operating mode, a minimum threshold production constraint is specified for each production unit.
Another difference between approximate scheduling and detailed scheduling models is that tasks and resources are still aggregated in some way at the short-term planning level.Therefore, solution of approximate scheduling determines a production and inventory profile which is feasible only at the period boundaries (e.g.end of each day).
Objective function at this level includes in general case the costs of carrying the inventories and the switching costs associated with the discrete variable (decisions).Cost of raw materials plus operating costs computed at this level are the same as at the top level, since the operating modes and the total feed amounts are fixed by the top level.

Detailed scheduling
Detailed scheduling model allows only one task in any production unit at any given time, thus guarantying a feasible solution along the entire horizon.Objective function at the scheduling level includes only the switching costs and in general case the costs of transitions from one mode of operation to another.Solution of the approximate scheduling model (i.e.approximate scheduling model) leads to a neighborhood where the optimal schedule is located.This neighborhood is described to the detailed scheduling task in terms of target inventories at the end of each day, operating modes at which each process unit needs to operate during each day, etc. From these data, computation of the best schedule can proceed in several different ways, for example: a) Determine operating sequence with a minimum number of switches via some evolutionary algorithm and verify its feasibility via simulation (e.g.In this work, we use option c), since the continuous-time model has a smaller size than its corresponding discrete-time version, thus allowing solving of problems in less time.When using the constraints imposed by the approximate scheduling level, the detailed scheduling level is solved much faster.However, due to the consequent reduction in the feasible solution set, optimality of the computed schedule with respect to the original problem (i.e.no constraints from the approximate scheduling level) is not guaranteed, although the optimality gap is expected to be very small.One way to improve this solution is to use it as a starting point for the scheduling model that includes quality constraints and allow the blend recipes to differ from those previously computed at the short-term planning level.The disadvantage is that the resulting MILP or MINLP model may require prohibitive execution times in order to close the optimality gap.Future work will be dedicated to address this issue and compute proven optimal solutions with respect to the original problem.

Mathematical models
In this section, the mathematical models are described.Due to the large number of equations, only the nonlinear equations for Reid vapor pressure (RVP) used in this work are here shown.The reader is encouraged to look at the references where the complete models are described in detail.
1 st level model 17

(discrete-time LP or NLP)
The 1 st level determines the optimal blend recipes that will be fixed at the next levels.The time periods of this model are the L1-periods.The objective function minimizes the blend cost and the cost associated with slack variables.Slack variables are included in the inventory balances and their penalty coefficients in the objective function are greater than the cost coefficients of the blend components.Therefore, if a problem has a physically feasible solution, the slack variables will be equal to zero.If a problem has no physically feasible solution, the solver will compute a numerical feasible solution with some non-zero slack variables.The values of the blending capacity, component supply, and product demand are the corresponding aggregated values for each of the L1-periods.In addition, individual product tanks are aggregated into product pools, and individual blenders are lumped into a single one.
-Blend recipe optimizationmin BlendCost L1 + SlackCost L1 s.t.Inventory balances (component tanks, product pools) Inventory constraints (component tanks, product pools) Quality constraints (linear and nonlinear) Maximum production capacity (lumped blenders) The solution of the 1 st level model is a lower bound of the global blend cost since the volumes to be blended in each L1-period are the minimum amount required to fulfill the demand.
The nonlinear quality constraints used in this work are presented next.Equation ( 1) and (2) define the blend recipes.Equation ( 3) was formulated based on the nonlinear blending rule used by Singh et al. 26 Equation ( 4) represents the minimum and maximum product quality specifications for RVP property., ( ,'RVP', ) ( ,'RVP', ) ( , , ) min max ( , ) ( , , ) ( , ) 2 nd level model 1,25 (discrete-time MILP) The 2 nd level computes the blend plan, delivery plan, and service allocation of swing tanks.The time periods of this model are the L2-periods.The blend plan determines how much to blend of each product, in which blender, and in each L2-period.The delivery plan defines how much product to send from each individual product tank to each specific order and in which L2-period.The allocation of swing tanks establishes which product can be stored in each individual product tank and in which L2-periods.
The 2 nd level model is linear since the blend recipes from the 1 st level are not computed at this level (i.e. the blend recipes of each L1-period are fixed in the corresponding L2-periods).Equations regarding individual product tanks and individual blenders are included.Moreover, constraints such as minimum blend size, minimum blend length, and minimum setup time are incorporated.The values of the blending capacity, component supply, and product demand are the corresponding aggregated values for each of the L2-periods.The individual blenders can produce more than one product in each L2-period.A swing tank can only store one specific product during a L2-period.
The 2 nd level model is solved in two phases: feasibility of the blend recipes is checked first, and then a solution with minimum number of switches is computed.The reason to do this is to detect inventory infeasibilities (i.e.non-zero slacks) rapidly.
The 2 nd level model for feasibility check has slack variables in the inventory balances and the objective is to minimize such variables.If a feasible operation can be obtained using the blend recipes from the 1 st level, inventory slack variables will be zero at the solution of the 2 nd level; otherwise, the inventory slacks will show which specific products, by how much, and in which L2-periods they cannot be produced in the amounts required.In order to extend the use of a given blend recipe, the penalty coefficients for the slack variables must decrease along the time horizon as fast as possible and a significant change must take place after each L1-period boundary.
-Feasibility check of blend recipes from 1 st  When the solution of this phase has inventory infeasibilities, the algorithm will subdivide the required L1-period at the time corresponding to the end boundary of the L2-period with the first infeasibility.Then, the 1 st level model is re-solved and a new set of blend recipes is computed.
The 2 nd level model for minimizing switching costs (i.e.number of blend runs, number of product changeovers in the swing tanks, and number of de-livery runs from different tanks to the same order) does not include any slack variables.The 3 rd level determines: -Start and end times of all tasks, -Production sequence of each blender, -Blending rates for each blend run, -Delivery sequence of all product tanks, and -Delivery rates for each delivery run.The blend recipes from the 1 st level, the swing tank allocation, and the delivery and blend plans from the 2 nd level are fixed.Using information from the 2 nd level decreases the search space and the model size at the 3 rd level.The time slots are unit slots, meaning that each unit (i.e.component tanks, blenders, and product tanks) have their own specific time grid.From here on, the term time slot and unit slot will be used interchangeably.The 3 rd level is formulated as a continuous-time model in order to have a smaller model size with less discrete variables than a corresponding discrete-time model.The 3 rd level model is based on the continuous-time model presented by Li and Karimi 13 which has been modified by modifying some constraints and adding new constraints in order to avoid infeasible solutions 1 .
Only one specific product can be produced by a blender in a given time slot, as well as only one product can be stored in a swing tank.The 3 rd level model includes slack variables in the inventory bal-ances and demand constraints.The penalty profile for the slack variables decreases along the scheduling horizon.For large-scale problems, the scheduling horizon can be divided in various subintervals, denoted as L-intervals.Then, the 3 rd level MILP model is solved sequentially for each L-interval.The boundaries of the L-intervals must coincide with the boundaries of some L2-periods to enable the inventory levels computed at the 2 nd level to be fixed at the start and end boundaries of the L-intervals.
Similarly as with the 2 nd level, the 3 rd level is solved in more than one phase.First, a feasibility check is carried out in order to determine if the blend recipes from the 1 st level and the constraints from the 2 nd level can produce a feasible schedule, and if the number of time slots can produce a feasible solution.When the feasibility check does not find a physically feasible schedule, the slack variables have non-zero values at the solution.If that is the case, the required L1-period is subdivided at the time corresponding to the end boundary of the L2-period associated with the time slot containing the first infeasibility.After a feasible solution is found, then an optimization phase computes the production and delivery sequences with minimum number of blend runs and delivery runs.Finally, with the production and delivery sequences fixed, blending rate variations are minimized.The 3 rd level model for the feasibility phase is denoted as F-Sim-RD-PlanTDBR-feas, the one for the optimization phase is referred to as F-SimRD-PlanTDBR-opt, and the model to reduce variations in the blending rates is designated as F-SimRD-PlanTDBR-adj.The letter F means fixed recipes, SimRD indicates that product tanks can receive and deliver material simultaneously, PlanTDBR signifies that the plan computed at the 2 nd level is enforced, and the last word indicates if it corresponds to the feasibility phase (feas), optimization phase (opt), or the adjustment phase (adj) to reduce blending rate variations.
-Feasibility check of blend recipes from 1 st level and constraints from 2 nd   The multiperiod inventory pinch algorithm with a continuous-time scheduling model at the 3 rd level for scheduling of blend operations is described next.Although it was developed for gasoline blending, it can be used in any blending process where the quality properties of the blend components are known in advance.
Step 1) Determine the pinch point(s) location on the cumulative curves (CTD and CATP).
Step 2) Set the number of L1-periods.The boundaries of these time periods are delineated based on: -Inventory pinch points.
-Changes in the quality of blend components.
-Changes in the cost/price of components/ products.
Step 3) Set the number of L2-periods.The boundaries of these time periods are based on: -Boundaries of the L1-periods.
-Variations in supply profile of blend components.
-Time delivery windows for the demand orders.
-Expected time that a swing tank remains in one specific service.
-Time to produce the minimum allowed blend run.
Step 4) Solve the 1 st level model.If slack variables have non-zero values at the solution, the problem is infeasible; otherwise, go to Step 5.
Step 5) Solve the 2 nd level model for the feasibility check.
Step 6) Continue to Step 8 if solution from Step 5 has all slack variables with zero values; otherwise, go to Step 7.
Step 7) Determine the L2-period with the first non-zero slack variable along the horizon and use its end boundary to delineate a new boundary at the 1 st level.Return to Step 4.
Step 8) Solve the 2 nd level model for minimizing switching costs.
Step 9) Set the number of time slots (N) assigned to the scheduling horizon.
Step 11) If all slack variables are equal to zero, go to Step 13; otherwise, add more time slots and return to Step 10.If the number of time slots exceeds the maximum limit, subdivide an L1-period and go back to Step 4.
Step 13) Fix the production and delivery sequences and compute the average blending rates of each blend run.
Step 14) Solve model F-SimRD-PlanTDBR-adj to minimize blending rates variations across a blend run constituted by more than one time slot.

Numerical results
All problems have been solved on DELL Power Edge T310 (Intel® Xeon® CPU, 2.40 GHz, and 12 GB RAM) running Windows Server 2008 R2 OS.The data for all problems appear in Castillo and Mahalec 25 .Table 1 shows the physical size of these problems, and Table 2 shows the size of the corresponding continuous-time MILP scheduling model used at the 3 rd level.The 3 rd level was solved in five L-intervals (i.e.subintervals of the scheduling horizon, one model instance for each one), and Table 2 only shows the size of the largest model.For all case studies, the scheduling horizon is 14 days, the first L-interval is constituted of the first 4 days, the second L-interval spans day 5 to day 7, the third L-interval is composed of day 8 and 9, the fourth L-interval spans day 10 to day 12, while day 13 and 14 constitute the fifth L-interval.The Reid vapor pressure is the only nonlinear quality property considered.Table 3 presents the results obtained by MPIP-C algorithm and compares them with those obtained by MPIP algorithm (from Castillo and Mahalec 25 ) which uses a discrete-time MILP scheduling model at the 3 rd level.It can be observed that MPIP-C algorithm outperforms MPIP algorithm in both solution quality and execution time.This is due to the reduction in the model size by using a continuous-time scheduling model, which allows subdivision of the scheduling horizon into larger L-intervals and solving them more efficiently.
For illustration purposes, solution for case study 14 is presented.Fig. 5 and Fig. 6 show the production and delivery sequences, respectively.

Conclusions
This work uses MPIP-C algorithm for scheduling of multipurpose systems such as blending operations in petroleum refineries.MPIP-C scheduling algorithm decomposes the problem into three different decision levels.By using information from the upper levels, good quality schedules can be computed with short execution times.
The MPIP-C algorithm uses the inventory pinch concept to compute optimal blend recipes at the 1 st level.This computation can be based on either linear or nonlinear models.The 1 st level uses aggregated representation of the system, i.e. all blenders are treated as a lumped capacity, all production and demands are lumped across the time periods delineated by the inventory pinch points.Blend recipes computed at the 1 st level are employed at the 2 nd level to compute an optimal production plan which includes allocation of swing inventories and association of product deliveries with specific tanks.Scheduling of blend runs and delivery liftings is carried out at the 3 rd level using a continuous-time MILP model.Solution from the upper levels provides additional information which helps reduce the model size and computational times to solve the 3 rd level model.
Seven case studies were presented.MPIP-C computes better solutions and in less time than the previously published MPIP algorithm.The use of a continuous-time MILP scheduling model enables more efficient solving of larger subintervals (i.e.L-intervals) of the scheduling horizon compared with the corresponding discrete-time model.

F i g . 5 -
Production sequence, MPIP-C solution for case study14

F i g . 6 -
Delivery sequence, MPIP-C solution for case study14

, 1
N o m e n c l a t u r e S e t s a n d i n d i c e s E = {e} -Quality properties (e.g. research and motor octane number) I = {i} -Blend components J = {j} -Product tanks K = {k} -L1-periods (time periods defined for the 1 st level discrete-time model) L = {l} -L-intervals (non-overlapping subintervals of the scheduling horizon for the 3 rd level continuous-time model) M = {m} -L2-periods (time periods defined for the 2 nd level discrete-time model) N = {n | 0, 1, …, N} -Time slots assigned for the entire horizon (3 rd level continuous-time model) O = {o} -All demand orders P = {p} -Different products P a r a m e t e r s H -Length of the entire scheduling horizon , 1 ( , , ) bc L Q i e k -Quality e of blend component i during L1-period k min ( , ) pr Q p e , max ( , ) pr Q p e -Minimum and maximum specifications for quality property e and product p C o n t i n u o u s v a r i a b l e s , 1 ( , , )pr L Q p e k -Quality e of product p during L1-period k ( , , ) r i p k -Continuous variable at the 1 st level, but a parameter at the 2 nd and 3 rd levels.Blend recipe for product p in L1-period k of product p during L1-period k , 1 ( , , ) comp L V i p k -Volume of component i used in product p during L1-period k BlendCost L1 -Cost of the materials used in the blend (1 st level solution) BlendCost L2 -Cost of the materials used in the blend (2 nd level solution) BlendCost L3 -Cost of the materials used in the blend (3 rd level solution) SlackCost L1 -Penalty for the non-zero slack variables (1 st level solution) SlackCost L2 -Penalty for the non-zero slack variables (2 nd level solution) SlackCost L3 -Penalty for the non-zero slack variables (3 rd level solution) SwitchingCost L2 -Cost associated with the switching operations (2 nd level solution) SwitchingCost L3 -Cost associated with the switching operations (3 rd level solution) SwitchBlenderCost L2 -Cost associated with the blend runs (2 nd level solution) SwitchBlenderCost L3 -Cost associated with the blend runs (3 rd level solution) SwitchDeliverCost L2 -Penalty associated with delivering the same order from different tanks (2 nd level solution) SwitchDeliverCost L3 -Penalty associated with delivering the same order from different tanks (3 rd level solution) SwitchTankCost L2 -Penalty associated with product changeovers in the swing tanks (2 nd level solution) BlendRateVariations -Term to minimize in order to reduce variations in the blending rate of a blend run VolumeDifference L3 (bl,n) -Volume difference in blender bl during slot n between the virtual blend run using the average blending rate and the actual blend run AvgBlendRate(bl,n) -Average blending rate of a blend run in blender bl during slot n BlendLength L3 (bl,n) -Duration of the blend in blender bl during slot n VolumeBlended L3 (bl,n) -Actual volume blended in blender bl in slot n level - level - production sequence Fixed delivery sequence Fixed recipes (from 1 st level) Product inventory targets (from 1 st and 2 nd levels) Fixed swing tank allocation (from 2 nd level) Blend plan constraints (from 2 nd level) Ta b l e 3 -Results from MPIP-C and MPIP a algorithms.Solvers: IPOPT and CPLEX12.3 25MPIP scheduling algorithm from Castillo and Mahalec25