In this paper we use colored Petri nets (CPN) to model the dynamics of a railway system: places represent tracks and stations, tokens are trains. Using digraph tools, deadlock situations are characterized and a strategy is established to define off-line a set of constraints that prevent deadlocks. We show that these constraints limit the weighted sum of colored tokens in subsets of places. In particular, we extend the notion of generalized mutual exclusion constraints (GMEC) to CPN and we show that the above constraints, as well as the collision avoidance constraints, can be written as colored GMEC. To solve this problem, we extend the theory of monitor places for place/transition nets to the case of CPN and we show that these constraints can be enforced by a colored monitor place that minimally restricts the behavior of the closed-loop system.