Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

BH-CS Thesis Pearson 26 Nov 2011

Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

Comparing GA, DE and ACO for Vendor Managed

Inventory Optimisation
Eric Ross Pearson - Student Number: 101586682
Supervisor – Prof. Ryszard Kowalczyk
Faculty of Information and Communication Technologies
Swinburne University of Technology
PO Box 218, Hawthorn, Melbourne, Australia 3122

1. INTRODUCTION
Vendor Managed Inventory (VMI) is a service provided by many Vendors where customers relinquish
control over inventory sourcing processes to their vendors. Under a VMI service, the relationship
between Vendor and Customer should typically be trusting and symbiotic with both parties benefiting
financially (McAdam & Keogh, 2004). Finding and adopting ways to improve that benefit is widely
researched with numerous different approaches investigated. Furthermore, with most markets
experiencing unprecedented changes in technology and methodology, Vendors must continue to
adapt towards innovative solutions to retain competitiveness (Disney & Towill, 2003; Dyer & Singh,
1998; Gao, Xu, Ruan, & Lu, 2017).
Artificial intelligence techniques are commonly applied to VMI and Supply Chain (SC) problems and
have proven to provide viable solutions. There is significant research addressing such problems using
a variety of AI approaches. However, it does not appear that there is literature that specifically
compares the three chosen AI metaheuristics in this setting.
Given that there is significant diversity in type and number of SC problems, VMI has been selected to
provide a focused scope which can be extrapolated upon to reflect a wide number of general SC
problems.

Methodology
This study looks to understand the appropriability of certain AI techniques at optimising a VMI
fulfilment problem. To achieve this, the following sub problems were addressed: (1) determine which
AI techniques are more suited for the kind of problem described in section 4. PROBLEM AND ITS
SETTING; (2) Investigate the identified techniques and develop algorithms that support the data and
problem; (3) Understand the problem; and (4) Run the algorithms and analyse the results.
Sub problem (1) – To determine the suitability of AI techniques, a survey of available literature was
performed. Cases where literature have attempted to address a Supply Chain optimisation problem
using an AI technique were counted. Only the Genetic Algorithms (GA) and Ant Colony Optimisation
(ACO) techniques had been applied more than once to VMI optimisation problems, and on that basis,
they were selected for comparison within this study. Differential Evolution (DE) was also selected as a
novel application of a continuous space optimisation technique against a discrete problem. The results
of the survey can be found in appendix A.
Sub problem (2) - An in-depth literature review was then performed on the three selected AI
techniques regarding Supply Chain optimisation adaptions. The literature review identified what
approaches have been investigated by the academic community and what elements of those
approaches could be incorporated into the algorithms developed for this study. It is also important to

Page | 1
note that in all cases the original techniques of the AI Approach authors have been adopted (ie. In the
case of ACO – Ant System (Dorigo & Gambardella, 1997)). Each of these “original” techniques were
experimented with to determine a feasible implementation for this specific problem. However, the
author acknowledges that the comparisons performed in this paper can only be against each of these
original techniques and that more modern techniques (ie. In the case of ACO – Ant Colony System
(Dorigo, 2004)) may well yield improved results. Sections 2. REVIEW OF THE RELATED LITERATURE and
5. APPLICATION thoroughly document this sub problem. The results of the in-depth literature review
were recorded in tabular format with attention being given to supply chain features, this helped to
identified techniques that suited the model selected for this research. The results of the detailed
literature review can be found in appendix B.

Sub problem (3) – Gaining an understanding of the problem was achieved by working closely with an
industry partner that specialises in the distribution of mobile phones. The problem data, model and
constraints have been adapted to provide a constrained yet realistic interpretation of the company’s
real-world problem. Only a single set of rules/data has been provided which limits the scope of
comparison of each technique, however provides an opportunity for future studies to expand on the
findings of this research paper. The problem and its setting have been documented in section 4.
PROBLEM AND ITS SETTING.

Sub problem (4) – Each of the algorithms were run multiple times against the singular data set with
the results been captured in tabular format and graphed, these results are analysed and discussed in
section 6. EXPERIMENTAL RESULTS.

This paper is organised as follows: Section 2 reviews the related literature, Section 3 details the
assumptions and nomenclature, Section 4 is a detail explanation of the problem, Section 5 details the
implementation of the AI techniques, Section 6 discusses the experimental results and this paper is
concluded in Section 7.

2. REVIEW OF THE RELATED LITERATURE


Vendor Managed Inventory (VMI) is a widely-researched topic, a claim that is easy to substantiate
given the number of articles and research papers that contain VMI in the title. Many researchers have
chosen to investigate how various forms of artificial intelligence can be applied to different VMI
Models (Akbari Kaasgari, Imani, & Mahmoodjanloo, 2017; Diabat, 2014; Kastsian & Mönnigmann,
2011; Kristianto, Helo, Jiao, & Sandhu, 2012). Results of prior research indicate that AI can be applied
to VMI models and that correct application of AI has the potential to provide economic benefits that
can outperform traditional methods (Borade & Sweeney, 2014; Kwak, Choi, Kim, & Kwon, 2009; Sue-
Ann, Ponnambalam, & Jawahar, 2012).

A review of available literature shows us that there are many options for addressing optimisation
problems within a Supply Chain setting. This paper examines literature regarding prevalent
metaheuristic optimisation methods used within Supply Chain Optimisation problems: Genetic
Algorithms, Differential Evolution, and Ant Colony Optimisation.

This section describes three frequently referenced AI techniques that the literature review has
identified to have applications in VMI and Supply Chain problems. All three techniques are local search
metaheuristics that share common behaviour, this common behaviour includes: a fitness function that
measures the performance of a candidate solution, a population of candidates that are dispersed
(randomly or otherwise) across the search space, a function that modifies, perturbs, or cross pollinates
which either alternates the candidates position or creates a new candidate with a new position, a
method for selecting the fittest candidates for the subsequent generation based on their fitness
function, repeating of this process through subsequent generations to find improved positions within

Page | 2
the search space, and finally, the application of parameters that can tune the rate of exploration vs
exploitation.

Genetic Algorithms (GA)


Genetic Algorithms (GA) are metaheuristics that follow the principles of natural evolution, using
selection, crossover and mutation. Popularised by John Holland in the 1970’s (Holland, 1984, 1992)
and David E. Goldberg in the 1980’s (Goldberg, 1989). A population of candidates competes with one
another for the right to contribute genetic code to the next generation, typically with the fitter
candidates within a population succeeding. As subsequent generations are created the overall fitness
of the population generally improves. Once exit criteria is met (ie. maximum number of generations)
the candidate with the highest fitness is chosen as the solution.

The method of implementing GAs defined by Goldberg covers initialisation, selection, crossover and
mutation. Initialisation is the creation of the starting population of candidates that are dispersed
within the search space (generation 0). Selection is the process of choosing which candidates are
selected to reproduce to create the next generation. Each candidate is measured for fitness and
candidates with a higher fitness have a higher probability of reproducing. The selected candidates pair
off with one another to create child candidates (the next generation) in a process known as crossover.
To explain how this can be achieved we will consider candidates that consist of a single binary
dimension, a random number is used to find a position along the binary sequence, all binary digits
before the position are retained while all binary digits after the position are taken from the other
parent. Together this produces a child candidate that comprises of information (DNA) from both
parents.

A degree of mutation is applied during or after the crossover process, in our binary example, this is
achieved simply by applying a very small probability factor (adjustable depending on the level of
exploration required) an individual bit will swap from a 0 to a 1. this mechanism speeds up exploration
of the search space and acts as a failsafe to prevent the population becoming tracked in a local
optimum. The selection, crossover and mutation steps are repeated until exit criteria is met (ie.
number of generations, minimum fitness is found, or stagnant population in which the population
fitness does not improve after subsequent generations). This process can also be applied to discrete
and continuous dimensions using altered mechanics.

Pseudocode: example of a basic GA implementation


Set generation to 0
Initialize population
Determine fitness of population
Loop
Select the members of the population to be parents for the new generation (fittest members have higher probability of being selected)
Pair parent candidates and perform crossover to generate child candidates
Randomly mutate the new children
Determine fitness of new population
Selection of the population for the next generation between child and parents
End loop when criteria is met (ie. generation==1 million, or fitness of an individual reaches a threshold)
Return the individual with the best fitness
End Pseudocode

GAs have been found to be the most prolific metaheuristic applied in the reviewed material and have
been used to solve a number of VMI optimisation problems (Pasandideh, Niaki, & Nia, 2011) (Mondal
& Maiti, 2003). They are frequently applied in comparisons between other methodologies, for
example in Nia (Roozbeh Nia, Hemmati Far, & Akhavan Niaki, 2014). Furthermore, GAs are useful for

Page | 3
finding optimal input parameters for a variety of models. Chi (Chi, Ersoy, Moskowitz, & Ward, 2007),
(Lin, Chang, Hung, & Pai, 2010)

They are natively suited at finding binary and discrete decision variables, Goldberg (Goldberg, 1989).
In some cases finding an appropriate representation for the decision variables is a significant
challenge, Sue-Ann (Sue-Ann et al., 2012) found that a single amalgamated binary vale was an effective
representation of the decision variables for a problem. Park (Park, Yoo, & Park, 2016) made use of 2 x
integer matrices.
GAs were found to be useful for multi modal and multi objective optimisation problems Ortiz (Ortiz,
Simpson, Pignatiello, & Heredia-Langner, 2004). NSGA-II is an example of a multi objective GA variant
applied by Liao (Liao, Hsieh, & Lai, 2011) and Deb (Deb, Pratap, Agarwal, & Meyarivan, 2002).

Cárdenas-Barrón (Cardenas-Barron, Trevino-Garza, & Wee, 2012) proved that GAs were at risk of
being inappropriately applied to cases where a heuristic or equation may exist that can solve the
optimisation problem far more effectively than a metaheuristic.

GA approaches to optimisation have shown to reduce costs, improve profit, vehicle utilisation and
service levels as well as reducing the bullwhip effect. Borade (Borade & Sweeney, 2014), (Disney &
Towill, 2003)

Ant Colony Optimization (ACO)


Ant Colony Optimization (ACO) is a combinatorial optimisation metaheuristic that draws its concepts
from ant colony behaviour, conceptualised by Marco Dorigo (Dorigo, 2004; Dorigo & Gambardella,
1997). The analogy follows that a colony of ants searching for food have path segments (also known
as routes) that they may choose from to reach the food. Each ant starts somewhere in the search
space and will probabilistically chose a route with their decision being influenced by existing
pheromone trails and heuristic information (such as distance). Ants will repeat this process for
subsequent routes to complete their journey (also known as a tour). Ants that find the shortest tour
will leave the strongest pheromone trails (which in turn increases the likelihood that successive
generations will choose some or all the routes along that tour). All pheromone trails dissipate over
time, so only trails that have an influx of new pheromones will continue to influence ants. This process
is repeated through successive generations until the ants all converge on a single tour or a certain
generations threshold is reached.

The Traveling Salesman Problem (TSP) is typically used to illustrate how ACO can solve a combinatorial
optimisation problem. In a TSP, a travelling sales person is required to travel to multiple cities but
must find the shortest path between them all.

ACO applies the ant colony concept to determine the sequence of cities that will yield the shortest
tour. Ants start at a randomly selected (evenly distributed) city and may move to any other city that
they have not previously visited. Each ant probabilistically choses the sequence of cities they will travel
to, to complete the tour (with higher probabilities directed to routes with heavier pheromone trails
and heuristic information). The ants that completed their trips the fastest - add stronger pheromone
trails to the routes that make up their tour. Subsequent generations repeat the process and have a
higher probability of following routes with stronger pheromone trails. Routes with weaker pheromone
trails will evaporate and become less likely to attract ants. Eventually all ants will converge to the same
sequence of cities (solution will stagnate).

Page | 4
Pseudocode: Ant System (AS) ACO implementation
Initiate pheromone trails
Initiate ants
Loop
Loop
Loop
Ant probabilistically adds the next path to its solution weighted against pheromone strengths and heuristic measures (such as
shortest immediate distance);
End loop until all paths included in solution;
Measure success of each ants chosen path;
Ant applies pheromones to the path they traversed (weighted against their success);
End loop when each ant constructs a solution;
Loop
All paths evaporate pheromone by a rate (p); new pheromone strength = (1-p)* pheromone strength;
End Loop when every path has had pheromone updated;
End Loop when exit criteria met (ie. Max generations reached)
Return the solution with the best fitness;
End Pseudocode

ACO is natively suited to discrete optimisation problems (Marco Dorigo (Dorigo, 2004)) and is often
favoured for multi objective optimisation problems. For example, Moncayo (Moncayo-Martínez &
Zhang, 2011) applied Pareto ACO (P-ACO) to solve a multi objective SC optimisation problem. The
decision variables are defined as the selection of activity and resource for each node within the supply
chain. P-ACO has been designed as mechanism to deal with multi objective optimisation (MOO)
problems by finding balanced solutions (known as non-dominated solutions) where further
improvement to any objective will be detrimental to any of the other objectives. Similarly, Arora
(Arora, Chan, & Tiwari, 2010) applied Dynamic-ACO to solve a cost minimisation/customer satisfaction
maximisation VMI problem.

ACO has also been successfully applied to single objective optimisation problems, for example Nia
(Roozbeh Nia et al., 2014) proposed an adaptive fuzzy control application to calculate demand in
solving a EOQ single-buyer single-supplier VMI problem. ACO was used to optimise the shipments to
vendor customers by minimising the supply chain cost (limited by multiple constraints). Three decision
variables were sought by the ACO algorithm: the order quantities, the maximum backorder level, and
the number of pallets for each order to minimize costs while ensuring constraints were satisfied. Nia’s
work is of interest as the model studied in Nia’s work has some similarities to the one described in this
research paper.
One more interesting adaption of ACO in supply chain space was conducted by Silva (Silva, Sousa, Sa
Da Costa, & Runkler, 2004) who proposed to use ACO for a multi agent modelled supply chain. Where
each agent in the supply chain attempts to locally optimise its own problem using ACO and
simultaneously permitting communication between agents via a shared pheromone matrix to identify
an optimally shared solution.

Page | 5
Differential Evolution (DE)
Differential Evolution (DE), proposed by Storn and Price (Price, 2005), is a stochastic population search
optimisation metaheuristic abstractly like GAs as it also draws its operations from the concepts of
natural evolution. The most significant difference between GAs and DEs lies in the
recombination/crossover approach. with DEs the recombination approach involves the weighted
difference between two randomly selected candidates being applied to a third candidate, thus
perturbing the third candidate’s location in the search space.

Like the other metaheuristics defined here, a population of candidates is initialised and in the case of
Storn and Price’s definition, randomly selected but uniformly distributed among the search space.
Mutation is the first operation to be applied to the population and it differs significantly from the GA
construct. Each candidate is cloned and then perturbed (mutated) so that it differs from its original.
The perturbation is achieved by selected 2 further candidates randomly from the population. The
difference between each dimension of these 2 random candidates is calculated and then multiplied
by a mutation factor (proposed to be between 0 and 1.2 (Price, 2005)) this factor weights the size of
the mutation step and will control how quickly the solution ascends local optima.
Each candidate is then combined with its mutated clone. each dimension of each candidate is
randomly tested for crossover, should the test pass the, that dimension is updated with the new
mutated dimension value. This is repeated for all dimensions of all candidates. At least one dimension
should be changed to its mutated value. A Crossover factor provides the user control over how likely
each dimension will crossover. This should range from 0-1. 0 meaning only one dimension will ever
crossover and 1 meaning all dimensions will crossover.

Finally, a fitness function must be applied to both the original candidate and the mutated clone. The
candidate with the highest fitness score is retained. Once the selection criteria is met, ie. once a
selected number of generations has occurred, or a fitness function threshold is met then the candidate
with the highest fitness function is returned.
Pseudocode: basic DE implementation
Generate initial population of candidates
Loop
Loop
Select 3 other distinct candidates from the population (n1, n2 and n3);
Create a clone of candidate n1;
Loop
Clone candidate dimension = n1 dimension + mutation factor * (n2 – n3 dimension)
Randomly choose between existing candidate dimension and new candidate dimension base on a crossover factor.
End loop after all dimensions
Compare the existing candidate with the modified clone candidate. The most successful is included for the subsequent
generation.
End loop after all candidates in the population
End Loop when exit criteria met (ie. Max generations reached)
Return the solution with the best fitness;
End Pseudocode

Page | 6
Differential evolution was found to be the least investigated of the three metaheuristics in terms of
SC applications, although examples do exist such as (Wisittipanich & Kachitvichyanukul, 2012) to solve
job shop scheduling problems. While it is natively suited to continuous optimisation problems (Price,
2005), (Das, Mullick, & Suganthan, 2016), (Voratas, 2012) it is possible to adapt DE’s for discrete
optimisation problems as shown in (Pan, Tasgetiren, & Liang, 2008), in fact SC problems could well
contain a combination of both discrete and continuous variables in which case methods for mixed
discrete/continuous optimisation methods using DE could also be applied (Lampinen & Zelinka, 1999).
Specifically for VMI problems Nia (Roozbeh Nia et al., 2014) applied Differential Evolution to solve a
single objective optimisation problem (cost minimization) although it is not immediately obvious how
this was implemented to support discrete decision variables. Both Shafieezadeh (Shafieezadeh &
Sadegheih, 2014) and Routroy (Routroy & Kodali, 2005) applied Differential Evolution to address a
three echelon VMI problem, and were able to avoid the problem of discrete variables by representing
the variables as continuous. However, there does not appear to be an example where DE’s were used
specifically to solve discrete variable VMI problems.

3. ASSUMPTIONS AND NOMENCLATURE


The following assumptions are applicable for this paper:

• The demand for Mobile phones from retail locations is stochastic;


• Freight between vendor and customer will be instantaneous;
• Backorders are not allowed;
The following terms have been defined for this paper:

• Vendor Managed Inventory (VMI) is a service provided by Vendors where customers


relinquish control over inventory sourcing processes to their vendors. In the case of this
proposal, VMI refers to a model in which vendors auto replenish inventory to retailers without
any input from the retailers;
• Retailers/customers are organisations that purchase inventory from vendors and then resell
that inventory on to end consumers;
• The retail channel refers to all retailers;
• SKU stands for Standard Kitting Unit which is supply chain terminology for a unique product;
• Vendors/suppliers are organisations that distribute inventory to customers;
• Artificial Intelligence approaches (AI approaches) - any technique presented as AI by the
scientific community where discourse related to the approaches can be readily found within
journal entries from the last 20 years;
• Optimisation is the process of finding an optimal solution which will be determined by
measurable output variables of the VMI model.
• Heuristic. A time and/or effort practical methodology for solving a specific problem to find a
suitable but not necessarily optimal result. Examples of heuristics include applying a rule of
thumb, educated guesses, intuitive judgments, etc.
• Metaheuristic. A general problem-independent framework that is heuristic in nature which
can be applied to many problems. All metaheuristic techniques listed in this paper require two
things: representing each candidate in a population numerically and mathematically
measuring the fitness of the candidates.
• Candidate: A potential solution to a problem.
• Dimensions: Candidates have n number of attributes (mapped numerically) referred to in this
paper as dimensions. All candidates in a population have the same number of dimensions.

Page | 7
4. PROBLEM AND ITS SETTING
In the context of this research paper we are going to consider a VMI model that is offered by a supplier
as a service to a Mass Market Retailer (MMR) or Telco. The implication of such a model is that the
supplier is concerned primarily with maximising the benefit to the retailer above consideration for any
advantages that it may offer the supplier (such as reducing the Bullwhip effect). This paper will not
explore any competing or symbiotic advantages that the supplier may have the opportunity to
leverage when operating such a model.

Figure 1 - VMI Model provides a diagrammatic representation of the end to end flow of the model.

Historic
retail sales

Determine Calculate
Forecast future Consider Store recieves
optimal stock replenishment Store sells stock
retail sales constraints new stock
levels orders

Vendor
Product
Stock on
and store
hand
data

Retailer

Figure 1 - VMI Model

Historic retail sales are the sales velocity of inventory thru the retail channel; Product and store data
includes the cost and price of the products at each store and any data required to calculate constraints;
Stock on hand are the current inventory levels within the retail channel; Forecast future retail sales is
the process of taking historic sales and converting it into a future forecast; Considering constraints
takes constraint related data from the Product and store data feed and applies it to the optimisation
process; Determine optimal inventory levels is the optimisation process that requires, cost and price
data, constraints data and the forecast in order to search for an optimal or near optimal solution; Once
the ideal or near ideal inventory levels are known, replenishment orders are calculated to determine
how much stock should be shipped to each store to ensure they have the optimised inventory levels;
The retails stores will receipt new stock in order to sell it, all sales will deduct stock levels at the retailer
and increase their historic retail sales (to be applied to future iterations of the model);
The model only forecasts the stock requirements of each retailer for the next day, given the
assumption that freight times are instantaneous, the model will be run daily to ensure that stock
arrives just in time and so future time periods do not need to be forecast for. Given a non-
instantaneous freight time, this model could be easily adjusted from a daily fulfilment process to a
weekly fulfilment process (assuming no freight times were greater than 7 days) and the concepts
explored would remain the same. As it is not the intent of this paper to investigate forecasting
methods, the forecast method chosen is very naïve and does not consider what day of the week it is,
seasonal trends, product trends or any other factor that might influence the sales forecast.

Page | 8
Forecasting methodology
The mean and standard deviations of each product/store combination are calculated across the entire
period that is provided in the input file. The import file does not consider dates and assumes each line
that has the same store and SKU combination, represents a distinct day. Furthermore, there is no
validation to ensure that the input file is constructed correctly. Given this, it is important that the file
provided consists of a complete data set. The means and standard deviations are used to calculate a
normal probability distribution for each store and SKU combination, which are then inversely
cumulated to generate a probability matrix for every possible quantity value. This concept is
demonstrated by calculating a normal distribution with a mean of 3 and a standard deviation of 2 in
table 1.
Table 1 - Inverse Cumulative Probabilities

Quantity: 0 1 2 3 4 5 6 7 8

Probability to sell
exactly: 6.48% 12.10% 17.60% 19.95% 17.60% 12.10% 6.48% 2.70% 0.88%
Probability to sell
at least: 95.88% 89.40% 77.30% 59.70% 39.75% 22.15% 10.05% 3.58%

The probability to sell at least z is the inversely cumulated probability calculated from the normal
distribution above it. In the above example, we are 89.40% likely to sell at least 1 item. Note that we
are in fact 100% likely to sell at least 0 items, however this is reflected as 95.88% in the above table
because the table does not include probabilities for negative amounts. This factor is corrected in the
actual implementation.
Any quantities that have less than a 5% chance of selling are excluded. 5% is a practical selection
(although not tested empirically) to ensure the likelihood of finding the optimal solution without
having an excessing large number of possible dimension options.

The problem construct can be defined as follows:

• There is a single supplier and a single Mass Market Retailer (MMR);


• The MMR has y retail locations;
• There are x SKUs;
• There is no constraint to which products can be sold at which store, in other words all products
will be available at all stores;
• The supplier has unlimited inventory;
• Transit times between the supplier and retailer are instantaneous (lead time = 0);
• Back orders are not allowed;
• Inventory is replenished daily for the next subsequent day;
• The model only considers the next subsequent day and not future replenishment
requirements;
• Retailers demand is stochastic;
• Prices and costs are fixed for the replenishment day;

Page | 9
Mathematical formula
The notation for this model is as follows:

• x index of retailer
• y index of product
• z index of product quantity
• qxy quantity of product x required at store y
• dxy demand of product x at retailer y
• pxyz probability that product x at retailer y will sell at least z items
• mxy marginal 3PL cost to warehouse and ship product x to store y
• cx cost per unit of product x
• ox obsolescence risk of product x
• hx holding cost of product x
• vxy sales value of product x at store y
• B total budget of the MMR
• A total availability target of the MMR
• R ratio of total inventory cost to total inventory profit
• P total profit
• I total income from all sold goods
• C total purchase and 3PL costs of all products
• O total cost of products due to obsolescence
• H total cost incurred by holding products not sold
• i is the number of stores where store x is a specific store;
• j is the number of products (SKUs) at store x, where y is a specific SKU at store x;
• k is the probability distribution for selling SKU y at store x;
The objective is to maximise the channel profit by stocking inventory that is the most likely to sell for
the most profit. This objective function is defined as:

𝑓 ∶ maximise(P)
(1)

Profit is calculated by taking the total value of sales of all products and deducting all costs associated
with those products.

P=𝐼−𝐶−𝑂− 𝐻
(2)

Income is the sum of all products sold at all stores multiplied by the probability of selling each
product.

𝑖 𝑗 𝑘 ≤ 𝑞𝑥, 𝑦
𝐼= ∑ ∑ ∑ (v𝑥𝑖,𝑦𝑗 × p𝑥𝑖,𝑦𝑗,𝑧𝑘 )
𝑥 = 1𝑦 = 1 𝑧 = 0
(3)

Page | 10
Cost of Goods Sold (COGS) is the cost to purchase, warehouse and ship all products to all stores

𝑖 𝑗
𝐶 = ∑ ∑ (m𝑥𝑖,𝑦𝑗 + c𝑥 ) × q𝑥,𝑦
𝑥 = 1𝑦 = 1
(4)

Obsolescence cost represents the risk that a product never sells and must be written off, the
obsolescence risk increases over time as the product nears its end of life. For this model, the
obsolescence risk is a static percentage for each product. The Obsolesce cost is calculated by
summing all product multiplied by the cost and multiplied by the obsolescence risk.

𝑖 𝑗 𝑘 ≤ 𝑞𝑥, 𝑦
𝑂= ∑ ∑ ∑ ((m𝑥𝑖,𝑦𝑗 + c𝑥 ) × o𝑥 × (1
𝑥 = 1𝑦 = 1 𝑧 = 0
− p𝑥𝑖,𝑦𝑗,𝑧𝑘 ) )
(5)

The holding cost represents the undesirability of not selling a product and leaving that product on
the shelves in retailers stores. This undesirability is represented as a dollar amount per product per
day and equates to wasted resources. The total holding cost is calculated by summing up the
multiplication of the probability a product won’t sell by the product holding cost.

𝑖 𝑗 𝑘 ≤ 𝑞𝑥, 𝑦
𝐻= ∑ ∑ ∑ (h𝑥 × (1 − p𝑥𝑖,𝑦𝑗,𝑧𝑘 ))
𝑥 = 1𝑦 = 1 𝑧 = 0
(6)

The optimal inventory levels are subject to constraints, the first being a limitation on the total cost of
goods in the channel that the MMR can maintain (referred to as Budget), this is a single value for all
products at all stores. The purpose of this constraint is to reflect the fact that MMRs are constrained
by available cash and will be unwilling to exceed a target amount in terms of cost of goods.

The second constraint is availability which is a representation of the customers satisfaction with the
retailer. Should a customer walk into a retail store with the intent of buying a product and that
product is not available the customers satisfaction with the MMR is diminished. Availability is a
calculation of total demand fulfilled / total demand, and a minimum availability level is targeted to
ensure that unhappy customers due to lost sales are minimised. Demand is determined by taking the
probability of selling the nth item of a product at a store, if the probability is greater than or equal to

Page | 11
0.5 then that product is in demand and not stocking the nth product will result in a reduction in the
overall availability score.

The third constraint is implemented to ensure that the MMR profit to cost ratio is commercially
viable. That is, the rates of return for the costs incurred should not fall below a certain threshold.
The margins for the top tier of mobile phones is generally very low (<5%) however it is worth noting
that retailers benefit through the sales of devices in other ways, such as the sale of accessories or by
receiving subsidisation from the Telco.

The constraints are defined as:

𝐵≤𝐶
(7)

And

𝑖 𝑗
q𝑥,𝑦
𝐴≤ ∑ ∑
d𝑥,𝑦
𝑥 = 1𝑦 = 1
(8)

And

𝑅 ≤ (𝐶 − 𝑂 − 𝐻)/𝑃
(9)

Where x = {1, 2, ..i} and y = {1, 2, ..j} and z = {1, 2, ..k}

Equation (1) thru to (6) are the objective functions while equations (7), (8) and (9) are the
constraints. The decision variable is the integer value representing the quantity of each SKU at each
store.

An admissible heuristic has been implemented for validating the results of each metaheuristic. The
heuristic can be applied to a single dimension to determine the maximum possible profitability of an
individual dimension. It can also be applied to all dimensions, by aggregating the total al all
individual dimensions. The heuristic is formula (2) without any constraints applied.

Treatment of the Data


The data applied to the models in this paper represents the distribution of mobile phones to a telecom
retail channel. The data has been completely obfuscated with all values being altered from their
original values, a set of rules were provided by company representatives that ensured the obfuscated
data is still within realistic ranges. 50 stores and 30 SKUs providing 1500 unique combinations form
the data set, with the following rules being applied to generate the data set:

Page | 12
Margin: a random number between 5 and 50, applied to each SKU;
Cost: a random number between 50 and 100, applied to each SKU;

Holding cost: a random number between 0.5 and 1.5 (representing the holding cost of 1 item per day),
applied to each store;

Obsolesce Risk: 20% of all SKUs (6) have a obsolesce risk, of which the risk is a random percentage of
either 10,20,30,40 or 50;

Sell Thru: Stores can sell on average 20-200 sales a week and typically the bigger profile stores will
consistently sell larger volumes. A single SKU at a store would not often sell much more than 10 units
a day. An exception to this rule is product launches which are not considered within the data set;

The above rules generate a data set that equates to a problem with 3 x 1035 estimated possible
solutions.

For this data set, the following constraint related parameters apply:

• The total cost of all product should not exceed 2,000,000 AUD;
• The availability in the channel should exceed 95%.
• The profit to cost ratio should exceed 5%;

As discussed further in this paper, these constraints are soft targets and penalties are applied if these
parameters are exceeded. A rate of 500 AUD is applied for every 1% deviation from a target.

Approach to solving the problem


The approach adopted in this paper to solve the above optimisation problem is to separately apply
three local search metaheuristics and compare their implementations and results. Figure 2 - VMI
Implementation shows how the VMI model shown in Figure 1 - VMI Model has been implemented
technically. The process is described as follows:
Step 1. The quantity of sales by day of each SKU at each store is imported (sell thru) and an average
and standard deviation are calculated for each SKU at each store from the sell thru;
Step 2. A normal probability distribution is created using the average and standard deviations for
each SKU at each store (described in more detail in Forecasting methodology;

Step 3. Data used to calculate candidate fitness such as cost, and margin are imported for each SKU
and store combination along with the SOH already in the retail channel.

Step 4. An admissible heuristic is calculated that provides a theoretical optimal result not considering
constraints.

Step 5. User defined parameter values (such as mutation rate) are applied to the selected
metaheuristic;

Step 6. The selected metaheuristic is run;

Step 7. The results of the metaheuristic are output to a file;

Page | 13
Stock on
hand
Run DE

Create Normal
Optimal
Historic Probability Import Dimension Select Parameters Output Results to
Calculate heuristic Run GA Inventory
retail sales Distibution Data and Algorithm File
to Ship
Forecast

Run ACO
Product
and store
data

Figure 2 - VMI Implementation

The problem to be solved is a single objective optimisation problem with the objective of finding the
correct quantity for each store and SKU combination that is the most profitable. Each store and SKU
combination are dimensions with the quantity the value of each dimension. Each dimension has a
probability distribution of possible quantities that may be viable for that dimension. The probability
relates to the likelihood that the store will sell at least n of that product, and this probability is only
used in calculating the fitness of a candidate (profitability).

5. APPLICATION
This section details the implementation of each of the algorithms required to address the problem. In
each case the implementation follows the approaches defined in 2. REVIEW OF THE RELATED
LITERATURE with only deviations from the norm or structures specific to the problem being defined
here.

Common Algorithms
As shown in Figure 2 - VMI Implementation, each Algorithm shares a common platform before the
metaheuristic specific component is executed, this following section describes the common steps.

Dimension Limits
For all algorithms it is important to note that the “limits” of each dimension are specific to that
dimension, the lower limit will always be 0. The upper limit is the discrete quantity where the
cumulative probability to sell exactly n is >= 5% and the cumulative probability to sell exactly n+1 <
5%. Each metaheuristic is designed so that it will never select a quantity outside of these limits,
regardless of the operation performed on it (ie mutation, crossover). This significantly reduces the size
of the search space compared to an implementation that only applies a single global limit.

Parameter Tuning
The following parameter tuning mechanics were applied to each of the three algorithms in the
following manner. First, arbitrary parameters values are chosen with population being set to 10, the
metaheuristic in question is run 30 times and the best candidate’s fitness of each execution is averaged
across all executions to determine the average fitness, the same is applied to the generation the best
candidate was found, along with the generation the population stagnated. This is repeated with the
population being increased in increments of 10 up to 200. the smallest population value that yields
the best set of averages becomes the tuned value for population. The best average is applied using
the following logic: The highest average fitness is chosen, if there are population values with equal
fitness then the population that yields the lowest average generation found, if there are population
values with equal average generations found then the population that yields the lowest average

Page | 14
stagnation generation is chosen. Finally, if there remain multiple populations that are the best fit, then
the population found first is chosen (ie the smallest population).

The chosen population is then set as the population size parameter and then the parameter with the
most relevance is then tuned using the same process. The specifics of each metaheuristics are as
follows:

• For GA’s the next parameter is mutation rate which is incremented from 0 to 1 in steps of
0.05;
• For ACO the next parameter is evaporation rate which is incremented from 0 to 1 in steps of
0.05, followed by heuristic weight which is incremented from 0 to 10 in steps of 1, followed
by the parameter that determines the likelihood that the highest probability options is chosen
(regardless of probability, which is incremented from 0 to 1 in steps of 0.05;
• For DE’s the next parameter is mutation rate which is incremented from 0 to 1 in steps of 0.05,
followed by scale factor which is incremented from 0 to 1 in steps of 0.05;

The above methodology was not successful in tuning parameters for the metaheuristics, the reasons
for this were three-fold. Firstly, the time to execute these tuning mechanisms was significant and
prohibitive with the hardware available. Secondly, the ranges and steps provided did not provide
complete enough coverage of all parameter combinations. And thirdly, there was no patterns that
identified when cycling thru the parameter combinations that were able to provide intuition as to
what optimal combinations might be. Given this lack of success, the author has turned to literature to
help advise reasonable parameters settings (where available).

Population Size
It is understood that a larger population can improve the outcome of a GA but also may take a
population longer to converge (Rylander, 2002). The business needs in this instance was to have
confidence that the model would reliably find the optimal (or near optimal) solution without
exceeding 1 hour of runtime. Large to extremely large population sizes violate this requirement and
thus there was a need to find an appropriate population level that strikes balance between solution
quality and solution speed.
The first attempt (described in the parameter tuning section above) was unsuccessful, which led to
the second approach which was to consider the literature and attempt to validate if literature
proposed population sizes would be appropriate, this was attempted for a single metaheuristic, DE.
The literature regarding DE populations sizes was considered - a rule of thumb for DE populations is
given as 10 x the number of dimensions by (Price, 2005). While DE (Chen, Montgomery, & Bolufé-
Röhler, 2015) concludes to have at least n > d for significantly high number of dimensions.

The number of dimensions for this dataset is 1500 and to attempt to determine an appropriate
population for the given model the DE model has been executed two times, one with a population of
50 and one with the population of 2000 (n > d). For a population of 2000, that maximum profitability
found over 10 iterations (of 5000 generations each) was 47200.72 found after 9996354 candidates.
Compared to the equivalent execution with a population of 50 resulted in a maximum score of
46265.3004 found after 249861 candidates. A very marginal quality improvement was the result at
approximately 4 x the cost in terms of candidates. Computation was not formally recorded however
it can be confirmed that it was at least an order of magnitude more to run the metaheuristic with a
population of 2000. Thru this process it was empirically determined that the population of 2000
offered no justifiable improvement over the population of 50 for the DE metaheuristic.
The final decision was made to set the populations for all three metaheuristics to 50 considering the
lack of any clear evidence from the other methods investigated.

Page | 15
Penalty Functions
Penalty Functions are a method of applying constraints to search optimisation techniques, and were
the methods primarily considered during this paper. An alternative to penalties is to consider the
penalties as objectives in their own right (Vieira, Adriano, Vasconcelos, & Krahenbuhl, 2004).

Hard constraints are constraints that cannot be breached and any candidate solution that breaches a
hard constraint is considered infeasible. This research attempted to implement the death penalty for
hard constraints, regardless of the generation number. The implication of this constraint method is
that it eliminates all these infeasible candidates from consideration and experimentation showed that
it reduced the effectiveness of the ACO metaheuristic. A further issue identified with the death penalty
is in scenario’s where candidates that triggered a death penalty in the first generation could not be
selected for reproduction because they had no chance of being selected as a parent. Furthermore,
candidates that had triggered the death penalty could not be removed from the initial population
without risking a drop-in population numbers that would fall below the minimum needed to
reproduce. In subsequent generations, this is not an issue, because children with 0 scores will never
succeed their parents.

The impact of the death penalty was so severe on the performance of the ACO metaheuristics that
soft constraints were implemented (under consultation with the business) for each of the constraints,
removing the death penalty entirely from all metaheuristics.

Soft constraints are constraints that can be breached and thus a candidate solution breaching a soft
constraint can still be feasible however they are still considered suboptimal. To reflect this
suboptimality a penalty function can be applied to the fitness score of the candidate. Penalty function
methodologies described by (Michalewicz, 1995) (Yeniay, 2005) and the Violation Constraint-Handling
(VCH) method applied by (Chehouri, Younes, Perron, & Ilinca, 2016) were considered. This research
paper implements a very basic static penalty where the percentage of deviation from the constraint
is multiplied by a static parameter and deducted from the fitness score.
The author acknowledges that the simplistic penalty policy selection has been made without
consideration to the efficiency of the implemented models and that there could well be room to
improve these models by making a better-informed penalty policy decision. The key concern that is
addressed, is that the models all implement the exact same penalty policy ensuring that the penalty
function is not a parameter that could cause variance between the different metaheuristics.
The amount of penalty rate applied was an amount approximate to the calculated heuristic value of
the data set, in this case 50,000. Ie. If a single constraint was breached by 100% then approximately
the maximum possible score would be deducted.

Execution Time
Note that for as this experiment is a real business problem execution time was the preferred output
over CPU cycles.

Candidate Evaluation
The fitness of each candidate is calculated by an implementation of the formula described in section
4.

Page | 16
Genetic algorithms (GA)
A GA model was created following the pseudocode described in Section 2 – Genetic Algorithms, with
the following implementation specific constructs:
Problem Representation
The GA population is made up of individuals each with their own genetic configuration. This genetic
information is represented within a chromosome made up of a set of genes. All individuals in the
population have the same chromosome configuration with the same set of genes. The only thing that
differs between individuals are their alleles, which are the values each of the genes take. Each have a
common set of dimensions which is represented as the chromosome. A single dimension is
represented as a gene and consists of the unique store and SKU combination along with a set of
quantities and the related probability that the responding quantity will sell. Finally, the value (allele)
that is held within a gene for a specific is the quantity of SKU to ship to that specific store along with
its probability to sell.

Population Size
The population undulates in size throughout each generation but returns to a consistent population
size between generations. Within a generation the population (n) grows and contracts, in an example
where n = 50 the population size follows the following process: Half the population (50/2=25) are
selected as eligible parents, however the population is still 50 because it contains the ineligible
parents; Each eligible parent mates twice (25*2= 50 children and total population of 100); Each child
is compared with one each of the parents and the weakest is discarded from the population 100/2 =
50);

Parent Selection
Roulette wheel sampling is applied during parent selection by having each candidate in the population
be weighted on their fitness (as a percentage of population fitness) and then randomly choosing a
parent from all available candidates (not yet selected as parents) weighted by their fitness. Candidates
with higher fitness have a higher probability to be selected as parents than those with a lower fitness
score.
Parents with negative scores are problematic to this selection method and are never selected.
However, it is possible for the best possible score to be a negative score – which means this method
is not robust for such scenarios. An improvement could include the normalisation of all scores to be
positive.

Mate Selection
Mate selection is the process of determining how parents are paired off with one another. In this
implementation it is performed randomly among the parents with each selected parent mating with
2 other distinct parents.

Crossover
For discrete integer-based problems, there are several methods for representing chromosomes. 1)
Convert the genes from integer to binary and store them in a vector of binary digits. 2) Convert the
integers to a single vector of single digit integers. In both cases (1) and (2) the maximum possible
magnitude of each gene must be known and encoded with preceding 0’s if the gene is of smaller
magnitude otherwise it will be difficult to decode the vectored chromosome. 3) Leave the integers as
they are and put them in a vector as is.

Page | 17
Crossover (finding a random point along the chromosome) has a different application and effect in
each of these 3 mechanics. In options (1) and (2), crossing over at any point introduces the possibility
of crossing over the gene itself (a form of mutation) – resulting in a new and different kind of gene. In
option (3) the gene can never be crossed over, so the children will only ever have genes that are a
subset of their parents.
Option (3) has been chosen for this implementation and a mechanism is incorporate to simulate the
possibility that a gene may be spliced during crossover. The mechanism is to stochastically determine
if the crossover occurs between genes or between a gene, should it be between a gene then a new
value is stochastically chosen (of any valid value within the limits of that dimension) for the gene at
the crossover point (with no weighting applied to each possible value).

The result of this mechanism is behaviour like binary crossover (described in option (1)) however it is
of note that the behaviour is not identical and output from an implementation of (1) and (3) would
differ. Speculation suggest that the binary It is beyond the scope of this paper to understand what the
impact may be; however speculation is that adopting option (3) over option (1) sacrifices a degree of
implicit parallelism (Holland, 1984) ).

Mutation
The set of newly created children have a possibility of mutating which is determined by dividing the
mutate parameter by the number of dimensions for each candidate and stochastically determining if
the resultant value triggers a mutation. If a dimension of a candidate does mutate, the dimension
value is updated with a new value randomly selected (without any weighting) from all possible values
for that dimension.

Candidate Selection
Tournament selection is applied to determine which candidates remain for the future generation.
Each child (in the order they were created) is compared to only one of the candidates in the original
generation (in the order they were created). The candidate (original generation or child) with the
highest fitness score survives to the next generation. There may be potential issues with ordering the
children and parents by age and competing against one other, and alternative approach would be to
randomise their orders.

Stagnation / Convergence
Stagnation or Convergence (Zhou & Harris, 2008) occurs if the populations average fitness remains
the same for 5 generations, in which case the algorithm terminates. The rationale behind this choice
is that if the average population score remains the same it means that not a single child created from
the population is an improvement from any parent. For this to occur for 5 consecutive generations
implies that there is very little likelihood that further improvements will be found.

Ant Colony Optimization (ACO)


An ACO model was created by applying Dorigo’s Ant System (AS) approach (Dorigo & Gambardella,
1997). It follows the pseudocode described in Section 2 – Ant Colony Optimization, with the following
implementation specific constructs:
Problem Representation
In ACO the population is a colony of individuals ant that each have memory of the tour they have just
taken. While this terminology is abstractly different to GAs, in practice the data structures
implemented remain the same, with a few key additions. Additional to ACO is a global pheromone
matrix that each ant is aware of when making decisions on which route to traverse. The pheromone
matrix is the list of all possible combinations of SKU, store, quantity and probability to sell with
pheromone deposits for each combination.

Page | 18
Each generation, when each ant completes a tour it lays pheromone on the path they took to complete
the tour. The amount of pheromone they deposit is inversely proportional to the length of the tour
just taken (see the Section of Pheromone Update). In the VMI problem a single leg in the tour is a
single dimension and the tour is all dimensions (Store and SKU combination). At each leg of the tour,
the ant stochastically decides which quantity should be shipped for that store and SKU (see Route
Selection). This process is repeated for each leg of the tour/dimension until each dimension is
traversed and the tour is complete. Each ant then lays its pheromone and the process is repeated.

Route Selection
Each dimension has multiple valid quantities and each of these has a “edge probability” which is the
likelihood that a candidate/ant will select (traverse) that quantity. The edge probability is calculated
using the formula below:

Edge Pheromone *1/|(Probability to sell quantity j for store/SKU combination * SKU Margin) – SKU
holding cost – ((SKU Cost * Obsolesce Risk) * (1 - Probability to sell quantity j ))|)^β
/
∑ all Edge Pheromone * (1/|(Probability to sell quantity j for store/SKU combination * SKU Margin) –
SKU holding cost – ((SKU Cost * Obsolesce Risk) * (1 - Probability to sell quantity j ))|)^β
Where β is a parameter that determines the relative importance of pheromone versus distance (as
per (Dorigo & Gambardella, 1997)).

ACO and Death Penalties


An issue with applying a weight desirability where death penalties are implemented is that the
algorithm will continue to select maximum quantities (they return the highest fitness) but then they
breach hard constraints and are set to 0. Leaving a population with a lot of 0 score candidates. This
severely damages the algorithms ability to converge. This was a key factor in deciding to remove all
death penalties and replace them with soft constraint penalty functions.

Pheromone Update
Once a candidate has traversed each dimension (and selected a quantity at each) pheromones are
added to that dimension value to increase its desirability for selection by subsequent generations.
The increase in pheromone is calculate by 1/ ((1 + heuristic) – tour_score) where the tour_score is
the total profit of the candidate. This translates to 1 divided by the candidate’s distance from
optimal, in other words, the further the distance, the lower the amount of pheromone deposited.
The plus one is a precaution to prevent divide by zero errors if the tour_score equals the heuristic.

Best Tour
A best tour function was initial implemented but then discarded as the results indicated it was not
contributing any value to the ACO search. The best tour function similar as that a concept described
in the Ant Colony System (ACS) where the ant with the most successful tour so far applies a global
updating rule (Dorigo & Gambardella, 1997). A variation on this concept was attempted in this
model – which is that rather than just adding pheromone to the best tour, additional pheromone is
added by the best tour (on top of the pheromone added by all ants) to further encourage
subsequent candidates to pursue the best tour. This best tour pheromone increase is calculated by:
best_tour_bonus / ((1 + heuristic) – tour_score) where the best_tour_bonus is a static value that has
the effect of adding a significant increase (depending on its magnitude) to the pheromone
deposited. As a candidate finds a solution that is closer to the optimal, the value of pheromone
deposited by the best_tour_bonus will increase. It is important to find a best_tour_bonus value that
has a relative influence on the pheromone update. For this implementation, the best_tour_bonus is

Page | 19
set to the value of the heuristic + 1, which means the maximum value of pheromone that could be
deposited by the best tour is 1.

This hybrid approach to Ant system (AS) and Ant Colony System (ACS) was adopted to attempt to
strike a balance between exploration and exploitation however through empirical testing no
advantage was identified so the functionality was removed and AS was adopted by default.

Pheromone Evaporation
Pheromones evaporate over time to ensure that the more generations that occur since the
pheromone was laid the less significance that result has, or in other words the more recent the
result the more significant it is. This is achieved with the following calculation: (1- evaporation_rate)
* pheromone, where the evaporation rate is a value between 0 and 1 that is determined empirically
during parameter tuning.

Stagnation/Convergence
For ACO convergence occurs when n% of ants are following the same route (Meyer, 2004b). The
rationale behind this is that it is unnecessary to increase the pheromone on the optimal track to such
an extent that it effectively eliminates the chance that candidates will probabilistically select any other
path. Furthermore, depending on the parameter tuning it may not be possible to achieve this (ie. If
the rate of pheromone evaporation eliminates any potential pheromone gains, even if all ants are
traversing the optimal path).

Differential Evolution (DE)


A DE model was created following the pseudocode described in Section 2 – Differential Evolution, with
the following implementation specific constructs:
Problem Representation
Abstractly, DE is identical to the GA in problem representation as it used the same concepts of genetics
to explain the problem (Refer to Genetic Algorithms (GA) – Problem Representation). The main
challenge faced when implementing DE’s is that they are innately continuous and the VMI problem
deals specifically with discrete decision variables. Therefor a mechanism to adapt the DE metaheuristic
to a discrete solution was required.
Implementation of a Discrete DE Model
If we consider an example where each candidate has 2 dimensions, and x and y coordinate. In this
example we will apply the mechanics of DE to a single candidate for a single generation to illustrate
the advantage continuous variables have over discrete variables. Given some arbitrary vectors,
Candidate A has a vector of 2.37,4.15; Candidate B has a vector of 2.35, 3.81; and Candidate C has a
vector of 2.42, 4.33; and simulated a single differential evolution on candidate A, Candidate A’s
resultant vector will be (2.37,4.15) += (2.35, 3.81) – (2.42, 4.33) = (2.30, 4.33); What is shown through
this single iteration is that Candidate A’s vector is perturbed minimally and as a population converges
the amount of perturbation reduces over time. When compared to a discrete model with the following
vectors: Candidate A has a vector of 2,1; Candidate B has a vector of 1, 4; and Candidate C has a vector
of 4, 3; the resultant vector is (-1,3), this poses two problems the first of which is that negative
dimensions in the VMI problem are nonsensical (you cannot have a negative quantity of stock) and
yield invalid fitness scores the second problem is that the dimension values tend to overshoot optimal
values (this was observed during experimentation) and never optimise.
For example a dimension that could have a possible value between 0..7 has 7 discrete values that the
decision variable can be assigned. Applying DE often yields a result that is outside the range of 0..7. To
describe this scenario, we will consider Store A with SKU B where the possible quantity could be any
value between 0 and 7. Again we consider 3 candidates to which the DE mechanics will be applied.

Page | 20
Candidate A has a value of 2, Candidate B has a value of 4 and Candidate C has a value of 7; The
resultant value is 2 += 4-7 = -1, as -1 is outside the limits of valid values.

This above scenario along with the fact that steps are relatively large causes candidates to jump
around the dimension values and the step size (in subsequent generations) does not reduce over time.
These two problems generally make native DE unsuitable for this VMI problem.

To adapt the DE metaheuristic to suit this VMI problem a variation on the DE model has been applied.
Firstly, perturbation is bounded by the limits of the dimension values, ie. The dimension example
above cannot exceed 7 or fall below 0. Should the result of a perturbation fall outside of the limits the
candidate is perturbed to the limit, which is either 0 or 7. Secondly, a scale factor is applied to
determine the size of the perturbation and is described in the following section.

Scale Factor
To mitigate the impact of candidate solutions jumping around the dimension space and not having
step side reducing overtime a new parameter is considered. The scale factor is applied as a coefficient
to reducing the discrete step size to do this a normalised range of 0..1 is mapped to the range of 1 to
step size. A scale factor of 1 will yield a full step size, where as a scale size of 0 will yield a step size of
1 (the smallest possible discrete increment/decrement). The scale factor is only applied when a
perturbation has taken place (ie. a step size of 0 will not have the scale factor applied). The resultant
mechanism provides a lever to throttle the step sizes, the studies conducted attempted to find an
optimal scale factor for this implementation.

Of further note, a dynamic scale factor may have yielded a better performance (ie. dynamically
Increase the degree of throttling over the course of multiple generations but was not applied in this
study.

Forced Perturbation
Candidates in a DE population have only a single mechanism to perturb their position in the search
space which is through the DE mutation mechanism. This means, having a candidate that fails to
mutate offers no value, which led to the forced perturbation being implemented in the algorithm.
Should a candidate fail to mutate a single dimension then the candidate will be rolled again until at
least one mutation of a dimension occurs.

6. EXPERIMENTAL RESULTS
Computational results
The three models have been developed using Java 8 and all models have been executed on a 64-bit
Windows PC with an Intel® Core™ i7-6600U CPU @ 2.60GHz 2.81GHz with 16.0 GB RAM.

Simple Heuristic Search


To compare the suitability of each AI approach a baseline has been created in the form of a simple
heuristic (SH) search. The SH search is a straightforward heuristic that could be described as a reverse
breadth first search which pops a single randomised node into the frontier at a time. It starts by
maximising the quantity of each dimension. Knowledge of the problem domain provides insight that
for this data set, the near optimal solutions are significantly closer to maximum quantities as opposed
to the minimum quantities, which ensures a much quicker convergence. It is worth noting, that a
different data set may not be the case and it would be a more difficult task to create an all-purpose
simple heuristic search that also leverages domain knowledge.

Starting with a candidate with the maximum possible quantity for each dimension the heuristic first
clones the candidate and randomly choses one dimension from the clone (of the 1500) and

Page | 21
decrements it by one. The original and the clone are compared to each other and if the clone is an
improvement over the original, it is retained. To compare the SH and the AI metaheuristics more
evenly, the SH is initialised with the same number of candidates in its population (50). This process is
repeated for 5000 generations or until the population stagnates (ie no. single candidate improves after
5 generations).
The SH search has a slow and steady convergence pattern and due to the initial population violating a
large amount of constraint, begins with a negative score. The observation from the SH search is that
the rate of improvement in score decreases over time in other words effort spent searching returns
consistently diminishing returns over time.

Figure 3 - Improvement in profit over generations for the SH search

A reverse SH search was implemented to confirm that its performance would be inferior. Figure 4 -
Improvement in profit over generations for the reverse SH search, demonstrates that while the
heuristic does not start off as disadvantaged, its performance (in terms of solution quality) is an order
of magnitude less than its predecessor.

Figure 4 - Improvement in profit over generations for the reverse SH search

Page | 22
Parameters used
The following parameters have been used for the execution of the metaheuristics:
Table 2 - Parameters Used

Metaheuristic Parameter Description Value


ALL POP_SIZE Number of candidates each 50
generation
ALL MAX_GENERATIONS Maximum generations permitted (if 5000
metaheuristic does not converge
prior)
ALL NO_MODEL_EXECUTIONS Number of iterations the search is 10
performed
GA GA_MUTATION_RATE Approximately n dimensions of 1
1500 in every candidate will mutate
each generation
DE DE_MUTATION_RATE Approximately AND at least n 1
dimensions of 1500 in every
candidate will mutate each
generation
DE DE_SCALE_FACTOR Coefficient for reducing the 1
discrete step size to do this a
normalised range of 0..1 is mapped
to the range of 1 to step size. A
scale factor of 1 will yield a full step
size, where as a scale size of 0 will
yield a step size of 1 (the smallest
possible discrete
increment/decrement).
ACO ACO_P_EVAP The pheromone evaporation rate 0.1
which is calculated by (1-
ACO_P_EVAP) * edge_pheromone
ACO ACO_WEIGHT_DESIRABILITY Determines the degree of influence 0.1
the heuristic value has on the
probability that an ant will select an
edge. Applied as an exponent to
the heuristic calculation.
ACO ACO_PROB_SELECT_BEST_ROUTE The likely hood that an ant will 0.25
select the most favourable edge
rather than probabilistically
selecting an edge.

Page | 23
Metaheuristic times
The compute time for each metaheuristic are listed in Table 3 - Metaheuristic compute times, the GA
algorithm requires the least compute to calculate equivalent population and generations.
Table 3 - Metaheuristic compute times

Metaheuristic Instance Time elapsed


GA Pop 50, Gen 5000, Mutation Time elapsed: 117570
Rate 1
DE Pop 50, Gen 5000, Mutation Time elapsed: 198842
Rate 1, Scale Factor 1
ACO Pop 50, Gen 380, Evap Rate Time elapsed: 7733
0.1, Heuristic Weight 0.1, Prob N.B. If no convergence (ie.
to select best route 0.25 5000 generations) then Time
elapsed: 124154
SH Pop 50, Gen 5000 Time elapsed: 121595

Candidate Seeding
Candidates for each of the three metaheuristics (not including the simple heuristic (SH)) have
candidates seeded using the same algorithm. For each dimension of each candidate, a value is
randomly assigned using Java 8’s Random nextInt method. The seeding algorithm was executed
10,000 times and the results were plotted in Figure 5 - Seed Score Histogram, initial scores are
confirmed to be approximately normally distributed according to Skewness and Kurtosis tests for
normal distribution. The mean candidate seeding score is 6176 with a Standard Deviation of 2343.
This is important in the following analysis because all algorithms start with the same quality
candidates, with scores between -3000 and 15500 (4 standard deviations), and it is very unlikely that
candidates will be seeded with scores outside of this range.

Figure 5 - Seed Score Histogram

Figure 5 - Seed Score Histogram shows the average candidate scores, however only the best candidate
score (of populations of 50) are reported for the analysis of each metaheuristics. The following
histogram in Figure 6 - Best Seeded Candidate Each Population (of 50), shows the likely range of the
best candidate for a seed population. This is most relevant for DE and ACO as both heuristics are
impacted by the best scoring candidate found.

Page | 24
Figure 6 - Best Seeded Candidate Each Population (of 50)

The above two histograms provide us with an indicative starting position for each heuristic which we
will refer to when analysing their respective convergence patterns.

Results of the Genetic Algorithm


The GA is the least complex algorithm in terms of adaption to this problem due to its generic nature
and suitability for discrete problem spaces. It demonstrated several advantages over the other
metaheuristics and the simple heuristic which included, being the simplest to tune due to the single
parameter (mutation rate), consistently found the best solution quality by over 10K AUD, fastest to
execute per generation by a small margin and it was the second fastest to converge.

Figure 7 - Improvement in profit over generations for the GA approach

Page | 25
Considering the results presented in Figure 7 - Improvement in profit over generations for the GA
approach where each data point represents the “best score” for each generation. There are 10 data
points at every generation, which represents the fact that 10 algorithms were executed. The yellow
line represents the average of these 10 data points. The dark grey border around the yellow line shows
the standard deviation of each cluster of 10 points. Ie. A thicker line represents a greater variance
among the best candidates for each generation. The green line shows the same standard deviations
on a second y-series.
The first observation is that the quality convergence was extremely consistent across executions. The
consistent quality convergence can be explained as a cause of the problem definition and specifically
the large range of dimensions with limited possible values for each. What we see is a problem that
can only be improved by each crossover and mutation operation by predictable and limited amounts.
The initial seeding is a different matter as the initial population is seeded completely randomly (at
least to the extent that Java Random is truly random) and it is therefore possible to find a candidate
that has a score theoretically anywhere between the minimum and maximum possible scores. The
hypothesis here is that given the vast amount of permutations, it is quite likely that a highest scoring
candidate is found with a score between 10k and 20k (for this specific data set) whereas it is much
less likely to find a candidate with a score outside of these ranges and thus none were identified during
algorithm execution. This hypothesis was tested with the results described in the candidate seeding
section which confirms the likely spready of seed candidate scores. Unlike ACO, the GA experiences
no “leap” in performance improvement between generations 0 and 1, so rather generation 1 (which
is the first data point in the above figure) is only marginal improved over generation 0.
The next observation made is that the population variance decreases over time, this means that as
the population approaches convergence individual diversity declines. From generation 1500, it is
hypothesised that the population becomes relatively stagnate at this point and only the high rate of
mutation (every candidate approximately mutates a single dimension each generation) prevents
convergence. This high rate of mutation enables each generation to make marginal gains in quality.
This hypothesis can be tested by considering the actual data points for each generation and
determining the distance (number of generations) between improvements in quality and the rate of
improvement. The following figure shows the average gain each generation and confirms that at
approximately generation 1500 only marginal gains are found each generation.

Figure 8 - Average Gains by Generation - GA

Page | 26
What Figure 8 - Average Gains by Generation - GA shows is that the rate of improvement in quality
between generations is due more to the size of the gains between generations and less to the
frequency that gains are found. In fact, the algorithm continues to find gains consistently beyond 5000
generations, however the size of these gains is not significant. Suggesting that this data set involves a
lot of combinations of data that vary in very small degrees among one another.

Results for Differential Evolution


The mechanisms implemented to attempt to adapt Differential Evolution to a discrete search problem
were not successful. Arguably the DE metaheuristic is no better than the SH search as it only achieves
parody in terms of solution quality with a gentler rate of quality improvement.

The specific implementation for this problem has significant short comings, in particular – candidates
mutate only one of 1500 dimensions at a time, which guarantees a very slow and steady improvement
over time however, experimenting with higher mutation factors did not improve the performance of
the SH and at a certain point (approximately 50 of 1500 dimensions mutated) demonstrated that the
performance declined rapidly.

Figure 9 - Improvement in profit over generations for the DE approach

We can see by the above figure that the DE becomes gradually more inefficient at finding solution
improvements over time. Arguably the rate of finding new solutions is consistent but the size in
improvement of those new solutions becomes smaller as the generations progress. There are two
things of interest here that possibly provide us with some insight into the problem space. The first is
that there is a clear trend line with the standard deviation scatter plot, which is suggesting that there
is predictability in the variance between generations. The hypothesis here is that each future
population draws on the characteristics of the previous population with a low rate of mutation and so
gains and losses have momentum. This theory is consistent with the GA and SH as their populations

Page | 27
carry forward their genetic material between generations. ACO is the exception as ant memory is
wiped between generations, and this is clearly seen in the variation of candidates having no trend
between generations. The second observation is the deviation line oscillates in a roughly up and down
motion. The hypothesis behind this behaviour is that the search space resembles the ocean in the
sense that the deeper you go the more pressure there is and reaching new depths become harder.
Therefore, it is easier for candidates in shallow waters to catch up. To test this theory the individual
populations were graphed, and it validates that theory as you can see populations that drift behind,
do eventually catch back up to the higher performing populations.

While these observations help to describe the problem space and confirm the fact that the DE only
makes margin gains each generation (if at all) due to very small mutation rate, there does not appear
to be any advantages in the DE technique over the other approaches.

Results for Ant Colony Optimisation


ACO proved difficult to find the correct parameter balance and the parameter tuning was not effective
due to the number of different parameters and the uncertainty of which ranges to tune for. Suitable
parameters were determined manually through empirical means however no assurance can be made
over there optimality.

ACO rapidly found a sub optimal solution that while sub optimal was higher in performance quality
than both the DE and SH mechanisms, it was however was 10k below the GA performance quality.
This rapid improvement can be attributed to the heuristic weighting applied to each dimension
variable, encouraging ants to choose values that have higher heuristic values. ACO is the only
metaheuristic that encourages selection of higher performing individual values. This is described in
detail as follows: Ants are strongly encouraged to selecting quantities for dimensions that are going
to provide the greatest profit (but do not consider constraint penalties) so ants quickly converge on
the paths that contain the highest heuristic values. These paths however are the ones that will be
most heavily penalised due to constraint violations (specific for this data set). Ants will lay the most
pheromone on the paths that have a high heuristic value but then find the paths that violate
constraints less. After several generations, the pheromone will build up over one path and all ants will
converge upon it. The downside to this approach is that the ACO values exploitation too highly and
results in a sub optimal convergence. It is also plausible to consider that the heuristic value used by
ACO is not ideal and is responsible for preventing further exploration. For future consideration is
implementing an ACO metaheuristic that dynamically decrease the heuristic influence over
time/generations in favour of random exploration, or potentially consider different heuristics, ie. a
second heuristic that rewards candidates with less penalty violations is introduced.

Experimentation with the ACO pheromone matrix was performed by resetting the pheromone matrix
but leaving the population seeded with its best dimension set. This activity had no effect on the
convergence path of ACO as ants consistently followed the same set of decisions to build up the
pheromone matrix again and came to the same solution quality.

Dorigo’s ACS implementation (Dorigo & Gambardella, 1997) or Stutzle and Hoos MAX-Min ant system
implementation (Stützle & Hoos, 2000) have both been proven to overcome the shortfalls of AS and
are hypothesised to provide improvements in performance quality to this problem.

Page | 28
Figure 10 - Improvement in profit over generations for the ACO approach

The very fast convergence pattern is commonly identified in literature and is considered a typical AS
convergence path (Dorigo & Gambardella, 1997) and there is opportunity here to improve the
performance of ACO by better controlling the convergence rate, such as using α annealing (Meyer,
2004a).

Critical Analysis
Figure 11 - Comparison of approaches; profit by generation convergence. compares the performance
of each metaheuristic. What we see displayed here is that each metaheuristic has a distinct and
consistent convergence pattern as well as a distinct and consistent first-generation performance. The
two immediate observations, with the first being that ACO is extremely rapid in identifying
performance improvements initially. In fact, given that the best seeded candidate scores in generation
0 will have been around 11k, ACO was able to consistently achieve a score of at least double that after
the first generation, this is a unique advantage that ACO has over the other techniques. The second
immediate observation is that the GA was able to significantly outperform the other methods in terms
of quality.

Page | 29
Figure 11 - Comparison of approaches; profit by generation convergence.

Further investigation is required to explore different implementation methods for each of the
metaheuristics considered as it is clear from the literature that improvements in performance can be
achieved by applying different mechanics (several which have been mentioned throughout this
paper). However, from the specific implementations analysed a solution can be proposed that has
been proven to outperform conventional methods. The following paragraph propose a hybrid
metaheuristic that leverages aspects from each approach to achieve an optimal convergence.

A metaheuristic that loosely couples the GA and ACO implementations could be used to the greatest
effect. Loose coupling means there is no integration between the two metaheuristics other than the
population of candidate’s genetic material is passed from one algorithm to the next. Simply put this
would involve running ACO first to leverage the early performance gains and then passing the
candidate population across to the GA which would then proceed to find an optimal solution. The
point of coupling would occur when the ACO algorithm converges.
The next figure, Figure 12 - Metaheuristic performance by CPU time, compares the four techniques in
terms of solution quality by CPU time. We see a very similar story for ACO, GA and SH, in terms of
convergence paths and time to converge. This shows that the DE implementation is particularly weak
in terms of convergence time with further justification being given to its exclusion from
recommendation.

Page | 30
Figure 12 - Metaheuristic performance by CPU time

Results of Survey and Literature Review


As mentioned briefly in the introduction – the process of identifying suitable AI techniques was the
first step performed in this research and is merits discussion regarding some key findings. It might be
assumed that GA’s were the most prolific technique since they have been around the longest. While
this may be a factor, The GA literature reviewed was all within the last 15 years and was still abundant
so implies that there are other factors. A qualitative assessment of the literature has led to an
understanding that other key factors play a part in GA’s selection for VMI type problems. These are
the simplicity to understand and implement GA’s, the native suitability of GA algorithms for these
kinds of problems, and the general flexibility of the GA metaheuristic.

ACO literature was less common that GA literature but still readily available however the types of
problems were not easily translatable to the problem reviewed in this paper. Often ACO was applied
to the traveling salesman or Knapsack styled optimisation problems. As previously highlighted in the
literature review, one of the more intriguing methods using ACO for a VMI optimisation problem was
using Pareto ACO (Moncayo-Martínez & Zhang, 2011), for solving multi objective optimisation. This
couple with a proposal (Coello, 2000) of considering constraints as objective functions could warrant
further investigation in this problem space.

Literature specifically applying DE’s to VMI problems was particularly scare and this is most likely due
to the unsuitability of a continuous optimising technique for discrete spaces.

Appendices A and B provide these tabulated findings.

Page | 31
7. CONCLUSIONS
Of the AI techniques and the implementations of those techniques considered, a loosely coupled
hybrid ACO-GA would achieve the fastest convergence and greatest performance quality as well as
minimum compute time required. The recommended approach to take is to first implement ACO and
to incorporate very tight convergence rule. When ACO converges swap to GA to achieve greater
performance quality. Finally, determine appropriate GA convergence rules for the business
requirements that trades off time to compute for additional gains. In other words, determine at what
point marginal increases in performance quality are no longer significant to justify the time to
compute.

Regarding general adaptability to similar problems, GA is the recommended implementation approach


(of the approaches investigated) as it was significantly faster to build, adapt and tune than ACO and
DE along with outperforming in terms of solution quality. There is room for significant improvements
in the ACO technique by applying more modern variants, which may (or may not) outperform the GA
approach and would require further investigation to determine. Also, it is worth noting that the ACO
AS implementation may be suitable for this problem where substantially bigger data set were involved
given its ability to rapidly find a solution, this is an opportunity to further investigate this problem
using larger data sets. The DE approach was ineffective due to the implementation selected, however
based on the challenges in adapting a continuous search optimisation metaheuristic to a discrete
problem and the results of this experimentation it is concluded that DE is not appropriate for this
problem.

The data used for this problem did not considering seasonality, weekly fluctuations or any other
variations in demand and therefor assuming constant demand. Therefore, it is possible to annualise
the performance of each technique to a dollar amount for this data set. While the data set has been
strongly obfuscated, it has been realistically adapted based on business rules previously defined and
is suitable for drawing the following conclusions.

The baseline SH search yielded approximately 45K daily, as an annualised figure (50K*365) this comes
to approximately 16.4 Million. By comparison the GA came to an approximately annual figure of 21.9
Million (60K *365) – A difference of 4.4 Million. While this is not a comparison against human
performance it provides indicative improvements over less powerful techniques and provides insight
into the potential benefits of implementing these techniques.
This model is significantly constrained and obfuscated which prevents its comparison by human
performance. Future studies would release the model constraints by including more model
parameters and the loosening up of assumptions (such as lead time, and forecasts greater than next
day) and running the model against a comparable data set. Furthermore, developing an improved
consensus forecasting method to provide the forecast distribution as an input to the optimisation
model. Drawing on techniques proposed in existing literature such as Machine Learning Techniques
(Carbonneau, Laframboise, & Vahidov, 2008), Neural Networks (Zhang, Eddy Patuwo, & Y. Hu, 1998),
(Cheng, Hai-Wei, & Chen, 2006), (Efendigil, Önüt, & Kahraman, 2009), Support Vector Machines (Yue,
Yafeng, Junjun, & Chongli, 2007) and Bayesian Forecasting (Korb & Nicholson, 2010), (Vercher, 2010)

As the models themselves were only tested on a single data set, the conclusions that can be drawn
are limited. The scalability of the heuristics to different data sets and larger data sets has not been
validated by this study and future studies would involve the comparison of these techniques against
a variety of data sets. Support for scalability would be a consideration to be investigated, such as
parallel design and processing to handle larger data sets (Thiruvady, Ernst, & Singh, 2016).

Page | 32
8. REFERENCES
Akbari Kaasgari, M., Imani, D. M., & Mahmoodjanloo, M. (2017). Optimizing a
vendor managed inventory (VMI) supply chain for perishable products by
considering discount: Two calibrated meta-heuristic algorithms.
Computers & Industrial Engineering, 103, 227-241.
doi:10.1016/j.cie.2016.11.013
Arora, V., Chan, F. T. S., & Tiwari, M. K. (2010). Corrigendum to “An integrated
approach for logistic and vendor managed inventory in supply chain”
[Expert Systems with Applications 37 (1) (2010) 39–44]. Expert Systems
With Applications, 37(6), 4719.
doi:https://doi.org/10.1016/j.eswa.2009.11.063
Borade, A. B., & Sweeney, E. (2014). Decision support system for vendor managed
inventory supply chain: a case study. International Journal of Production
Research, 1-30. doi:10.1080/00207543.2014.993047
Carbonneau, R., Laframboise, K., & Vahidov, R. (2008). Application of machine
learning techniques for supply chain demand forecasting. European
Journal of Operational Research, 184(3), 1140-1154.
doi:https://doi.org/10.1016/j.ejor.2006.12.004
Cardenas-Barron, L., Trevino-Garza, G., & Wee, H. M. (2012). A simple and better
algorithm to solve the vendor managed inventory control system of multi-
product multi-constraint economic order quantity model. Expert Syst.
Appl., 39(3), 3888-3895. doi:10.1016/j.eswa.2011.09.057
Chehouri, A., Younes, R., Perron, J., & Ilinca, A. (2016). A Constraint-Handling
Technique for Genetic Algorithms using a Violation Factor. Journal of
Computer Science, 12(7), 350-362. doi:10.3844/jcssp.2016.350.362
Chen, S., Montgomery, J., & Bolufé-Röhler, A. (2015). Measuring the curse of
dimensionality and its effects on particle swarm optimization and
differential evolution. The International Journal of Artificial Intelligence,
Neural Networks, and Complex Problem-Solving Technologies, 42(3), 514-
526. doi:10.1007/s10489-014-0613-2
Cheng, Y. H., Hai-Wei, L., & Chen, Y. S. (2006, 21-23 June 2006). Implementation
of a Back-Propagation Neural Network for Demand Forecasting in a Supply
Chain - A Practical Case Study. Paper presented at the 2006 IEEE
International Conference on Service Operations and Logistics, and
Informatics.
Chi, H.-M., Ersoy, O. K., Moskowitz, H., & Ward, J. (2007). Modeling and
optimizing a vendor managed replenishment system using machine
learning and genetic algorithms. European Journal of Operational

Page | 33
Research, 180(1), 174-193.
doi:http://dx.doi.org/10.1016/j.ejor.2006.03.040
Coello, C. A. C. (2000). Treating constraints as objectives for single-objective
evolutionary optimization. Engineering Optimization+ A35, 32(3), 275-308.
Das, S., Mullick, S. S., & Suganthan, P. N. (2016). Recent advances in differential
evolution–an updated survey. Swarm and Evolutionary Computation, 27,
1-30.
Deb, K., Pratap, A., Agarwal, S., & Meyarivan, T. (2002). A fast and elitist
multiobjective genetic algorithm: NSGA-II. Evolutionary Computation, IEEE
Transactions on, 6(2), 182-197. doi:10.1109/4235.996017
Diabat, A. (2014). Hybrid algorithm for a vendor managed inventory system in a
two-echelon supply chain. European Journal of Operational Research,
238(1), 114-121. doi:http://doi.org/10.1016/j.ejor.2014.02.061
Disney, S. M., & Towill, D. R. (2003). The effect of vendor managed inventory
(VMI) dynamics on the Bullwhip Effect in supply chains. International
Journal of Production Economics, 85(2), 199-215. doi:10.1016/S0925-
5273(03)00110-5
Dorigo, M. (2004). Ant colony optimization. Cambridge, Mass.
Dorigo, M., & Gambardella, L. M. (1997). Ant colony system: a cooperative
learning approach to the traveling salesman problem. IEEE Transactions on
evolutionary computation, 1(1), 53-66.
Dyer, J. H., & Singh, H. (1998). The relational view: Cooperative strategy and
sources of interorganizational competitive advantage. Academy of
management review, 23(4), 660-679.
Efendigil, T., & Önüt, S. (2011). An integration methodology based on fuzzy
inference systems and neural approaches for multi-stage supply-chains.
Computers &amp; Industrial Engineering. doi:10.1016/j.cie.2011.11.004
Efendigil, T., Önüt, S., & Kahraman, C. (2009). A decision support system for
demand forecasting with artificial neural networks and neuro-fuzzy
models: A comparative analysis. Expert Systems With Applications, 36(3,
Part 2), 6697-6707. doi:https://doi.org/10.1016/j.eswa.2008.08.058
Gao, D., Xu, Z., Ruan, Y. Z., & Lu, H. (2017). From a systematic literature review to
integrated definition for sustainable supply chain innovation (SSCI). Journal
of Cleaner Production, 142, 1518-1538. doi:10.1016/j.jclepro.2016.11.153
Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machine
learning: Reading, Mass : Addison-Wesley.
Haven, E., Liu, X., & Shen, L. (2012). De-noising option prices with the wavelet
method. European Journal of Operational Research, 222(1), 104-112.
doi:10.1016/j.ejor.2012.04.020

Page | 34
Holland, J. (1984). Genetic algorithms and adaptation. In Adaptive Control of Ill-
Defined Systems (pp. 317-333): Springer.
Holland, J. (1992). Adaptation in natural and artificial systems : an introductory
analysis with applications to biology, control, and artificial intelligence.
Cambridge, Mass.: Cambridge, Mass. : MIT Press.
Kastsian, D., & Mönnigmann, M. (2011). Optimization of a vendor managed
inventory supply chain with guaranteed stability and robustness.
International Journal of Production Economics, 131(2), 727-735.
doi:10.1016/j.ijpe.2011.02.022
Korb, K. B., & Nicholson, A. E. (2010). Bayesian artificial intelligence: CRC press.
Kristianto, Y., Helo, P., Jiao, J., & Sandhu, M. (2012). Adaptive fuzzy vendor
managed inventory control for mitigating the Bullwhip effect in supply
chains. European Journal of Operational Research, 216(2), 346.
Kwak, C., Choi, J. S., Kim, C. O., & Kwon, I.-H. (2009). Situation reactive approach
to Vendor Managed Inventory problem. Expert Systems With Applications,
36(5), 9039-9045. doi:10.1016/j.eswa.2008.12.018
Kwon, O., Im, G. P., & Lee, K. C. (2008). Corrigendum to “MACE-SCM: A multi-
agent and case-based reasoning collaboration mechanisms for supply
chain management under supply and demand uncertainties” [Expert
Systems with Applications 33 (3) (2007) 690–705]. Expert Systems With
Applications, 34(3), 2229. doi:https://doi.org/10.1016/j.eswa.2007.10.002
Lampinen, J., & Zelinka, I. (1999). Mixed integer-discrete-continuous optimization
by differential evolution. Paper presented at the Proceedings of the 5th
International Conference on Soft Computing.
Lau, H. C. W., Wan Kai, P., & Christina, W. Y. W. (2002). Methodology for
monitoring supply chain performance: a fuzzy logic approach. Logistics
Information Management, 15(4), 271-280.
doi:10.1108/09576050210436110
Liao, S.-H., Hsieh, C.-L., & Lai, P.-J. (2011). An evolutionary approach for multi-
objective optimization of the integrated location–inventory distribution
network problem in vendor-managed inventory. Expert Systems With
Applications, 38(6), 6768-6776. doi:10.1016/j.eswa.2010.12.072
Lin, K.-P., Chang, P.-T., Hung, K.-C., & Pai, P.-F. (2010). A simulation of vendor
managed inventory dynamics using fuzzy arithmetic operations with
genetic algorithms.(Report). Expert Systems With Applications, 37(3),
2571.
Mateo, & Aghezzaf, M. E. H. (2014). Integrating Vendor Managed Inventory and
Cooperative Game Theory to Effectively Manage Supply Networks. In (pp.
263-288).

Page | 35
McAdam, R., & Keogh, W. (2004). Transitioning Towards Creativity and
Innovation Measurement in SMEs. Creativity and Innovation Management,
13(2), 126-139. doi:10.1111/j.0963-1690.2004.00300.x
Meyer, B. (2004a). Convergence control in ACO. Paper presented at the Genetic
and Evolutionary Computation Conference (GECCO), Seattle, WA, late-
breaking paper available on CD.
Meyer, B. (2004b). On the convergence behaviour of ant colony search. Paper
presented at the Asia-Pacific Conference on Complex Systems.
Michalewicz, Z. (1995). Genetic algorithms, numerical optimization, and
constraints. Paper presented at the Proceedings of the sixth international
conference on genetic algorithms.
Moncayo-Martínez, L. A., & Zhang, D. Z. (2011). Multi-objective ant colony
optimisation: A meta-heuristic approach to supply chain design.
International Journal of Production Economics, 131(1), 407-420.
doi:10.1016/j.ijpe.2010.11.026
Mondal, S., & Maiti, M. (2003). Multi-item fuzzy EOQ models using genetic
algorithm. Computers & Industrial Engineering, 44(1), 105-117.
doi:10.1016/S0360-8352(02)00187-0
Ortiz, F., Simpson, J., Pignatiello, J., & Heredia-Langner, A. (2004). A Genetic
Algorithm Approach to Multiple-Response Optimization. Journal of Quality
Technology, 36(4), 432-450.
Pan, Q.-K., Tasgetiren, M. F., & Liang, Y.-C. (2008). A discrete differential evolution
algorithm for the permutation flowshop scheduling problem. Computers &
Industrial Engineering, 55(4), 795-816.
Park, Y.-B., Yoo, J.-S., & Park, H.-S. (2016). A genetic algorithm for the vendor-
managed inventory routing problem with lost sales. Expert Systems With
Applications, 53(Supplement C), 149-159.
doi:https://doi.org/10.1016/j.eswa.2016.01.041
Pasandideh, S. H. R., Niaki, S. T. A., & Nia, A. R. (2011). A genetic algorithm for
vendor managed inventory control system of multi-product multi-
constraint economic order quantity model. Expert Systems With
Applications, 38(3), 2708-2716. doi:10.1016/j.eswa.2010.08.060
Pino, R., Fernández, I., de La Fuente, D., Parreño, J., & Priore, P. (2010). Supply
chain modelling using a multi-agent system. Journal of Advances in
Management Research, 7(2), 149-162. doi:10.1108/09727981011084968
Price, K. V. a. (2005). Differential Evolution A Practical Approach to Global
Optimization: Berlin, Heidelberg : Springer Berlin Heidelberg.
Roozbeh Nia, A., Hemmati Far, M., & Akhavan Niaki, S. T. (2014). A fuzzy vendor
managed inventory of multi-item economic order quantity model under

Page | 36
shortage: An ant colony optimization algorithm. International Journal of
Production Economics, 155, 259-271. doi:10.1016/j.ijpe.2013.07.017
Routroy, S., & Kodali, R. (2005). Differential evolution algorithm for supply chain
inventory planning. Journal of Manufacturing Technology Management,
16(1), 7-17. doi:10.1108/17410380510574059
Rylander, S. G. B. (2002). Optimal population size and the genetic algorithm.
Population, 100(400), 900.
Sadeghi, J., Sadeghi, S., & Niaki, S. T. A. (2014). Optimizing a hybrid vendor-
managed inventory and transportation problem with fuzzy demand: An
improved particle swarm optimization algorithm. Information Sciences,
272, 126-144. doi:http://dx.doi.org/10.1016/j.ins.2014.02.075
Sari, K. (2017). Modeling of a Fuzzy Expert System for Choosing an Appropriate
Supply Chain Collaboration Strategy. Intelligent Automation & Soft
Computing, 1-8. doi:10.1080/10798587.2017.1352258
Shafieezadeh, M., & Sadegheih, A. (2014). Developing an integrated inventory
management model for multi-item multi-echelon supply chain. The
International Journal of Advanced Manufacturing Technology, 72(5-8),
1099-1119. doi:10.1007/s00170-014-5684-z
Silva, J. M. G. S., Sousa, J. M. G. S., Sa Da Costa, J. M. G. S., & Runkler, J. M. G. S.
(2004). A multi-agent approach for supply chain management using ant
colony optimization. In (Vol. 2, pp. 1938-1943).
Stützle, T., & Hoos, H. H. (2000). MAX–MIN ant system. Future generation
computer systems, 16(8), 889-914.
Sue-Ann, G., Ponnambalam, S. G., & Jawahar, N. (2012). Evolutionary algorithms
for optimal operating parameters of vendor managed inventory systems in
a two-echelon supply chain. Advances in Engineering Software, 52, 47-54.
doi:10.1016/j.advengsoft.2012.06.003
Sui, Z., Gosavi, A., & Lin, L. (2010). A Reinforcement Learning Approach for
Inventory Replenishment in Vendor-Managed Inventory Systems With
Consignment Inventory. Engineering Management Journal, 22(4), 44-53.
doi:10.1080/10429247.2010.11431878
Thiruvady, D., Ernst, A. T., & Singh, G. (2016). Parallel ant colony optimization for
resource constrained job scheduling. Annals of Operations Research,
242(2), 355-372.
Vercher, E. (2010). Bayesian forecasting with the HoltWinters model. Journal of
the Operational Research Society, 61(1), 164-171.
doi:10.1057/jors.2008.152
Vieira, D. A. G., Adriano, R. L. S., Vasconcelos, J. A., & Krahenbuhl, L. (2004).
Treating constraints as objectives in multiobjective optimization problems

Page | 37
using niched Pareto genetic algorithm. Magnetics, IEEE Transactions on,
40(2), 1188-1191. doi:10.1109/TMAG.2004.825006
Voratas, K. (2012). Comparison of Three Evolutionary Algorithms: GA, PSO, and
DE. Industrial Engineering and Management Systems, 11(3), 215~223.
Wisittipanich, W., & Kachitvichyanukul, V. (2012). Two enhanced differential
evolution algorithms for job shop scheduling problems. International
Journal of Production Research, 50(10), 2757-2773.
doi:10.1080/00207543.2011.588972
Yang, J., Xie, B., & Sha, Q. (2010). Research and application of BP Neural Networks
in Collaborative Supply Chain VMI&#039;s customer demanding. In (pp.
348-353).
Yeniay, Ö. (2005). Penalty function methods for constrained optimization with
genetic algorithms. Mathematical and computational Applications, 10(1),
45-56.
Yue, L., Yafeng, Y., Junjun, G., & Chongli, T. (2007, 24-27 Aug. 2007). Demand
Forecasting by Using Support Vector Machine. Paper presented at the
Third International Conference on Natural Computation (ICNC 2007).
Zhang, G., Eddy Patuwo, B., & Y. Hu, M. (1998). Forecasting with artificial neural
networks:: The state of the art. International Journal of Forecasting, 14(1),
35-62. doi:10.1016/S0169-2070(97)00044-7
Zhou, Z., & Harris, K. D. M. (2008). Counteracting stagnation in genetic algorithm
calculations by implementation of a micro genetic algorithm strategy.
Physical Chemistry Chemical Physics, 10(48), 7262-7269.
doi:10.1039/b807326k

Page | 38
APPENDIX A TO COMPARING GA, DE AND ACO FOR VENDOR MANAGED
INVENTORY OPTIMISATION
Survey of literature for AI technique selection

Approach Area Applied References Count


Artificial Neural Demand Forecasting (Cheng et al., 2006; Efendigil & 4
Networks Önüt, 2011; Yang, Xie, & Sha,
2010; Zhang et al., 1998)
Expert Systems Modelling (Sari, 2017) 1
Wavelets Estimating Unknown (Haven, Liu, & Shen, 2012) 1
Parameters and Data
Cleansing (Scale and
Noise)
Adaptive Neuro- Demand Forecasting (Efendigil & Önüt, 2011) 1
Fuzzy Inference
System (ANFIS)
Machine Learning - Modelling, Demand (Chi et al., 2007; Yue et al., 2007) 2
SVM Forecasting
Fuzzy Logic Demand Forecasting, (Lau, Wan Kai, & Christina, 2002; 3
Vendor Performance Sadeghi, Sadeghi, & Niaki, 2014;
Classification, Modelling Sari, 2017)
Agent Based Systems Collaboration (Kwon, Im, & Lee, 2008) 1
Bayesian Network Modelling, Demand (Vercher, 2010) 1
Forecasting
Genetic Algorithms Optimisation (Borade & Sweeney, 2014; Chi et 5
al., 2007; Liao et al., 2011; Park et
al., 2016; Roozbeh Nia et al.,
2014; Sue-Ann et al., 2012)
Automated (Chi et al., 2007) 1
intelligent
management system
(AIMS)
Ant Colony Optimisation (Arora et al., 2010; Roozbeh Nia 2
Optimisation et al., 2014)
Differential Evolution Optimisation (Roozbeh Nia et al., 2014) 1
Reinforcement Replenishment Policy (Sui, Gosavi, & Lin, 2010) 1
Learning
Particle Swarm Optimisation (Sue-Ann et al., 2012) 1
Optimisation
Game Theory Optimisation (Mateo & Aghezzaf, 2014) 1
MAS Multi Agent Modelling (Pino, Fernández, de La Fuente, 1
Systems Parreño, & Priore, 2010)

Page | 39
APPENDIX B TO COMPARING GA, DE AND ACO FOR VENDOR MANAGED
INVENTORY OPTIMISATION
Detailed literature review survey
Attribute Values Case Study [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
Not
Demand Stochastic X X X X X
defined NA X X X X
Deterministic X X X X X X X

Not Not Not Not Not Not


Num Suppliers Single X X Not Defined
defined defined NA NA Defined Defined Defined Defined NA X
Multi X X X X X

Not
Num Distributors Single X X X X X Not Defined X
NA X X Defined X X X
Multi 4 X X X

Not
Num Customers Single X X
X X X Defined X X
Multi X X X X X X NA X X X

Not Not Not Not Not Not


Backorders Y X X
defined defined defined NA X X defined Defined Defined X X
N X X X X

Instantaneo Not Not Instantaneo Instantaneo Not Not Not Not Instantaneo
Delivery Time to Retailer Instantaneous NA Y Y Not Defined
us Defined defined us NA us Defined Defined Defined Defined Y us Y Constant

Not Not
Distributors have Finite Resources N N N N Y N N Y
N Y N N Defined Y Defined N

Not Not Not Not Not Not Not Not Not


Change in retailer price N N N Y Y Not Defined
defined Defined Defined Defined N Defined Defined Defined Defined Defined N

Min.
(1) Profit * Min
Transport Max.
Num Objective Functions One Max. Profit Min. Cost Min. Cost Min. Cost Single Min Cost Min Cost Min Cost Min Cost Min Cost Retailer Min Cost Min Cost Min Cost
ation Profit
criterion Cost
Costs Makespan Min Cost
Min.
Delivery (2) Sales * Max.
Min. Loss Min. Lead
Two Error (not Multi Demand Total Min
of Sales Times
Early or criterion met Weighted Distributor
Late) tardiness Cost
Min. Max.% Max
(2) Cost *
Overdue Demand Retailers
Three+
Productio Multi met by a
n Jobs criterion close DC Max Profit

Aggregate
Activity Avg. time Economic the
Order and Not between Order Order process a common
Decision Variable Order Quantities time of replenishm
Quantities Resource Defined merchandis Quantity Quantities
Selection er visits shipped to job j on ent cycle of Order Order Order Order Order Order Order Order
DCs machine k product Quantities Quantities Quantities Quantities Quantities Quantities Quantity Quantity
the
replenishm
Number of Order up to the start ent
pallets level time of frequency Maximum Max
job j on of the raw backorder Order Reorder Inventory Service
machine k material levels Frequency Points Level Level
Maximum Time Shortest
backorder between Delivery Backorder
levels shipments Route position
Shipment
lead time
Initial
inventory
Range of
time
between
merchandis
er visits
Minimum
shipment
Qty
Day
shipments
are stopped

Restrict
Enforced Min and
buyer to
Vehicle Warehous Sequence Not Max of Retailer Critical Retailer Retailer Retailer Warehous
Constraints Y X single DC
Capacity e Capacity of Defined each input Capacity time before Capacity Capacity Capacity e space
(if
Activities variable Precenden perishment Not Service Warehous average
possible)
ce commences defined Level e capacity inventory
maximum
Enforce number of
Restricting
Minimum Bounding buyer Limit on Limit on Distributor replenish
Resources Vendor
N Inventory Order assignmen total total has limits ment
to Capacity
Level Quantities t to Open number of number of on orders
Activities
DCs replenishme replenish average during a Packet
Conflicts nts ments inventory period Sizes
Enforce Limit on
Number of
DC total
Retailer Pallets
Capacity number of
Capacity and Pallet
restriction Distributor Distributor replenish Retailer
Capacity
s Capacity Capacity ments Budget
Binary
constraints

X
Optimization Decision Variable(s) Discrete (Binary) X (conversio
n to Int) X
Discrete (Integer) X X X X X X (both) X X X X X X X
Continuous X (both) X X

Multi multi- multi-


Multi Distribute Input Multi- Operating multi- product product single single
Multi
Objective d Multi Objective Parameter product multi- multi- buyer- buyer-
Objective
Problem Description Optimisati Optimisati Objective Location–I Optimisati Persihible multi- constraint constraint single single
Decision
on on Optimisati nventory on product constraint Optimisati Optimisati vendor vendor
Support
Problem Problem on Problem Problem job shop optimisatio Optimisatio on on inventory inventory
Problem scheduling n problem n Problem Problem Problem problem problem

Multi
Hybrid
Agent
NSGA-II
ACO, GA, Systems
Pareto and PSO and PSO and
AI Methodologies DACO DE and Embedded GA
ACO heuristic GA-AIS DE
FNIP with
assignmen
MMAS- PSO and FNLP and Fuzzy and PSO and
t
ACO GA GA GA GA GA GA DE DE

combinato
Optimisati Supply Supply Supply Supply Supply Supply Supply Supply
Transport rial Supply Supply Supply Supply
on and Chain Chain Chain Chain Optimisati Chain Chain Chain Chain
AI Application ation optimisati Chain Chain Chain Chain
Forecastin Optimisati Optimisati Optimisati Optimisati on Optimisatio Optimisatio Optimisati Optimisati
(DTSP) on Optimisati Optimisati Optimisati Optimisati
g Demand on on on on n n on on
problems on on on on

Productio
Inventory Model EOQ
n EPQ EOQ EOQ

Page | 40
APPENDIX C TO COMPARING GA, DE AND ACO FOR VENDOR MANAGED INVENTORY OPTIMISATION
Table of GA results

Generation Maximum Population Candidate Raw SOH Holding Avail Profit Proft Cost Budget
Found Generations Size Number Score Margin Total Cost Cost Obs Cost Cost Availability Penalty Cost Ratio Penalty Penalty
5131 7000 50 256544 59090.60 66873.47 1999982 0 5278.28 1450.09 0.95 58.14 0.03 996.36 0
6215 7000 50 310750 59126.27 66838.53 1999851 0 5147.00 1446.90 0.95 124.58 0.03 993.77 0
6561 7000 50 328039 59174.06 66897.62 1999982 0 5203.92 1450.97 0.95 74.75 0.03 993.92 0
4677 7000 50 233846 59032.33 66745.14 1999954 0 5181.83 1442.68 0.95 91.36 0.03 996.95 0
5153 7000 50 257636 59057.48 66744.69 1999993 0 5100.12 1450.74 0.95 141.20 0.03 995.15 0
5298 7000 50 264851 59102.07 66864.68 1999990 0 5248.11 1460.28 0.95 58.14 0.03 996.09 0
5641 7000 50 282040 59122.01 66898.55 1999987 0 5281.71 1441.10 0.95 58.14 0.03 995.60 0
6279 7000 50 313923 59143.31 66859.82 1999935 0 5176.62 1454.30 0.95 91.36 0.03 994.23 0
5820 7000 50 290980 59140.57 66851.11 1999760 0 5154.06 1454.75 0.95 107.97 0.03 993.76 0
5407 7000 50 270335 59086.28 66792.46 1999483 0 5178.67 1440.86 0.95 91.36 0.03 995.29 0

Page | 41
APPENDIX D TO COMPARING GA, DE AND ACO FOR VENDOR MANAGED INVENTORY OPTIMISATION
Table of ACO results

Generation Maximum Population Candidate Raw SOH Holding Avail Profit Proft Cost Budget
Found Generations Size Number Score Margin Total Cost Cost Obs Cost Cost Availability Penalty Cost Ratio Penalty Penalty
189 5000 50 102 48342.2 69540.97 2440974 0 6525.8 2161 0.949834 8.3056 0.019804 1479.3 11024.3
162 5000 50 113 48322.8 69391.2 2432502 0 6541.87 2148 0.948173 91.362 0.019865 1474.54 10812.6
150 5000 50 104 48337.4 69334.62 2427579 0 6619.69 2140.8 0.948505 74.751 0.019912 1472.54 10689.5
169 5000 50 102 48321 69460.43 2436015 0 6502.09 2153.3 0.947841 107.97 0.019836 1475.69 10900.4
163 5000 50 105 48387 69478.53 2438289 0 6462.27 2153.9 0.949169 41.528 0.019845 1476.64 10957.2
163 5000 50 100 48333.5 69341.36 2432073 0 6447.35 2160.6 0.947508 124.58 0.019873 1473.48 10801.8
163 5000 50 114 48246.2 69452.31 2441767 0 6496.86 2159 0.949502 24.917 0.019759 1481.22 11044.2
143 5000 50 108 48431.1 69204.91 2417957 0 6522.2 2131.1 0.945847 207.64 0.02003 1463.95 10448.9
140 5000 50 115 48450.7 68552.23 2389550 0 6344.12 2115.4 0.940864 456.81 0.020276 1446.37 9738.75
183 5000 50 100 48229.8 69373.66 2435391 0 6554 2152.4 0.948505 74.751 0.019804 1477.94 10884.8

Page | 42
APPENDIX E TO COMPARING GA, DE AND ACO FOR VENDOR MANAGED INVENTORY OPTIMISATION
Table of DE results

Generation Maximum Population Candidate Raw SOH Holding Avail Profit Proft Cost Budget
Found Generations Size Number Score Margin Total Cost Cost Obs Cost Cost Availability Penalty Cost Ratio Penalty Penalty
4992 5000 50 249636 45845 64828.03 2000100 0 14741.9 1532 0.921595 1420.3 0.022921 1286.27 2.5
4997 5000 50 249867 45366.5 64932.45 2000315 0 15495.9 1505.9 0.924917 1254.2 0.02268 1302.12 7.875
4997 5000 50 249861 46265.3 64909.18 2002515 0 14404.4 1543.7 0.922924 1353.8 0.023104 1279.08 62.875
4997 5000 50 249859 45635.9 64824.85 1999871 0 14911.6 1549.6 0.921262 1436.9 0.022819 1290.83 0
4999 5000 50 249984 45506.5 64721.88 2000126 0 14742.8 1511.5 0.916611 1669.4 0.022752 1288.47 3.15
4994 5000 50 249728 45959.8 65304.96 2002960 0 15616.5 1532.8 0.933555 822.26 0.022946 1299.73 74
4991 5000 50 249567 45489.5 64634.02 1999964 0 14878.6 1534.6 0.921262 1436.9 0.022745 1294.46 0
4989 5000 50 249453 45310.4 64189.48 1995455 0 14395.1 1540.2 0.916944 1652.8 0.022707 1290.9 0
4983 5000 50 249173 45445.9 65004.98 1999889 0 15529.2 1524.4 0.925914 1204.3 0.022724 1301.15 0
4986 5000 50 249332 45553.1 65133.85 2000081 0 15507.8 1535.6 0.925249 1237.5 0.022776 1297.84 2.025

Page | 43

You might also like