CVRP with vehicles blocking each other

I have a standard CVRPTW (capacitated vehicle routing problem with time windows). The instance is given by a (not complete) graph $$G$$ with weighted $$w$$ directed edges $$e \in E$$, and I have a limited number of vehicles $$v$$ with a capacity $$k$$ and costumers $$c_i$$ with demands $$d_i$$ and time windows $$[t_i^l,t_i^u]$$ where they are able to be serviced at some nodes of the graph $$c_i\in V(G)$$. I want to visit all customers with tours not exceeding the capacity in demand and minimize the total distance travelled. So far this is a well known problem.

THE NEW CONSTRAINT: in my situation this is all on company premises and there are many roads that have only one lane or that are dead ends. So there might be a situation where multiple cars take the same one lane road in opposite directions at the same time and then they black each other.

Is there a way to deal with this or similar constraints, where the vehicles might interfere with each other? (I know, I could make one lane roads directed and contract dead ends and make them into one customer, but that is not what I want to do.)

• I would add resource variables for each edge, and constrain the number of resources that can be used per time units, per edge. – Kuifje Jun 18 '20 at 11:52