(ISSN 2455-5061)
Journal of Science & Engineering Education
(ISSN 2455-5061)
Vol. –2,, Page-35-39, Year-2017
35
Simple Optimization (SOPT) for Nonlinear Constrained Optimization
Problem
Vivek Kumar Chouhan
*, Joji Thomas
**, S. S. Mahapatra
****
Student, Department of Mechanical Engineering, Christian College of Engineering and Technology, Bhilai,
Chhattisgarh, India, [email protected]
**
Associate Professor, Department of Mechanical Engineering, Christian College of Engineering and
Technology, Bhilai, Chhattisgarh, India, [email protected]
***
Professor, Department of Mechanical Engineering, National Institute Technology, Rourkela, Orissa, India,
[email protected]
Abstract
In recent years, Meta-heuristic algorithm becomes popular for solving optimization problems. There are problems which are difficult to solve using traditional methods. SOPT is an efficient meta-heuristic technique to solve such nonlinear problems. In this paper, SOPT algorithm is coded using MATLAB and three test functions for constrained optimization having different characteristic are run. The example considered for this algorithm were attempted previously by various researchers using different optimization techniques such as League championship algorithm(LCA), Particle swarm optimization(PSO), Artificial bee colony(ABC). However, Comparison between results obtained by the proposed algorithm and those obtained by different optimization algorithm shows the better performance of proposed algorithm.
Index Terms: SOPT, Meta-heuristics, constrained optimization.
1. INTRODUCTION
In an Optimization technique a real function is maximized or minimized by selecting input values from a given set of values[9]. A general optimization problem selects n decision variables
x
1,
x
2...
x
nfrom a feasible region in order to optimize (either maximize or minimize) a given objective functionf
(
x
1,
x
2,....
x
n)
of n decision variable. These types of problems may either be linear or nonlinear. Most of the real world problems are nonlinear in nature. In a Nonlinear programming problem the objective function is nonlinear and feasible region may be formed by nonlinear constraints. Thus general equation for nonlinear program for maximization can be written as:𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑒𝑓(𝑥1, 𝑥2, … . 𝑥𝑛)
𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑒𝑑 𝑡𝑜:
𝑔𝑗 𝒙 ≥ 0 𝑗 = 1,2, … … . 𝐽
𝑘 𝒙 = 0 𝑘 = 1,2, … … 𝐾
𝑥𝑖(𝐿)≤ 𝑥 ≤ 𝑥𝑖(𝑈) 𝑖 = 1,2 … … 𝑁
Decision variables (x): These are the quantities which are needed to be determined.
Objective function f(x): These are expressions which are to be maximized or minimized.
Upper and lower bound(x(U), x(L)): These are the maximum and minimum limit assigned for the decision variable.
Constraints: These are the conditions for the variables that are needed to be satisfied.
There are basically two approaches for solving the optimization problems:
1) Traditional 2) Meta-heuristic
1.1 Traditional approach
Journal of Science & Engineering Education
(ISSN 2455-5061)
Vol. –2,, Page-35-39, Year-2017
36
they are moved systematically towards the optimum. These problems do not guarantee an optimum solution but it has been seen that for most of the problems they give near optimum solutions.
1.2 Meta-heuristic approach
Meta-heuristic algorithm is an iterative generation process it utilizes the concept of exploring and exploiting the search space efficiently in order to find near optimal solution. Here starting with a feasible solution. In each iteration, search the neighbourhood of the current solution and terminate when a better solution is obtained. This technique may be
Trajectory based method:
Here search process is identified by a trajectory in the search space.
It focuses on modifying and improving a single solution.
Tabu search, simulated annealing
Population based method:
Every step of search process has a population-a set of solution.
It maintains and improves a set of solutions.
Genetic algorithm, bee colony optimization, ant colony optimization.
2. LEAGUE CHAMPIONSHIP ALGORITHM,
PARTICLE SWARM OPTIMIZATION,
ARTIFICIAL BEE COLONY
2.1 League championship algorithm [3]
It is a population based algorithm. Idea came from competition of sport teams in a sport league, team plays for several weeks (Iterations). League schedule is given, a number of individual as a team plays in pairs and the outcome of the game is decided as team wins or loses the match. Playing strength (fitness value) with teams intended formations are given. Modelling a match analysis, each team makes its own playing strategy (New solution) for the next week contest and the process is repeated for several number of seasons.
2.2 Particle swarm optimization [2]
It optimizes the problem having the candidate solutions, dubbed particles are moved around in the search space according to the simple mathematical equations over the particles position and velocity. Its local best known position called 𝒑𝒃𝒆𝒔𝒕and the best known position of the entire swarm called 𝒈𝒃𝒆𝒔𝒕 which influences each particle movement. This way swarm moves toward best solution.
The possible solution of the function to be optimized is given by position of the particle which is updated in each iteration using equation (2). Velocity of a particle in each iteration is given by equation (1). If 𝑅 is range of vector 𝑥
the velocity is normally initialized in the range (−R, +R).
𝑣𝑖 = 𝜔𝑣𝑖+ 𝜑𝑝𝑟𝑝 𝒑𝐁𝐞𝐬𝐭i− 𝑥𝑖 + 𝜑𝑔𝑟𝑔(𝒈𝐁𝐞𝐬𝐭 − 𝑥𝑖) (1) 𝑥𝑖 = 𝑥𝑖+ 𝑣𝑖 (2) The parameter ω is called the inertia weight and controls the magnitude of the old velocity in the calculation of the new velocity, whereas 𝜑𝑝 and 𝜑𝑔 determine the
significance of 𝒑𝒃𝒆𝒔𝒕 and 𝒈𝒃𝒆𝒔𝒕 respectively 𝑟𝑝 and𝑟𝑔
are the random numbers generated in the range [0,1]. 𝑣𝑖 at
any iteration is constrained by the parameter𝑣𝑚𝑎𝑥which is normally taken about 20% of the range of 𝑣. If in any iteration position of the particle crosses the boundary then velocity is adjusted so that particles position reaches to the boundary which is called clamping of velocity.
2.3 Artificial bee colony [1]
In ABC algorithm, the position of a food source represents a possible solution to the optimization problem. This algorithm simulates the intelligent foraging behaviour of a honeybee swarm.
The colony consist of three types of bees: employed bees, onlooker bees, scouts. Employed bee search for food around food source in memory and shares this information with the onlooker bee waiting in the hive. This information contains distance, direction and location. The nectar amount of food source decides the quality (fitness) of the associated solution. The onlooker bees checks its nectar amount and its closeness to the hive, if new food source is having higher nectar (better fitness) then it forgets the previous food source and remembers only new one. Then the nectar is loaded from food source and unloaded to the food store after that it might dance and other nest mate recruited before returning to the same food source. A scout may an onlooker who tries to find out the food source with the information given by employed bees. Searching of nearby food source by employed and onlooker bees are done according to following equation.
𝑣𝑖𝑗 = 𝑥𝑖𝑗 + ∅𝑖𝑗(𝑥𝑖𝑗 − 𝑥𝑘𝑗)
Where,
𝑖, 𝑘 ∈ 1,2 … . . 𝑁𝑆 𝑁𝑆 𝑖𝑠 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑓𝑜𝑜𝑑 𝑠𝑜𝑢𝑟𝑐𝑒𝑠 and
𝑗 ∈ 1,2 … … 𝐷 𝐷 𝑖𝑠 𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛 𝑜𝑓 𝑡𝑒 𝑝𝑟𝑜𝑏𝑙𝑒𝑚. 𝑘 and
𝑗 are randomly chosen indexes. ∅𝑖𝑗 is a random number
Journal of Science & Engineering Education
(ISSN 2455-5061)
Vol. –2,, Page-35-39, Year-2017
37
3. SOPT [4]
It is a population based algorithm and iterations are performed basically in two stages named exploration and exploitation steps. Which are performed one by one. In Exploration stage, where best solution is generated using equation (1), if obtained solution is better than the worst solution in population then worst solution is replaced by new generated solution.
𝑋𝑖,𝑛𝑒𝑤 = 𝑋𝑖,𝑏𝑒𝑠𝑡 + 𝐶1× 𝑅𝑖 (1) Similarly Exploitation step is performed using equation (2)
𝑋𝑖,𝑛𝑒𝑤 = 𝑋𝑖,𝑏𝑒𝑠𝑡 + 𝐶2× 𝑅𝑖 (2) and operation continues repeatedly until a final condition is met. Where,
𝑋
𝑖,𝑛𝑒𝑤 is the𝑖
𝑡 parameter of the new solution for any iteration performed.𝑋
𝑖,𝑏𝑒𝑠𝑡 is the𝑖
𝑡 parameter of the best solution in the same iteration.C1, C2are the positive constant and C2 is half of C1.Ri is the
normally distributed random variable with a mean zero.
𝜎
𝑖 is the standard deviation of𝑖
𝑡 parameter of all themembers in the population. Value of control variable C1
can be taken in between 1 to 2. Value of control variable C2 is automatically decided as half of value of C1 [5].
There are algorithms which do not contain any control parameters e.g. TLBO, Jaya algorithm [8] and other algorithms are having more numbers of control parameters. SOPT is an algorithm which is having only one control parameter effectively. It also make only two function evaluations in each iteration and therefore computationally less expensive if problem is solved in same number of iterations. The main advantage of SOPT is its simplicity with equivalent efficiency.
4. TEST PROBLEMS
Problem 1 Minimize 2 2 2 1 2 2 2
1
11
)
(
7
)
(
)
(
x
x
x
x
x
f
Subjected to:0
)
5
.
2
(
)
05
.
0
(
84
.
4
)
(
2 22 1
1
x
x
x
g
0
84
.
4
)
5
.
2
(
)
(
12 2 22
x
x
x
g
0
,
21
x
x
Problem 2
Minimize
f
(
x
)
x
12
(
x
2
1
)
2Subjected to:
0
)
(
x
x
2
x
12
h
1
,
21
x
x
1
,
21
x
x
Problem 3 Maximize 2 1 2 2 2 1 21
2
2
4
6
2
)
(
x
x
x
x
x
x
x
f
Subjected to:
0
2
)
(
12 21
x
x
x
g
5
5
)
(
1 22
x
x
x
g
0
,
21
x
x
5. RESULT AND DISCUSSION
SOPT algorithm is coded in MATLAB and in this algorithm C1 is taken as 1.5 and C2 is 0.75 that is half of
C1. Three test problems are selected to check the
performance of SOPT and the results are compared with the results obtained by LCA, PSO [7], ABC [6]. Each time SOPT gives fairly good result.
The Values obtained by solving the objective functions for Problem1are x1= 2.246815, x2= 2.381661, function value obtained= 13.59085and for Problem2x1=0.7076, x2=0.5007, function value obtained = 0.75 and for Problem3 x1= 0.658872, x2= 0.86822, function value obtained= 6.61309. For solving problem 1 and problem 3 less than 1000 iterations are required as shown in figure 4 and figure 6, while solution for problem 2 is obtained in less than 300 iterations as shown in figure 5. Figures 1 to 3 shows the surface plot of the objective function. Problem 3 is a maximization type of problem which is first converted to minimization type by multiplying it by -1 [9].
Table-1: function values obtained for constrained optimization problem
LCA PSO ABC SOPT
Problem 1 13.590 85 13.590 8
13.5911 13.590851 45 Problem
2
0.7499 0.75 0.75 .75 Problem
3
6.6130 86
Journal of Science & Engineering Education
(ISSN 2455-5061)
Vol. –2,, Page-35-39, Year-2017
38
Fig-1: Surface plot of function 1
Fig-2: Surface plot of function 2
Fig-3: Surface plot of function 3
Fig- 4: Convergence curve for function 1
Fig-5: convergence curve for function 2
Fig-6: Convergence curve for function 3
6. CONCLUSION
For the optimization purpose a number of Meta-heuristic algorithms are used. SOPT is a population based algorithm consists of two stages: exploration and exploitation. Iterations are to be done for each stage and for each iteration there are two function evaluations. Here only one parameter is required to be set so that number of problems with different parameters can be solved. But in other algorithms parameters are more, to get a best set of parameter value number of experiments are to be performed. A result of experiment shows that SOPT performs satisfactory to get optimum value. It can also be used for multi-objective constraints problems.
REFERENCES
[1]. D. Karaboga, B. Akay , 2009 ― A comparative study of
Artificial Bee Colony algorithm‖ Appl. Math.comput. 214(1), 108-132.
[2]. J. Kennedy and R.C.Eberhart, ― Particle Swarm
Optimization‖, IEEE International Conference on Neural Networks, Vol. 4, pp1942–1948,1995.
[3]. Ali HusseinzadehKashan, 2011 ―An efficient algorithm for
constrained global optimization and application
0 2
4 6
0 2 4 6 0
500 1000 1500 2000 2500
x2 x1
f(
x
1
,x
2
)
-1 -0.5
0 0.5
1
-1 0 1 0 1 2 3 4 5
x1 x2
f(
x
1
,x
2
)
0
5
10
0 5 10 -200 -100 0 100
x1 x2
f(
x
1
,x
2
)
0 200 400 600 800 1000 0
100 200 300 400 500
Number of Iterations
F
u
n
c
ti
o
n
V
a
lu
e
s
0 50 100 150 200 250 300 0.75
0.75 0.75 0.7501 0.7501 0.7501
Number of Iterations
F
u
n
c
ti
o
n
V
a
lu
e
0 200 400 600 800 1000
-7 -6.5 -6 -5.5 -5 -4.5
Number of Iterations
F
u
n
c
ti
o
n
V
a
lu
e
Journal of Science & Engineering Education
(ISSN 2455-5061)
Vol. –2,, Page-35-39, Year-2017
39
tomechanical engineering design: League championshipalgorithm (LCA)‖ comp.-aided design 43(2011) 1769-1792
[4]. J. Thomas, S. S. Mahapatra, ―Improved Simple
optimization (SOPT) algorithm for unconstrained nonlinear optimization problem‖, Elsevier Academic press, 2016
[5]. O. Hasancebi, K. S. Azad, 2012. An efficient
meta-heuristic algorithm for engineering optimization: SOPT. Int. J. Optim. Civ. Eng.4 (2), 479—487.
[6]. G. L. Rakesh, J. Thomas and S. S. Mahapatra 2013
―Application of Particle Swarm Optimization in Engineering Design‖CPIE(2013), 1213
[7]. Ying Dong, Jiafu tang, BaodongXu and Dingwei Wang 2005 ― An application of swarm optimization tononlinear programming‖, ElsevierComp. And math. With application 49 (2005) 1655-1668
[8]. R V Rao, 2015, ―Jaya: A simple and new optimization algorithm for solving constrained and unconstrained optimization problems‖, International Journal of Industrial Engineering Computations 7 (2016) 19–34.