Assigning Orders to Suppliers with Linear Piecewise Concave Costs

Purpose: Once a set of suppliers has been determined, according to criteria of quality, price and reliability, among others, there remains the problem of assigning orders to the selected suppliers, with the purpose of covering the needs at the lowest cost. We consider the case in which the needs of a component for a set of plants should be covered by suppliers with linear piecewise concave cost functions, a lower bound on the order size for the non-zero deliveries and a capacity constraint. The purpose is to design procedures for solving this problem. Design/methodology/approach: With the aim of providing practical tools to solve the problem of assigning orders to suppliers with linear piecewise concave costs, two mixed integer linear programs are proposed. Findings: The two MILP models are compared through an extensive computational experiment. This shows that both models, with a slight advantage for one of them, can be solved within a very short time, even when the dimensions of the instance largely exceed those that can occur in real cases. Originality/value: The paper proposes novel models that can be used to solve the problem to optimality in reasonable times and with standard optimization software.


Introduction
The decisions concerning the procurement of raw materials and components have an impact on a large proportion of production costs.
At the strategic level, it is about choosing between making or buying and, in this case, between the various possibilities related to the number, characteristics and type of relationship with potential suppliers. If buying is the chosen option, at the tactical level suppliers have to be selected according criteria of quality, price, capacity, reliability, logistics and assets and infrastructure (see Wetzstein, Hartmann, Benton & Hohenstein, 2016 for a review on supplier selection).
The problem dealt with in this paper belongs to the operative level, in which cost becomes the most relevant criteria, and consists in assigning orders to the previously selected suppliers in order to minimise the cost of satisfying the needs of a component corresponding to one or several plants belonging to a single manufacturer when the cost of an order is a non-decreasing linear piecewise concave function of its size and the suppliers have capacity constraints and lower bounds on the order size for the non-zero deliveries.
This setting is a very common one. Besides a possible fixed cost for an order, many suppliers have different decreasing prices for a finite number of predefined intervals of the order size, which results in a linear piecewise concave function for the cost of an order.
Although it may seem similar to the transportation problem, the considered problem is NP-hard due to the non-linearity of the cost functions and the presence of positive lower bounds on the size of the non-zero deliveries (Chauhan & Proth, 2003;Zaozerskaya, 2006;Yenipazarli, Benson & Erenguc, 2016).
The assignment of orders to suppliers under the above specified conditions may be seen as a particular case or an approximation of the Concave Cost Supply Problem (CCSP), introduced by Chauhan and Proth (2003), wherein the cost of an order is an increasing continuously differentiable concave function of its size. After this seminal paper, the CCSP has been dealt with, using different algorithmic approaches, in Chauhan, Eremeev, Kolokolov and Servakh (2005), Chauhan, Eremeev, Romanova, Servakh and Woeginger (2005), Ng, Kovalyov and Cheng (2008), Zaozerskaya (2006), Eremeev, Romanova, Servakh andChauhan (2007), Burke, Geunes, Romeijn and Vakharia (2008) and Yenipazarli et al. (2016). This last paper proposes a branch-and-bound algorithm for the single plant case and presents a numerical experiment in which two sets of instances with concave supplier's costs are used (respectively, one linear step, from 20 to 220 suppliers, and quadratic, from 20 to 134 suppliers); the experiment shows that the proposed algorithm performs satisfactorily and compares to the use of CPLEX for solving the corresponding mathematical programming models.
With the aim of providing companies with practical tools for assigning orders to suppliers, in this paper we propose and test two MILP models to solve the problem of assigning orders to suppliers in the case of several manufacturing plants, any finite number of linear pieces of the concave increasing cost function, lower bounds for the orders for each manufacturer and finite capacity of each supplier. We include the possibility that each manufacturing plant receives a number of units greater than its demand for the period, since this may be unavoidable because of the existence of lower bounds on the order sizes. Compared with specific algorithms, whether they are heuristic or exact (such as that proposed in Yenipazarli et al., 2016), the use of a MILP model, with a modelling language and a solver (as CPLEX), allows avoiding programming tasks, thus having a very brief time to prepare the tool, and provides exact optimal solutions. Moreover, if additional constraints have to be fulfilled, as often happens in practice, they can easily be incorporated into the models, as it is shown in Section 3. Of course, as the main potential disadvantage of using mathematical programming instead of heuristic approaches is the possibility of computational time be prohibitive, appropriate experiments should be performed in order to guarantee that the time required to obtain optimal solutions in industrial settings is short enough.
The layout of the rest of the paper is as follows. Section 2 covers the definition of the problem. In section 3, the proposed mathematical programming models are formulated. The computational experiment and its results are described in section 4. Section 5 closes the paper with the conclusions.

Definition of the Problem
A set of suppliers must provide a component to a given set of plants. We assume that if the number of plants is greater than one all them belong to the same decision maker and that the fixed cost of an order to a given supplier may depend on the plant, being the price intervals, again for a given supplier, equal for all plants.
To formalize the problem, we use of the notation given below.  K j : Number of intervals for the unitary product price of supplier j( j = 1, …, n). q jk : Integer values (0 ≤ q j0 < q j1 < … < q jK j ) that define the intervals of the unitary product price of supplier j( j = 1, …, n; k = 0, …, K j ). Note that q j0 > 0 means that the supplier only admits orders of size not less than q j0 . We assume that q jK j coincides with the maximum amount the supplier can provide in a period.
F ij : Cost of the first q j0 units ( j = 1, …, n) provided by supplier j to plant i. h i : Holding cost of each unit purchased above those required and whose use is delayed until the next period (i = 1, …, m).
Then, the cost of an order, as a function of the order size, has the shape that is shown in Figure 1. The cost of an order, for an order size, x, belonging to interval k of supplier j can be expressed as follows: where and The problem consists in allocating orders to the given suppliers to satisfy the requirements of the plants at a minimum total cost.
Besides the constraints implicit in the definition of the problem, in practice may be side constraints specific for every situation. As an example of these additional constraints, a lower and an upper bound on the number of suppliers receiving at least one order could be added (the lower bound may obey to reliability considerations; the upper one, to avoid an excessive complexity of the procurement management).

Mathematical Programming Models
To solve the problem, two Mixed Integer Linear Programming formulations (MAOS1 and MAOS2) are proposed. Below, the notation and the equations are detailed.
The objective Function (1) expresses the cost, including purchasing cost and holding cost. Equations (2) to (7) correspond to the linearization of the purchasing cost as a piecewise function. Note that if supplier j receives an order from the plant i, Equation (3) makes the sum of λ ijk equal to 0 and Equation (4) forces x ij to fall into one and only one price interval. Equations (5), (6) and (7) prevent more than two consecutives λ ijk from being greater than 0 (the two ones allowed to be positive correspond to the price interval into which the order quantity falls). Equation (8) imposes the balance of the required, purchased and inventoried units. Equation (9) limits the maximum amount to be purchased from a supplier and, finally, Equation (10) includes the relation between the purchasing variables and the binary variables that indicate whether a supplier receives or not an order from a plant, and that are needed in the Equations (3) and (4) for the linearization of the cost function.
The model could be expanded by adding other constraints. For example, imposing lower and upper bounds (L n and U n , respectively) on the number of suppliers receiving one or more orders, as it is pointed out above. In this case, the following variables and constraints should be added to the model: This is just an illustrative example, since for each situation different kinds of specific conditions may arise. However, in most cases it will be possible to incorporate them as linear constraints into the MILP models.

MAOS2
This second model uses, for each pair plant-supplier, a variable for each price interval: Equation (13) expresses the total cost (purchasing plus holding cost). Equation (14) impose the balance of the required, purchased and inventory units. Equation (15) limit the total quantity that can be purchased to each supplier. Finally, Equation (16) enforce the relation between the variables ijk and r ijk . Note that, thanks to the concavity of the cost functions, it is not necessary to impose that (i = 1, …, m; j = 1, …, n), because having more than one r ijk equal to 1 would imply a higher cost than having just one of them equal to 1.
As in the case of the model MAOS1, other constraints could be considered. In particular, if Equations (14) and (15) are to be included (and, hence, variables y ij ), then Equation (17) The size of the models is included in Table 1. The number of variables is higher for the MAOS1 model and, up to 6 price intervals, the number of constraints of the MAOS1 model is also higher than that for the MAOS2 model.

MAOS2
Real variables m · n · K + m Binary variables m · n · K Constraints 2 · m · n · K + m + n

Computational Experiment
To test and compare the MAOS1 and MAOS2 formulations a wide computational experiment has been performed. The models were solved using IBM ILOG CPLEX Optimization Studio (version 12.6) in an Intel Xeon E5-2630, 4 CPUs 2.2GHz, 64 GB RAM, allowing 1000 seconds for each instance.
Since there are not benchmark instances for the modelled problem, a 720 instances set has been generated. Table 2 includes either the values of the different parameters or the way they were generated. For each combination of the number of plants (m), number of suppliers (n) and number of price intervals (K, which is considered to be the same for all suppliers), 20 instances were generated at random, using, for the other parameters, the distributions shown in the Table 2, thus getting a total of 720 instances. The instances are available under request to the corresponding author.
Note that our data set, unlike those used in other previously published computational experiments, includes multi-plant instances with up to five linear pieces of the concave increasing cost function. The sizes of the bigger instances of the data set, with 5 plants, 200 suppliers and 5 price intervals, exceeds largely those of the instances one can find in usual industrial settings.
The rest of the parameters have been generated trying to get realistic and feasible instances, following the concave increasing cost function, ensuring capacity feasibility and, since random distributions are used, ensuring that many different situations arise. The results of the computational experiment are summarized in Table 3, where the minimum, average and maximum gap and solving times, for each model and number of plants (m), suppliers (n) and price intervals (K) are included. The results are also displayed in the Box-and-Whisker plots depicted in Figures 2 to 5 (the line in the box represents the median; the interquartile range box represents the middle 50% of the data and it shows the distance between the first and third quartiles (Q3-Q1); the whiskers extend from either side of the box, and represent the ranges for the bottom 25% and the top 25% of the data values, excluding outliers, which are data values that are far away from other data values and are identified by asterisks). Those allow us to conclude the following: • Both MILP models are very efficient tools for solving this kind of problem since optimal or near-optimal solutions are obtained even for instances that are bigger than most of the real situations: for the MAOS1 model the average gap is 0.0024% and the maximum reaches just 0.279%; in the case of the MAOS2 model, the average and maximum gaps are, respectively, 0.0014% and 0.098%.
• The number of plants, m, is the parameter that most affects the performance of the models, since both solving time and gaps increase when m = 5. The second parameter that most affects the resolution is the number of price intervals, K. Instead, the number of suppliers, n, does not influence the performance so much.
• It seems that MAOS2 performs better than MAOS1, since its gap is smaller for most instances. However, analysing the results, it can be seen that even if MAOS2 outperforms MAOS1 more times than the other way around (11.94% of times vs. 2.36%), the differences in the values of the objective functions (in %) are insignificant (the maximum improvement of MAOS2 is just 0.019%).

Conclusions
In this paper, we propose two MILP models for minimising the cost of assigning orders to suppliers with linear piecewise concave cost functions, a lower bound on the order size for the non-zero deliveries and a capacity constraint. A computational experiment shows that both are very efficient for all realistically sized instances. Although MAOS2 turns to be slightly better than MAOS1, the difference is practically irrelevant.
These models are easy to implement and are flexible, in the sense that they allow incorporating additional conditions that may be company specific. Therefore, mathematical programming reveals itself as an adequate tool to deal with the problem of assigning orders to suppliers in the frame of a manufacturing firm.
Therefore, anyone of the two proposed models constitute a practical tool to deal with the assigning of orders to a set of suppliers under the very general assumptions specified in the statement of the problem in Section 2.
Provided that a modelling language and a commercial state-of-the-art solver are available, it is easy and fast to implement the model and the computing time is very short for any realistic instance.
The main limitation of the proposed models is that they cannot tackle in an exact way concave smooth cost functions, as the quadratic one proposed in Yenipazarli et al. (2016). However, on the one hand, this kind of functions are unlikely in a real industrial scenario and, on another hand, if this were necessary they could be approximated using a linear piecewise concave function with a convenient number of steps.
Another limitation, which is more relevant, is the consideration of a planning horizon consisting in a single period, what suggests as a future line of research the extension of the models to the multi-period case. This would allow considering the seasonality of the demand, the time variations in the capacity of the suppliers and in the costs of the orders, the use of inventories and the consideration of criteria concerning the distribution of the orders among the suppliers within the planning horizon.