I am interested in the following problem dealing with the optimization of traffic lights on the intersection illustrated below:
The goal is maximize the duration during which each movement $m\in M=\{a,...,j\}$ has a green light, subject to the following constraints:
- incompatible movements cannot be done simultaneously
- each movement has to have a green light for at least $s$ seconds
- the duration of a complete cycle must equal $C$ seconds
One strategy is to:
- Consider the compatibility graph $G=(V,E)$ (an edge exists between two movements if they can be done simultaneously):
- Find a vertex cover of cliques (sets of pairwise compatible movements) ordered in a circular fashion:
- Solve the following linear program: let $t_i$ be a continuous variable representing duration of green light for clique $K_i$, and maximize $\sum_{m\in M}\sum_{i|m\in K_i} t_i$ subject to $\left\{\sum_i t_i=C,\sum_{i|m\in K_i} t_i \ge s \; \forall m\in M \right\}$.
I find Step 2 (order the maximal cliques in a circular fasion) to be a bit tedious and am trying to figure out a (mixed integer) linear formulation for this problem. Any suggestions are welcome.


