This is the 'Chaotic Gravitational Search Algorithm' Mathlab code for Solving Engineering design Benchmarks. Change 'benchmark_functions.m' and 'benchmark_functions_details.m' for your own applications like solving other engineering problems and numerical optimization frameworks. //// sajad.win8@gmail.com \\\\ functions: Main.m : Main function for using Chaotic GSA algorithm. CHGSA: Chaotic Gravitational Search Algorithm GSA.m : Gravitational Search Algorithm. bbo.m :Biogeograpgy Based Optiumization pso.m: Particle Swarm Optimization DE.m: Differential Evolution GWO.m: Grey Wolf Optimizer SCA.m: Sine Cosine Algorithm SSA.m: Salp Swarm Algorithm PSOGSA.m: Particle Swarm Optimization and Gravittaional Search Algorithm CPSOGSA: Constriction Coefficient based particle swarm optimization and Gravitational Search Algorithm GA.m: Genetic Algorithm ACO.m: Any Colony Optimization chaos.m : For getting graphs of ten chaotic maps crossover_continious : It is for calculating the cross_over rate of agents in successive generations mutation_continious: It is used for changing the diversity of agents and helps in exploitation of the candidate solutions. Geinitialization : It is utilized for exploration of the search space i.e. Diversification. initializationGWO: Randomized initialization of GWO searcher agents. initializationSCA: Initialization of SCA agents. initializationSSA: Initialization of SSA optimization algorithm searcher agents for randomization. RouletteWheelSelection.m : finds optimal candidate solutions. selection.m : Particulaily used in GA, for increasing local exploration rate. initialization.m : initializes the position of agents in the search space, randomly. Gfield.m : calculates the accelaration of each agent in gravitational field. move.m : updates the velocity and position of agents. massCalculation.m : calculates the mass of each agent. Gconstant.m : calculates Gravitational constant. space_bound.m : checks the search space boundaries for agents. Scatter Plot.m: Fot getting correlation between best solutions of algorithms. evaluateF.m : Evaluates the agents. benchmark_functions.m : calculates the value of cost function. benchmark_functions_details.m : gives boundaries and dimension of search space for design cost functions.
SajadAHMAD1/Chaotic-GSA-for-Engineering-Design-Problems
All nature-inspired algorithms involve two processes namely exploration and exploitation. For getting optimal performance, there should be a proper balance between these processes. Further, the majority of the optimization algorithms suffer from local minima entrapment problem and slow convergence speed. To alleviate these problems, researchers are now using chaotic maps. The Chaotic Gravitational Search Algorithm (CGSA) is a physics-based heuristic algorithm inspired by Newton's gravity principle and laws of motion. It uses 10 chaotic maps for global search and fast convergence speed. Basically, in GSA gravitational constant (G) is utilized for adaptive learning of the agents. For increasing the learning speed of the agents, chaotic maps are added to gravitational constant. The practical applicability of CGSA has been accessed through by applying it to nine Mechanical and Civil engineering design problems which include Welded Beam Design (WBD), Compression Spring Design (CSD), Pressure Vessel Design (PVD), Speed Reducer Design (SRD), Gear Train Design (GTD), Three Bar Truss (TBT), Stepped Cantilever Beam design (SCBD), Multiple Disc Clutch Brake Design (MDCBD), and Hydrodynamic Thrust Bearing Design (HTBD). The CGSA has been compared with seven state of the art stochastic algorithms particularly Constriction Coefficient based Particle Swarm Optimization and Gravitational Search Algorithm (CPSOGSA), Standard Gravitational Search Algorithm (GSA), Classical Particle Swarm Optimization (PSO), Biogeography Based Optimization (BBO), Continuous Genetic Algorithm (GA), Differential Evolution (DE), and Ant Colony Optimization (ACO). The experimental results indicate that CGSA shows efficient performance as compared to other seven participating algorithms.
MATLAB