ADAPTIVE INVENTORY CONTROL SYSTEM FOR MATERIAL ITEMS WITH CONTINUOUS NON-STATIONARY DEMAND

This paper describes an algorithm of dynamic inventory control system for large numbers of material items with continuous non-stationary demand. It uses principles of pull inventory control systems, statistical inventory analysis and joint replenishment inventory sys- tems. This algorithm was processed in software module (VBA for Excel) and applied in practice. The target of described algorithm is to keep an optimum inventory level and op- timum customer service level in terms of inventory control of items with non-stationary demand.


Inventory optimization and control
Inventory theory solves the problem of inventory optimization and control through the formulation of mathematical models that are designed for inventory control, taking into account various boundary conditions [1,2].
Mathematical models of inventory control can be divided according to several criteria: • demand progress (stochastic/deterministic models for stationary/non-stationary demand progress), • number of items considered (single-item/multiitem), • ordering mode (fixed-interval ordering/variableinterval ordering), • order quantity (fixed order quantity/variable order quantity), • mode of order quantities calculation (individual orders/group orders), • allowed order size (continuous order size/discrete order size), • etc.
Problem of inventory management in the company requires simultaneous consideration of several boundary conditions which are not considered in the basic theory of inventory optimization in a given configuration.
Therefore basic mathematical models of inventory optimization must be modified to complex computer algorithms that combine several approaches to management and optimization of inventory level.
Compliance with this requirement was the main reason for the design of algorithm described below, which combines several approaches known from basic inventory optimization models: • multi-item inventory control, • stochastic and non-stationary demand progress, • fixed-interval ordering, • taking into consideration the minimum order quantities, • combination of individual and group orders.
Designed algorithm and its steps will be described in the next chapters.

Review of literature
Inventory control problem has been studied in the last five decades. Authors, likeČambál and Cibulka [1], Gregor et al. [3], Muller [4], Więcek [5], described the basic problems of inventory control in the manufacturing companies.
A heuristic algorithms for joint replenishment of multiple items has been described by the authors, like Aksoy and Erenguk [6], Ben-Daya and Hariga [7], Klein and Ventura [8], and Wildeman, Frenk and Dekker [9]. Klein and Ventura [8] proposed an optimal solution to the multi-item single-supplier inventory problem. Viswanathan [10] described a new optimal algorithm for the joint replenishment problem to determine the optimal strict-cyclic policy. Wildeman et al. [9] presented an alternative optimal approach based on the global optimization theory. Frenk et al. [11] generalized joint replenishment problem, with general cost rate functions and possible service level constraints. Chan et al. [12] solved the multi-buyer, multi-item problem, and proposed a new modified genetic algorithm.
However, in the literature is not described the approach, that would deal complex practical problemadaptive approach for multi-item joint replenishment problem under non-stationary demand conditions, supplemented by the simulation of future inventory progress. Algorithm, described in this paper, builds on the previous works of the authors, described in [17,18] and [19].

The basic structure of the algorithm
Enterprise inventory control requires processing of large numbers data (material items, consumption time series, delivery parameters, supplier per-formance, etc.), which have to be converted to required outputs in short time. These outputs are used in decision-making process on the next inventory replenishment (determining the order dates and quantities). The inventory control system, which has to keep an optimum inventory level, it has to provide the support of order decision-making process, appropriate outputs presentation and "what-if" analysis execution, which allows managers to predict the consequences of their decisions and make any necessary corrections [3,4].
Algorithm is based on periodic inventory level review and replenishment. Basic time period can be set according to company requirements (day, week, months, etc.), with respect to dynamic changes in the material items consumption [5,20]. The basic structure of the algorithm consists of several phases ( Fig. 1) [17]: 1. Import current data: The aim of this phase is to complete item database with current data about consumption, prices and inventory level of individual material items.

Calculation of control parameters for individual items:
The content of this phase is the statistical analysis of historical data on consumption and proposal of inventory control parameters for the current period. Values of control parameters are updated in each period according to the latest consumption progress of material items [5]. 3. Calculation of order quantities: In this phase algorithm decides about need of inventory replenishment of individual material items, checks the possibility of aggregate orders making and calculates order quantities for individual material items [18]. 4. Simulation of future inventory level: In this phase algorithm predicts the future progress of orders, deliveries and stocks to a predetermined time horizon towards the future, which allows the assessment of order process influence on the future inventory level progress [13,15,16].

Presentation of summary inventory parameters:
Results of order processing and simulation are processed to the summary tables and graphs during the last phase of algorithm.

The structure of the input data
Inventory control algorithm uses two main groups of input data in the individual phases: 1. Static data -group of data, which are fixed or are changed irregularly with longer time period; these data are part of material items database and their updating runs directly in database. 2. Dynamic data -group of data, which are changed and added to the material item database regularly after each time period; these data are subject of importing current data. Basic input data used by algorithm are: • item ID/product ID -represents unique identifier of material item in database, • planning group -group of items, which are delivered from one supplier and have defined common delivery parameters (lead time, minimum order quantity); items in single planning group can use joint replenishment (making of aggregate order for whole planning group), • minimum order quantity -order quantity defined by supplier; this quantity is specified to whole planning group (sum of order quantities for planning group not to be less than minimum order quantity), • lead time -necessary time to deliver ordered material item from supplier to company in number of time periods, • time series of consumption -historical data about individual item consumption archived in database; these data are used to statistical analysis and calculation of inventory control parameters, • actual inventory level and value -current stock value expressed in quantitative units (pieces, kg) and financial units (e), • on order inventory -inventory items ordered in previous time periods but not yet delivered to the company; deliveries of these items are planned to future time periods (according to lead time). Import current data. The target of this phase (Fig. 2) is to add and update the dynamic input data in material items database, that are needed in the next steps of algorithm. Import mode depends on data structure in enterprise information system.
Basic principle of data import consists of creation of standardized set of current data, which must contain: • product ID, • current inventory value (e), • current inventory quantity (quantitative units), • item consumption in last time period, • on order inventory (deliveries planned to future time period), • current unit price for individual material items.
Product ID in data set secures right assignment of dynamic data to material item database. Data about inventory value, inventory quantity, unit price and planned deliveries replace the "old" data (actual data from previous time period) in material item database.
Material item database stores moving time series of item consumption, i.e. during data updating is added the latest data (current item consumption in the last time period) and dropped the oldest data from time series. Times series has therefore constant length and hardware requirements on data processing and storing are not increased.

Calculation of inventory control parameters for individual material items
Based on updated data, statistical analysis and calculation of main parameters for inventory control system is realized. Because of updating time series of item consumption in each time period, values of control parameter are not constant, but they are adapted on the latest progress.
The sequence of steps in this phase includes (Fig. 4): 1. Calculation of cumulative consumptions during lead time: Time series of item consumptions is converted to time series of cumulative consumption during lead time. Time series of historical data archived in database are used when calculating the cumulative consumption, and algorithm calculates moving cumulative consumptions for whole considered time series length (Fig. 3): where S ki -cumulative consumption, S i -single consumption in time period i, l -lead time (number of periods). (a) Average cumulative consumption -is calculated as arithmetic average of cumulative consumptions: where n -length of time period of cumulative consumptions S ki . (b) Standard deviation of cumulative consumption -is calculated as standard deviation from time period of cumulative consumptions: (c) Minimum inventory level -serves as safety stock in inventory control system: where R -safety coefficient, which is determined from normal distribution based on required customer service level (optional parameter). (d) Re-order inventory level -is control inventory level; if dispositive stock (sum of current inventory and on order inventory) decreases under re-order level, it signalizes a need to order new batch of material

Calculation of order quantities
This phase represents the most important step of optimization algorithm, because in this step needs to order and order quantities for individual material items are determined [14,19].
The sequence of steps in this phase includes (Fig. 6): 1. Calculation of dispositive stock -value of dispositive stock is compared with re-order inventory level; if value of dispositive stock is equal or less than re-order level, algorithm generates a signal to order (replenish) inventory of relevant item: where z akt -actual inventory level, d p -on order inventory (deliveries planned during the lead time).

Joint calculation of order quantities for individual
planning groups -order quantity is calculated together for whole planning group (aggregate order processing), observing the following procedure: (a) Calculation of group parameters -sum of parameter values for whole planning group: • aggregate inventory -sum of dispositive stocks of individual material items, adjusted for safety stock: where k -number of items in planning group, z dispi -dispositive stock of item i, z mini -minimum (safety) stock of item i. • aggregate average consumption -sum of average consumptions of individual material items in planning group: where S i -average consumption of item i for one time period. (b) Determining of aggregate order quantityaggregate order quantity equals: • minimum order quantity, if (z sk + q min ) S sk ≥ l t : • calculated order quantity, if (z sk + q min ) S sk < l t : where q sk -aggregated order quantity, q minminimum order quantity for planning group, q prep -calculated order quantity, S sk -aggregated average consumption for planning group, z sk -aggregated inventory for planning group, l t -lead time of planning group items (number of period).  Calculated order quantity is determined so that aggregated order quantity will cover aggregated requirements on items from planning group at least during the lead time (Fig. 5). (a) Calculation of common inventory periods for planning group -the average number of periods items remain in inventory (including ordered quantity) before being consumed: where d -inventory periods, q sk -aggregated order quantity (q min resp. q prep ), S sk -aggregated average consumption, z sk -aggregated inventory.
(b) Calculation of order quantity for individual items from planning group: where q i -order quantity of item i, S i -average consumption of of item i, z dispi -dispositive stock of item i, z mini -minimum stock of item i, d -inventory periods.

Simulation of future inventory level
In order to assess the impact of the ordering process according to proposed algorithm on the future inventory progress, the next step of the algorithm allows to model future inventory level based on the orders and deliveries forecasts and initial inventory at the time of the start simulation.
Algorithm uses following approach in the modeling and simulation of inventory level progress (Fig. 7): 1. Generate series of random consumptions -algorithm generates pseudo-random values with normal distribution for next time periods using random number generator in MsExcel (function "=NORMINV(RAND(); average; standard deviation)") and calculated average consumptions and standard deviations. 2. Generate scheduled orders -algorithm calculates dates and quantities of the orders to the end of simulated time horizon (according to approach described in phase 3) and then converts them to the dates and quantities of deliveries (orders with delay of lead time). 3. Calculation of inventory level progress (in quantitative units) for next time periods: where z t -inventory planned at the end of time period t, z t−1 -inventory planned at the end of previous time period (t − 1), d pt -deliveries planned in time period t, S t -random consumption in time period t, q pt -orders entry planned in time period t. 4. Calculation of inventory value progress (in e) for next time periods: where z te -inventory planned at the end of time period t in financial units (e), z tMJ -inventory planned at the end of time period t in quantitative units (pieces, kg), c -unit price of material item.

Presentation of summary inventory parameters
Summary parameters show overview of current inventory level and future inventory level progress in next time period through the following indicators: 1. Current inventory periods and its progress in next (simulated) time periods: 2. Service level during simulated time: where S -total demand for the simulated time period, D -total number of missing items for the simulated time period.
3. Current inventory value and inventory value progress for the simulated time period according to product groups (segments) and total inventory value (current value and simulated progress) Summary results are shown in the table and graph (Fig. 8).

Conclusion
This paper describes the algorithm for inventory control of large number of material items with continuous non-stationary demand. This algorithm presents complex approach to the solution, from the structure, determination and update of input data, until the simulation of future progress and presentation of summary inventory parameters. Several known logistics approaches, like re-order point inven- tory control systems, statistical analysis and calculation of inventory control parameters and joint replenishment systems have been used in the designed algorithm.
Connection of these, as well as other approaches to complex methodic and adaptive approach to inventory control parameters calculation, creates an original system, which ensures optimal ratio between value of inventory and level of service in area of inventory control of a large number of material items.
The algorithm, described in this paper, was processed into the software module (VBA for Excel), which is currently applied in the engineering company in the inventory control of purchased items. Using the algorithm the inventory was reduced by 15%, respecting a high level of service (95%).
This paper was made about research work support: VEGA no. 1/0583/12.