Application of software solution for solving engineering design optimization problems

Engineering design problems involving a set of continuous, discrete and integer design variables and complex, non-convex objective functions and linear and non-linear constraints represent optimization problems with considerable complexity which are not trivial to solve. In recent years a number of optimization methods, particularly meta-heuristic optimization algorithms, were highlighted as effective optimization tools to deal with this type of engineering design problems. Despite certain advantages, their stochastic nature may be insufficient in dealing with various kinds of variables, constraints and objective functions. This paper discusses the application of developed software solution for solving engineering design optimization problems which is based on deterministic approach, i.e. the use of exhaustive iterative search algorithm. The use of the developed software solution is validated using four standard engineering design problems reported in the referential literature. In all case studies, the determined optimization solutions are equally good or better than those reported from other researchers using algorithms representative of the state-of-the-art in the area.


Introduction
The performance of a complicated engineered product, process, or system could be affected by a high number of parameters (or decision variables) interacting in complicated ways. Modelling and optimization of such design problems is, thus, an active area of research [1]. Whether it is preliminary design, detailed design or prototype system fabrication, optimization concepts and methods are helpful at every stage of the process [2].
Engineering design optimization problems are omnipresent in engineering and industry. In mechanical engineering, while designing a given product or system designers are faced with certain technological requirements, i.e. objectives that final product should be meet (such as strength, deflection, weight, wear, corrosion resistance), while considering a number of design parameters. For example, in tire design it should consider a number of parameters such as belt angle, belt cord spacing, thickness of tread layer, number of cap plies, elasticity of tread compound, etc. and at the same time satisfy as much as possible several objectives such as dry/wet handling and traction, endurance, wear resistance, ride comfort, rolling resistance, aquaplaning, weight, etc. Applications in engineering design range from the design of individual structural members to the design of separate pieces of equipment to the preliminary design of entire production facilities. For purposes of optimization, the shape or structure of the system is assumed to be known, and the optimization problem reduces to that of selecting values of the unit dimensions and operating variables that will yield the best value of the  [3]. Design optimization of a gear train, radial ball bearing, Belleville spring, multi-plate disc clutch brake, robot gripper, pressure vessel, tension/compression spring, screw jack, clamps, etc. represent typical engineering design optimization problems.
Formulated as classical mathematical optimization problems, these problems usually consider continuous, integer and discrete design variables, multi-dimensional, complex, non-convex and nonlinear objective functions as well as linear and nonlinear constraints of inequality or equality type. Constraints are very important in engineering design problems, since they are normally imposed on the statement of the problems and sometimes are very hard to satisfy, which makes the search difficult and inefficient [4]. These are often written either as simple bounds such as the ranges of material properties or as nonlinear relationships including maximum stress, maximum deflection, minimum load capacity and geometrical configuration [5].
For searching of complex feasible optimization domains with multiple local optimums a number of optimization algorithms and methods were proposed in literature. The most popular methods include traditional optimization methods (direct and gradient-based methods) and in recent time meta-heuristic algorithms such as genetic algorithm (GA), harmony search algorithm (HSA), cuckoo search algorithm (CSA), particle swarm optimization (PSO), ant colony optimization, artificial bee colony, firefly algorithm, simulated annealing, etc. As noted by Gandomi et al. [5], the efficiency of metaheuristic algorithms can be attributed to the fact that they imitate the best features in nature, especially the selection of the fittest in biological systems which have evolved by natural selection over millions of years.
Most traditional optimization methods are designed to work with continuous variables only, in dealing with design problems having discrete variables, these methods do not work well [6]. Since derivative information is not used, the direct search methods are usually slow, requiring many function evaluations for convergence. On the other hand, gradient-based methods quickly converge to an optimal solution, but are not efficient in non-differentiable or discontinuous problems or in cases when the objective function and constraints have multiple or sharp peaks and also when initial solution is not adequately set [7]. In the case of meta-heuristic algorithms, the solution of non-linear problems becomes quite difficult especially when they are heavily constrained [8]. Although these heuristic methods have the advantages of easy implementation for complex problems, they cause convergence difficulties and cannot guarantee the global optimality of the solution. Moreover, the probability of finding the global solution decreases when the problem size increases [9]. Also, as noted by Kovačević et al. [10], specific meta-heuristic algorithm parameters settings have a strong influence on the final solution and there is no universal rule for setting the algorithm parameter values.
Most of the aforementioned methods and algorithms can handle single and multi-objective design optimization problems. Despite numerous optimization methods, every method has certain advantages and disadvantages for implementation in real-life. However, there exists no universal method which is the "best" choice for solving engineering design optimization problems [11]. Above all, some optimization methods can be difficult to use for engineers who are not experts in optimization theory [12].
The idea of this paper was to apply the developed software solution for solving engineering design optimization problems, based on the use of deterministic approach, i.e. application of exhaustive iterative search algorithm. Moreover, the developed software solution incorporates also simple stochastic search algorithm, i.e. Monte Carlo method which can be applied in combination with exhaustive iterative search algorithm. The main purpose of this software prototype is the validation of the engineering design optimization solutions obtained by meta-heuristic algorithms.

Software solution
Software solution "BRUTOMIZER" is a software tool that can be used for solving engineering design optimization problems. It enables the mathematical definition of the mathematical model, definition of a number of constraints (linear and nonlinear of inequality or equality type) and definition of the design (search) space with possible values for each variable. Currently, one deterministic algorithm,

Engineering design optimization problems: case studies
To demonstrate the application and effectiveness of the developed software solution for solving mechanical engineering design optimization problems, four case studies, i.e. gear train design, tension/compression spring design and pressure vessel design were considered. For each case study, a comparative analysis of the solutions obtained by the software solution and the solutions obtained by the previous researchers using other optimization methods is given. In order to demonstrate the efficiency of the developed software prototype the computational time for each case study is presented. The developed software was run on Intel Core i7-2600 CPU@3.4GHz with 12 GB RAM.

Gear train design
Mathematically, gear train design problem is an unconstrained optimization problem. This design problem has four integer variables (Td, Tb, Ta, Tf) and was introduced by Sandgren [14]. A gear train is to be designed to achieve a specific gear ratio between the driver and the driven shafts (figure 2).  Figure 2. A gear train.
The objective of gear train design is to find the number of teeth in each of the four gears so as to minimize the error between the obtained gear ratio and the required gear ratio of 1/6.931 [6]. The gear ratio is defined as follows: Gear ratio db af TT TT where the number of teeth of each gearwheel is integer varying in the range 12-60. The mathematical optimization formulation of gear train design optimization is as follows: The optimization solution obtained by the application of the developed software solution and computational results obtained using different methods are given in table 1. As can be observed from this table, the optimization results are better than those reported by Sandgren [14] and Kannan and Kramer [15] and identical to those obtained by Deb and Goyal [6] and Gandomi et al. [5].

Pressure vessel design
The objective of this case study is to design a pressure vessel that has a given working pressure and volume so as to minimize the total cost, including the cost of the material, forming and welding. A cylindrical pressure vessel capped at both ends by hemispherical heads is presented in figure 3. In this  After considering geometric constraints and other pressure vessel requirements, the final formulation of the pressure vessel design optimization problem is as follows:  The optimization solution obtained by the application of the developed software solution and computational results obtained using different methods are given in table 2. It has been observed that determined optimization solution is significantly better than previously reported optimization solutions and at the same time satisfy all given constraints. Using the developed software solution one can easily check the optimization solutions reported from other authors. While solving this case study it was revealed that optimization solution reported by Sandgren [14] does not satisfy the third constraint g3 and also a considerable difference in objective function values as reported by Cagnina et al. [4] and Gandomi et al. [5] was noticed. Table 2. Optimization solutions for the pressure vessel design case study.

Tension/compression spring design
A very simple design problem in engineering is to design a minimum mass tension/compression spring to carry a given axial load subject to constraints of minimum deflection, shear stress, surge frequency and limits on design variables as shown in figure 4.  Table 3 presents the best optimization solution of this problem obtained using the developed software solution and compares the results with optimization solutions reported by other researchers. It is observed from table 3 that in some reported cases the number of coils (N) is not an integer at the optimum solution. Re-optimization results as reported by Arora [2] are given in brackets. This case study was solved considering number of coils as integer while other two design variables were given up to four decimal places resulting in around 716 millions of possible combinations and optimization solution determination for 45 seconds.

Eason and Fenton's gear train inertia function
Eason and Fenton's function [18] is a minimization problem for the inertia of a gear train. The mathematical formulation of this problem is: ( )  Table 4 presents the best optimization solution of this problem obtained using the developed software solution and compares the results with optimization solutions reported by other researchers. While solving this case study design variables search space was given up to three decimal places. Thus, using the step of 0.001 for design variables x1 and x2, resulted in around 100 millions of possible combinations and the optimization solution was determined in 6 seconds. As in the case of other case studies, more precise determination of optimization solution can be achieved by successive runs of software solutions using smaller search intervals and smaller steps in the vicinity of the previous best solution.

Results and discussion
Many real world engineering design optimization problems involve mixed (involve continuous, binary, discrete and integer variables) design variables. The binary variables are usually involved in the formulation of the design problem to select alternative options. The discrete variables are used to represent standardization constraints such as the diameters of standard sized bolts or plate thicknesses. Integer variables are used to represent the number of gear teeth or number of coils [19]. However, as observed from literature and considered case studies, in an attempt to test new or improved optimization algorithms, majority of optimization studies neglect such facts in searching for optimal solution with a higher number of decimal places. This however, from engineering point of view is impractical since obtained solutions cannot be implemented in practice.
In general, engineering design optimization problems require different formulation and application of specific optimization approach and eventually optimization software to use. Since there is clearly no one universal algorithm that performs best in all categories of optimization problems, numerical experiments to compare new algorithms and software with existing ones is an important area complementing the theoretical analysis of optimization methods [20].
A number of researches and practitioners emphasize the speed of the algorithm to find a "good" solution, even though the solution found is not guaranteed to be the optimum. In this study, however, the presented software solution for solving engineering optimization design problems gives more attention to determination of practical solutions with guaranteed optimality.
The efficiency and practical usability of the developed software solution has also been recently confirmed while solving single and multi-objective manufacturing optimization problems (laser cutting and turning) with several process constraints [21,22].