In a two-market genetic algorithm applied to a constrained optimization problem, two ‘markets’ are maintained. One market establishes fitness in terms of the objective function only; the other market measures fitness in terms of the problem constraints only. Previous work on knapsack problems has shown promise for the two-market approach. In this paper we: (1) extend the investigation of two-market GAs to nonlinear optimization, (2) introduce a new, two-population variant on the two-market idea, and (3) report on experiments with the two-population, two-market GA that help explain how and why it works.