Supply chain coordination with flow networks

A mechanism for supply chain coordination models the entire supply chain with multiple members in four stages to satisfy customer demand with minimum total costs. Previous coordination mechanisms research applied restrictive assumptions on the number in the supply chain stages and members in each stage, disallowing a case of multi-product. Flow networks concept is proposes as a coordination mechanism for supply chains with multiple members, multiple stages and multi-products, where each product is composed of several basic components. A supply chain optimizer (SCO), actually an e-hub, gathers supply chain state information. After necessary computations, it informs members of the supply chain of optimal decisions for their orders. Results from sample cases using the mechanism show above 20% reduction in total costs of the supply chain.


Introduction
A supply chain is defined as a collection of suppliers, manufacturers, distributors and retailers (supply chain stages) along with all interrelationships (Chopra & Meindl, 2003).A supply chain thus includes several distinct businesses which are related to each other directly or indirectly to satisfy customer demand.A supply chain is composed of several stages with a number of members in each stage.Different types of products may be produced in a supply chain.The current literature, using simplifying assumptions, has not addressed the case of multiple members with multiple products.
Coordination amongst the stages or, in other words, a set of buyers and sellers is a major challenge in supply chain management, and has generated much interest in the past several decades.Meanwhile, the actual number of cooperating businesses related to product manufacturing and distribution has increased in practice, thus complicating the coordination issue immensely.Lack of coordination causes several disruptive effects such as long lead times, increase in operational (production, transportation, human resources and inventory) costs, degradation in customer service level, and a negative impact on the relationships among members in the supply chain.
The idea behind the proposed mechanism in this paper is to model the supply chain as a flow network.In this work, a Supply Chain Optimizer (SCO), which may actually be an electronic hub (e-hub), gathers necessary information about operational costs and capacities from members of the supply chain.After solving two linear programming models in the corresponding flow network (described later in the paper), SCO directs supply chain members on ordering decisions, thus providing minimum overall cost on the entire supply chain.Without such mechanism every member makes decisions on order quantities based on its local and accessible information, which results in non-optimal performance of the supply chain.

Problem definition
A supply chain is considered here with multiple members in several stages, providing k different types of products (but in the same industry, such as automobile parts or dairy products) to the customers.Each product is manufactured from a number of basic components or raw materials provided by the suppliers.A manufacturer can potentially produce all products, limited by its capacity.The distributors then send the products from the manufacturers to the retailers, and the retailers sell the products to the customers.
This definition removes two simplifying assumptions, in the previous works containing formal analysis, which were limited number of members in the supply chain and a singleproduct case.Therefore, a more general and realistic problem is investigated.The prices of the products are constant and irrelevant since they are derived from the overall supply and demand in a competitive market and are not controlled significantly by individual members in the supply chain.The problem here, therefore, exclusively focuses on minimizing costs of providing products to the customers.
The members in the supply chain are assumed to follow Fixed Interval Order (FIO) policy for inventory control.Hence there exists an agreement on a fixed order placement period for products, and members only make decisions about quantities and sources of their orders.As a member places one order in an order placement period, cost of placing orders with a member in previous stage is not affected by the coordination mechanism.Moreover, every unit of shortage of inventory in a retailer imposes a constant cost to it.Customer demand is forecasted and given by the retailers, and thus deterministic in each period.
The proposed mechanism aims to minimize total operations costs for the entire supply chain.In this way, higher competitiveness for the supply chain is achieved by lower overall cost of providing products to the end-customers.It should be noted that modelling the entire supply chain with an integer programming framework is not practical as its dimensions grow exponentially with increasing number of supply chain stages and members.Moreover, in practice retailers first examine ways of providing products from the manufacturer to the customers before manufacturer transfer the corresponding demand to the suppliers.
Obviously, most real-world scenarios involve more intricate and complicated characteristics such as using different inventory management systems and stochastic nature of demand.However, this paper aims to extend the previous studies by considering multiple stages and multiple products.Thus, as a primary step, the proposed coordination mechanism is studied with potential for more complex situations.

Related work
The supply chain coordination may generally include coordination contracts, information sharing and negotiation.The most common mechanism for bilateral relationship between a buyer and a seller is to agree on a contract.Supply chain contracts include quantity discount, return, channel rebate and revenue sharing (Liu, Zhang & Zhao, 2005).Increase in the number of members of supply chain transforms traditional contracts into inefficient coordination mechanisms.Li and Wang (2007) provide a survey of traditional coordination mechanisms for supply chain taking an inventory control approach.
Decision making based on shared information by members of the supply chain is the second major type of coordination mechanisms.Utilizing customer relationship management (CRM) and supplier relationship management (SRM), e-marketplaces and trading agents are usual choices for managing and sharing business information (Kelle & Akbulut, 2005), (Chopra & Meindl, 2003), (Grieger, 2003), (Singh, Salam & Iyer, 2005).An absolutely significant question is that while members of the supply chain do not trust each other completely, why should they accept to share their own strategically important information via such coordination systems?Thus, it may be essential to restrict shared information as much as possible.
Some recent studies have focused on negotiation-based mechanisms for the supply chain coordination.Negotiation may be considered as a process with a special type of information sharing where less information is shared, with a defined protocol for conducting the negotiation process.Dudek and Stadtler (2005) study a two-member supply chain.By defining members' mathematical operational model, they propose a negotiation mechanism to reduce total costs.Ding and Chen (2006) consider using negotiation in return policy to coordinate a three-stage (with a single member in each stage) supply chain.Fink (2004) proposes using a mediator software agent to conduct a bilateral negotiation process until both firms accept a contract.In general, limiting the number of members in the supply chain is a major obstacle in applying the current negotiation-based mechanisms to supply chains with multiple members.

Flow networks
A flow network is a directed graph in which each node can produce, consume or pass a flow.Each directed arc is a oneway conduit for the flow with a defined capacity.Examples of the flow networks include electrical, urban transportation, telecommunication, railroad and oil product pipeline networks.Nodes are conjunction points of flow paths and can only pass the flow, except for two special nodes.Source node has only outgoing arc(s) and produces the flow, while sink node has only incoming arc(s) and consumes the flow.Several studies (Ahuja, Magnanti & Orlin, 1993), (Goldberg, Tardos & Tarjan, 1990) provide comprehensive surveys of algorithms for solving network-flow problems.
network, two nodes are distinguished as source node s and sink node t .It is assumed that every arc lies on some path from the source to the sink.A flow is a real-valued function f : V V R   that satisfies the following properties: ) , which can be positive, zero or negative, is the flow from node u to node v .A flow network may have several sources and sinks, rather than just one of each.In this case, the source and sink nodes should be replaced with a set of source nodes and a set of sink nodes, respectively.

Coordination mechanism
Consider a network G (V,E)  that satisfies three properties of a flow network discussed in the previous section.Each node represents a member of the supply chain and each directed arc represents a potential relationship between two members.In this model, sources and sinks of the flow network are equivalent to suppliers and retailers of the supply chain, respectively.Every directed arc (u, v) shows the possibility of providing basic components, raw materials or finished products from a member u to a member v .Arc capacities are given as capacities for supply, production, transportation or delivery (depending on nature of a relationship) from an organization to another for a planning period.Moreover, a cost factor is assigned to each arc representing the costs of supply, production, transportation or delivery for each unit of a product.These costs are assigned to the first member in a relationship (i.e.organization u ).
Consider k types of products which are produced from p different basic components or raw materials.Set The original flow network is decomposed into two parts: network (I) which includes manufacturers, distributors and retailers, and network (II) which covers suppliers and manufacturers.Considering the practical nature of the problem, first the demand side from manufacturers to retailers is considered, and then the supply side from suppliers to manufacturer is evaluated.1 V is a set of vertices of network (I) and 2 V is set of vertices of network In network (I) products flow, while in network (II) components (or raw materials) flow.Model (I) is the model for network (I) and model (II) is the model for network (II).They are specified in Figure 1 and Figure 2, respectively.In model (I), manufacturers and retailers are considered as sources and sinks of products, respectively.Model (I) is a linear programming model.It takes as input the product demands from the retailers as well as the capacities and costs for the relevant arcs.ir d is the quantity of demand for the product type i from the retailer (where r 1, 2,..., R  and i 1, 2,..., k  ).For each arc (u, v) capacity and cost are also provided.i c (u,v) is the capacity of arc (u, v) for flow of product i and i o (u,v) is cost of flow of each unit of product i within arc (u, v) .
These properties are given as constant for each planning period.i c (u,v) is interpreted as maximum feasible capacity of organization u for providing (i.e.manufacturing or distributing) product i and delivering it to organization v incurring cost i o (u,v) .Value of the flow of each product through each arc is determined by solving the model (I).i f (u, v) is value of flow of product type i in arc (u, v) .
Objective function 1 z is total operational costs of the supply chain in network (I) section to be minimized.
Six categories of linear constraints are considered in this model.First three categories of constraints are equivalent to capacity constraint, skew symmetry and flow conservation properties of flow networks, respectively.Fourth category of constraints guarantees satisfying demand in retailers.Fifth category of constraints assures that manufacturers produce enough products.Finally, sixth group of constraints are nonnegativity constraints on values of outflows.Solving model (I) provides values for flows i f (u, v) so that network (I) satisfies customer demand with minimum possible cost.values).Objective function 2 z is total operational costs of the supply chain in network (II) section to be minimized.
Four groups of linear constraints in model (II) are as follows.First group of constraints are equivalent to capacity constraint of flow networks.Second group of constraints guarantees satisfying demand from the manufacturers for r basic components to produce sufficient products.Third group of constraints assures that the suppliers provide enough basic components to the manufacturers.Lastly, fourth group of constraints are non-negativity constraints on values of out flows.Solving model (II) prvides values for the flows j f (u,v) so that network (I) satisfies customer demand with minimum possible cost.A supply chain is composed of network (I) and network (II).Therefore operational costs of the supply chain are the sum of the costs of these two networks, and the optimal cost for the supply chain equals 1 2 z z  .Since both model (I) and model (II) are linear programming models, existing polynomial-time algorithms such as Karmarkar's algorithm (Winston, 2002) may be used to solve them.By solving the models and informing the supply chain members of the related flow values, the members are able to make decisions and place orders which results in optimal situation for the whole supply chain.
It may be necessary to include another group of constraints to ensure that some or all of decision variables (i.e.i f (u, v) and j f (u,v) ) will take integer values.Such additional constraints may be necessary when a product or component is countable and may not be fractional.In this case, mixedinteger programming (Taha, 1976) methods are applicable.

Supply chain optimizer
The proposed coordination mechanism includes constructing and solving models (I) and (II), and then using their optimal solutions.To achieve this goal in practice, a central software entity named Supply Chain Optimizer (SCO) takes the center stage.The suppliers and manufacturers are asked to provide i A sets information to the SCO.Whenever i A changes, they should inform the SCO immediately.At the beginning of a planning period, for example at beginning of each month, the retailers also provide demand forecast information to the SCO.Every supplier, manufacturer and distributor in supply chain provides the SCO with names of connected organizations in its next stage along with associated capacity and cost parameters.In other words, a retailer r ret sends ir d and every non-retailer member of supply chain such as u specifies arcs (u, v) and values for i c (u,v) and i o (u,v) to the SCO.
Using gathered information, the SCO is then able to construct and solve models (I) and (II) and send flow values to supply chain members.Receiving values from the SCO, each distributor or retailer organization v places an i f (u, v) unit order for product i with the organization u .Manufacturer m manu places j m f (u,manu ) unit order with the supplier u .Therefore, orders are placed to assure the entire supply chain operations with minimum feasible costs and satisfying customer demand.
The SCO can be implemented in form of an e-hub.E-hubs or B2B marketplaces may be classified into four categories: MRO (maintenance, repair and operating) hubs, yield managers, exchanges and catalog hubs (Kaplan & Sawhney, 2000).MRO hubs and yield managers give buyers access to industry-independent products (such as office supplies).Conversely, exchanges and catalog hubs provide raw materials and components that vary considerably from industry to industry.
While exchanges enable fulfilment of an immediate need at the lowest possible cost, using catalog hubs involves ., ..., , negotiated contracts with qualified seller organizations.In this case the buyers and the sellers often develop close relationships.Therefore, the catalog hub is the right choice to implement the SCO, since members of the supply chain tend to have long-term relationships and shared benefits.Figure 3 and 4 depict SCO functionalities in the information gathering and sending order quantities respectively.If such coordination mechanism is not used, each member in the supply chain will attempt to fulfil its demand in a locally optimal style.In this case, beginning at the retailer stage, each member of the supply chain considers capacity and cost factors of incoming arcs to place orders to satisfy its demand with local minimum cost.As every member makes local decisions based on limited accessible information with no comprehensive coordination mechanism, the members of supply chain will operate with higher costs compared to the optimal situation.Figure 5 illustrates locally optimum behavior for a retailer ordering product i .Note that these are relatively small Linear Programming models.
To solve these models, "What's Best! Version 9" (Lindo Systems Inc., 2007) package is used, which is able to solve linear (and some non-linear) models with up to several hundred variables and several hundred constraints.Optimal values of decision variables and total cost of model (I) and   The proposed mechanism is based on Linear Programming models.Therefore, finding an optimal solution with lowest supply chain cost for these models (if existed) is mathematically guaranteed.In general, the models' sizes are as follows: where 1 e is number of directed arcs in network (I) and 2 e is number of directed arcs in network (II).

Performance
A Performance Ratio is considered as follows: Total Cost without SCC Performance Ratio Total Cost with SCC  The mechanism is used in solving several sample cases and compared with costs of making orders without an overall supply chain coordination.Figure 7 depicts performance ratio as a function of flow variety.The average value for performance ratio is 1.2043 .Moreover, variety of flow does not have significant impact on performance ratio.

Conclusions
This paper proposes an software-based coordination mechanism for the multi-product supply chain with multiple members.Every type of product is produced from a set of basic components or raw materials.The supply chain is modelled as a flow network which considers operational capacities and costs for all members of supply chain.By forming and solving a set of linear programming models, members will be able to make decisions that result in totally optimal situation with minimum cost for the whole supply chain.Previous work, assuming a limited number of members in the supply chain and with only a single product, has not reflected the real world supply chains.
To achieve the above goal, a central entity named supply chain optimizer (SCO) receives information about relationships, capacities and costs from members of the supply chain at the beginning of the planning period.The SCO then forms and solves a linear programming model and sends optimal order quantities to the members.The SCO can be implemented as a catalog hub, which is an e-hub suitable for long-term relationships and industry-specific transactions, This mechanism results in higher competition among organizations to reduce prices and to determine real capacities based on historic information.
Figure 2 specifies model (II) which should be solved after model (I) to provide components to manufacturers.In model (II), j c (u,v) is the capacity of arc (u, v) for flow of basic component (or raw material) type j and j o (u,v) is cost of flow of component type j through arc (u

Figure 5 :
Figure 5: Locally optimum behavior by a retailer ordering product i

Figure 6 .
Figure 6.Example of a supply chain with 3-products Using proposed coordination mechanism, Model (I) consists of 66 decision variables and 87 constraints and Model (II) is formed with 25 decision variables and 40 constraints.Note that these are relatively small Linear Programming models.
) are calculated and shown in

Figure 7 .
Figure 7. Performance ratio as a function of flow variety

Table 1 : Optimal flows of products
Table 1 and Table 2, respectively.Optimal total costs of supply chain denoted by * z , is sum of 1 z and 2 z .In this example * z is 659 .