A Modified Jaya Algorithm for Mixed-Variable Optimization Problems

Abstract Mixed-variable optimization problems consist of the continuous, integer, and discrete variables generally used in various engineering optimization problems. These variables increase the computational cost and complexity of optimization problems due to the handling of variables. Moreover, there are few optimization algorithms that give a globally optimal solution for non-differential and non-convex objective functions. Initially, the Jaya algorithm has been developed for continuous variable optimization problems. In this paper, the Jaya algorithm is further extended for solving mixed-variable optimization problems. In the proposed algorithm, continuous variables remain in the continuous domain while continuous domains of discrete and integer variables are converted into discrete and integer domains applying bound constraint of the middle point of corresponding two consecutive values of discrete and integer variables. The effectiveness of the proposed algorithm is evaluated through examples of mixed-variable optimization problems taken from previous research works, and optimum solutions are validated with other mixed-variable optimization algorithms. The proposed algorithm is also applied to two-plane balancing of the unbalanced rigid threshing rotor, using the number of balance masses on plane 1 and plane 2. It is found that the proposed algorithm is computationally more efficient and easier to use than other mixed optimization techniques.


Introduction
Various optimization problems deal with integer, discrete, and continuous variables, known as mixedvariable optimization problems. However, many practical design problems consider only discrete and integer variables. Like structural design, the number of bolts for a connection, balancing of the rotor using a set of the balance masses on each plane, and standard diametric pitch of the gear are some examples of discrete variable optimization problems due to a predefined set of standard values. Integer variables are often used for identical elements in engineering design problems such as the number of teeth of a gear [4]. Most researchers have been focused on continuous variable optimization algorithms, where optimum values of design variables lie within their bounds. However, these algorithms are not sufficient for practical design problems due to a predefined set of design variables. Therefore, in recent years, the mixed-variable optimization methods are developed for real-world optimization problems. However, mixed-variable optimization problems can be solved by two classes of optimization techniques: classical and evolutionary techniques. Classical techniques, such as sequential linear programming [24], branch and bound methods [5,22,40], a penalty function approach [14,41], Lagrangian relaxation [15,18], rounding-off techniques based on continuous variables, cutting plane techniques, and zero-one variable techniques (integer programming) [1] have been applied to mixed-variable optimization problems in order to find out the optimum design variables. However, these methods include more computational cost, low efficiency, and low complexity due to the determination of derivatives and the Hessian matrix of the objective function [3]. Moreover, most of these algorithms work on continuous and differentiable objective function. Further, these give local optimal solution due to convergence on optimal solution near the start point [2].
However, the performance of these algorithms can be affected due to the requirement of algorithmic parameters for its convergence. The selection of these optimization parameters increases the complexity of algorithms. However, these algorithms cannot guarantee giving the global solutions within a definite time. Further, the convergence of these algorithms is slow, thus increasing the computational cost. Moreover, the TLBO algorithm also does not require any algorithmic parameter for its convergence. However, the optimization problems have been solved using two phases: teacher phase and learner phase [9,31,35].
The Jaya algorithm is also an evolutionary algorithm. Initially, it has been developed for continuous design variable optimization problems by Rao [32]. Recently, this algorithm has been implemented for solving integer and discrete variable optimization problems [13]. However, no relevant algorithm has been published in which the Jaya algorithm has been applied for solving the mixed-variable optimization problems or optimization problems associated with all variables. Therefore, a modification is made to the original Jaya algorithm for solving the mixed-variable optimization problems. In the modified Jaya algorithm, integer, discrete, and continuous variables are treated as continuous variables in the initial solution.
Further, continuous variables remain in the continuous domain while continuous domains of integer and discrete variables are converted into discrete and integer domains applying bound constraint of the middle point of corresponding two consecutive values of integer and discrete variables. It works on one phase only and uses an initial population to find an optimum global solution. Moreover, this algorithm finds the optimal solution rapidly and updates the worse solution in every iteration [38,39]. It is easier to use than the other evolutionary optimization algorithms such as ABC, GA, SA, and PSO, etc., and any algorithmic parameters are not required in this algorithm [36]. Furthermore, this algorithm gives a right balance between exploitation and exploration in design space. The robustness and effectiveness of the proposed algorithm are validated through examples of mixed-variable optimization problems taken from the literature, and optimum results are compared with other evolutionary optimization algorithms. It is found that the proposed algorithm is more efficient and easier to use for mixed-variable optimization problems. Continuous and discrete optimization problems can also be solved separately using this algorithm.
The rest of the paper is structured as follows: the optimization problem based on mixed variables is formulated in Section 2. A modified Jaya optimization algorithm is proposed in Section 3, while Section 4 analyzes and validates the results of the proposed algorithm through standard design examples. It is also applied for two-plane balancing of the unbalanced rigid threshing rotor. Finally, conclusions are presented in Section 5.

Formulation of Mixed-Variable Optimization Problems
This section describes the formulation of optimization problems based on mixed variables. The optimization problem is generally formulated similarly as general optimization problems; the only difference is that variables may be in any form of an integer, discrete, and continuous variable. The optimization problems are formulated by considering continuous and discrete variables as a design variable; the optimization problems are known as continuous and discrete optimization problems. Moreover, problems associated with discrete, integer, and continuous variables are known as mixed-variable optimization problems. The mixed-variable optimization problem is defined in mathematical form as where Z(x) and g(x) denote the objective functions and non-equality constraints, respectively. cin denotes the numbers of total inequality constraints. are the upper bounds of ith continuous, discrete, and integer variables, respectively. If there are any equality constraints in the optimization problem, these can be converted into inequality constrains.
The constraint optimization problem described in Eq. (1) is changed into an unconstrained optimization problem using penalty function [42]. The objective function is penalized for an infeasible solution for each constraint violation. Hence, the global optimum solutions, those that satisfy all the constraints, are obtained. Finally, the unconstrained optimization problem is posed as a combination of the objective function and penalty function: where pn r (r = 1 to cin) presents the penalty value of 10 5 assigned to objective function for constraint violation. The Boolean function [28] is represented by C j , defined as

A Modified Jaya Algorithm for Mixed-Variable Optimization Problems
This section describes a modified Jaya algorithm proposed for mixed-variable optimization problems. The original Jaya algorithm has been developed by Rao in 2016. It is a population-based evolutionary algorithm that does not require any parameter for its convergence. It works only on one phase compared to TLBO that works on two phases (teacher and learner phases). This algorithm converges rapidly toward the optimal solution in each iteration [33,37]. The readers may refer to Ref. [32] for the flowchart of original Jaya algorithm. Generally, continuous variables are converted into non-continuous variables using rounding-off operators. Rounding-off operation of a continuous variable may violate the constraints due to the existence of optimal continuous solutions on the boundaries of the functional constraints. Further, researchers check the optimum values for integer and discrete variables before rounding off corresponding continuous variables so that constraints are not violated after rounding off, although this operation increases calculation time.
Therefore, the original Jaya algorithm is modified to handle the various design variables in optimization problems without violation of constraints. This algorithm has no algorithmic parameter and converges fast to the optimal global solution. This algorithm begins with the initialization of parameters. Initial solutions of all variables are generated in continuous space randomly. Further, continuous variables remain in continuous space while the continuous domain of discrete/integer variables is converted into discrete domain by using bound constraint of a middle point of corresponding two consecutive values of discrete and integer variables. For example, the continuous solutions of discrete and integer variables (x nc ij ) lie between corresponding discrete values x nc (k) and x nc (k + 1). Then, the continuous solutions of discrete and integer variables are , as shown in Figure 1. Further, the best and worse solutions of the objective function are compared with previous solutions at each iteration. Thus, the best solution is stored and the worse solution is updated in each iteration. The procedure of this algorithm continues until the termination criteria are satisfied. The termination criteria are described by function evaluations and the number of generations. The number of function evaluations is the product of the number of iterations and initial populations or population size, i.e. (number of function evaluations = population size × number of iterations). Thus, function evaluations are not affected by design variables, but the computational time of the algorithm can be increased. Generally, an algorithm is efficient if it takes the fewer number of function evaluations. The detailed procedure of this algorithm is explained by the flowchart shown in Figure 1. Moreover, this algorithm reduces the computational effort than the other mixed optimization algorithms. However, this is the first time it is applied to mixed optimization problems.

Design Problems
In this section, the effectiveness of the proposed algorithm as described in the previous section is validated through five design problems taken from the literature. These design problems have been tested using other evolutionary mixed optimization algorithms such as EP [7], EA [11], GAs [10,30,34,46], PSOs [16,17,19,23,29,44], ACO [6], ABC [43], TLBO [12], and SAs [20,47]. However, these problems involve continuous, discrete, and integer variables. Moreover, the optimum results of the proposed algorithm are validated to optimum solutions achieved by other algorithms. This algorithm is also applied to two-plane balancing of unbalance rigid threshing rotor. This algorithm is implemented in MatLab. Bold faces in Tables represent the best values of the design variables and the objectives.

Validation of the Proposed Algorithm Through Five Design Problems
The five design problems are given as follows:

Example 1: Design of a welded beam
This design problem includes mixed variables taken from Refs. [21,29], and the objective of this example is to determine the minimum cost of the welded beam design shown in Figure 2. There are seven non-linear and linear constraints. The length of the welded joint (l), thickness of the weld (h), bar breadth (b), and bar thickness (t) are taken as design variables. l and h are two integer variables, while b and t are two discrete variables whose values are multiples of 0.5. These design variables are defined in vector form as The optimization formulation of this design is given as Subjected to , ., ., ., ., ., ., ., ., ., .9.5, 10.0] where The design parameters are taken as P = 6000 lb, E = 30 × 10 6 lbf/in 2 , G = 12 × 10 6 lbf/in 2 , L = 14 in, A total of 20 initial populations and 30 iterations are chosen for this design example. The best objective function values and the mean of all function values corresponding to the best run are obtained in 20 independent runs. The convergence performance of the best and mean values of the objective function is presented in Figure 3. The best and mean values of the objective function are obtained in 600 function evaluations as 4.3521 and 4.3521, respectively. The optimum solutions of the welded beam design are validated with the optimum solutions of other algorithms, as shown in Table 1. Table 1 presents that the proposed algorithm gives a better optimum design than that of Ref. [34] and equal to that of Refs. [29,44]. However, the proposed algorithm takes less function evaluation for finding the best objective function value compared to other evolutionary optimization algorithms.  MDHGA, Mixed discrete hybrid genetic algorithm; HPB, Hybrid particle swarm branch and bound; MPSO, Modified particle swarm optimization. Bold face represent the best values of the design variables and the objective.

Example 2: Pressure vessel design
This design deals with the pressure vessel design taken from the literature [40], as shown in Figure 4. The objective of this design is to minimize the manufacturing cost of the pressure vessel with specific design constraints. The design variables are taken as shell thickness (T s ), spherical head thickness (T h ), radius (R), and shell length (L). T s and T h are the discrete variables whose values are multiples of 0.0625 in, while R and L are defined as continuous variables. The design variables are described in vector form as The optimization problem is posed [40] as Subjected to 0625, 0.1250, 0.1875, 0.2500, ., ., ., ., ., ., 6.00, 6.0625, 6.1250, 6.1875] The number of iterations and initial populations are considered as 100 and 20, respectively, for this example. Ten independent runs are chosen to find the best values of the objective function and mean of all objective function value corresponding to the best run. The convergence rates of the best and mean objective function values are shown in Figure 5. The best and mean values of the objective function are obtained in 2000 function evaluations as 6059.70 and 6059.74, respectively. The optimum results for the design of pressure vessel are shown in Table 2. Table 2 shows that the optimum value of the objective function is better than that of other optimization algorithms. Moreover, the proposed algorithm takes less function evaluation for finding the best objective function value compared to different evolutionary optimization algorithms.

Example 3: Ten-bar planar truss design
A 10-bar planar truss design is taken as an optimization problem shown in Figure 6 [30]. In this truss structure design, a minimization optimization problem is formulated by considering the weight of the truss as the objective function with the constraints of displacements at each nodal point and the stress induced in each member. This problem is based on discrete optimization problems in which cross-sectional areas of each member are discrete variables. The nodes 2 and 4 are subjected to a vertical nodal load of 100 kips. The modulus of elasticity of the material of each bar and the density are considered as E = 10,000 ksi and ρ = 0.1 lb/in 3 , respectively. The allowable displacements for the free nodes and the allowable stress for all members are taken as ±2 in for both directions and ±25 ksi, respectively.
The formulation of the problem is presented as where L i , σ i , u i , and A i are length, stresses, deflection, and cross-sectional area of the i-th member, respectively. For this problem, the initial populations and the number of iterations are set to 10 and 95, respectively. Ten independent runs are performed to find out the best values of the objective function, and the mean of all objective function values correspond to best run. The best and mean values of the objective function in 10 runs are 5490.74 and 5493.54, respectively. This algorithm takes 9500 function evaluations. The convergence plot of the best and mean values of the objective function is shown in Figure 7. The comparison of optimum solutions for planar 10-bar truss is presented in Table 3. Table 3 shows that the optimum objective function value is better than that of Refs. [23,30] and close to that of Refs. [6,12,20,32,43]. However, the proposed algorithm takes less function evaluation for finding the best objective function value compared to other evolutionary optimization algorithms. Thus, the proposed approach is more efficient and reduces the computational cost.

Example 4: A helical spring design
This example consists of the design of helical spring under the constant and axial load, as shown in Figure 8 [29]. The minimization of spring weight is considered as an objective function with certain inequality constraints. The number of spring coils (N), outside diameter of the spring (D), and spring wire diameter (d) are the design variables. This problem involves integer, discrete, and continuous variables, where the number of coils (N) is an integer variable, the outside diameter of the spring (D) is a continuous variable, and the spring wire diameter is a discrete variable, whose standard values are chosen. Design variables are in vector form as The formulation of the optimization problem is posed as min f (x) = π 2 x 2 x 2 1 (x3 + 2) 4 . Subjected to where The values of predefined parameters of spring are given as For this design problem, the number of iterations and initial populations are set to 40 and 20, respectively. Twenty independent runs are chosen to find the best values of the objective function and the mean of all objective function values corresponding to the best run. The convergence performance of the best and mean objective function values is shown in Figure 9. The best and mean values of the objective function are obtained in 800 function evaluations as 2.6585 and 2.7746, respectively. The optimum design of the spring is validated with the results obtained by other algorithms as shown in Table 4. Table 4 shows that the proposed algorithm gives a better optimum value of the objective function than that of Ref. [11] and equal to that of Refs. [17,21,29,44]. However, the proposed algorithm takes less function evaluation for finding the best objective function value compared to other evolutionary optimization algorithms.

Example 5: Compound gear train design
The purpose of this design is to obtain the optimum gear ratio of the gear train arrangement as presented in Figure 10 [16]. The ratio of the output shaft angular velocity to the input shaft angular velocity is known as the gear ratio of the gear train. The effective overall gear ratio G r is expressed as   where ω in and ω out represent input and output shaft angular velocities, respectively, and the number of teeth of each gear is represented by T. The teeth number of each gear is taken as a design variable. However, all design variables are integers whose values lie between 12 and 60. A vector form of design variables is expressed as The optimization problem is posed as The initial populations of 150 and the number of iterations of 100 are decided for this example. The best value of the objective function and the mean of all function values corresponding to best run are obtained for 30 independent runs. The convergence performance of objective function values is shown in Figure 11. The best and mean values of the objective function are obtained in 15,000 function evaluations as 2.7 × 10 −12 and 1.4311 × 10 −7 , respectively. The optimum design of the gear train is validated with the design achieved by other algorithms as shown in Table 5. Table 5 presents that the proposed algorithm gives a nearly same optimum solution of the objective function to that of the different evolutionary algorithm. However, it minimizes the percentage of error known as the difference between the mean and best values of objective functions, compared to other optimization algorithms. Thus, the proposed algorithm can be effectively applied to integer optimization problems.

Application -Two-Plane Balancing of Unbalanced Rigid Threshing Rotor
The proposed algorithm developed in Section 3 is applied for balancing of the rigid threshing rotor. The threshing rotor is an important part of agricultural thresher machine and detaches grains from the panicles by impact action of the beaters attached to the rotor [45]. In this problem, the rotor is balanced by placing the number of discrete masses at corresponding discrete angles on two balanced planes. Moreover, this balancing problem involves only discrete variables. A rotor is mounted on bearings p and q, as shown in Figure 12. A fixed coordinate system is denoted by (x, y, z), while a rotating coordinate (xr , y r , z r) is attached to the shaft rotating at a constant angular velocity ω about the z-axis. The point O denotes the origin of the coordinate system. Two balance planes are centered at points c 1 and c 2 , respectively. The rotor's center of mass is eccentric at a distance of e from the axis of rotation due to imbalance of the rotor. F p and F q are lengths measured from O to the bearings p and q, respectively. The numbers of discrete masses m ij (j = 1 to M i ) placed at radius R i correspond to discrete angular positions α ij made to x-axis on balance plane i (i = 1, 2), as shown in Figure 12. The rotor is described by its mass m and inertia tensor I G . Inertia tensor I G is given as The position of its center of mass G is given as OG(e x , e y) , where e x = ecos(θ + ωt) and e y = esin(θ + ωt).
The equilibrium forces and moments acting on supports are determined. The resultant forces F p and F q acting on supports p and q are determined using the Newton-Euler equation [8] as Moreover, the resultant reaction forces for the unbalanced rotor (when balance masses per plane are placed as zero value) are calculated using Eqs. (15) and (16) as Normalized forces F P,norm and F Q,norm with respect to F Pu and F qu is written as The minimization of reaction forces F p and F q acting on supports is expressed as multi-objective functions with discrete constraints on design variables. These multi-objective functions are converted into a single objective function using appropriate weighting factors having any values of 0, 1, and between 0 and 1 based on the importance of the objective functions. The rotor is balanced by placing the masses at different angular positions at a fixed radius from the finite sets of masses and available angular position for each balancing plane. These masses and angular position per plane are taken as design variables, where x i of design variable for the i-th plane is expressed in vector form as where m ij and α ij are the j-th mass and corresponding angular position of the i-th plane, respectively. Hence, the design vector, x, for the rotor having two balancing planes as shown in Figure 12 is given by The formulation of the optimization problem is expressed as a weighted sum of the reaction forces acting on supports as given in Eqs. (17) and (18) as The discrete constraint to design variables is defined as Where D 1 and D 2 are total numbers of discrete values of masses and discrete values of corresponding angular position, LB i and UB i denote the lower and upper side constraints of i-th design variable, and M and N represent the number of balancing masses and number of design variables, respectively. The weighting factors w 1 and w 2 are used to assign weightage to forces acting on supports. These factors transform the multiple objective functions into a single objective function. The various approaches for selection of the weighting factors are presented in Refs. [25,26]. The weightage defines the importance of the various objective functions. However, both the objective functions have equal importance in the balancing of the unbalance rotor. Therefore, w 1 = 0.5 and w 2 = 0.5 are chosen for this study.        The optimization problem formulated in Eqs. (19) and (20) is applied in three different unbalancing cases of rigid threshing rotor: static, couple, and dynamic unbalanced, respectively. The different inertia and eccentricities components are considered in each case. The numbers of masses M 1 and M 2 are placed on balance plane 1 and 2, respectively, for each case. However, the total numbers of design variables depend on the number of masses. The lower and higher values of discrete variables represent the lower and upper bound of design variables. This algorithm is coded in MatLab. The effectiveness of the algorithm is compared with that of GA for the same problems by placing the number of masses as M 1 = M 2 = 1, M 1 = M 2 = 2, and M 1 = M 2 = 3 on two balance planes for each case. In the case of GA, the population size in the number of masses is taken as 50, 150, and 400, respectively, while the number of iterations is taken as 150, 300, and 3000 in all cases. Twenty independent runs of GA have been carried out to find out the optimum value of the objective function. The function evaluations for three cases are 7500, 45,000, and 12 × 10 5 , respectively. However, the modified Jaya algorithm takes population size for the number of masses as 10, 100, and 300, while 100, 200, and 2500 number of generations are considered in all cases, respectively. Twenty independent runs of the Jaya algorithm have been carried out to find out the optimum value of the objective function. The function evaluations for the number of masses are 1000, 2 × 10 4 , and 7.5 × 10 5 , respectively. The function evaluations of the modified Jaya algorithm for the number of masses are compared with those of GA. Moreover, the modified Jaya algorithm requires 87%, 56%, and 38% less the function evaluations for the number of masses than those needed by GA, as shown in Table 6.
The computational efficiencies of GA and the modified Jaya algorithm for the number of masses in three cases are shown in Figures 13-15, respectively. The optimal solutions for three cases obtained using a modified Jaya algorithm validated with those of the GA algorithm are shown in Tables 7-9, respectively. It is observed that the optimum solutions obtained by the proposed algorithm are better or in good agreement to those of GA. Moreover, the proposed algorithm takes fewer function evaluations to find out the best values of objective functions. Hence, the computation efficiency of the modified Jaya algorithm is better than that of GA.

Conclusion
This paper proposed a modified Jaya algorithm for the mixed-variable optimization problems. The original Jaya algorithm has been developed for continuous optimization problems. Therefore, the Jaya algorithm is further extended for solving mixed-variable optimization problems. In the proposed algorithm, continuous variables remain in the continuous domain while continuous domains of discrete and integer variables are converted into discrete and integer domains applying bound constraint of the middle point of corresponding two consecutive values of discrete and integer variables. Furthermore, the efficiency of the modified Jaya algorithm is demonstrated using five design problems taken from the literature. This algorithm is also applied to two-plane balancing of an unbalanced rigid threshing rotor. Moreover, the optimum results obtained from the proposed algorithm are compared with the results of well-known optimization algorithms. The results show that it takes fewer function evaluations without violation of the design constraints and gives better and nearly close results compared to other optimization algorithms. It also provides better balancing solutions for the unbalanced rigid threshing rotor for all cases with less computational effort. Other mixed, continuous, and discrete variable optimization problems can also be effectively solved using this algorithm. Hence, a modified Jaya algorithm may be an essential tool for a wide range of mixed-variable problems.