Optimization problems come in many forms, including linear, nonlinear, convex, and combinatorial. Since the majority of problems of combinatorial nature are non-deterministic, genetic algorithms are a popular choice for solving them, for it is an easy and structured approach to solving them.
A linear optimization problem has the following form
What matter most is that the linear problems are approximations of non-linear ones. An as almost everything in nature is nonlinear, we can make only rough predictions of the behavior of the system, using linearization techniques to transform it into a linear one.
Nonlinear problems involves the use of nested, or recursive structures, such as trees and graphs. The traveling salesperson problem is a classic example of a nonlinear problem. So are the problem of verifying arrays of input data to determine if they are valid or not. Or problems involving games and interactions between agents, that have adaptative behavior, according to the evolution of the game's states.