Abstract
A new method for solving differential equations is presented in this work. The solution of the differential equations is done by adapting an artificial neural network, RBF, to the function under study. The adaptation of the parameters of the network is done with a hybrid genetic algorithm. In addition, this text presents in detail the software developed for the above method in ANSI C++. The user can code the underlying differential equation either in C++ or in Fortran format. The method was applied to a wide range of test functions of different types and the results are presented and analyzed in detail.
MSC:
65K05; 65L05
1. Introduction
A variety of problems in areas such as physics [1,2], chemistry [3,4,5], economics [6,7], biology [8,9], etc., can be modeled using ordinary differential equations (ODEs), systems of differential equations (SYSODEs) and partial differential equations (PDEs). Due to the importance of differential equations, several methods have appeared in the relevant literature, such as Runge–Kutta methods [10,11,12] or Predictor–Corrector methods [13,14]. Moreover, many methods based on machine learning models have appeared, such as methods that utilize neural networks [15,16,17], methods based on differential evolution techniques [18,19], genetic algorithms [20,21], etc. Furthermore, in recent years, a variety of methods that take advantage of modern GPU architectures have been published for the solution of differential equations [22,23,24]. In addition, a method based on Grammatical Evolution [25] has been introduced to solve differential equations in analytical form by Tsoulos and Lagaris [26], that creates solutions of differential equations in closed analytical form. Le et al. recently proposed [27] a Radial Basis Neural Network Approximation with extended precision for solving partial differential equations, and Wei et al. presented [28] a MATLAB code to solve differential equations with a conjunction of finite elements and Radial Basis Function network (RBF) neural networks. Additionally, a recent work based on quintic B-splines is proposed [29] for solving second-order coupled nonlinear Schrödinger equations. The current work proposes the incorporation of a modified genetic algorithm [30,31,32] and utilizes an RBF [33] to tackle the problem of solving differential equations. RBFs are usually expressed as:
where the vector is considered the input vector and the vector is denoted as the weight vector. In many cases the function is a Gaussian function such as:
where the value depends on the distance between the vectors . The vector x is considered the input to the artificial neural network and the vector c is called the centroid for the corresponding function. The centroid is often calculated from the input vectors using clustering techniques such as the KMeans [34] algorithm.
RBF networks have been used in many practical problems in various areas, such as physics [35,36,37,38], chemistry [39,40,41], medicine [42,43,44], economics [45,46,47], etc. In the current work, the RBF network is used as an estimator of the differential equations for the cases of ODEs, SYSODEs, and PDEs. The enforcement of the initial and boundary conditions is done through penalization. The parameters of the network are adapted through a hybrid genetic algorithm. The proposed study aims to present an innovative methodology for solving differential equations using RBF artificial neural networks, which are distinguished for their ability to learn and adapt to complex computational problems. However, in order to better adapt the parameters of these networks, their training is performed using an extremely reliable global optimization method, such as genetic algorithms. However, although network training with a genetic algorithms can achieve more accurate results, it is a rather time-consuming technique and is demanding of computational resources. This means that the use of modern parallel processing techniques is required, which will make the most of modern computing structures such as those of multiple cores. In the case of the proposed algorithm and the accompanying computing tool, the OpenMP programming library [48] was chosen.
In addition, the used software tool is illustrated in detail and some examples of usage are presented. The tool is designed for UNIX systems equipped with the GNU C++ and Fortran 77 (g77) compilers. Furthermore, the software utilizes the qmake installation utility of the QT software library, freely available from https://qt.io (accessed on 10 May 2022).
The rest of this article is organized as follows: in Section 2 the proposed method is fully described; in Section 3 the software details are presented; in Section 4 the experimental results for some differential equations are presented; and finally in Section 5 some conclusions and guidelines for future improvements of the method and the accompanied software are given.
2. Detailed Description
In the proposed method, an artificial RBF network with n weights is used as a function estimator that solves a differential equation. The initial and boundary conditions are imposed by the use of punitive factors. The network parameters are estimated using a hybrid genetic algorithm. The genetic algorithms are biologically inspired programming tools that maintain and evolve a pool of candidate solutions to an optimization problem. The members of this pool are usually called chromosomes or genetic population. The evolution of the population is done through the operations of mutation and crossover. Among other advantages, genetic algorithms are distinguished for their simplicity in implementation, for the ease of their parallelization, their tolerance for errors, etc. The size of each chromosome in the used genetic algorithm is calculated as: , where the value d is 1 for ODEs and system of ODEs and 2 for PDEs. The first values are used for the centroid vectors of the Equation (1), the next n values are used for the values of every Gaussian unit and the remaining n values of the chromosome are used for the weights of Equation (1). In addition, in the proposed implementation, a local optimization method is periodically applied to some randomly selected chromosomes of the population. This approach is performed in order to improve the accuracy of the solution produced by the genetic algorithm, but also to speed up the solution of the differential equation. The used local search procedure for this work was a BFGS variant of Powell [49].
In the following subsections, the proposed method is outlined in detail as well as the fitness calculation for every case of differential equation.
2.1. Main Algorithm
The steps of main the algorithm are described below:
- Initialization step
- (a)
- Setiter = 0, as the current number of generations.
- (b)
- Set, as the total number of chromosomes.
- (c)
- Setn, the number of weights in the RBF network.
- (d)
- Initialize randomly the chromosomes .
- (e)
- Set ITERMAX as the maximum number of generations.
- (f)
- Set as the selection rate and the mutation rate.
- (g)
- Set, the best fitness in the population.
- (h)
- Set , the number of generations to run before applying the local optimization method
- (i)
- Set the number of chromosomes that will involved in the local search procedure.
- Termination check. If ITERMAX OR terminate.
- Calculate the fitness for every chromosome . The calculation procedure is described in Section 2.2.
- Genetic Operators
- (a)
- Selection procedure: During selection, the chromosomes are classified according to their suitability. The best chromosomes are transferred without changes to the next generation of the population. The rest will be replaced by chromosomes that will be produced at the crossover.
- (b)
- Crossover procedure: During this process, chromosomes will be created. Firstly, for every pair of produced offspring, two distinct chromosomes (parents) are selected from the current population using tournament selection: First, a subset of randomly selected chromosomes is created and the chromosome with the best fitness value is selected as parent. For every pair of parents, two new offsprings and are created through the following:where is a random number with the property [50].
- (c)
- Mutation procedure: For every element of each chromosome, select a random number and alter the corresponding chromosome if .
- Setiter = iter+1
- Local Search Step
- (a)
- IfThen
- Select a subset of randomly chosen chromosomes from the genetic population. Denote this subset with .
- For every chromosome in
- Start a local search procedure
- Set
- (b)
- Endif
- Denote with the best fitness value for the corresponding chromosome
- Goto step 2.
2.2. Fitness Evaluation
The evaluation of the fitness is different for every case of differential equations, although in every case penalization is used to enforce the initial or the boundary conditions of every case.
2.3. Ode Case
Consider an ODE in the following format:
with the ith-order derivative of The initial conditions are expressed as:
where could be a or b. The steps for the calculation of the fitness of a chromosome g are the following for the ODE case:
- Create a set of equidistant points.
- Create the RBF network for the the chromosome g.
- Calculate the value
- Calculate the penalty value for the initial conditions:where .
- Return
2.4. Systems of ODEs Case
The system of ODEs that should be solved is in the form:
with and the initial conditions are expressed as:
The fitness calculation for a given chromosome g has as follows:
- Create a set of equidistant points.
- Split the chromosome g into k parts and create the corresponding RBF networks
- Calculate the errors:
- Calculate the penalty values:
- Calculate the total fitness value:
2.5. Pde Case
Consider a Pde in the following form:
with . For Dirichlet boundary conditions we have the following condition functions:
The steps to calculate the fitness for any given chromosome are the following:
- Construct the set uniformly sampled points in .
- Construct the set equidistant points in .
- Construct the set equidistant points in .
- Set the RBF network for the chromosome g.
- Calculate the quantity as
- Calculate the following penalty values:
- Calculate the total fitness as
3. Software Details
3.1. Installation
The package is distributed in a zip file from the relevant GitHub URL https://github.com/itsoulos/RbfDeSolver (accessed on 10 May 2022) named RbfDeSolver-master.zip and under UNIX systems the user must execute the following commands to compile the software:
- unzip RbfDeSolver-master.zip.
- cd RbfDeSolver.
- qmake.
- make clean.
- make.
The final outcome of the compilation is the software RbfDeSolver. The differential equations should be compiled separately: every differential equation is a different file to be compiled as a shared object using the qmake utility. For example, in order to compile the ODE of the file ode1.so located under examples subdirectory, the user should create a ode1.pro file with the following contents:
- TEMPLATE=lib
- SOURCES=ode1.cc
Afterwards, the compilation of the ode is done using the following commands:
- qmake ode1.pro.
- make.
The outcome of the compilation is the shared library ode1.so
3.2. Command Line Options
The software RbfDeSolver has the following command line options:
- help. Prints a help screen and terminates.
- kind = DE_KIND. The string value DE_KIND determines the kind of differential equation to be used and the accepted values are: ode, sysode, pde.
- problem = FILE, the string parameter file determines the path to the differential equation to be solved.
- count = K, set as K, the number of chromosomes in the genetic population. The default value is 500.
- random = R, set as R, the seed for the random number generation.
- generations = G, set as G, the maximum number of generations allowed. The default value is 2000.
- epsilon = E, set as E, a small positive value used in the comparisons as well as the termination criterion of the genetic algorithm. The default value is
- weights = W, set as W, the number of weights for the RBF network. The default value is 1.
- srate = S, set as S, the selection rate (parameter of the genetic algorithm. The default value is 0.1
- mrate = M, set as M, the mutation rate (parameter ) of the genetic algorithm. The default value is 0.05
- lg = G, set as G, the number of generations that should be passed in the genetic algorithm before the local search method is applied. The default value is 100.
- li = I, set as I, the number of chromosomes that will participate in the local search procedure. The default value is 20.
- threads = T, set as T, the number of OpenMp threads. The default value is 1.
3.3. Format for ODEs
In Figure 1 and Figure 2 we present the formulation for ODEs in the languages C++ and Fortran correspondingly. The listed functions have the following meaning:
Figure 1.
Ode format in C++.
Figure 2.
Ode format in Fortran.
- getx0(): Returns the lower boundary point, .
- getx1(): Returns the upper boundary point, .
- getkind(): Returns 1, 2 or 3:
- (a)
- If the value is 1 then the ODE is of first order and the boundary condition is of the form: .
- (b)
- If the value is 2 then the ODE is of second order with boundary conditions of the form: .
- (c)
- Code 3 indicates that the ODE is of second order with boundary conditions of the form: .
- getnpoints(): Returns the number of equidistant training points (value N in Section 2.3)
- getf0(): Returns the boundary condition on the left, .
- getf1(): Returns the boundary condition on the right, .
- getff0(): Returns the left boundary condition for second order ODEs .
- ode1ff(x,y,yy): If the ODE is of first order, then the purpose of the tool is to minimize the function ode1ff, for different values of x in the range . The parameter y represents and the parameter yy represents .
- ode2ff(x,y,yy,yyy): If the ODE is of second order, then the tool tries to minimize the function ode2ff, for different values of x in the range The parameter y represents , the parameter yy represents and the parameter yyy represents .
3.4. Format for System of ODEs
In Figure 3 and Figure 4 we demonstrate the formulation of System of ODES in C++ and in Fortran programming languages correspondingly. The functions used in those formulations have the following meanings:
Figure 3.
Format for SYSODEs in C++.
Figure 4.
Format for SYSODEs in Fortran.
- getx0(): returns the left boundary, .
- getx1(): returns the right boundary, .
- getnode(): returns the number of ODEs in the system (parameter k in Section 2.4).
- getnpoints(): R returns the number of equidistant training points (value N in Section 2.4)
- systemfun(k,x,y,yy): For the SYSODE case, the aim of the RbfDeSolver is to minimize the function systemfun for values of x in the range , where k is the total number of equations in the system, Y is the vector of Rbf networks and is a vector with elements the first derivative of these k equations evaluated at x. The double precision array y stands for the vector Y and similar the double precision array yy represents the vector .
- systemf0(node,f0): the argument node stands for the number of differential equations in the system and the double precision array f0 with node elements represents the vector holding the boundary conditions for each equation in the system (vector of Equation (8)).
3.5. PDE Format
The system is capable of solving elliptic PDEs in two dimensions in a box with the Dirichlet boundary conditions , , and . In Figure 5 and Figure 6 we can see the formulation of PDE’s in C++ and Fortran programming languages. The presented functions have the following representation:
Figure 5.
Format for PDEs in C++.
Figure 6.
Format for PDEs in Fortran.
- getx0(): returns the left boundary .
- getx1(): returns the right boundary .
- gety0(): returns the left boundary .
- gety1(): returns the right boundary .
- getnpoints(): returns the amount of interior training points for the PDE.
- getbpoints(): returns the amount of training points across each boundary of the PDE.
- f0(y): returns the boundary condition across .
- f1(y): returns the boundary condition across
- g0(x): returns the boundary condition across .
- g1(x): the function returns the boundary condition across .
- pde(x,y,v,x1,y1,x2,y2): For the PDE case RbfDeSolver minimizes the function , where and The argument v corresponds to The argument x1 corresponds to the first derivative of with respect to x, y1 corresponds to the first derivative of with respect to y, x2 corresponds to the second derivative of with respect to x and the y2 corresponds to the second derivative of with respect to y.
4. Experiments
A series of test functions used in various research papers [15,26] have been used here for testing purposes. All the problems have been coded in ANSI C++ and the execution was performed on a Intel i7-10700T running at 2.00 GHz with 16 GB of RAM, and the operating system was Debian Linux.
4.1. Linear ODEs
- ODE1with . The solution is
- ODE2with . The solution is
- ODE3with and solution
- ODE4with and solution
- ODE5with and the solution is
4.2. Non-Linear ODEs
- LODE1with The solution is
- NLODE2with . The solution is
- NLODE3with and solution
- NLODE4with and solution
4.3. Systems of ODEs
- SYSODE1with . The analytical solutions are , .
- SYSODE2with and solutions
- SYSODE3with and solutions .
- SYSODE4with and solutions .
4.4. PDEs
- PDE1with and boundary conditions: The solution is given by:
- PDE2with and boundary conditions: . The analytical solution is .
- PDE3with and boundary conditions: . The solution is: .
- PDE4with and boundary conditions: , . The solution is: .
4.5. Experimental Results
To validate the ability of the proposed method to tackle differential equations, a series of experiments were made using the following values for the weight number of the Rbf network: . The values for the parameters of the experiments are listed in Table 1. All the experiments were conducted 30 times using different seeds for the random number generator and the average error was measured. The random number generator used was the drand48() function of the C programming language. The experimental results are listed in Table 2.
Table 1.
Experimental parameters.
Table 2.
Experimental results.
As the experimental results show, the proposed method solves the vast majority of differential equations even when the number of weights is relatively small. However, adding weights seems to have more positive effects on difficult problems especially in the case of partial differential equations. Of course, increasing the number of weights implies increased execution times and, for this reason, the use of parallel processing techniques is necessary. In the application, there is the possibility of using more processing threads through the OpenMP library.
In addition, the graphical representation of the produced solutions as well as the absolute error between the estimated RBF networks is also plotted. For example, in Figure 7 the solution of ODE1 and the estimated RBF network are plotted and in Figure 8 the absolute difference of these functions is plotted. Additionally, the absolute error between the solutions and the estimated RBF networks for the SYSODE1 case is also plotted in Figure 9. Moreover, the absolute error between the solution of the PDE1 case and the estimated RBF network is plotted in Figure 10. All graphs show the ability of the proposed method to approach to a large extent the solution of the differential equation which is under study.
Figure 7.
Graphical comparison between the solution of ODE1 and the estimated neural network.
Figure 8.
The absolute difference between the real solution of ODE1 and the produced RBF network.
Figure 9.
The difference between the functions and the estimated RBF solutions for the case of System of ODE’s SYSODE1.
Figure 10.
Absolute error between and the estimated solution of PDE1.
Additionally, a plot was made to demonstrate the speed of the algorithm and the effectiveness of using more threads. In this test, the method was tested in ODE1 function for different values for the number of the threads and the desired accuracy (the value ) for the parameter in Table 2). The plot is shown in Figure 11. Execution times are significantly reduced as the number of threads increases and this makes the method able to be applied to more complex problems if there is enough computing power and several computing units available, which is possible in modern multi-core computers.
Figure 11.
Computational cost and desired accuracy for different number of threads.
4.6. Some Practical Problems
The proposed method was also applied on a series of systems of ODEs available from https://archimede.uniba.it/testset/ (accessed on 10 May 2022) and more specific the Hires problem, the Rober problem, and the Orego problem.
4.6.1. Hires Problem
This is a system of eight non-linear ODEs proposed by Schäfer in 1975 [51] and it describes how light is involved in morphogenesis. The problem is defined as
with and the function defined as
and the initial conditions
4.6.2. Rober Problem
The Rober problem [52] describes the kinetics of an autocatalytic reaction and it is defined a system of three non-linear ordinary differential equations. The problem is defined as
with and the function is
and the initial conditions and the value of T was set 10.
4.6.3. Orego Problem
The Orego problem [53] is a system of three non-linear ordinary differential equations and refers to the Oregonator model. The problem is defined as
with The function is given by:
with and .
The results from the application of the proposed method with the parameters of Table 1 and are listed in Table 3. The proposed method achieved low learning error even in the above examples. The column MEM denotes the application of the MEBDF [54] method to these problems. Furthermore, in Figure 12, Figure 13 and Figure 14, the average execution time of the proposed method for different number of processing threads is plotted for the previous three test cases. In these plots logarithmic scale was used.
Table 3.
Experimental results for the real life problems.
Figure 12.
Computational cost and desired accuracy for different number of threads for the case of Hires problem.
Figure 13.
Computational cost and desired accuracy for different number of threads for the case of Rober problem.
Figure 14.
Computational cost and desired accuracy for different number of threads for the case of Orego problem.
5. Conclusions
A method for solving differential equations is presented here, accompanied by the corresponding software. The method utilizes gra networks to solve differential equations and the enforcement of initial and boundary conditions was done using penalty factors. The network configuration was adapted using a hybrid genetic algorithm, in which a local optimization method is applied to a randomly selected set of chromosomes per distinct number of generations.
The software developed in the context of this work was also presented. The software was written in C++ using the open source library QT, so that it can be run on most operating systems. The user can encode the differential equation in either C++ or Fortran by writing a series of functions. Future extensions of the method may include more efficient methods of initializing network weights as well as more advanced methods of terminating the genetic algorithm.
Author Contributions
I.G.T., A.T. and E.K. conceived the idea and methodology and supervised the technical part regarding the software. I.G.T. conducted the experiments, employing several datasets, and provided the comparative experiments. A.T. performed the statistical analysis. E.K. and all other authors prepared the manuscript. E.K. and I.G.T. organized the research team and A.T. supervised the project. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
The used software and the experimental functions and data are available from https://github.com/itsoulos/RbfDeSolver (accessed on 10 May 2022).
Acknowledgments
The experiments of this research work was performed at the high performance computing system established at Knowledge and Intelligent Computing Laboratory, Dept of Informatics and Telecommunications, University of Ioannina, acquired with the project “Educational Laboratory equipment of TEI of Epirus” with MIS 5007094 funded by the Operational Programme “Epirus” 2014–2020, by ERDF and national finds.
Conflicts of Interest
The authors declare no conflict of interest.
Sample Availability
Not applicable.
References
- Raissi, M.; Karniadakis, G.E. Hidden physics models: Machine learning of nonlinear partial differential equations. J. Comput. Phys. 2018, 357, 125–141. [Google Scholar] [CrossRef] [Green Version]
- Lelièvre, T.; Stoltz, G. Partial differential equations and stochastic methods in molecular dynamics. Acta Numer. 2016, 25, 681–880. [Google Scholar] [CrossRef]
- Scholz, G.; Scholz, F. First-order differential equations in chemistr. ChemTexts 2015, 1, 1. [Google Scholar] [CrossRef] [Green Version]
- Padgett, J.L.; Geldiyev, Y.; Gautam, S.; Peng, W.; Mechref, Y.; Ibraguimov, A. Object classification in analytical chemistry via data-driven discovery of partial differential equations. Comp. Math. Methods 2021, 3, e1164. [Google Scholar] [CrossRef]
- Owoyele, O.; Pal, P. ChemNODE: A neural ordinary differential equations framework for efficient chemical kinetic solvers. Energy 2022, 7, 100118. [Google Scholar] [CrossRef]
- Wang, Z.; Huang, X.; Shen, H. Control of an uncertain fractional order economic system via adaptive sliding mode. Neurocomputing 2012, 83, 83–88. [Google Scholar] [CrossRef]
- Achdou, Y.; Buera, F.J.; Lasry, J.M.; Lions, P.L.; Moll, B. Partial differential equation models in macroeconomics. Phil. Philos. Trans. R. Soc. A Math. Phys. Eng. Sci. 2012, 372, 20130397. [Google Scholar] [CrossRef] [Green Version]
- Hattaf, K.; Yousfi, N. Global stability for reaction—Diffusion equations in biology. Comput. Math. Appl. 2013, 66, 1488–1497. [Google Scholar]
- Getto, P.; Waurick, M. A differential equation with state-dependent delay from cell population biology. J. Differ. 2016, 260, 6176–6200. [Google Scholar] [CrossRef]
- Tang, W.; Sun, Y. Construction of Runge—Kutta type methods for solving ordinary differential equations. Appl. Math. Comput. 2014, 234, 179–191. [Google Scholar] [CrossRef]
- Kennedy, C.A.; Carpenter, M.H. Higher-order additive Runge–Kutta schemes for ordinary differential equations. Appl. Numer. Math. 2019, 136, 183–205. [Google Scholar] [CrossRef]
- Yang, X.; Shen, Y. Runge-Kutta Method for Solving Uncertain Differential Equations. J. Uncertain. Anal. Appl. 2015, 3, 17. [Google Scholar] [CrossRef] [Green Version]
- Kim, H.; Sakthivel, R. Numerical solution of hybrid fuzzy differential equations using improved predictor—Corrector method. Commun. Nonlinear Sci. Numer. Simul. 2012, 17, 3788–3794. [Google Scholar] [CrossRef]
- Daftardar-Gejji, V.; Sukale, Y.; Bhalekar, S. A new predictor–corrector method for fractional differential equations. Appl. Math. Comput. 2014, 244, 158–182. [Google Scholar] [CrossRef]
- Lagaris, I.E.; Likas, A.; Fotiadis, D.I. Artificial neural networks for solving ordinary and partial differential equations. IEEE Trans. Neural Netw. 1998, 9, 987–1000. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Mall, S.; Chakraverty, S. Application of Legendre Neural Network for solving ordinary differential equations. Appl. Soft Comput. 2016, 43, 347–356. [Google Scholar] [CrossRef]
- Pakdaman, M.; Ahmadian, A.; Effati, S.; Salahshour, S.; Baleanue, D. Solving differential equations of fractional order using an optimization technique based on training artificial neural network. Appl. Math. Comput. 2017, 293, 81–95. [Google Scholar] [CrossRef]
- Chang, W.D. Parameter identification of Chen and Lü systems: A differential evolution approach. Chaos Solitons Fractals 2007, 32, 1469–1476. [Google Scholar] [CrossRef]
- Biswas, A.; Das, S.; Abraham, A.; Dasgupta, S. Design of fractional-order PIλDμ controllers with an improved differential evolution. Eng. Appl. Artif. Intell. 2009, 22, 343–350. [Google Scholar] [CrossRef]
- Arqub, O.A.; Hammour, Z.A. Numerical solution of systems of second-order boundary value problems using continuous genetic algorithm. Inf. Sci. 2014, 279, 396–415. [Google Scholar] [CrossRef]
- Gutierrez-Navarro, D.; Lopez-Aguayo, S. Solving ordinary differential equations using genetic algorithms and the Taylor series matrix method. J. Phys. Commun. 2018, 2, 115010. [Google Scholar] [CrossRef] [Green Version]
- Januszewski, M.; Kostur, M. Accelerating numerical solution of stochastic differential equations with CUDA. Comput. Commun. 2010, 181, 183–188. [Google Scholar] [CrossRef] [Green Version]
- Murray, L. GPU Acceleration of Runge-Kutta Integrators. IEEE Trans. Parallel Distrib. Syst. 2012, 23, 94–101. [Google Scholar] [CrossRef]
- Riesinger, C.; Neckel, T.; Rupp, F. Solving Random Ordinary Differential Equations on GPU Clusters using Multiple Levels of Parallelism. Siam J. Sci. Comput. 2016, 38, C372–C402. [Google Scholar] [CrossRef]
- O’Neill, M.; Ryan, C. Grammatical evolution. IEEE Trans. Evol. Comput. 2001, 5, 349–358. [Google Scholar] [CrossRef] [Green Version]
- Tsoulos, I.G.; Lagaris, I.E. Solving differential equations with genetic programming. Genet. Program Evolvable Mach 2006, 7, 33–54. [Google Scholar] [CrossRef]
- Le, T.T.V.; Le-Cao, K.; Duc-Tran, H. A Radial Basis Neural Network Approximation with Extended Precision for Solving Partial Differential Equations. In Soft Computing: Biomedical and Related Applications. Studies in Computational Intelligence; Phuong, N.H., Kreinovich, V., Eds.; Springer: Berlin/Heidelberg, Germany, 2021; Volume 981. [Google Scholar]
- Wei, P.; Li, Z.; Li, X. An 88-line MATLAB code for the parameterized level set method based topology optimization using radial basis functions. Struct. Multidisc. Optim. 2018, 58, 831–849. [Google Scholar] [CrossRef]
- Iqbal, A.; Hamid, N.N.A.; Ismail, A.I.M.; Abbas, M. Galerkin approximation with quintic B-spline as basis and weight functions for solving second order coupled nonlinear Schrödinger equations. Math. Comput. Simul. 2021, 187, 1–16. [Google Scholar] [CrossRef]
- Goldberg, D. Genetic Algorithms in Search, Optimization and Machine Learning; Addison-Wesley Publishing Company: Boston, MA, USA, 1989. [Google Scholar]
- Michaelewicz, Z. Genetic Algorithms + Data Structures = Evolution Programs; Springer: Berlin/Heidelberg, Germany, 1996. [Google Scholar]
- Grady, S.A.; Hussaini, M.Y.; Abdullah, M.M. Placement of wind turbines using genetic algorithms. Renew. Energy 2005, 30, 259–270. [Google Scholar] [CrossRef]
- Park, J.; Sandberg, I.W. Universal Approximation Using Radial-Basis-Function Networks. Neural Comput. 1991, 3, 246–257. [Google Scholar] [CrossRef]
- MacQueen, J. Some methods for classification and analysis of multivariate observations. In Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, Los Angeles, CA, USA, 1 January 1967; Volume 1, pp. 281–297. [Google Scholar]
- Teng, P. Machine-learning quantum mechanics: Solving quantum mechanics problems using radial basis function networks. Phys. Rev. E 2018, 98, 033305. [Google Scholar] [CrossRef] [Green Version]
- Jovanović, R.; Sretenovic, A. Ensemble of radial basis neural networks with K-means clustering for heating energy consumption prediction. Fme Trans. 2017, 45, 51–57. [Google Scholar] [CrossRef] [Green Version]
- Alexandridis, A.; Chondrodima, E.; Efthimiou, E.; Papadakis, G.; Vallianatos, F.; Triantis, D. Large Earthquake Occurrence Estimation Based on Radial Basis Function Neural Networks. IEEE Trans. Geosci. Remote. Sens. 2014, 52, 5443–5453. [Google Scholar] [CrossRef]
- Gorbachenko, V.I.; Zhukov, M.V. Solving boundary value problems of mathematical physics using radial basis function networks. Comput. Math. Math. Phys. 2017, 57, 145–155. [Google Scholar] [CrossRef]
- Wan, C.; Harrington, P. Self-Configuring Radial Basis Function Neural Networks for Chemical Pattern Recognition. J. Chem. Inf. Comput. Sci. 1999, 39, 1049–1056. [Google Scholar] [CrossRef]
- Yao, X.; Zhang, X.; Zhang, R.; Liu, M.; Hu, Z.; Fan, B. Prediction of enthalpy of alkanes by the use of radial basis function neural networks. Comput. Chem. 2001, 25, 475–482. [Google Scholar] [CrossRef]
- Shahsavand, A.; Ahmadpour, A. Application of optimal RBF neural networks for optimization and characterization of porous materials. Comput. Chem. Eng. 2005, 29, 2134–2143. [Google Scholar] [CrossRef]
- Wang, Y.P.; Dang, J.W.; Li, Q.; Li, S. Multimodal medical image fusion using fuzzy radial basis function neural networks. In Proceedings of the 2007 International Conference on Wavelet Analysis and Pattern Recognition, Beijing, China, 2–4 November 2007; pp. 778–782. [Google Scholar]
- Mehrabi, S.; Maghsoudloo, M.; Arabalibeik, H.; Noormand, R.; Nozari, Y. Congestive heart failure, Chronic obstructive pulmonary disease, Clinical decision support system, Multilayer perceptron neural network and radial basis function neural network. Expert Syst. Appl. 2009, 36, 6956–6959. [Google Scholar] [CrossRef]
- Veezhinathan, M.; Ramakrishnan, S. Detection of Obstructive Respiratory Abnormality Using Flow—Volume Spirometry and Radial Basis Function Neural Networks. J. Med. Syst. 2007, 31, 461. [Google Scholar] [CrossRef]
- Momoh, J.A.; Reddy, S.S. Combined Economic and Emission Dispatch using Radial Basis Function. In Proceedings of the 2014 IEEE PES General Meeting|Conference & Exposition, National Harbor, MD, USA, 27–31 July 2014; pp. 1–5. [Google Scholar] [CrossRef]
- Guo, J.-J.; Luh, P.B. Selecting input factors for clusters of Gaussian radial basis function networks to improve market clearing price prediction. IEEE Trans. Power Syst. 2003, 18, 665–672. [Google Scholar]
- Falat, L.; Stanikova, Z.; Durisova, M.; Holkova, B.; Potkanova, T. Application of Neural Network Models in Modelling Economic Time Series with Non-constant Volatility. Procedia Econ. Financ. 2015, 34, 600–607. [Google Scholar] [CrossRef] [Green Version]
- Dagum, L.; Menon, R. OpenMP: An industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 1998, 5, 46–55. [Google Scholar] [CrossRef] [Green Version]
- Powell, M.J.D. A Tolerant Algorithm for Linearly Constrained Optimization Calculations. Math. Program. 1989, 45, 547. [Google Scholar] [CrossRef]
- Kaelo, P.; Ali, M.M. Integrated crossover rules in real coded genetic algorithms. Eur. J. Oper. 2007, 176, 60–76. [Google Scholar] [CrossRef]
- Schäfer, E. A new approach to explain the “high irradiance responses” of photomorphogenesis on the basis of phytochrome. J. Math. Biol. 1975, 2, 41–56. [Google Scholar] [CrossRef]
- Robertson, H.H. The Solution of a Set of Reaction Rate Equations. In Numerical Analysis: An introduction; Walsh, J., Ed.; Academic Press: Cambridge, MA, USA, 1967; pp. 178–182. [Google Scholar]
- Hairer, E.; Wanner, G. Solving Ordinary Di Erential Equations II: Sti and Di Erential-Algebraic PROBLEMS, 2nd revised ed.; Springer: Berlin/Heidelberg, Germany, 1996. [Google Scholar]
- Cash, R.; Considine, S. An MEBDF code for stiff initial value problems. Acm Trans. Math. Softw. 1992, 18, 142–158. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).