A multi supplier lot sizing strategy using dynamic programming

Article history: Received August 2


Introduction
During the past few years, the significant growth in the industries has resulted in a highly competitive environment where a growing demand for efficiency and effectiveness in companies is observed.Therefore, decision makers have considerably become interested in "supply management" and "inventory management".The lot sizing problem has a notable influence on inventory and production costs and it has attracted many researchers for over years.The problem is to determine the time and the amount of order or production.It is often difficult to solve the lot sizing problem with supplier selection for the case of multiple suppliers, where each may have a different purchasing, ordering costs, inventory holding costs, etc.Sometimes the suppliers offer quantity discounts, as well.Considering different aspects of the supply chain, discounts can make some improvements.Discounts are supposed to be beneficial for the following reasons: 1. Improving the coordination of the chain 2. Increasing the revenue through price differentiation The lot sizing problem was first studied by Wagner and Whitin (1958) who provided a dynamic programming algorithm for a problem of multiple periods and a single product.Silver and Meal (1973) proposed a heuristic for solving the problem, called Least Period Cost.Other heuristics were developed by others like Federgruen and Tzur (1991) and Aggarwal and Park (1993).These algorithms were introduced in order to reduce the existing complexity of problems using efficient data structures and control rules, which aim to scale down the search scope.Quantity discounts have been considered (Benton & Whybark 1982) as well as demand uncertainty (Whybark & Williams 1976).Shaw and Wagelmans (1998) took capacity restrictions into account and Loparic et al. (2001) added sales and safety stocks to the problem.Shortages and startups (Agra & Constantino 1999) and demand time windows (Lee et al. 2001) are among other factors studied in the literature.Babaei et al. (2012) addressed the multi-level lot sizing and scheduling problem for a multi-product flow shop.The supplier selection problem has also been studied in the literature.Ho et al. (2010) and Agarwal et al. (2011) provided a review study for supplier evaluation and selection.The goal of the lot sizing problem for the case of multiple suppliers is to decide which suppliers to order from, along with the lot sizes and the ordering periods (Weberand Current 1993).
In general, the criteria of supplier selection is divided into quantitative (e.g.price) and qualitative (e.g.customer satisfaction) factors.Wind and Robinson (1968) studied the problem when there are conflicting criteria such as compromising between quality and price.A vendor, for example, that sells the products in a lower quality for a lower price.Hassini (2008) took suppliers' capacities into account and proposed a linear programming model, considering discounts and due dates.A more complicated model was proposed by Liao and Rittscher (2007) adding carrier selection decisions.Basnet and Leung (2005) solved the supplier selection and lot sizing problem for the case of multiple items using a heuristic method and proposed an integer linear programming formulation.Tempelmeier (2002) solved the problem for the case of a single item with discounts.Moqri et al. (2011) introduced a forward dynamic programming algorithm to solve the single item problem under no discounts assumption.
In this paper, a supply chain consists of two stages, suppliers and a producer, is considered and the lot sizing problem with supplier selection is studied where there are multiple periods and a single item.In addition, two different discount policies are taken into account including all-units and incremental.Then, the modeling formulation of the problem is proposed and it is solved using an algorithm based on dynamic programming.Finally, the performance of this algorithm is examined in terms of running time and accuracy.This paper is organized as follows: In section 2, the problem is described in details and the assumptions are given.Section 3 consists of the proposed method and the solution procedure is described.A numerical example solved using this algorithm is given in Section 4 and the computational results are proposed in Section 5.At the end, the conclusion of the paper is presented in Section 6.

Problem description
Consider a two stage supply chain where a producer buys the raw materials needed, from a variety of suppliers.The problem is to determine the lot sizes as well as the times to make the orders.The assumptions of the problem are as follow, -The problem is considered for the single item case; -There is a finite time horizon, which consists of T time periods; -Demands of different time periods are deterministic and known in advance; -Shortages are not allowed, and in each period, it is not possible to satisfy demands of earlier periods; -Inventory holding cost is charged at the end of period stock and it is independent from the suppliers and changes over time; -There is no inventory in the beginning and at the end of the planning horizon; -No limitations are considered for the suppliers' capacities.
-Unit purchasing cost of each period is determined by the suppliers, independently; -The supplier charges fixed ordering cost each time an order is made.This cost varies over time periods.-Two discount schemes are taken into account, incremental and all-units.Each supplier is able to provide one of these discount policies.
Parameters and decision variables used in this paper are as follows:

Mathematical model
Moqri et al. ( 2011) presented the mathematical model of the problem, when no discounts are considered.The following model allows each supplier to choose its discount policy. (1) ( ) ) The objective function ( 1) is used to minimize the total cost, which consists of fixed ordering costs, purchasing costs and holding costs.The first constraint (2) calculates the purchasing cost in different cases according to the discount policy.Eq. (3), Eq. ( 4) and Eq.(8) determine the discount ranges associated with the amount procured.Eq. ( 5) is the flow conservation relationship for different periods.Using Eq. ( 6) and Eq. ( 7), lot sizes are either equal zero or the cumulative demands of k consecutive periods.The following recursive relation also minimizes the total costs. (9) Using Eq. ( 9) and Eq. ( 10), a dynamic programming methodology is proposed, which reduces the search space to obtain the solutions from T U to ( )

3.The proposed method
In order to solve the problem discussed above, an algorithm based on forward dynamic programming is proposed.

Solution characteristics
Some of the characteristics of the final solution of the problem for the case of no discounts are presented before the solution procedure.
Lemma1.Procurement from different suppliers in the same period is never optimal, i.e.
(11) 0 , No order is made in periods with inventory.

Theorem 1
In the optimal solution, each lot size is equal to aggregate demand of the ordering period and k consecutive periods.In other words, in periods where 0 st X > we have, (13) for a 0 k > Proof.This theorem is proved using lemma 2. ■

Theorem 2
For each t where 0 t I = , periods 1 to t-1 and t to T could be planned independently.
Proof.Wagner and Whitin (1958) proposed this theorem for the single supplier case.Using theorem 1, Moqri et al. (2011) extended this theorem for the case of multiple suppliers.■ These lemmas and theorems are implemented to gain the optimal solution when discounts are not considered.Otherwise, the proposed algorithm may result in non-optimal solutions, which are proven to be of an acceptable accuracy and obtained within low computational times.

The solution procedure
The proposed algorithm of this paper first plans the procurement of the demand of the first period.Then, in each stage, the optimal solution of the latest stage is used to find the purchased amount.Here, time periods are supposed to be the programming stages.This recursive relationship helps speed up the procedure by eliminating many of the possible solutions, which are mostly distant from the optimal solution.The algorithm has the following steps.
1. Let t be the period in which the optimal ordering policy is supposed to be determined.Different ordering policies up to this period are determined as well as their costs.The minimum value indicates the best policy at this stage.Note that the policies studied here are the optimal policies of periods 1 to t-1 and different options of ordering in period T.This procedure is shown in Table 1.Note that the index u indicates that the options consist of purchasing from different suppliers and all of them are taken into account.

Table 1
Tabular calculations in different periods in the proposed algorithm 2. The cost of each option in step 1 is calculated, which consists of holding, fixed ordering and purchasing costs.The holding cost is charged to the end of period stock and is calculated as follows: (14) 1

= ∑
In some periods where there is no inventory, fixed ordering cost is charged since ordering has to be made.Purchasing cost is calculated for ordered lots based on the discount scheme provided by the supplier.In the case of incremental quantity discount, Eq. ( 15) used and Eq. ( 16) is used otherwise.

∑∑
These calculated costs are added to the optimal cost of the earlier periods, and the result is compared with those of other options.

If t T
= the option with the minimum cost indicates the final solution of the problem and the algorithm is finished.Otherwise, these steps are repeated for 1 t t = + .

Numerical Example
In this section, a numerical example is solved using the proposed algorithm.Table 2 and Table 3 represent the data of the given example.Both suppliers provide all-units quantity discounts.

Table 3
Given prices of the suppliers in the numerical example 2tx P ( ) The solution procedure is started from the first period.The only option is to procure the demand of the first period from one of the suppliers.The fixed ordering cost of supplier 1 is equal to 4 and the unit purchasing price of 40 items from this supplier is 3 (the first discount range).Therefore, the total cost of buying the demand of the first period from supplier 1 is 4 3 40 124 + × = .The same calculations for supplier 2 result in 4 3 40 124 + × = as well.Due to the fact that both options result in the same cost, each option could be chosen.Now, the second period needs to be investigated.Different options of this stage consist of the optimal solution of the first stage combined with meeting the demand of the second period.Therefore, the options are: 1) buying the demands of both periods in the first period from supplier 1, 2) buying the demands of both periods in the first period from supplier 2, 3) buying the demand of each period independently from supplier 1 (or period 1 from supplier 2 and period 2 from supplier 1), 4) buying the demand of period 1 from supplier 1 (or 2) and that of period 2 from supplier 2 separately at the beginning of period 2. The cost of each option is calculated and the one with the minimum cost is selected.These options are presented in Table 4.

Table 4
Ordering options in period 2 of the numerical example

Option
Ordering in period 1 Ordering in period 2 1 (1,2) 1 -2 (1,2) 2 -3 (1) 1 or (1) 2 (2) 1 4 (1) 1 or (1) 2 (2) 2 For periods 3 and 4, the same procedure is applied and different options are compared to find the final solution.These calculations are shown in Table 5 and, as can be seen, the final solution is to procure the demands of periods 1 to 3 from supplier 1 at the beginning of period 1, and buy the demand of period 4 at the beginning of this period from supplier 2. The cost of this ordering policy will be 324.

Computational results
In order to evaluate the performance of the proposed algorithm, a computational examination was performed using C++ and Microsoft Visual Studio 2008 on a personal computer (Intel Core2 Quad CPU Q6600 @2.40GHz 2.40 GHz, 2GB RAM).Tables 6, 7 and 8 represent the accuracy of the algorithm in different cases of quantity discounts.The accuracy is indicated by the standard deviation from the optimal solution.In Table 5, the discount policy for all of the suppliers is supposed to be allunits, while in Table 6 it is considered incremental.
In Table 8, discount schemes are chosen by the suppliers independently.As can be seen, three different values are considered for the number of the suppliers as well as the planning horizon.In each case, 10 data sets were randomly generated.The ranges used for the random data are as follows.Demand: (10,40), fixed ordering cost: (10,60), unit holding cost: (1,20) and unit purchasing price: (10,30).The results of Table 6, Table 7 and Table 8 show that despite the fact that in some cases (in all-units and mixed discount policies) high deviations are observed, the algorithm, in general, provides acceptable accuracy.As can be seen, despite large problem sizes, the algorithm solves the problem in low computational times.

Conclusion
The problem discussed in this paper is lot sizing along with supplier selection in a supply chain consisted of two stages.The problem is studied in the case of single item, where the demands of different periods are dynamic and known in advance.Suppliers can provide all-units or incremental quantity discounts.
The mathematical model of the problem is presented and an algorithm based on dynamic programming is proposed to solve the problem.The performance of this algorithm has been tested using C++ and Microsoft Visual Studio 2008.The results indicate that the proposed algorithm is able to find high accuracy solutions within low computational times.
discount range of supplier u for the lot size of x items, 1bound of discount range n of supplier u , 1 if discount range n is selected, 0 otherwise u Z : Equals 1 if incremental quantity discount is provided by supplier u , 0 otherwise.

Table 2
General data of the numerical example

Table 9
represents the running times of the proposed algorithm.Each value in this table represents the average of ten examples that were generated randomly using the following ranges.Demand: (10, 100), unit holding cost: (1, 20), fixed ordering cost: (20, 60) and unit purchasing price: (10, 30).

Table 9
Running times of the proposed algorithm (Seconds)