Abstract
Most deterministic optimization models use average values of nondeterministic variables as their inputs. It is, therefore, expected that a model that can accept the distribution of a random variable, while this may involve some more computational complexity, would likely produce better results than the model using the average value. Artificial neural network (ANN) is a standard technique for solving complex stochastic problems. In this research, ANN and adaptive neuro-fuzzy inference system (ANFIS) have been implemented for modeling and optimizing product distribution in a multi-echelon transshipment system. Two inputs parameters, product demand and unit cost of shipment, are considered nondeterministic in this problem. The solutions of ANFIS and ANN were compared to that of the classical transshipment model. The optimal total cost of distribution using the classical model within the period of investigation was 6,332,304.00. In the search for a better solution, an ANN model was trained, tested, and validated. This approach reduced the cost to 4,170,500.00. ANFIS approach reduced the cost to 4,053,661. This implies that 34% of the current operational cost was saved using the ANN model, while 36% was saved using the ANFIS model. This suggests that the result obtained from the ANFIS model also seems marginally better than that of the ANN. Also, the ANFIS model is capable of adjusting the values of input and output variables and parameters to obtain a more robust solution.
Background
Transshipment problem allows the movement of goods from some source points to some destination points, with the possibility of transshipping through some other source or destination points if it would provide cost benefit. This model is a further generalization of the transportation model because it relaxes the assumption that movement can only be made to a destination point from one or more supply point/s without passing through an intermediate point. This model should be capable of producing a better solution than that of typical transportation problem, if such exists, but it is also known to be more difficult to solve.
The transshipment problem itself is deterministic, and being non-deterministic polynomial-time (NP) hard, solving it is a challenge on its own. Making some of the input parameters nondeterministic makes its solution even more arduous. However, the deterministic transshipment model only uses approximate values of the model parameters, and the extension of the problem to that with some nondeterministic variables is expected to produce a better solution, if tractable. This is what has been done in many stochastic models, and the marginal difference is usually referred to as the value of the stochastic solution. 1
Representing nondeterminism in input parameters is another interesting issue. While traditionally the nondeterministic variables of most models have been represented in stochastic forms, recent advances in artificial intelligence have brought the use of fuzzy models to prominence. Solutions to stochastic models of linear programming problems (LPPs), for instance, use various techniques that exploit the block separability of the variables, while fuzzy representation makes use of fuzzy operations and fuzzy arithmetic theories. A popular approach of fuzzy logic is based on the fuzzy decomposition theorem and utilizes the properties of alpha cuts along various sections of the fuzzy set. Birge and Louveaux 1 and Klir and Yuan 2 are good readings in order to compare the stochastic LPP and fuzzy modeling and solution approaches to problems.
Finding solution to NP hard problems in itself is difficult; hence, finding solutions to transshipment problems with nondeterministic input parameters could be even more challenging. A number of solutions have been proposed in each case. The main difference in their representation is that while a stochastic model uses an indicator function to allocate a variable to the most likely class in its set based on the estimate of the likelihood of its membership of each set, fuzzy logic assumes that the variable is a member of all of the sets, but by different likelihood of membership. It uses a function ranging from zero to unity to represent the membership across its different sets and uses a different type of set operations from those of probability models to find the variables’ joint membership values. Gaines 3 tried to explain the difference between fuzzy logic and stochastic process in relationship with probability logic, where stochastic processes assume statistical independence and fuzzy logic is purely logical inference.
This article presents solutions to a transshipment problem with nondeterministic input variables in order to estimate the value of the nondeterministic solutions. The demand and unit cost of product distribution were considered to be nondeterministic and solved through adaptive models. Artificial neural network (ANN) model was used to solve the model with stochastic demand and cost variables, while adaptive neuro-fuzzy inference system (ANFIS) was used to solve the same problem with both variables considered fuzzy. The solutions obtained in both cases were then compared. The main difference in these model solutions is in the training paradigm. The data in both cases were separated into training and test samples, and the performance of the test samples in both cases was compared to that of the traditional solution approach. While the manufacturing area seems replete with comparison of these different paradigms of solution in diverse contexts, no author seems to be known in logistics functions, and in transshipment of goods in particular, that has compared the quality of solutions obtained from these two paradigms.
This article is further sectioned as follows: the next section is a presentation of the articles comparing the performance of ANN models to those of ANFIS models in various contexts. The third section is a presentation of the ANN and ANFIS models of the transshipment problem with the two nondeterministic input variables (demand and cost). In the fourth section, the ANN and the ANFIS models were trained, and the levels of fitness achieved were presented. The final section discusses the result of the test sample on the two trained models.
Comparative performance of ANN and ANFIS
ANN and ANFIS performances have been compared in many instances, but mostly in mechanical systems. He et al. 4 used both ANN and ANFIS to predict the flow of river in a small river basin in a semiarid mountain region, where the actual mathematical relationships were not fully understood, but the results were observable under diverse conditions. In the study, support vector machine (SVM), ANFIS, and ANN methods were compared. The values of coefficient of correlation (R), root mean squared error, Nash–Sutcliffe efficiency coefficient, and mean absolute relative error were used in assessing the strengths of the three modeling paradigms. The outcome suggests that the three techniques were good enough, while SVM outperforms both ANN and ANFIS. Anari et al. 5 did a study on infiltration rate using ANN, ANFIS, local linear regression (LLR), and dynamic LLR and observed that ANFIS appeared to have performed better than all other three techniques.
Do and Chen 6 used ANN and ANFIS to forecast post-admission evaluation of students using some preadmission parameters as inputs. They claimed that ANFIS produced better results than ANN. Kamali and Binesh 7 used ANN and ANFIS to study the diffusion of water through nanotubes using the molecular dynamics data. They also experimented with data set of different sizes and concluded that ANFIS outperformed ANN. Sredanovic and Dica 8 used both ANN and ANFIS to predict the strength of minimal quantity lubrication and high-pressure cooling in the turning task. Both were said to have performed well. Azeez et al. 9 compared the performance of ANN and ANFIS in the triage of emergency patients using various vital signs of patients as input parameters. Data were collected from a Malaysian University Hospital. They used ANN backpropagation technique for training, testing, and validation of data set. Fuzzy rules were developed with alpha cuts for ANFIS model, and fuzzy subtractive clustering was used to find the fuzzy rules for the ANFIS model. ANN model gave a better result.
Esen 10 conducted experiment on heat pump system by comparing the performance of ANFIS and ANN in the upright ground structure. The author stated preference for ANFIS over ANN. Vieira 11 modeled the temperature evolution of a kiln using both the feed-forward ANN and ANFIS system and concluded that ANFIS produced results with less error than the ANN model. Kisi and Ay 12 compared the performance of radial basis ANN with ANFIS in the study of dissolved oxygen in evaluating water quality. It was established that the ANN model outpaced the ANFIS model. Farahmand et al. 13 analyzed the temporal distribution of groundwater contaminants in Iran. They found that ANFIS model outperformed the ANN models, having higher efficiency of estimation. Research areas in other fields of comparative study of ANN and ANFIS are available in the literature but it cannot be said emphatically that either technique always performs better than the other. The performance depends on the context.
There have also been cases where the performance of ANN or ANFIS (or both) has been compared to those of other techniques (like meta-heuristics); or other situations where they have been complementarily applied with other techniques. Li and Chen 14 used both the least square method (LSM) and the ANFIS to train the artificial systems used in modeling traffic flow in Beijing ring roads and connected lines in order to develop and evaluate the intelligent transport systems. The results obtained from the two approaches were validated against real-life data, and they concluded that model trained with ANFIS produced better results than that trained with LSM. Azadeh and Zarrin 15 used data envelopment analysis, and meta-heuristics trained ANN and ANFIS logics to evaluate the efficiency of staff along three parameters. It was concluded that ANFIS models trained with genetic algorithm (GA) and particle swarm optimization fared best. Barak and Sadegh 16 used a combination of autoregressive integrated moving average (ARIMA) and ANFIS to model energy demand. The linear time series parameters were modeled with the ARIMA logic, and the nonlinear residual was later captured using the ANFIS logic in building an expanded model. They concluded that this model performed better than some others. Mansouri et al. 17 compared the performance of M5Tree, ANN, ANFIS, and multivariate adaptive regression splines (MARS) in analyzing the axial compression of fiber-reinforced polymer and found that ANN predicted an accurate result. Mostafa and El-Masry 18 used gene expression programming (GEP), ANN, and ARIMA to forecast the evolution of oil prices between January 1986 and June 2016. They reported that both ANN and GEP outperformed ARIMA, and that GEP produced the best result of the three using R 2 as the measure of performance. Oduro et al. 19 did a comparative analysis of the prediction of vehicular emission using boosting MARS (BMARS), classification and regression trees (CART), ANN, and a hybrid of CART–BMARS. They reported that the combined system proved superior to the models of ANN and those of each of the techniques when not hybridized.
While the transshipment problem has been solved using a number of heuristics and meta-heuristics, it is hard to come about those solved using artificial intelligence. Most transshipment models presented recently have been done under the theme of cross-docking. Augustina et al. 20 presented a summary of recent works done on transshipment. They classified the literature into three main categories based on strategic intent and planning horizon: operational, tactical, and strategic. They reviewed some 50 papers. At operational level, the two main issues addressed are about scheduling the cross-docking of trucks and dock-door assignment problems. The most common solution approaches are the different variants of modified Johnson, modified linear programming solution techniques, and meta-heuristics. Tactical-level decision focuses mainly on facility layout decisions, and a number of these problems are solved using meta-heuristics. The long-term decision relates to network design: cross-dock area location and sizes and choice of vehicle sizes and routes. Some other recent papers in the area include a multi-objective GA solution for transportation, assignment and transshipment problems, 21 and a Just-in-time (JIT) multi-objective truck forecast problem with door assignment using differential evolution in the cross-dock system. 22,23
Model notations and formulation
The following notations are adopted for the modeling purpose:
I is the set of all source points, indexed by i and including transshipment points (TPs) as necessary
J is the set of all demand points, indexed by j and including TPs as necessary
K denotes set of TPs, indexed by k
P denotes set of product types, indexed by p
Xijp
is the amount of product p transported from production point i to depots
Xikp
is the amount of product p shipped from production point i to TP k
Xkjp
is the amount of product p shipped from TP k to depot j
Zpi
is the capacity of source point i, including the TP, to produce or store product p, whichever is smaller
dpj
is the demand for product p at the destination point j, including the TP
cpij
is the unit amount of transporting product p from production point i to depot j
cpik
is the unit amount of transporting product p from production point i to TP k
cpkj
is the unit amount of transporting product p from TP k to depot j
ξ is a time indexed random vector on which the outcome of the demand and cost depends, which helps to partition decisions into periods before and after the evolution of ω, a random event that affects demand and shipment cost
ω is a random event,
q is the second-stage objective vector of a stochastic programming model,
x is the first-stage feasible decision vector,
y is the second-stage feasible decision vector,
E(·) is the expectation operator
M(·) is the membership function operator
A is the first-stage constraint matrix in a two-stage stochastic model with recourse
h is the RHS vector of the second stage (recourse action) of the stochastic program;
W is the Recourse matrix, based on the values from the evolution of ξ
T is called the Technology matrix such that
a is the lower bound value of a triangular distribution
b is the upper bound value of a triangular distribution
m is the modal value of a triangular distribution
The deterministic model of the transshipment problem can be represented as:
Minimize
subject to
Equation (1) is the objective function and is the total cost of shipment of product p, consisting of three cost terms: the first term being the cost of shipment from source i directly to destination j, the second term being that from source i to TP, k, and the third term being that from TP, k, to destination j. Equation (2) is the set of supply constraints, ensuring that the quantity of items delivered to TPs, k, and directly to final destination points, j, do not exceed the capacity of the supply point, i. Equation (3) is the set of demand constraints, ensuring that the quantity of items delivered from TPs, k, and directly from supply points, i, do not fall below the demand at the destination point, j. Equation (4) is the set of balancing equation for TPs to ensure that the difference between the sum of item p, shipped to the TP k, and the sum of items shipped away from the point is the demand at the TP if the TP also serves as a destination point (or zero otherwise). The last set of equations is the non-negativity constraints of the variables.
Allowing for nondeterministic variables (demand and cost) in the model, the two-stage stochastic model with recourse is presented next. The general equivalent of the deterministic objective function is minimize cTX, with c and X being the cost and demand vectors, respectively. To modify equations (1) to (5) as a stochastic programming model, according to Birge and Louveaux, 1 the model equations (6) to (9) become:
Minimize
subject to
cTX is the objective function presented in equation (1), which is the deterministic component of equation (6).
The model in equations (6) to (9) representing the two-stage stochastic programming model with recourse has been solved using various solution approaches to large matrix linear programs (LP) such as the column generation technique, the Lagrange decomposition technique, and various meta-heuristics. In this article, two artificial intelligence approaches, ANN and ANFIS, are utilized, and the results of the two are compared to that of the traditional transportation tableau. The modeling approach is presented next.
The second term in equation (6) could be expanded in different ways depending on whether it is being considered to be stochastic or fuzzy, and on whether it is discrete or continuous. For the purpose of this work, a triangular distribution is assumed for both the cost and demand variables, howbeit with different parameter values for the demand and cost variables involved. The function can be written out as either a stochastic component or a fuzzy component for the second term of equation (6), respectively, in the following equations 1,2
The deterministic component (i.e. the first term of equation (6)) still remains as defined in equation (1).
Company of case study
The company used as a case study is a multinational beverage bottling company with a single production plant, n = 1, a range of products represented by the single product family, i = 1, servicing the south western part of Nigeria and some neighboring cities via 10 depots, j = 10, and three TPs, k = 3, which also serve as depots. Data collected from the bottling plant are used for analysis. Matrices are developed for the distances, and the associated cost is as shown in Table 1. The current practice in the company is to ship directly to all depots from the plants, although they could have three TPs, D7, D9, and D10 selected through greedy heuristics, through which they could ship to the other depots as shown in Figure 2.
Quantity of product available and unit cost of distribution.

Structure of the MATLAB ANN model. ANN: artificial neural network.

Rough and final MSE variations for training, testing, and validation data sets against epoch during the training. MSE: mean squared error.
Model implementation
The triangular functions were approximated by the deterministic equivalents (quantile values for the stochastic model and alpha cuts for the fuzzy model) to derive the training rules during implementation. The stochastic model is divided into quantiles of demand and cost value ranges from which the class values are used for determining the values required for ANN training process. The associated linguistic values for ANFIS model were defined, and different alpha cut values were defined using the fuzzy rules developed and the corresponding values of linguistic variables determined in consistence with the fuzzy decomposition theorems. ANN and ANFIS training of models were done using the derived values from the available data set.
In solving the transshipment problem where product flows from source through TPs for onward distribution to the final destination, the deterministic model was solved using Tora software 2.0. For the nondeterministic input variables problem, popular solvers were not useful. The ANN technique, using neural weight update algorithm, and the ANFIS technique, which works based on the principle of fuzzy inference rules, were used to determine the optimal weight vectors that minimize the objective function of the LP problem presented.
The ANFIS rule viewer is a simplified toolbox with inbuilt algorithms for both the fuzzification of input parameters and the optimization of neural weights inside the same toolbox. It presents the analyst with the input interface to specify the necessary fuzzy parameters for each variable involved and presents the output in a de-fuzzified manner once the appropriate de-fuzzification algorithm of choice has been specified.
The creative model
In implementing the ANN model, a feed-forward model with backpropagation, having 4-neuron input layer with linear combiner, 10-neuron middle layer, and a single-neuron output layer was designed using the sigmoid output transfer function. This is shown in Figure 1. The model is trained with the MATLAB ANN toolbox using the gradient descent algorithm. Mean squared error (MSE) was selected as the performance function, and R 2 values were examined throughout the training period.
The following notations are defined for exclusive use within the ANN and ANFIS models.
Uk
is the linear combiner output due to input signal
Wkv
the connection weight from neuron v to neuron k
Xj
the signal flow from source/input through synaptic weights to summing junction, that is, X
1, X
2, X
3,…, Xj
j the index identifying the number of inputs
n the index identifying destinations
k the index identifying the processing elements
Vk
the linear combiner with bias to support input signal
Yk
the total weighted sum of input to the kth processing element
p the index representing TPs (p = 1 for depot 7, p = 2 for depot 9, and p = 3 for depot 10)
Wki
the weight or strength of connection from neuron, i to k
Xki
the demand input signal from depots i to TPs k
η the learning rate of the neural network (NN) in the backpropagation algorithm implementation
A typical standard neuron consists of set of synapses, each characterized by weight or strength of connections. It also comprises the bias or summing junction and the activation junction. The total sum of the neuron
Rewriting equation (12) for each transshipment location (i.e. at each TP)
Introducing a bias (bk ), then the combined input (Vk ) can be expressed as
Substituting the value of Uk for each p in equation (13) into equation (14), the combined input can be computed as
Defining the output threshold function as a sigmoid function
Batch update was done to train the neurons, and the general weight update rule for the NN is
where
Data analysis, results, and discussion
Approach 1 (Using ANN)
Using a three-layer (input, hidden, and output) NN model as a result of the quantitative and architectural characteristics of the NN which has a close resemblance of the outbound manufacturing system where the input denotes product available at the source, and the route to different destinations represents weighted strength of the network. Table 2 shows the available data set for network training, with cost and demand set as input variables of W and X and the output which is the product availability, Y, at different TPs. D is the demand of products at various locations. In NN programming, it is necessary to train the network for accurate value. The accuracy of the value is a function of MSE and R values. Our goal is to minimize these errors. This was achieved by running series of iterations and training continuously with many weighted input parameters till a fairly minimal error is obtained.
ANFIS training data.
ANFIS: adaptive neuro-fuzzy inference system; D: product demand; TP: transshipment point. Note: YK 1 = product available at transshipment point 1; YK 2 = product available at transshipment point 2; YK 3 = product available at transshipment point 3.
Results and discussion
The goal of this section is to obtain the optimum cost of product distribution in a bottling system. The ANN was trained with four inputs, 10 hidden, and an output layer (4–10–1). The network was trained many times for effective evaluation of the accuracy of the model using MSE and R value to determine the degree of association between the predicted and expected values. The system of equation for MSE and R value is established in equations (18) and (19). Y pred and Y exp denote the predicted and experimental values obtained for the NN model, respectively. y exp and y pred also signify the average experimental and predicted values, correspondingly. The performance and best possible iteration result of the ANNs are presented in Table 1. Figure 4 presents testing performance with worthy MSE value of 1.57 × 10−5. Bold items in Table 3 also reveal good performance solution. Training and performance values of this network were obtained at 1.000 and 0.80369, respectively.

Plot of ANN-predicted output against actual value for (a) training, (b) validation, (c) testing, and (d) target. ANN: artificial neural network.

High-level fuzzy architecture for transshipment model.
Performance results of multilayer perceptron (MLP) network for different numbers of neurons in the hidden layer for testing data set.
MSE: mean squared error, R: regression coefficient; R 2: average determination coefficient.
Figure 2(a) is the MSE value for rough iteration in which the best validation result was obtained at epoch 2 with the minimum MSE value of 65 × 10−5 (see Table 3, no. 1 in bold items).
In Figure 2(b), the training process was repeated for MSE and the best validation result was obtained at epoch 5 with minimum MSE of 1.57 × 10−5. This performance is meritorious compared to the MSE result obtained for rough iteration (see Table 3, no. 11 in bold items). Figure 5 shows the plots of the ANN-predicted outputs generated by the ANN model for training, validation, testing, and target. The performance value obtained is demonstrated in Table 4. A satisfactory iteration, though not hundred percent, is obtained in Table 4.

ANFIS architecture with input–output membership functions. ANFIS: adaptive neuro-fuzzy inference system.
Performance value for ANN modeling (final iteration).
ANN: artificial neural network; MSE: mean squared error; R: regression coefficient.
Interpretation of the correlation coefficient (R)
The correlation coefficient specifies the degree of association or relationship among some variables of interest. Generally speaking, a correlation value of 0 is believed to be the absence of linear relationship, while 1 implies perfect relationsip between variables. There are rules for interpreting the R 2 value, but a value greater than 0.7 and less than 1 can be regarded as substantial to meritorious for a reasonably sized data set.
Continuous iteration (or refining) of weight parameters was done to obtain a model with the best possible fit. The iteration was performed several times to obtain the best value as shown in Table 3 and Figure 3. Table 3 is a summary table showing the MSE and R values for the iterations. Apart from the 11th value in Table 3, other values have high MSE value for training, validation, and testing. The best solution to the programmed ANN system is obtained at the 11th run with the minimal MSE value. The ANN model at the first trial stage was trained with 50 data points of which the best 15 are shown in Table 3. This was done to test the effectiveness of the tool.
As shown in Figure 3(a) to (d), the R values for training, validation, and testing are: 1.000, 0.95504, and 0.77089, respectively, with performance value of 0.80369. Therefore, the ANN prediction for training, validation, and testing are substantial and meritorious in terms of correlation. The performance value for the final iteration gave a satisfactory result as shown clearly in Figure 9, where SD7 represents the Supply signal at D7; SD9 is the Supply signal at D9; SD10 is the Supply signal at D10; TP is the transshipment point; D is the product demand; UTP7 is the Unit cost from TP7 to depots; UTP9 is the Unit cost from TP9 to depots; UTP10 is the Unit cost from TP10 to depots; and D represents the Depots which are 10 in all.
Total cost of distribution at D7 = (45 × 0) + (33 × 0) + (32 × 0) + (20 × 21,869) + (25 × 11,986) + (26 × 0) = 737,030
Total cost of distribution at D9 = (27 × 8348) + (20 × 20,125) = 225,396 + 402,500 = 627,896
Total cost of distribution at D10 = (20 × 2867) + (18 × 18,540) + (15 × 8348) = 516,280
Total cost of transshipment = Supply cost at D7 + Supply cost at D9 + Supply cost at D10 = 737,030 + 627,896 + 516,280 = 1,881,206
Total cost of distribution in the entire system = Cost of distribution from source to TPs plus cost of distribution from TPs to final destination
Therefore, total cost of distribution using the developed ANN model =
Approach 2 (Using ANFIS model)
In this section, fuzzy logic was used to find a delivery pattern that would meet customer demand and minimize delivery cost. Since there exists a source and 10 destinations with three possible TPs and there are two imprecise inputs, finding optimal solution requires continuous iterations. Using ANFIS, transshipment routes were created and analysis was carried out. Using the graphical user interface of Simulink to generate input, an initial fuzzy model was derived to trigger the modeling process. Membership functions were established for the input signals.
The high-level fuzzy model logic is shown in Figure 4. The input variables were passed into the fuzzy toolbox that utilizes the Sugeno class function for fuzzification. The membership functions (mf) at the input and output ends of the ANFIS logic were then defined so that the appropriate rules can be developed for training as shown in Figure 5. The triangular membership function (mf) was selected for the inputmf variables and the Gaussian for the outputmf supply signal. Examples of these can be seen in Figure 6(a) to (d). Figure 8 is an example of the three-dimensional (surface) views generated using the ANFIS rule viewer. Example of the application of the rule viewer using discretization of the continuous triangular inputs to take the relevant alpha cuts in order to generate the fuzzy inputs is shown in Figure 7. Eighty one training rules were developed. These rules are shown in the Appendix.

Fuzzy Inference System (FIS) membership function plot for cost of distribution from TP7, TP9, and TP10 and demand at various destinations. TP: transshipment point.

Rule viewer for input–output supply signals.

Three-dimensional input–output surface plots.
Table 2 is the data set representing product demand at source and the available products at the TPs 7, 9, and 10 for onward distribution to the final destinations. Figure 8 shows the membership function plot for input variables in terms of demand.
The final allocation is presented in Figures 9 and 10, showing the quantity to be supplied from each TP to each of the destinations using ANN and ANFIS, respectively. It should be noted that each of the TPs supplied its own demands. The total distribution cost per week obtained (in Nigerian Naira, NGN) is shown in Figures 9 and 10. The solution produced using ANFIS is marginally cheaper than the one produced using ANN and the company’s traditional transshipment model. While the company’s traditional solution produced NGN6,332,304 minimum cost per week, ANN generated a minimum of NGN4,170,533. ANFIS, however, yielded a minimum cost of 4,053,661, which is better than both the traditional technique of the company and the ANN model solution.

ANN solution figures for supply signal at TPs 7, 9, and 10. ANN: artificial neural network; TP: transshipment point.

ANFIS optimal solution figures for supply signal at TPs 7, 9, and 10. ANFIS: adaptive neuro-fuzzy inference system; TP: transshipment point.
Total cost from TP to final destination
Total cost of distribution from source to TPs
Total cost of distribution in the entire system
Conclusion
In this article, ANN and ANFIS models have been applied successfully to solve a transshipment problem with nondeterministic demand and cost input variables. With data set obtained from a bottling company, training was performed using ANN fitting tool where the best iteration was considered based on MSE and R values obtained. The model based on the ANFIS logic was also implemented using the rule viewer interface. This model is capable of adjusting parameters based on series of alpha cuts taken on the data set. Our results seem to have followed the pattern reported in other papers that have compared the performance of models with nondeterministic inputs to those that used the mean values to approximate such variables. The results suggest that the ANFIS logic seems to have produced a slightly better solution than that obtained using the ANN, and both are much better than that obtained using the company’s traditional distribution algorithm. ANFIS is, however, only marginally better in this context, and it is generally inconclusive in the literature if one technique is better than the other.
Footnotes
Declaration of Conflicting Interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
APPENDIX 1 – FURTHER SAMPLES OF FUZZY VARIABLES
OUTPUT RESULT AT Transhipment Point 7
OUTPUT VALUE AT Transhipment Point 9
OUTPUT VALUE AT Transhipment Point 10
APPENDIX II – ANFIS Linguistic Rules generated
(1) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf1 and demand is in 4mf1 then supply at D7 is out 1mf1.
(2) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf1 and demand is in 4mf2 then supply at D9 is out 1mf2.
(3) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf1 and demand is in 4mf3 then supply at D10 is out 1mf3.
(4) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf2 and demand is in 4mf1 then supply at D7 is out 1mf4.
(5) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf2 and demand is in 4mf2 then supply at D9 is out 1mf5.
(6) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf2 and demand is in 4mf3 then supply at D10 is out 1mf6.
(7) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf3 and demand is in 4mf1 then supply at D7 is out 1mf7.
(8) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf3 and demand is in 4mf2 then supply at D9 is out 1mf8.
(9) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf3 and demand is in 4mf3 then supply at D10 is out 1mf9.
(10) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf1 and demand is in 4mf1 then supply at D7 is out 1mf10.
(11) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf1 and demand is in 4mf2 then supply at D9 is out 1mf11.
(12) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf1 and demand is in 4mf3 then supply at D10 is out 1mf12.
(13) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf2 and demand is in 4mf1 then supply at D7 is out 1mf13.
(14) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf2 and demand is in 4mf2 then supply at D9 is out 1mf14.
(15) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf2 and demand is in 4mf3 then supply at D10 is out 1mf15.
(16) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf3 and demand is in 4mf1 then supply at D7 is out 1mf16.
(17) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf3 and demand is in 4mf2 then supply at D9 is out 1mf17.
(18) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf3 and demand is in 4mf3 then supply at D10 is out 1mf18.
(19) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf1 and demand is in 4mf1 then supply at D7 is out 1mf19.
(20) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf1 and demand is in 4mf2 then supply at D9 is out 1mf20.
(21) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf1 and demand is in 4mf3 then supply at D10 is out 1mf21.
(22) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf2 and demand is in 4mf1 then supply at D7 is out 1mf22.
(23) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf2 and demand is in 4mf2 then supply at D9 is out 1mf23.
(24) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf2 and demand is in 4mf3 then supply at D10 is out 1mf24.
(25) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf3 and demand is in 4mf1 then supply at D7 is out 1mf25.
(26) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf3 and demand is in 4mf2 then supply at D9 is out 1mf26.
(27) If the unit cost to D7 is in 1mf1 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf3 and demand is in 4mf3 then supply at D10 is out 1mf27.
(28) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf1 and demand is in 4mf1 then supply at D7 is out 1mf28.
(29) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf1 and demand is in 4mf2 then supply at D9 is out 1mf29.
(30) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf1 and demand is in 4mf3 then supply at D10 is out 1mf30.
(31) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf2 and demand is in 4mf1 then supply at D7 is out 1mf31.
(32) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf2 and demand is in 4mf2 then supply at D9 is out 1mf32.
(33) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf2 and demand is in 4mf3 then supply at D10 is out 1mf33.
(34) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf3 and demand is in 4mf1 then supply at D7 is out 1mf34.
(35) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf3 and demand is in 4mf2 then supply at D9 is out 1mf35.
(36) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf3 and demand is in 4mf3 then supply at D10 is out 1mf36.
(37) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf1 and demand is in 4mf1 then supply at D7 is out 1mf37.
(38) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf1 and demand is in 4mf2 then supply at D9 is out 1mf38.
(39) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf1 and demand is in 4mf3 then supply at D10 is out 1mf39.
(40) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf2 and demand is in 4mf1 then supply at D7 is out 1mf40.
(41) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf2 and demand is in 4mf2 then supply at D9 is out 1mf41.
(42) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf2 and demand is in 4mf3 then supply at D10 is out 1mf42.
(43) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf3 and demand is in 4mf1 then supply at D7 is out 1mf43.
(44) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf3 and demand is in 4mf2 then supply at D9 is out 1mf44.
(45) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf3 and demand is in 4mf3 then supply at D10 is out 1mf45.
(46) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf1 and demand is in 4mf1 then supply at D7 is out 1mf46.
(47) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf1 and demand is in 4mf2 then supply at D9 is out 1mf47.
(48) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf1 and demand is in 4mf3 then supply at D10 is out 1mf48.
(49) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf2 and demand is in 4mf1 then supply at D7 is out 1mf49.
(50) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf2 and demand is in 4mf2 then supply at D9 is out 1mf50.
(51) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf2 and demand is in 4mf3 then supply at D10 is out 1mf51.
(52) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf3 and demand is in 4mf1 then supply at D7 is out 1mf52.
(53) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf3 and demand is in 4mf2 then supply at D9 is out 1mf53.
(54) If the unit cost to D7 is in 1mf2 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf3 and demand is in 4mf3 then supply at D10 is out 1mf54.
(55) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf1 and demand is in 4mf1 then supply at D7 is out 1mf55.
(56) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf1 and demand is in 4mf2 then supply at D9 is out 1mf56.
(57) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf1 and demand is in 4mf3 then supply at D10 is out 1mf57.
(58) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf2 and demand is in 4mf1 then supply at D7 is out 1mf58.
(59) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf2 and demand is in 4mf2 then supply at D9 is out 1mf59.
(60) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf2 and demand is in 4mf3 then supply at D10 is out 1mf60.
(61) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf3 and demand is in 4mf1 then supply at D7 is out 1mf61.
(62) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf1 and unit cost to D10 is in 3mf3 and demand is in 4mf2 then supply at D9 is out 1mf62.
(63) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf3 and demand is in 4mf3 then supply at D10 is out 1mf63.
(64) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf1 and demand is in 4mf1 then supply at D7 is out 1mf64.
(65) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf1 and demand is in 4mf2 then supply at D9 is out 1mf65.
(66) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf1 and demand is in 4mf3 then supply at D10 is out 1mf66.
(67) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf2 and demand is in 4mf1 then supply at D7 is out 1mf67.
(68) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf2 and demand is in 4mf2 then supply at D9 is out 1mf68.
(69) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf2 and demand is in 4mf3 then supply at D10 is out 1mf69.
(70) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf3 and demand is in 4mf1 then supply at D7 is out 1mf70.
(71) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf2 and unit cost to D10 is in 3mf3 and demand is in 4mf2 then supply at D9 is out 1mf71.
(72) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf3 and demand is in 4mf3 then supply at D10 is out 1mf72.
(73) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf1 and demand is in 4mf1 then supply at D7 is out 1mf73.
(74) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf1 and demand is in 4mf2 then supply at D9 is out 1mf74.
(75) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf1 and demand is in 4mf3 then supply at D10 is out 1mf75.
(76) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf2 and demand is in 4mf1 then supply at D7 is out 1mf76.
(77) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf2 and demand is in 4mf2 then supply at D9 is out 1mf77.
(78) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf2 and demand is in 4mf3 then supply at D10 is out 1mf78.
(79) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf3 and demand is in 4mf1 then supply at D7 is out 1mf79.
(80) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf3 and demand is in 4mf2 then supply at D9 is out 1mf80.
(81) If the unit cost to D7 is in 1mf3 and unit cost to D9 is in 2mf3 and unit cost to D10 is in 3mf3 and demand is in 4mf3 then supply at D10 is out 1mf81.
