1 Introduction

Mathematical programming problems (MPPs) consisting of programming problems with general mathematical structure of objective function(s) and set of constraints in different formats so as to find optimal solution (or satisfactory solution) of the problems. In literature, the elementary and simple mathematical programming problem known as linear programming problem (LPP) is defined in mathematical format as:

$$\begin{array}{*{20}l} {} \hfill & {{\text{Max}} . / {\text{Min}} .\;Z = C^{T} X} \hfill \\ {{\text{Subject}}\;{\text{to}},} \hfill & {AX( \le , = , \ge )b} \hfill \\ {\text{and}} \hfill & {{\text{X}} \ge 0} \hfill \\ \end{array}$$
(1)

where X is the set of variables, C is the cost matrix, A being coefficient matrix and b is the requirement matrix of compatible orders in terminology. Linear programming problems (LPPs) are further extended to different types of programming problems with modifications in structure of objective function and constraints. In general, MPPs are classified as linear programming problem (LPP), non-linear programming problems (NLPPs), multiobjective programming problem (MOPP), multi-level programming problems (MLPPs) etc. which are further classified and separated according to the mathematical structure of the problem given as:

  1. (A)

    Linear programming problems with single objective function are classified as given in Lachhwani and Dwivedi [35]:

    • “Linear fractional programming problem (LFPP).

    • Linear plus linear fractional programming problem (L + LFPP).

    • Non-linear programming problem (NLPP).

    • Quadratic programming problem (QPP).

    • Quadratic fractional programming problem (QFPP)” etc.

  2. (B)

    Programming problems with more than one conflicting objective function are known as multi-objective programming problems and some of multi-objective programming problems as given in Lachhwani and Dwivedi [35] are:

    • “Multiobjective linear programming problem (MOLPP).

    • Multiobjective linear fractional programming problem (MOLPP).

    • Multiobjective linear plus fractional programming problem (MOL + FPP).

    • Multiobjective non-linear programming problem (MONLPP).

    • Multiobjective quadratic programming problem (MOQPP).

    • Multiobjective quadratic fractional programming problem (MOQFPP)” etc.

  3. (C)

    Programming problems with hierarchical structure with more than one levels are known as multi-level programming problems (MLPPs) which are further extended to more complex hierarchical problems as given in Lachhwani and Dwivedi [35]:

    • “Multi-level nonlinear programming problem (ML-NLPP).

    • Multi-level linear programming problem (ML-LPP).

    • Multi-level linear fractional programming problem (ML-LFPP).

    • Multi-level linear plus linear fractional programming problem (ML-L + LFPP).

    • Multi-level quadratic programming problem (ML-QPP).

    • Multi-level quadratic fractional programming problem (ML-QFPP)” etc.

  4. (D)

    Hierarchical programming problems with two level structure are considered as Bi-level programming problems (BLPPs) which also have extension problems as given in Lachhwani and Dwivedi [35]:

    • “Bi-level nonlinear programming problem (ML-NLPP).

    • Bi-level linear programming problem (ML-LPP).

    • Bi-level linear fractional programming problem (ML-LFPP).

    • Bi-level linear plus linear fractional programming problem (ML-L + LFPP).

    • Bi-level quadratic programming problem (ML-QPP).

    • Bi-level quadratic fractional programming problems(ML-QFPP)” etc.

This list is not limited and there are many new and extended MPPs available in literature. This classification is well described in figure format by Fig. 1. The detailed literature reviews and taxonomy on MOPPs, BLPPs and MLPPs are respectively given in Bhati et al. [5], Lachhwani and Dwivedi [35].

Fig. 1
figure 1

Classification of MPPs

2 Artificial Neural Network (Neural Network)

The fundamentals of NN are based on working of the biological neurons of the brain. Artificial neural networks (ANN) are massively connected networks of computational “neurons” and represent parallel distributed learning structures. A typical ANN composed of a set of parallel and distributed computation unit called nodes or neurons. These are usually ordered into layers and interconnected with weighted signal channels called connections or synaptic weights. A typical representation of three layer NN model is given in Fig. 2. A key feature of neural networks is their ability to approximate arbitrary nonlinear functions.

Fig. 2
figure 2

Generalized NN model

The basic element of computational process of a neuron is that it takes weighted sum of their inputs from other nodes and apply to them a nonlinear function (or called activation function) before delivering the output to the next neuron.

Basic steps to be followed to design a suitable Neural network model: the following basic steps are required to be followed to design a suitable neural network model as:

Step 1:

Identifying the input and output variables of the problem to be modelled.

Step 2:

Normalize the variable in the range of 0–1 or − 1 to + 1.

Step 3:

Initialize the number of hidden layers and number of neurons in each layer. Select the appropriate activation function for each neuron.

Step 4:

Generate the values of weights, bias values and coefficients of the activation function.

Step 5:

Update the above parameters iteratively using suitable algorithm of training.

Step 6:

Continue the iterations until the termination criteria is reached.

Step 7:

Testing of the optimized neural network.

Various types of neural networks models are in use, such as “feed forward neural networks (FFNNs), recurrent neural networks (RNNs), radial basis function neural network (RBFNN), self organizing map neural network (SOM), Combined/hybrid neural network” and others. These types of networks are implemented based on the mathematical operations and a set of parameters required to determine the output. Some of these types of NNs are discussed in brief as:

  1. 1.

    Feedforward neural network (FFNNs): This neural network is one of the simplest NN form and widely used NN in which information is passed into one direction, that is, starting from the input layer towards the output layer through the hidden layers. So, it does not form any cycle or loop. Figure 3 shows a multi-layered feed-forward neural network.

    Fig. 3
    figure 3

    Multi-layered feed-forward neural network

  2. 2.

    Radial basis function neural network (RBFNNs): it is a special type of neural network which consists of a layer of some input data nodes, generally one hidden layer of a few neurons with radial basis transfer function and an output layer composed of some neurons with linear transfer function usually. This is the reason that RBFNNs are also called two-layered neural networks. Figure 4 shows a radial basis function neural network.

    Fig. 4
    figure 4

    Radial basis function neural network

  3. 3.

    Self-organizing map (SOM) neural network: it is a sequential clustering algorithm., which produces the self-organizing feature maps similar to those present in our brain. It is a modified version of neural network working based on unsupervised and competitive learning. Figure 5 shows the systematic view of a self-organizing map neural network.

    Fig. 5
    figure 5

    Self-organizing neural network

  4. 4.

    Recurrent neural network (RNN): a recurrent neural network (RNN) has both feed-forward as well as feed-back connections and as a result of which, information can be processed from the input layer to output layer and vice versa. Thus, forms a cycle or loop. It requires a less number of neurons and consequently, becomes less expensive computationally compared to a feed-forward network. Figure 6 shows sample of RNN.

    Fig. 6
    figure 6

    Recurrent neural network

  5. 5.

    Combined/Hybrid neural network: these NNs are combination of two or more NNs models in tuning of connecting weights or bias values or other parameters of NNs. Popularly known hybrid NNs are genetic–neural systems (GNSs), neuro-fuzzy systems (NFSs), fuzzy-neural networks etc. Likewise, genetic algorithms (GAs) have been combined with neural networks (NNs) to develop the combined—genetic-neuro systems (GNSs). When neural networks (NNs) have been combined with fuzzy logic (FL) techniques in different ways, then it formulated neuro-fuzzy systems (NFSs). In another approach, when the neurons of an NN have been designed using the concept of fuzzy set theory and the developed network is known as fuzzy-neural networks (FNNs).

Besides this, there are other NN models like stochastic neural network (SNN), modular neural network (MNN), CPNN etc. NN has some specific characteristics that (1) the information can be processed in both the directions and (2) interactive process of NNs. Using these characteristics, several authors have contributed solution techniques for MPPs. In the next section, we have discussion on the literature review on use of NN models for MPPs along with constructive analysis on these references.

3 State of Art: Review on Use of NN Models for Solving MPP and Analysis

Artificial neural network models play important role to solve complex computational problems and in recent years, researchers have identified this tool as important tool for solving complex MPPs. But still, there is lack of proper literature review analysis on the use of NN models for MPPs. Due to this, researchers do not get proper research directions. This motivates us to present the state of art literature review and analysis on this area for the benefits of researchers. In literature, this is the first attempt to present such state of art review on applications of neural networks for mathematical programming problems. This review has carried out with research articles/papers from reputed journals of SCOPUS, IEEE, Sciencedirect, Google etc. databases for presentation of this work.

Now, we present the literature review on use of NNs for MPPs in year-wise sequence along with conclusive analysis as: starting from 1986, Xia [79] proposed a new and unique NN without parameters for the exact solutions of linear programming problems (LPPs). In next year 1987, Greenberg [25] suggested addition of an interactive system for the analysis of LP models and its solutions. Rodriquez-Vazquez et al. [58] proposed an online NN circuit solving of LPPs.

Greenberg [26] suggested some preliminary results on the application of neural networks to the design of a system for solving mathematical programming system which are mainly: model completion, discourse and rulebase generation. Wang and Malakooti [72] presented a FFNN for solving discrete multiple criteria decision making (MCDM) problems under uncertainty. In decade of 1990s, Zhang and Constantinides [87] proposed NN based on the Lagrange multipliers theory for the non-linear programming problems which proved to provide solutions satisfying the conditions of optimality. Maa and Shanblatt [47] analysed NNs for LPPs and QPPs. Burke and Ignizio [6] discussed the use of NNs in solving OR analysis problems including LPPs. Wang and Chankong [71] explored potential role of recurrent NNs for solving basic LPPs. Wang [68] proposed “a recurrent neural network (RNN) for solving quadratic programming problems with equality constraints”. Wang [69] presented “a recurrent NN with a time-varying threshold vector for LPPs”. Malakooti and Zhou [48] presented an adaptive FFNN to solve multiple criteria decision making (MCDM) problems. Wang [70] proposed “a recurrent neural network (RNN) for solving convex programming problems”. Gee and Prager [20] elaborated limitations of NNs in context of solving travelling salesman problems (TSPs) and also suggested solution for the failure of a network even when 10-city problem which is significantly high. Xia and Wang [78] presented a new NN for solving LPPs with bounded variables. Zak et al. [86] studied three classes of NN models for solving LPPs and investigated the dependent characteristics namely model complexity, complexity of individual neurons and accuracy of solutions. Wu et al. [74] proposed two classes of high performance NNs for LPPs and QPPs. Xia [79] presented a new globally convergent NN for solving linear and quadratic programming problems. Cichocki et al. [10] proposed and analysed a new class of neural network models with energy function for solving LPPs. Xia [76] presented a new NN for solving general LPPs and its dual problems simultaneously. Aourid and Kaminska [2] presented “a Boolean neural network (BNN) for the 0–1 LPP under inequality constraints by using relation between concave programming problems and integer programming problems”.

Sun et al. [62] proposed a new interactive FFNN procedure for solving MOPPs. Gong et al. [24] proposed ANN approach based on Lagragian multiplier method (Lagragian ANN) for the solution of convex programming problems with linear constraints. Xia [75] presented a globally convergent neural network for solving extended linear programming problems. Kennedy and Chua [34] invented an A/D converter signal decision circuit based NN to solve general NLPPs. Gen et al. [21] introduced a new NN technique to solve fuzzy MOPPs. Walsh et al. [67] proposed an augmented Hopfield network to solve mixed integer programming problems. Liao and Hou-Duo [40] proposed an artificial neural network for linear complementarity problem. The proposed new NN based is based on conversion of linear complementarity problem into the unconstrained problem which can easily be implemented on a circuit. Chong et al. [9] analysed a class of NNs that solve LPPs. In 2000, Nguyen [57] presented a new recurrent NN for solving LPPs. Li and Da [40] discussed the neural representation of linear programming (LP) and fuzzy linear programming (FP). Sun et al. [63] proposed a new interactive multiple objective programming procedure with the combination of the interactive weighted and FFANN procedure. Tao et al. [65] proposed a continuous NN for NLPPs with high performance. Tao et al. [64] proposed a simplified high performance NN for solving quadratic programming problems. Meida-Casermeiro et al. [53] proposed a simple discrete multivalued Hopefield NN for the solution of travelling salesman problems (TSPs). Leung et al. [38] constructed “a new gradient-based NN with the duality theory, optimization theory etc. to provide solution of linear and quadratic programming problems”. Dillona and O’Malley [11] proposed “the Hopfield neural network to solve mixed integer non linear programming problems”. Chen et al. [8] proposed “a NN model for solving convex NLPPs”. Zhang and Wang [89] proposed “a recurrent neural network (RNN) for solving the strictly convex QPPs”. Leung et al. [37] proposed “high performance feedback NN for solving convex NLPPs based on successive approximation”. Shih et al. [62] studied the dynamic behaviour of artificial neural networks (ANNs) for the solution of multiobjective programming problems (MOPPs) and multilevel programming problems (MLPPs). Forti et al. [17] introduced a generalized circuit based NN for solving in real time NLPPs. Gao [19] presented a NN for solving the convex NLPP by the projection method. This NN is based on conversion of a convex NLPP into a variational inequality problem. Effati and Baymain [12] presented a new recurrent NN for solving convex NLPPs. Cao and Liu [7] introduced fuzzy decentralized decision-making problem, fuzzy multilevel programming and chance-constrained multilevel programming problem in context of NN. Malek and Yari [50] represented two new methods for the solution of LPPs with condition to minimize energy function of the corresponding neural network.

Zhang [88] presented “a primal–dual NN for the online solution based on linear variational inequalities (LVI)”. Xia and Wang [77] proposed “a recurrent neural network for solving convex NLPPs with linear constraints”. The proposed NN has simple structure and lower complexities in implementation in comparison of other NNs for solving such problems. Ghasabi-Oskoei and Mahdavi-Amiri [23] presented a high-performance and efficiently simplified NN for solving general LPPs and QPPs. Effati and Nazemi [15] considered “two recurrent neural network model for solving linear and quadratic programming problems”. Yang and Cao [83] proposed the delayed projection neural network for solving convex QPPs. Liu and Wang [42] proposed a new recurrent NN for QPPs (this NN is also known as simplified dual NN) and also discussed its design and analysis on this NN. Lan et al. [36] proposed “a combined neural network and tabu search hybrid algorithm for solving the bilevel programming problem (BLPP)”. Effati et al. [13] proved that “solution of convex programming problems is equivalent with solution of projection formulation problem and then they introduced NN models for projection formulation problem and analysis its convergence”. Ghasabi-Oskoei et al. [23] proposed “a novel NN for linear and quadratic programming problem with recurrent ANN approach”.

Malek and Alipour [49] proposed “a recurrent neural network for solving LPPs and QPPs”. The main advantage of this NN is that there is no need of parameters setting. Lv Yibing et al. [46] discussed a NN model for solving a NP-hard nonlinear bilevel programming problem (BL-NLPP). This NN is also proved to be stable, convergent and capable of generating approximal optimal solution to this complex problem.

Xiaolin and Wang [77] presented “a novel recurrent neural network (RNN) for convex QPPs with linear constraints”. Liu and Wang [41] proposed “a one-layer recurrent neural network with a discontinuous activation function for LPP”. Wen et al. [73] proposed “the hopfield neural network (HNN) for solving MPPs”. The major advantage of proposed HNN is its structure can be easily applied on an electronic circuit. Xiaolin [29] considered solving “the extended linear quadratic programming (ELQP) problems with general polyhedral sets by using recurrent neural networks”. Hu and Zhang [32] proposed “a new recurrent neural network for solving convex QPPs”. Yang and Du [82] proposed “a novel neural network algorithm to solve QPP with linear constraints based on Fibonacci method”. Tiesong et al. [29] proposed “a novel neural network for BLPP which is also proved to be stable, convergent and capable of generating optimal solution to the problem”. Lv Y et al. [45] presented “a neural network for solving a convex quadratic bilevel programming problem (BLQPP)”. Gao and Liao [18] presented “a new neural network for solving LPP and QPP”.

Arvind Babu and Palaniappan [4] proposed “ANN based hybrid algorithm which trains the constrains and parameters before applying the formal LPP method for solution of LPPs”. Nasira et al. [55] presented “back propagation for training and simulation with the new inputs to implement NN for integer linear programming problems (ILPPs)”. Sahu and Avanish Kumar [59] proposed “circuit based simple NN for solution of LPPs”. Lv et al. [44] presented “a neural network approach for solving mathematical programs with equilibrium constraints (MPEC)”. Yang and Gao [85] presented “a new NN for solving convex NLPPs with linear constrains”. Alipour [54] proposed “a recurrent NN for convex NLPPs subject to linear equality and inequality constraints”. Yaakob and Watada [80] demonstrated “a double-layered hybrid NN method to solve mixed integer quadratic bilevel programming problems”.

Yaakob and Watada [81] proposed “a hybrid neural network approach to solve mixed integer quadratic bilevel programming problems”. In this NN, the combination of a genetic algorithm (GA) and a meta-controlled Boltzmann machine (BM) is formulated as a hybrid neural network approach to solve BLPPs. Effati and Ranjbar [16] presented “a new NN for solving QPPs”. Vahabi and Ghasabi-Oskoei [66] proposed “a high-performance feedback NN model for solving convex NLPPs with hybrid constraints in real time by means of the projection method”. Selvaraj and Pandian [60] proposed “a neural network approach for solving fuzzy linear programming problems in which fuzzy concepts are not used”. Nazemi [1] proposed “a capable NN for solving strictly convex quadratic programming (SCQP) problems with general linear constraints”. Yang et al. [84] proposed “a new NN for solving QPPs with equality and inequality constraints”. He et al. [27] proposed “a NN to solve convex quadratic bilevel programming problems (CQBPPs), based on successive approximation”. He et al. [28] proposed “a recurrent neural network (NN) modelled for solving BLPPs based on the method of penalty functions”.

Effati et al. [14] discussed the application of projection neural network for solving bilinear programming problems (BLPs). Huang et al. [33] proposed “a neural network model for solving convex quadratic programming (CQP) problems using Karush–Kuhn–Tucker (KKT) points of the CQP problem”. Jin and Li [44] proposed “Zeroing neural network (ZNN) for the solution of QPPs subject to equality and inequality constraints”. Arjmandzadeh et al. [3] presented “a neural network model for solving random interval linear programming problems which proved to be stable and globally convergent to exact solution to the problem”. Ranjbar et al. [57] presented an “ANN to solve the quadratic zero–one programming problems under linear constraints”. Mansoori et al. [52] proposed “a representation of a recurrent neural network to solve QPPs with fuzzy parameters (FQP)”.

In a view of analysis, it can be easily found that since 1986, researchers have started using NNs models in solving different mathematical programming problems and this is continuously increasing with increasing number of article publications in last four decades. From graph (Graph 1) it is shown that during 2001–2010, highest number of research articles has been published in this research area.

Graph 1
figure 7

No. of research publications on NN models for MPPs

From Table 1, it is shown that researchers have contributed more in the areas of LPPs and QPP while less in the areas of MOPPs, BLPPs, Travelling salesman problems, MLPPs etc. in terms of research publications. Further there are many complex programming problems like ML-MOPPs, ML-MOLFPPS, ML-MOQPPs, ML-MOQFPPs and other extension problems on which use of NN models has not been initiated till this date. The application of NN models may suggest some satisfactory solutions to these complex problems with less computational efforts.

Table 1 Description of neural network techniques on different mathematical programming problems

It is evident from Table 2 that RNNs, FFNNs, HFNNs have been applied to solve MPPs in sufficient numbers. However, some other robust neural networks techniques available in literature like stochastic neural network (SNNs), Modular neural networks (MNNs), radial basis function neural network (RBFNNs), self-organizing map (SOM), counter-propagation neural networks (CPNN) etc. have not been applied to solve simple and complex mathematical programming problems.

Table 2 Description of different neural network techniques on different mathematical programming problems

4 Research Issues

It can be observed from literature review, Tables 1, 2 and Graph 1 that NN models play an important role in solving simple to complex mathematical programming problems—MOPPs, BLPPs etc. But still there are some important research issues and problems open for researchers which are discussed as:

  • There are variety of NN models are used to solve LPPs but the question of a proper and exact NN model arises simultaneously. A more realistic and exact NN approach is needed to establish for LPPs.

  • Theoretical development of optimality conditions for solving different MPPs with different neural networks is needed.

  • Many complex programming problems like MONLPPs, BL-MOPPs, BL-MOQPPs, ML-MOPPs, ML-MOLFPPs, ML-MOQPPs, ML-MOQFPPs etc. are available in literature (by Bhati et al. [5], Lachhwani and Dwivedi [35]) on which use of NN models has not been started or have very limited contribution in it. The use of NN models in solving these problems may suggest satisfactory solutions to the problems with less computational steps in comparison of other methods. These problems are open for researchers to study the applicability of NN models and comparative analysis with other methods for these problems.

  • Comparative study between NN approach and hybrid NNs in context of solving MPPs is very few in literature and required to be studied comprehensive.

  • Use of other NNs like stochastic neural network (SNNs), modular neural networks (MNNs), radial basis function neural network (RBFNNs), self-organizing map (SOM), counter-propagation neural networks (CPNN) etc. have not been applied to solve any MPPs. This research area is available open for researchers.

5 Conclusions

In this article, an effort has been made to describes classification of MPPs, different neural network models and the detailed literature review on application of NN models for solving different MPPs along with comprehensive analysis on references. As conclusions, Up to till date, research work with the use of NNs for solving MPPs is not quite satisfactory and development of new NN theories, algorithms, use of NNs in solving complex problems etc. are emerging areas available for future research. Some open problems and research issues on NNs in context of MPPs have also been discussed. This paper aims to present state of art literature review on the use of NNs for solving MPPs with constructive analysis to elaborate future research scope and new directions in this area for future researchers.