Open and shared manufacturing factories typically dispose of a limited number of robots that should be properly allocated to tasks in time and space for an effective and efficient system performance. In particular, we deal with the dynamic capacitated production planning problem with sequence independent setup costs where quantities of products to manufacture and location of robots need to be determined at consecutive periods within a given time horizon and products can be anticipated or backordered related to the demand period. We consider a decentralized multi-agent variant of this problem in an open factory setting with multiple owners of robots as well as different owners of the items to be produced, both considered self-interested and individually rational. Existing solution approaches to the classic constrained lot-sizing problem are centralized exact methods that require sharing of global knowledge of all the participants’ private and sensitive information and are not applicable in the described multi-agent context. Therefore, we propose a computationally efficient decentralized approach based on the spillover effect that solves this NP-hard problem by distributing decisions in an intrinsically decentralized multi-agent system environment while protecting private and sensitive information. To the best of our knowledge, this is the first decentralized algorithm for the solution of the studied problem in intrinsically decentralized environments where production resources and/or products are owned by multiple stakeholders with possibly conflicting objectives. To show its efficiency, the performance of the Spillover Algorithm is benchmarked against state-of-the-art commercial solver CPLEX 12.8.
Preprint \SetWatermarkScale1 \csdefWGMwgm \csdefQEqe \csdefEPep \csdefPMSpms \csdefBECbec \csdefDEde
mode = title]Spillover Algorithm: A Decentralized Coordination Approach for Multi-Robot Production Planning in Open Shared Factories
apacitated production planning \sepmulti-robot systems \sepmulti-agent coordination \sepdecentralized algorithm \sepopen factories
The smart factory concept (e.g., Shrouf et al. (2014); Hozdić (2015)) in Industry 4.0 revolution is opening up new ways of addressing the needs of sustainability and efficiency in the manufacturing industry of today’s global economy. In particular, we are seeing the emergence of shared factories (e.g., Jiang and Li (2019)) in which the owners of production resources (robots) do not necessarily produce their own products. Indeed, they offer their facilities and available production resources therein to various other manufacturers that manufacture their products in the same shared facility. Even more, multiple factories could be linked in a more flexible global virtual facility (e.g., Hao et al. (2018)).
In this paper, we consider an (intrinsically decentralized) shared factory scenario that requires decentralized methods for efficient allocation of robots (production resources) of the same shared manufacturing plant to individually rational and self-concerned firms that use them to manufacture their products in a given time horizon. We consider open firms that may collaborate at times on common projects based on individual interest such that the factory’s production capacity may vary from one period to another based on available shared resources. The requisite for shared factories is that they follow the concept of an open firm, i.e., a common standard for the production of components and their interfaces is shared by distinct firms and each firm is open to all industry participants (e.g., Farrell et al. (1998); Arora and Bokhari (2007)). An important aspect to consider in this context is that the different firms participating in such manufacturing ecosystems are not willing to share information or business strategy. Therefore, solutions in which a central coordinator receives all the information regarding resource availabilities and production demands are not applicable.
Production planning considers the best use of resources to satisfy the demand in a given planning time horizon. A production plan must meet conflicting objectives of guaranteeing service quality and minimizing production and inventory costs. To this end, the Constrained Lot-Sizing Problem (CLSP) answers the question of when and how much of each product (item) must be produced so that the overall costs are minimised (e.g., Buschkühl et al. (2010); Karimi et al. (2003)).
In this paper, we focus on deterministic, dynamic, single-level, multi-item CLSP with back-orders and sequence independent setup costs, which we will refer to as MCLSP-BOSI (e.g., Pochet and Wolsey (2006)). The concept of dynamic in MCLSP-BOSI means that the production demands vary through time; single-level indicates that the end product or item is directly manufactured in one step from raw materials with no intermediate subassemblies and no item can be a predecessor of another item; multi-item refers to the existence of multiple product types and capacitated denotes a scarcity between the available limited manufacturing resources and the production demand. Moreover, the presence of backorders implies that it is possible to satisfy the demand of the current period in future periods by paying shortage costs (backordering). We consider a lost-sales inventory model where a unit of a backordered product that cannot be produced at the period of its demand is requested nonetheless for when resources become available again in some later period of the planning time horizon, while a backlogged unit is not produced at all and the demand is lost resulting in lost sales (e.g., Bijvank and Vis (2011)). The sequence independent setup costs include the setup of robots and other production resources for producing an item at some period independently of its previous production dynamics (e.g., Pochet and Wolsey (2006)). Contrary to most of the related work, in our studied MCLSP-BOSI model, all costs are time-dependent.
The studied MCLSP-BOSI is a variant of the CLSP where production can be anticipated or delayed in relation to the product demands, resulting in time-dependent holding and backorder costs, respectively. The inclusion of backorders is crucial in the contexts of high demands, since, otherwise, no feasible production plan would exist. Item backordering results in not producing (lost sales) if the overall demand is higher than the production capacity over a given time horizon. The main challenge in backordering is to select lost sales (if any), the items to backorder, the ones to produce at the time of demand release, and the ones beforehand (Drexl and Kimms (1997); Jans and Degraeve (2008)). For an overview of the CLSP and its variations, we refer the reader to excellent descriptions in Bitran and Yanasse (1982); Pochet and Wolsey (2006); Quadt and Kuhn (2008).
The MCLSP-BOSI is an NP-hard problem (Chen and Thizy (1990); Bitran and Yanasse (1982); Dixon and Silver (1981)) and has been mostly addressed by heuristic approximations that do not guarantee an optimal solution, but find a reasonably good solution in a moderate amount of computation time. In its classical mathematical form, MCLSP-BOSI is intrinsically centralized, i.e., a single decision-maker has the information of all the production resources and all the items at disposal. This formulation and related state-of-the-art solution approaches are not applicable in intrinsically decentralized contexts, such as open factories.
With the aim of finding a production plan in intrinsically decentralized open factories, in this paper, we mathematically formulate a decentralized variant of the MCLSP-BOSI problem. As a solution approach to this problem, we propose the Spillover Algorithm, a decentralized and heuristic production planning method whose approximation scheme is based on the spillover effect. The spillover effect is defined as a situation that starts in one place and then begins to expand or has an effect elsewhere. In ecology, this term refers to the case where the available resources in one habitat cannot support an entire insect population, producing an “overflow”, flooding adjacent habitats and exploiting their resources (Rand et al. (2006)). In economy, it is related to the interconnection of economies of different countries where a slight change in one country’s economy leads to the change in the economy of others.
We leverage the spillover effect in a multi-agent system considering both the owners of production resources and the owners of the items’ demands. For a better explanation of the proposed multi-agent system, the spillover effect is modelled in a metaphor of a liquid flow network with buffers, where the capacity of each buffer represents available production capacity at a specific period. Liquid agents assume the role of demand owners, with liquid volume proportional to the production demand. Buffer agents act in favour of resource owners by allocating their (production) capacities to liquid agents. Liquid demand that cannot be allocated where requested, spills over through a tube towards other neighbouring buffers based on the rules that dictate how the spillover proceeds. To the best of our knowledge, this is the first decentralized heuristic approach that tackles the high computational complexity of the studied MCLSP-BOSI problem with time-dependent costs and is applicable in intrinsically decentralized shared open factories.
This paper is organized as follows. We give an overview of the related work in Section 2. In Section 3, we present the background of the studied classic and centralized MCLSP-BOSI problem. In Section 4, we present the motivation and mathematical formulation of the decentralized MCLSP-BOSI problem and discuss our problem decomposition and decentralization approach. Our multi-agent architecture together with the Spillover Algorithm is presented in Section 5. Section 6 presents the evaluation results of simulated experiments whose setup was taken from related work, while Section 7 concludes the paper and outlines future work.
2 Related work
Due to its complexity, the literature on the classic (centralized) MCLSP-BOSI problem is scarce and can be classified into: (a) period-by-period heuristics, which are special-purpose methods that work in the time horizon from its first to the last period in a single-pass construction algorithm; (b) item-by-item heuristics, which iteratively schedule a set of non-scheduled items; and (c) improvement heuristics that are mathematical-programming-based heuristics that start with an initial (often infeasible) solution for the complete planning horizon usually found by uncapacitated lot sizing techniques, and then try to enforce feasibility conditions, by shifting lots from period to period at minimal extra cost. The aim of improvement heuristics is to maximise cost savings as long as no new infeasibilities are incurred (e.g., Maes and Wassenhove (1998); Buschkühl et al. (2010)). However, these general heuristic approaches in many cases do not guarantee finding a feasible solution of the MCLSP-BOSI problem even if one exists ( Millar and Yang (1994)).
Pochet and Wolsey (1988) approach this problem by a shortest-path reformulation solved by integer programming and by a plant location reformulation for which they propose a cutting plane algorithm. Both approaches produce near-optimal solutions to large problems with a quite significant computational effort. Millar and Yang (1994) present two Lagrangian-based algorithms to solve the MCLSP-BOSI based on Lagrangian relaxation and Lagrangian decomposition. However, their MCLSP-BOSI model is limited as it considers setup, holding, and backorder costs while considering production costs fixed and constant throughout the planning horizon. They find a feasible primal solution at each Lagrangian iteration and guarantee finding a feasible solution if one exists with valid lower bounds, thus, guaranteeing the quality of the primal solutions.
Karimi et al. (2006) present a tabu search heuristic approach consisting of four elements that provide an initial feasible solution: (1) a demand shifting rule, (2) lot size determination rules, (3) checking feasibility conditions and (4) set-up carry-over determination. The found feasible solution is improved by adopting the set-up and set-up carry-over schedule and re-optimizing it by solving a minimum-cost network flow problem. The found solution is used as a starting input to a tabu search algorithm. An overview of metaheuristic approaches to dynamic lot sizing can be found in, e.g., Jans and Degraeve (2007). Furthermore, there exist heuristic-based algorithms based on local optima (e.g., Cheng et al. (2001)), approaches that examine the Lagrangian relaxation and design heuristics to generate upper bounds within a subgradient optimization procedure (e.g., Süral et al. (2009)), or a genetic algorithm for the multi-level version of this problem that uses fix-and-optimize heuristic and mathematical programming techniques (e.g., Toledo et al. (2013)).
Zangwill (1966) presents a CLSP model with backlogging where the demand must be satisfied within a given maximum delay while Pochet and Wolsey (1988) study uncapacitated lot sizing problem with backlogging and present the shortest path formulation and the cutting plane algorithm for this problem. Furthermore, Quadt and Kuhn (2008) study a MCLSP-BO with setup times and propose a solution procedure based on a novel aggregate model, which uses integer instead of binary variables. The model is embedded in a period-by-period heuristic and is solved to optimality or near-optimality in each iteration using standard procedures (CPLEX). A subsequent scheduling routine loads and sequences the products on the parallel machines. Six versions of the heuristic were presented and tested in an extensive computational study showing that the heuristics outperforms the direct problem implementation as well as the lot-for-lot method.
Gören and Tunali (2018) integrate several problem-specific heuristics with fix-and-optimize (FOPT) heuristic. FOPT heuristic is a MIP-based heuristic in which a sequence of MIP models is solved over all real-valued decision variables and a subset of binary variables. Time and product decomposition schemes are used to decompose the problem. Eight different heuristic approaches are obtained and their performances are investigated. Moreover, the performances of the proposed approaches are compared to the recent results in literature and a commercial solver. Based on the results, it can be stated that the performance of the proposed approaches are quite good.
From the decision distribution perspective, the above mentioned solution approaches solve the MCLSP-BOSI problem by a single decision-maker having total control over and information of the production process and its elements. Since the MCLSP-BOSI problem is highly computationally expensive, decomposition techniques may be used for simplifying difficult constraints. They were applied by Millar and Yang (1994) who used Lagrangian relaxation of setup constraints, while Thizy and Van Wassenhove (1985) studied the multi-item CLSP problem without backorders and used Lagrangian relaxation of capacity constraints to decompose the problem into single item uncapacitated lot sizing sub-problems solvable by the Wagner-Whitin algorithm (see, Wagner and Whitin (1958)) and its improvements (e.g., Aggarwal and Park (1993); Brahimi et al. (2017). Moreover, Lozano et al. (1991), Diaby et al. (1992), and Hindi (1995) are some other works using Lagrangian relaxation. A broad survey of single-item lot-sizing problems can be found in Brahimi et al. (2017). All these Lagrangian relaxation and decomposition methods focus on solving the CLSP problem centrally by one decision maker on a single processor. State-of-the-art centralized heuristic solution approaches and related surveys can be found in, e.g., Karimi et al. (2003), Karimi et al. (2006), Quadt and Kuhn (2009), Gören and Tunali (2018), and Jans and Degraeve (2008).
While the MCLSP-BOSI state-of-the-Art solution approaches improve solution quality in respect to previous work, they are all centralized approaches that can only be applied for a single decision maker. Giordani et al. (2009) and Giordani et al. (2013) deal with distributed multi-agent coordination in the constrained lot-sizing context. Both works assume the existence of a single robot (production resource) owner agent responsible of achieving globally efficient robot allocation by interacting with product (item) agents through an auction. The problem decomposition is done to gain computational efficiency since item agents can compute their bids in parallel. The allocation of limited production resources (global constraints) is done through the interaction between competing item agents and a robot owner (a single autonomous agent) having available all the global information. However, these approaches are not adapted to intrinsically decentralized scenarios as is the case of competing shared and open factories since the resource allocation decisions are still made by a single decision maker (robot owner) based on the bids of the item agents that are computed synchronously.
In shared and open factories, both the interests of the resource owners and the interests of self-concerned and individually rational owners of the items’ demands must be considered with minimal exposure of private and sensitive information. Distributed constraint programming approaches are computationally expensive (e.g., Faltings (2006)) and are, therefore, not applicable in such large systems producing multitudes of items. In this paper we present a first solution approach for the decentralized variant of the MCLSP-BOSI problem (a sketchy outline of this approach can be seen in Lujak et al. (2020)).
3 Overview of the studied MCLSP-BOSI problem
The objective of the MCLSP-BOSI is to find a production schedule for a set of different types of items that minimizes the total backorder, holding inventory, production, and setup costs over a given finite time horizon subject to demand and capacity constraints. This problem belongs to the class of deterministic dynamic lot-sizing problems well known in the inventory management literature (e.g., Pochet and Wolsey (2006); Buschkühl et al. (2010); Jans and Degraeve (2008); Karimi et al. (2003); Millar and Yang (1994); Quadt and Kuhn (2008)). In the following, we give the formulation of the baseline problem.
Before the beginning of the time horizon , the customer demand arrives for each item and each period of the time horizon and is received as incoming order. Items , with given resource requirements , are produced at the beginning of each period by robots (manufacturing resources) of a given limited and time-varying production capacity known in advance for the whole given time horizon . Open and shared factories may collaborate at times based on individual interest such that the factory’s production capacity may vary through time based on available shared resources. We assume that a time-varying and sequence independent setup cost that includes the setup of the production resources for the production of item occurs if item is produced at period and a linear production cost is added for each unit produced of item at the same period. Setup costs usually include the preparation of the robots, e.g., changing or cleaning a tool, expediting, quality acceptance, labour costs, and opportunity costs since setting up the robot consumes time. Moreover, demand for each item can be anticipated or delayed in respect to the period in which it is requested. If anticipated, it is at the expense of a linear holding cost for each unit of item held in inventory per unit period and if delayed, a linear backorder cost is accrue for every unit backordered per unit period. The inventory level and backorders are measured at the end of each period.
Each item demand is associated with inventory level at the end of period that can be positive (if a stock of completed items is present in the buffer at the end of period ), zero (no stock and no backorder), or negative (if a backorder of demands for item is in the queue at the end of period ). The inventory level is increased by production quantity and reduced by demand at each period .
Using a standard notation, we denote as the stock level, and as the backorder level at the end of period . Stock available at the end of period for product corresponds to the amount of product that is physically stored on stock and is available for the demand fulfilment. Notice that, for each period and item , , i.e., positive backorder value and storage value cannot coexist at the same time since if there is a backorder of demand, it will be first replenished by the items we have in the storage and then, we will produce the rest of the demand.
The problem is to decide when and how much to produce in each period of time horizon so that all demand is satisfied at minimum cost. The mathematical program of the studied MCLSP-BOSI problem is given in the following; related sets, indices, parameters, and decision variables are summarised in Table 1.
|Sets and indices|
|set of consecutive periods of the same length|
|set of items|
|demand for item at period|
|resource requirement for production of a unit of item|
|unitary production cost for item at period|
|unitary holding cost for item at period|
|unitary backorder cost for item at period|
|fixed setup cost for item at period|
|production capacity at period|
|number of items produced at period|
|holding and backorder inventory level of item at the end of period|
|equals 1 if item is produced at period , 0 otherwise.|
|cost of solution , ,|
The values of and represent the initial conditions, i.e., the stock and backorder level of item at the beginning of the planning time horizon.
For this model to accommodate not only backordering but also backlogging, in addition to the sum of the sustained costs in a given time horizon, in (1), there is also an additional backlogging cost i.e., . Generally, the decisions on backlogging, i.e., the value of (demand that is not produced in the time horizon) will depend on the relative value of backlog cost for each item at the end of time horizon in relation to production , holding , and backorder costs of items in periods , as well as the overall demand value for all items in relation to the overall capacity through the time horizon.
Constraints (2) are flow-balance constraints among product demand , stock level , backorder level , and production level , for each period . Constraints (3) are the flow-balance constraints for the end of the time horizon , which is the reason why the domain of index of in (8) runs in interval . Without loss of generality and assuming that for each period and item , the values of and are non-negative (zero or positive), the constraint is implicitly satisfied by the optimal solution, and, hence, omitted in the formulation.
Constraints (4) limit the overall resource usage for the production of all the items not to be greater than the production capacity at period . Note that production capacity of each period may vary from one period to another. Contrary to the classic MCLSP-BOSI model, our studied model does not have a strong assumption that the overall demand in the time horizon is lower than the overall production capacity. Here, the following constraints on resource requirements for production of a unit of each item hold:
Items that violate assumption (9) and periods that violate assumption (10) can be removed. By constraints (5), we model independent setups and the fact that if the production is launched for item in period , the quantity produced should not be larger than the overall demand for item in a given time horizon. Constraints (6) are nonnegativity and integrality constraints on production and holding decision variables, while constraints (7) are the constraints limiting the setup variables to binary values, i.e., the fixed setup cost is accrue if there is (any) production at a period.
The solution to problem is a production plan composed of a number of items to produce for each as a response to demand in each period of a given time horizon.
Complexity of the MCLSP-BOSI problem.
The single-item capacitated lot-sizing problem is NP-hard even for many special cases (e.g., Florian et al. (1980); Bitran and Yanasse (1982). Chen and Thizy (1990)) proved that multi-item capacitated lot-sizing problem (MCLSP) with setup times is strongly NP-hard. Additionally, Bitran and Yanasse (1982) present the multiple items capacitated lot size model with independent setups without back-orders and resource capacities that change through time. Contrary to our model that assumes non-negative integer values for , and , the model in Bitran and Yanasse (1982) contains no integrality constraints for these variables. The introduction of an integrality constraint leads to a generally NP-complete integer programming problem.
4 Formulation of the decentralized MCLSP-BOSI problem
Problem (1)–(8) is a classic and centralized mathematical formulation of the MCLSP-BOSI problem. The decentralized variant of the MCLSP-BOSI problem should consider that both providers of capacitated and homogeneous robots and their customers (owners of the produced items) are interested in the transformation of heterogeneous raw materials into heterogeneous final products and thereby both of them should be considered active participants in the production process; no one is willing to disclose its complete information but will share a part of it if this facilitates achieving its local objective. Therefore, they must negotiate resource allocation while exchanging relevant (possibly obsolete) information.
In the following, we propose the formulation of the decentralized MCLSP-BOSI problem.
First, we create a so-called Lagrangian relaxation (e.g., Lemaréchal (2001); Fisher (1981)) of problem , which we name , for which we assume to be relatively tractable. This new modelling allows us to decompose the original problem into item-period pair subproblems, where and (section 4.1). The decomposition based on item-period pairs allows for the agentification of the demand of product type at period and decentralize problem .
The Lagrangian relaxation is achieved by turning the complicating global capacity constraints (4) into constraints that can be violated at price , while keeping the remaining (easy) constraints for each product and period . We dualize the complicating constraints (4), i.e., we drop them while adding their slacks to the objective function with weights (vector of dual variables for constraints (4)-Lagrangian multipliers) and thus create the Lagrangian relaxation of .
Here, we let be the (current) set of nonnegative Lagrange multipliers (resource conflict prices).
The solution of the Lagrangian problem provides a lower bound, while the upper bound is obtained by first fixing the setup variables given by the dual solution and secondly, obtaining the solution from the resulting transportation problem.
Then the Lagrangian relaxation of the MCLSP-BOSI problem can be mathematically modelled as follows:
4.1 Item-period agent modelling
We decompose the overall production planning problem to subproblems solvable by item-period pair agents. Given a vector , we substitute indices . The mathematical program of the problem reformulated for pair agent is given in the following; related sets, indices, parameters, and decision variables are summarised in Table 2.
|Sets and indices|
|set of consecutive periods, whose elements are of equal length|
|set of pairs , where and whose elements have|
|positive demand value, i.e.,|
|demand for pair , i.e.,|
|demand for pair at period , where when , and otherwise|
|resource requirement for production of a unit of pair (item at period )|
|unitary production cost for pair|
|unitary holding cost for pair at period|
|unitary backorder cost for pair at period|
|fixed setup cost for pair at period|
|production capacity at period|
|number of items demanded at time () that are produced at time .|
|Note that we use as superindex to avoid confusion between|
|and from , which are not the same;|
|holding and backorder buffer content of pair at the beginning of period|
|equals 1 if pair is produced at period , 0 otherwise.|
|cost of solution ,|
where and , for all . Similarly to problem (P), the values of and represent the initial conditions, i.e., the stock and backorder level of pair at the beginning of the planning time horizon. Constraints (19) are flow-balance constraints among stock level , backorder level , production level , and product demand for each period in time horizon . Note that when , i.e., at the period at which demand is released, and for all other periods .
Constraints (20) model the backlog at the end of a given period . By constraints (21), we model the fact that if the production is launched in period , the quantity produced should not be larger than the demand for pair . Constraints (22) are nonnegativity and integrality constraints on production and holding decision variables; constraints (23) limit the setup variables to binary values and constraints (24) model the domain of backlog and backorder variables to .
Since the formulation is separable for a given set of multipliers, it is possible to extract a local optimization subproblem addressed by each pair agent that includes its production quantities , setup decisions , and holding and back-order buffer level for each period and backlog .
In the following, we present the problem to be solved by each pair agent .
where and is Lagrangian multiplier (conflict price) for resources available at period . Here, except for the constraints already explained previously, additional constraints (28) limit the overall resource usage for the production of agent to be not greater than the amount of resources available at each period . In this way, each pair agent resolves its local optimisation problem having available only its local variables and without the need to communicate with other agents to know their demands or production decisions.
The decentralized MCLSP-BOSI problem allows for multiple robot owner agents and multiple competing item-period pair agents requesting the production of the same item type at different periods, and asynchrony in decision making. For each pair agent , the solution of problem is a local production plan (as a response to production demand and the (current) set of nonnegative Lagrange multipliers i.e., resource conflict prices ) with related setup , storage , and backorder decisions in each period . The plan might not be globally feasible (i.e., not complying with constraints (4)) and thus should be negotiated with other agents . Therefore, item-period pair agents must negotiate resource allocation while exchanging relevant (possibly obsolete) information. Resource allocation here is achieved by the means of a decentralized protocol where fairness plays a major role.
5 Liquid flow network model and the Spillover Algorithm
In this section, we propose a decentralized multi-agent based coordination model and the Spillover Algorithm for the MCLSP-BOSI problem. In Table 3, we present symbols used in the Spillover Algorithm in addition to the ones already presented in Table 2. We describe these symbols in the following.
|set of liquid agents , where , and|
|valves controlling flow of liquid agent to posterior and anterior periods|
|number of resources requested by liquid agent from buffer agent|
|vector of production accommodated by buffer|
|approximated cost found by Spillover Algorithm solution ,|
We model each pair , where and as a rational self-concerned agent responsible of finding a production plan for the demand , where is a set of pairs of cardinality . Since the heuristics that will be proposed in the following imitates the behaviour of liquid flows in tube networks (pipelines) with buffers, we call each agent a liquid agent.
We model each period as a limited resource allocation agent that we call a buffer agent, responsible for the allocation of its production capacity that is proportional to the volume of the buffer (inventory level), Figure 1. We assume that available shared resources in period are owned by a single resource owner.
Initially, each liquid agent releases liquid volume proportional to its demand into the horizontal tube above buffer , Figure 1. This volume, while in the horizontal tube, is awaiting allocation (transfer) to one or more buffers. A liquid agent negotiates producing in time, postponing or advancing the production of its demand with the buffers representing present, later or earlier periods with respect to buffer via two types of horizontal tube valves: valves , that control the flow of liquid (demand) of agent in the horizontal tube to the posterior periods and valves , , that control the flow of liquid to the previous periods with respect to period , as seen in Figure 2.
The volume of each buffer is composed of (initially empty) impermeable chambers, one chamber per each liquid agent . Each chamber is attached from above to a horizontal tube exclusively dedicated to liquid through a valve controlled by the buffer agent, Figure 2. Buffer is modelled as a rational collaborative agent that controls the valves regulating the flow between the horizontal tube of each liquid agent that requests allocation at period and buffer . So even if liquid is present above buffer , it does not flow into the buffer if the valve of chamber of buffer does not open. The valve will open to let the inflow to chamber of the liquid volume corresponding to production .
Initially, all buffers’ valves and all liquids’ horizontal tube valves are closed. The volume of liquid equal to demand enters into the tube network above buffer ( being the period at which the demand is released). Valves and for every are all closed and do not allow the liquid flow in the horizontal tube, all liquid volume being concentrated between the valves and , Figure 2. The order of openings of these valves will control the direction of the flow of the unallocated liquid demand in the horizontal tube. This order is influenced by the relation between accumulated backorder and holding costs for the liquid and follows linear increase in their values as will be further explained. Liquid agent can direct the flow of its demand from its dedicated tube into the chamber of buffer if and only if all the control valves of liquid agent from period towards period are open and the valve of chamber of buffer is open, Figure 2. The volume of flow from tube into buffer is equal to the production . This value is inversely proportional to the liquid volumes of other chambers in the same buffer since their overall sum is limited from above by the buffer capacity, i.e., . When two or more liquid agents demand more resources than the production capacity , they compete for them. Since no central resource allocation entity exists, each liquid agent needs to negotiate its production with buffer agents through a negotiation mechanism.
Next, we present the auction-based mechanism for the allocation of the demand requested by liquid agents to be produced by buffer agents that we name the Spillover Algorithm. In each iteration, liquid and buffer agents negotiate for the allocation of the liquid demands in the buffers through multiple auctions (one auction per each buffer) in which each buffer agent announces its available resources and liquid agents bid for available buffers with locally lowest cost. Then, each buffer agent allocates liquid agents’ demand that locally maximizes its social welfare.
5.1 Spillover Algorithm: Liquid Agent
We propose next a decentralized anytime algorithm for liquid agents. Note that an anytime algorithm should be stoppable at any time, providing a feasible solution to the problem (as an approximation to the optimal solution). Also, the provided solution should monotonically improve with the runtime, contrary to Lagrangian relaxation that may oscillate between two points. This is why we explore a heuristic approach that follows given rules in iteratively allocating liquid agent demands to buffers based on the spillover effect. The basic idea here is that the liquid demand that cannot be allocated in a buffer where it appears due to its limited capacity, spills over through its dedicated tube towards other neighbouring buffers. The direction and quantity of spillage will depend on the accumulated values of the production, setup, backorder, and holding costs and their relative values in respect to other concerned liquids.
We introduce the definitions that are the building blocks of the algorithm.
Accumulated unit production cost of liquid agent for each :
That is, for period is composed of a setup () and production cost () and the accumulated holding and backorder costs (if any) depending on the relation of period with the demand period and with the time horizon . Even though (agent production cost) and (agent’s set-up cost) enter the objective function (18) very differently (one is multiplied with , the other with ), to achieve a straight-forward computation of and avoid iterative convergence issues, we model it as the overall cost of a unitary item production in period for agent .
Accumulated unit production costs for period are found by summing backorder costs through a given time horizon multiplied by usually a very high number . is a design parameter, whose value is given by the owner of a liquid agent . If its value is relatively low, an optimal solution may contain some unmet demand in a given time horizon.
Estimated accumulated cost of liquid agent is accumulated unitary cost made of unitary production, setup, storage, and backorder costs estimated over available periods , where is the set of available buffers that have capacity to produce at least one unit of its product:
The decision-making procedure for each liquid agent is presented in Algorithm 1.
The algorithm initiates with transmitting unaccommodated demand and resource requirement per product () to buffer agents , and receiving buffers’ capacities . If none of the buffers has available capacity (line 1), the procedure terminates after computing and returning its unmet demand and cost , where , given by:
By summing in (35) over all liquid agents , we can easily obtain the overall system cost made of the costs related for all items over all periods. Otherwise, liquid agent with positive demand () creates a set of available buffers (line 1). Then, it computes for each buffer and orders the buffers with available capacity in based on the non-decreasing value (line 1). is computed on line 1 and is used as a part of bid sent to each of the buffer agents considering resource demand and available capacity until the extinction of the unaccommodated demand or the available capacity (line 1), while and are the and element of . Liquid agent sends this information as a part of bid to each buffer (line 1). The direction and quantity of spillage will depend on .
By communicating its bid in terms of resource demand for each one of the elements and the value of , a liquid agent does not have to disclose confidential information or reasons for its decision-making. We choose this greedy strategy of producing as much as possible starting with the first buffer agent in set since we aim to minimize agent’s estimated accumulated cost for the rest of available periods in the horizon. Then, on receiving production response (line 1) from buffers , liquid agent updates its unaccommodated demand (line 1) and transmits it to all buffers (line 1). After receiving available production capacities from all (line 1), if there still remains an unaccommodated demand and available capacities , new iteration starts; otherwise, the algorithm terminates.
5.2 Spillover Algorithm: Buffer Agent
Each buffer agent knows its capacity and acts as an auctioneer for accommodation of liquid agent bidders’ demand for period . It orders all liquid agents bids in a non-increasing order and greedily accommodates for production allocating as much production resources as possible to the liquid agent bidder with the highest value up to the depletion of its available production capacity .
The decision-making of each buffer agent runs in iterations (Algorithm 2). Initially, it transmits its available capacity (line 2) and receives demands and resource requirements per product of all liquid agents (line 2). Then, it obtains the set of liquid agents with unmet demand (line 2). If there is unmet demand and sufficient production capacity (line 2), after receiving bids from bidding liquid agents (line 2), it creates an ordered tuple of bidding agents based on non-increasing value (line 2). This policy minimizes the maximum cost of the liquid agents bidding for a buffer and can be seen as a fairness measure to increase egalitarian social welfare among liquid agents. Then, it allocates the highest possible production level to liquid agents in considering resource demand and remaining capacity (line 2) and transmits the production values and remaining capacity to concerned agents (line 2). On receiving unaccommodated demand from (line 2), the buffer updates and checks whether the termination conditions on unaccommodated demand or its remaining capacity are fulfilled (line 2). If so, it terminates; otherwise, it repeats.
5.3 Spillover Algorithm analysis
This section analyzes the algorithm’s termination, optimality, and complexity.
The Spillover Algorithm terminates in at most iterations since it iterates through liquid agents and each of them does at most iterations. It stops for a liquid agent in the worst case when all the periods of the time horizon have been bid for. This is guaranteed to occur in steps, if the time horizon is bounded. If agent set is bounded, in the worst case when applied serially, this will happen in steps for all agents. If the overall demand through the given time horizon may be eventually allocated for production, i.e., if , no unmet demand (big M) cost will be accrued.
Whether the complete allocation obtained upon termination of the auction process is optimal depends strongly on the method for choosing the bidding value. The heuristic of ordering local values does not have a guarantee of a global optimum solution but guarantees local optimum. Thus, in case of an unpredicted setback or change in capacities or demands, instead of updating the plan for the whole system, as is the case in centralised control, it is sufficient to modify only the plans of the directly involved agents.
Complexity of Algorithm 1 (Liquid agent).
A liquid agent does at most iterations in the worst case (line 1) with the aim to accommodate its demand in any of the buffer agents. A bid from liquid agent is either (i) completely satisfied, (ii) partially satisfied or (iii) completely unsatisfied. In case (i), it may be possible that a liquid agent with still remaining unallocated demand bids again for the same buffer (if its demand allocation request was refused in other buffers). The buffer may i) allocate all the liquid agent’s demand up to the buffer’s capacity or up to the extinction of the liquid agent’s demand or ii) reject the allocation since it is already full. Thus, although liquid agent may bid at most two times for each buffer, in each iteration, at least one buffer is filled up and thus discarded for the next round of bids of the same liquid agent. The calculation of (line 1) requires iterations in the worst case as well as sending bids to buffer agents (foreach loop in line 1). Thus, in each loop in line 1, liquid agents send messages to and receive messages from buffer agents (lines 1 and 1); exchanged messages .
Complexity of Algorithm 2 (Buffer agent).
The main loop (line 2) of a buffer agent is repeated times in the worst case, since in every iteration a new bid (different from a previous one) from a liquid agent could be received.
In each iteration, a buffer agent sends (lines 2) and receives messages (lines 2 and 2) in the worst case, respectively. Thus, the complexity in number of messages exchanged is . Note that sorting the received bids (line 2) can be done in . However, this is done locally, not being as complex as exchanging messages. In total, the complexity of the decision-making algorithm of each buffer agent is .
6 Simulation experiments
In this section, we compare the performance of the proposed Spillover Algorithm and the centralized and optimal CPLEX solution considering randomly generated and diversified problem set for large-scale capacitated lot-sizing. To the best of our knowledge, there are no other decentralized solutions to the MCLSP-BOSI problem to compare with. We tested a general DCOP ADOPT-n (Modi et al. (2005)) but due to its modelling for n-ary constraints and the presence of mostly global constraints in MCLSP-BOSI, with only 4 periods and 4 liquid agents, it didn’t find a solution in a reasonable time.
6.1 Experiment setup
The experiment setup was performed following the principles in Diaby et al. (1992) and Giordani et al. (2013). We consider the case of Wagner-Within costs, i.e., the costs that prohibit speculative motives for early and late production resulting in speculative storage and backordering, respectively. Considering constant production costs for all , setup, storage, and backordering costs comply with the assumption of Wagner-Within costs, i.e.,
The value of for each item is chosen randomly from the uniform distribution in the range [50, 100], i.e. , and the value of the setup cost of every following period is computed by the following formula , where .
For simplicity, holding costs are assumed constant in time, i.e., , and are generated randomly from for each item . Backorder costs are computed from the holding costs considering a multiplication factor of 10, 2, 0.5, and 0.1 (the obtained values are rounded to have all integer values). When considering backlog costs in (33), to produce as much as possible during the time horizon, we model as a very large number whose value is 10000. We assume unitary production cost for each item to be constant in time, i.e. , and .
In the experiments, we consider a large production system scenario producing from 50 to 150 items with increase 10, over a time horizon composed of 100 periods with the value of mean item demand per period . This sums up to overall demand from 2.75 to 8.25 million units on average in the given time horizon.
For each item , demand is generated from the normal distribution with mean and standard deviation , with , i.e. . Standard deviation of the distribution of the item-period demands controls the demand variability. We experiment two levels of demand variability: high level whose () and low level with (). The larger the value of , the more “lumpy” the demand, i.e., the greater the differences between each period’s demand and the greater the number of periods with zero or fixed base level demand (e.g., Wemmerlöv and Whybark (1984)). For simplicity, but w.l.o.g, the values of , , and are assumed to be equal to zero. Resource requirement for production of a unit of is generated from . We consider variable production capacities generated from . This value is chosen to satisfy the overall demand of items with average demand units with average resource requirements for all over 100 periods.
As the key performance indicators, we consider average computational time and optimality gap compared between the solution of the Spillover Algorithm implemented in Matlab and the optimal solution computed with IBM ILOG CPLEX Studio 12.8 with CPLEX solver, both run on an Intel Core i5 with 2.4 GHz and 16 GB RAM. We tested scenarios, from very decongested ones with the overall demand representing of the available production resources in the horizon, to very congested scenarios where this percentage increases to . We combine the 11 cases of demand varying from 50 to 150 items with increment of 10 over 100 periods with 2 cases of variability and 4 cases of backorder costs related to the holding costs, resulting in a total of 88 experiment setups.
The simulation results of the Spillover Algorithm with the approximation scheme are shown in Table 4. The table contains the optimality gap (average of 8 experiments each, as described previously) in relation to the solution found in CPLEX together with their computational times. The optimality gap is the one used by CPLEX and is obtained as , where is the cost of the solution found by the Spillover Algorithm and is the cost of the CPLEX optimal solution. The mean gap value is and the individual gap value throughout the instances is rather constant and independent of the item number. This gap value, for such a heuristic approximation approach, is a very good result considering that heuristic approaches generally do not have quality of solution guarantees. The computational time of CPLEX has high variability for the same problem size. Thus, Table 4 shows the minimum and maximum execution times (in seconds) for each number of items. The Spillover Algorithm execution time is less than 0.1s for all the experiments. This confirms its good performance in relation to CPLEX, whose computational time increases exponentially with the increase of the item set size and thus scales poorly. Figure 3 shows graphically the difference between the minimum time taken by CPLEX and the Spillover Algorithm. However, the emphasis here is not on proposing an optimal method in a centralized environment, but to decentralize the coordination decisions of production planning in environments where the exposure of private and sensitive information is desirably minimized while still having a reasonably good global solution away from the control of a centralized decision maker.
|Avg. Gap (%)||28||28||30||16||16||28||27||28||27||27||27|
|Min CPLEX (s)||0.05||0.56||1.1||1.53||1.92||2.49||3.1||2.83||3.35||3.2||3.75|
|Max CPLEX (s)||0.69||1.07||1.39||11||47||74||157||391||451||571||869|
7 Discussion and conclusions
Open and shared factories are becoming popular in Industry 4.0 as another component of today’s global economy. In such facilities, production resources and product owners coexist in a shared environment. One of the main issues faced by product (item) owners that compete for limited production resources held by multiple robot owners in open shared factories is the exposure of their private and sensitive information including demand, production, holding, backorder, and setup cost structure. The same holds for multiple self-interested resource owners. Therefore, in this paper, we presented a decentralized and dynamic variant of the classic MCLSP-BOSI problem with time-dependent costs. To reach a decentralized variant of the problem and to control locally the linear increase of product owners’ costs, we decomposed the problem based on item-period pairs.
As a solution approach to the decentralized and dynamic MCLSP-BOSI problem, we proposed the Spillover Algorithm, to the best of our knowledge, the first heuristic decentralized algorithm for this problem that complies with the intrinsically decentralized nature of large and shared open factories. A heuristic solution was needed to cope with the NP-hard nature of the (decentralized) MCLSP-BOSI problem. The spillover heuristic is formulated as a multi-agent algorithm in a liquid flow network model with buffers: each item-period pair is represented by a liquid agent responsible of obtaining production resources (robots) to manufacture its demand, i.e., product of type requested to be produced through bidding at time . Likewise, production capacity (number of available robots) in each period is represented by a buffer agent responsible of allocating its available capacity to bidding liquid agents.
An auction-based algorithm leveraging spillover effect has been designed for a one-on-one negotiation between the liquid agents requesting item production and their buffer agents of interest. Each liquid agent sends greedy bids (consisting of the amount of the item to be produced, and the agent’s estimated accumulated cost for available buffers) to the buffer agents in order of non-decreasing accumulated unit production cost, and each buffer agent greedily accepts bids in order of the bidding liquid agents’ non-increasing estimated accumulated cost for all buffers. This is repeated until all demands are satisfied.
The proposed multi-agent auction-based approach has the advantage that agents do not need to reveal all their private and sensitive information (i.e., demand, production, setup, backorder, and holding costs) and that the approach is decentralized. Distributed problem solving here includes sharing of estimated accumulated costs for each item-period pair, which can be interpreted as a “resource conflict price”; i.e., the price paid for the number of requested robots being higher than the buffer (production) capacity. These methods are thus suitable for scenarios with multiple (competing) agents with private and sensitive information that should not be shared.
Note that the state-of-the-art heuristics are centralized solution approaches that are not applicable in intrinsically decentralized open and shared factories with self-interested and individually rational resource and product owners. Thus, the comparison of the performance of the Spillover Algorithm with these solution approaches is meaningless. The scope of this paper is not proposing a more computationally efficient heuristic for centralized MCLSP-BOSI problem, but to study a decentralized version of the MCLSP-BOSI problem and develop a heuristic approach applicable to intrinsically decentralized shared open factories. Centralized state-of-the-art heuristics cannot be applied to this problem with self-concerned and individually rational resource and item owners since these heuristics require complete exposure of everyone’s private and sensitive information.
Since all agents in the Spillover Algorithm have only a local view of the system, a disadvantage is that global optima are not necessarily achieved with such a decentralised control. We presented an experimental evaluation with randomly generated instances that nonetheless shows that the solutions obtained using the spillover effect heuristic are only about 25 more expensive than the optimal solutions calculated with CPLEX. The average optimality gap values are between 16 and 30 for the 11 tested item type numbers (from 50 to 150 different items (products)), where the average has been taken over 8 randomly generated instances for each choice of the number of item types. However, the Spillover Algorithm gives an anytime feasible solution running in close-to real time, under 30 milliseconds, while CPLEX requires between 4 and 869 seconds for the largest tested instances.
The low computational complexity of the Spillover Algorithm facilitates the implementation in shared and open factories with competitive stakeholders who want to minimize their information exposure. It may also be applied with minor modifications in many other domains, including the planning of aircraft arrivals and the agriculture mobile robot task allocation. The production cost is then the period cost for each aircraft/ agriculture task, holding cost remains the same, while the back-order cost becomes a stockout cost for every task backordered per unit time.
The Spillover Algorithm is resilient to crashes as the buffer agents continue to assign their resources as long as there is at least one liquid agent bidding for them. This topic will be treated in future work. In the future, we will also study more accurate spillover rules that iteratively approximate estimated accumulated costs as the bidding progresses while guaranteeing convergence. Open issues of agent trust and incentives to lie about production demand, estimated costs, and production capacities will also be studied in future work.
This work has been partially supported by the “E-Logistics” project funded by the French Agency for Environment and Energy Management (ADEME) and by the “AGRIFLEETS” project funded by the French National Research Agency (ANR) and by the STSM Grant funded by the European ICT COST Action IC1406, “cHiPSeT”, and by the Spanish MINECO projects RTI2018-095390-B-C33 (MCIU/AEI/FEDER, UE) and TIN2017-88476-C2-1-R.
- Improved algorithms for economic lot size problems. Operations Research 41 (3), pp. 549–571. Cited by: §2.
- Open versus closed firms and the dynamics of industry evolution. The Journal of Industrial Economics 55 (3), pp. 499–527. Cited by: §1.
- Lost-sales inventory theory: a review. European Journal of Operational Research 215 (1), pp. 1–13. Cited by: §1.
- Computational complexity of the capacitated lot size problem. Management Science 28 (10), pp. 1174–1186. Cited by: §1, §1, §3.
- Single-item dynamic lot-sizing problems: an updated survey. European Journal of Operational Research 263 (3), pp. 838–863. Cited by: §2.
- Dynamic capacitated lot-sizing problems: a classification and review of solution approaches. OR Spectrum 32 (2), pp. 231–261. Cited by: §1, §2, §3.
- Analysis of relaxations for the multi-item capacitated lot-sizing problem. Annals of Operations Research 26 (1), pp. 29–72. Cited by: §1, §3.
- Solving the capacitated lot-sizing problem with backorder consideration. Journal of the Operational Research Society 52 (8), pp. 952–959. Cited by: §2.
- A lagrangean relaxation approach for very-large-scale capacitated lot-sizing. Management Science 38 (9), pp. 1329–1340. Cited by: §2, §6.1.
- A heuristic solution procedure for the multi-item, single-level, limited capacity, lot-sizing problem. Journal of Operations Management 2 (1), pp. 23–39. Cited by: §1.
- Lot sizing and schedulingâsurvey and extensions. European Journal of Operational Research 99 (2), pp. 221–235. Cited by: §1.
- Distributed constraint programming. In Foundations of Artificial Intelligence, Vol. 2, pp. 699–729. Cited by: §2.
- The vertical organization of industry: systems competition versus component competition. Journal of Economics & Management Strategy 7 (2), pp. 143–182. Cited by: §1.
- The lagrangian relaxation method for solving integer programming problems. Management Science 27 (1), pp. 1–18. Cited by: §4.
- Deterministic production planning: algorithms and complexity. Management Science 26 (7), pp. 669–679. Cited by: §3.
- A decentralized scheduling policy for a dynamically reconfigurable production system. In Holonic and Multi-Agent Systems for Manufacturing, V. Mařík, T. Strasser and A. Zoitl (Eds.), Lecture Notes in Computer Science, Vol. 5696, pp. 102–113. Cited by: §2.
- A distributed multi-agent production planning and scheduling framework for mobile robots. Computers & Industrial Engineering 64 (1), pp. 19–30. Cited by: §2, §6.1.
- Fix-and-optimize heuristics for capacitated lot sizing with setup carryover and backordering. Journal of Enterprise Information Management 31 (6), pp. 879–890. Cited by: §2, §2.
- Virtual factory system design and implementation: integrated sustainable manufacturing. International Journal of Systems Science: Operations & Logistics 5 (2), pp. 116–132. Cited by: §1.
- Computationally efficient solution of the multi-item, capacitated lot-sizing problem. Computers & Industrial Engineering 28 (4), pp. 709–719. Cited by: §2.
- Smart factory for industry 4.0: a review. International Journal of Modern Manufacturing Technologies 7 (1), pp. 28–35. Cited by: §1.
- Meta-heuristics for dynamic lot sizing: a review and comparison of solution approaches. European Journal of Operational Research 177 (3), pp. 1855–1875. Cited by: §2.
- Modeling industrial lot sizing problems: a review. International Journal of Production Research 46 (6), pp. 1619–1643. Cited by: §1, §2, §3.
- Shared factory: a new production node for social manufacturing in the context of sharing economy. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture 234 (1-2), pp. 285–294. Cited by: §1.
- A tabu search heuristic for solving the CLSP with backlogging and set-up carry-over. Journal of the Operational Research Society (JORS) 57 (2), pp. 140–147. Cited by: §2, §2.
- The capacitated lot sizing problem: a review of models and algorithms. Omega 31 (5), pp. 365–378. Cited by: §1, §2, §3.
- Lagrangian relaxation. In Computational Combinatorial Optimization, pp. 112–156. Cited by: §4.
- Primal-dual approach to the single level capacitated lot-sizing problem. European Journal of Operational Research 51 (3), pp. 354–366. Cited by: §2.
- A decentralized multi-agent coordination method for dynamic and constrained production planning. In Proceedings of the 19th International Conference on Autonomous Agents and Multiagent Systems, AAMAS ’20, pp. 1913–1915. Cited by: §2.
- Multi-item single-level capacitated dynamic lot-sizing heuristics: a general review. Journal of the Operational Research Society (JORS) 39 (11), pp. 991–1004. Cited by: §2.
- Lagrangian heuristics for the capacitated multi-item lot-sizing problem with backordering. International Journal of Production Economics 34 (1), pp. 1–15. Cited by: §2, §2, §2, §3.
- ADOPT: asynchronous distributed constraint optimization with quality guarantees. Artificial Intelligence 161 (1-2), pp. 149–180. Cited by: §6.
- Production planning by mixed integer programming. Springer Series in Operations Research and Financial Engineering. Cited by: §1, §1, §3.
- Lot-size models with backlogging: strong reformulations and cutting planes. Mathematical Programming 40 (1-3), pp. 317–335. Cited by: §2, §2.
- Capacitated lot-sizing with extensions: a review. 4OR - A Quarterly Journal of Operations Research 6 (1), pp. 61–83. Cited by: §1, §2, §3.
- Capacitated lot-sizing and scheduling with parallel machines, back-orders, and setup carry-over. Naval Research Logistics (NRL) 56 (4), pp. 366–384. Cited by: §2.
- Spillover edge effects: the dispersal of agriculturally subsidized insect natural enemies into adjacent natural habitats. Ecology Letters 9 (5), pp. 603–614. Cited by: §1.
- Smart factories in industry 4.0: a review of the concept and of energy management approached in production based on the internet of things paradigm. In 2014 IEEE International Conference on Industrial Engineering and Engineering Management, pp. 697–701. Cited by: §1.
- Lagrangean relaxation based heuristics for lot sizing with setup times. European Journal of Operational Research 194 (1), pp. 51–63. Cited by: §2.
- Lagrangean relaxation for the multi-item capacitated lot-sizing problem: a heuristic implementation. IIE Transactions 17 (4), pp. 308–313. Cited by: §2.
- A hybrid multi-population genetic algorithm applied to solve the multi-level capacitated lot sizing problem with backlogging. Computers & Operations Research 40 (4), pp. 910–919. Cited by: §2.
- Dynamic version of the economic lot size model. Management Science 5 (1), pp. 89–96. Cited by: §2.
- Lot-sizing under uncertainty in a rolling schedule environment. The International Journal of Production Research 22 (3), pp. 467–484. Cited by: §6.1.
- A deterministic multi-period production scheduling model with backlogging. Management Science 13 (1), pp. 105–119. Cited by: §2.