Abstract

Particle Swarm Optimization is a metaheuristic optimization algorithm widely used across a broad range of applications. The algorithm has certain primary advantages such as its ease of implementation, high convergence accuracy, and fast convergence speed. Nevertheless, since its origin in 1995, Particle swarm optimization still suffers from two primary shortcomings, i.e., premature convergence and easy trapping in local optima. Therefore, this study proposes modified chaotic particle swarm optimization with uniform particle initialization to enhance the comprehensive performance of standard particle swarm optimization by introducing three additional schemes. Firstly, the initialized swarm is generated through a uniform approach. Secondly, replacing the linear inertia weight by introducing the nonlinear chaotic inertia weight map. Thirdly, by applying a personal learning strategy to enhance the global and local search to avoid trap in local optima. The proposed algorithm is examined and compared with standard particle swarm optimization, two recent particle swarm optimization variants, and a nature-inspired algorithm using three software effort estimation methods as benchmark functions: Use case points, COCOMO, and Agile. Detailed investigations prove that the proposed schemes work well to develop the proposed algorithm in an exploitative manner, which is created by a uniform particle initialization and avoids being trapped on the local optimum solution in an explorative manner and is generated by a personal learning strategy and chaotic-based inertia weight.

Highlights

  • Software effort estimation (SEE) is an early activity in the software life cycle

  • For each estimation method, 80 experiments are performed using a combination of 10 values of p = 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, and eight chaotic maps = Bernoulli, Chebyshev, Circle, Gauss, Logistic, Sine, Singer, and Sinusoidal, which can be defined as pairs of (10, Bernoulli), (10, Chebyshev), . . . , (100, Sinusoidal)

  • Particle swarm optimization (PSO) still suffers from two primary shortcomings— premature convergence and easy trap in local optima

Read more

Summary

Introduction

Software effort estimation (SEE) is an early activity in the software life cycle. SEE estimates the level of effort and the cost required to develop a new software system. Estimating the required effort is essential because software organizations are obligated to release software within a given time frame and within a certain cost. The accuracy of estimating effort and cost is an essential factor in SEE to successfully avoid the time and budget overruns for overall software delivery [2,3]. To achieve this goal, during the last decade, efforts to create an estimation method have been proposed using parametric, expert judgement, learning oriented techniques, regression based methods, dynamic based models, and composite methods [4]

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call