  Gradient-free optimization methods, such as surrogate based optimization
(SBO) methods, and genetic (GAs), or evolutionary (EAs) algorithms have gained
popularity in the field of constrained optimization of expensive black-box
functions. However, constraint-handling methods, by both classes of solvers, do
not usually guarantee strictly feasible candidates during optimization. This
can become an issue in applied engineering problems where design variables must
remain feasible for simulations to not fail. We propose a constraint-handling
method for computationally inexpensive constraint functions which guarantees
strictly feasible candidates when using a surrogate-based optimizer. We compare
our method to other SBO, GA/EA and gradient-based algorithms on two (relatively
simple and relatively hard) analytical test functions, and an applied
fully-resolved Computational Fluid Dynamics (CFD) problem concerned with
optimization of an undulatory swimming of a fish-like body, and show that the
proposed algorithm shows favorable results while guaranteeing feasible
candidates.
