Evolutionary algorithms are heuristic methods that operate on a population of individuals, which represent candidate solutions to optimization problems. Individuals with better quality, or fitness, are reproduced at a higher rate than less fit individuals by recombination and mutation. This process of selection and reproduction, based on fitness, models competition between individuals and leads to survival-of-the-fittest. Although this process lays at the foundation of evolutionary algorithms, the simplistic assumption that a single criterion can describe the quality of individuals is often unmet in real world problems, where multiple objectives or constraints have to be combined in the same fitness function. Furthermore, in nature, survival-of-the-fittest does not derive uniquely from competition, but is better seen as the outcome of an ongoing process of competition in parallel to a process of elimination of non-fit individuals. To resolve this mismatch and model different criteria for individuals separately, the Viability Evolution paradigm has been proposed in the literature. While the idea was previously introduced at a conceptual level, it had not yet been put to the test and lacks experimental validation. Here, we bridged this gap and tested whether viability-inspired evolutionary algorithms could confer advantages over the traditional evolutionary computation paradigm based on fitness. We started by investigating the evolutionary dynamics of a simple viability evolutionary method, and we analyzed the diversity of evolving populations. We also showed that the additional information available to a viability-based algorithm, such as the number of non-viable individuals for each viability criteria, can be exploited during the search for achieving better performance on optimization problems. In particular, we devised viability algorithms for constrained optimization, which outperformed current state-of-the-art methods on a well-known set of constrained optimization benchmarks. Furthermore, we embedded one of our algorithms into a novel framework for predicting structures of protein assemblies at atomic resolution. Finally, we used evolutionary methods to optimize neural networks in the context of a neuroscience investigation on the role of noise in animal behaviors. Noise is a ubiquitous feature of neural systems, but how it affects behaviors is far from being fully understood. After collecting large-scale measurements of Drosophila walking, we used evolutionary algorithms to search for neural networks that could match observed patterns of Drosophila spontaneous and odor-induced walking. By combining dynamical systems analysis and simulations, we showed how a noise-mediated memory of odor exposure accounts for the observed responses. In conclusion, this thesis contributes to evolutionary computation by testing the Viability Evolution paradigm and by proposing efficient viability evolutionary algorithms for constrained optimization. Furthermore, this thesis contributes to biology, by providing a new viability-based framework for predicting protein assemblies and by elucidating a mechanism through which neural noise may shape animal behaviors.