  Dynamic optimization problems have gained significant attention in
evolutionary computation as evolutionary algorithms (EAs) can easily adapt to
changing environments. We show that EAs can solve the graph coloring problem
for bipartite graphs more efficiently by using dynamic optimization. In our
approach the graph instance is given incrementally such that the EA can
reoptimize its coloring when a new edge introduces a conflict. We show that,
when edges are inserted in a way that preserves graph connectivity, Randomized
Local Search (RLS) efficiently finds a proper 2-coloring for all bipartite
graphs. This includes graphs for which RLS and other EAs need exponential
expected time in a static optimization scenario. We investigate different ways
of building up the graph by popular graph traversals such as
breadth-first-search and depth-first-search and analyse the resulting runtime
behavior. We further show that offspring populations (e. g. a (1+$\lambda$)
RLS) lead to an exponential speedup in $\lambda$. Finally, an island model
using 3 islands succeeds in an optimal time of $\Theta(m)$ on every $m$-edge
bipartite graph, outperforming offspring populations. This is the first example
where an island model guarantees a speedup that is not bounded in the number of
islands.
