2
$\begingroup$

I would like to formulate the graph crossing minimization problem as a MI(N)LP (it's ok if it is non linear) : given a graph $G(V,E)$, what is the minimum number of edge crossings in any drawing of $G$?

A natural way of starting is to define $(x_v,y_v) \in \mathbb{R}^2$ variables for coordinates of each vertex $v$, and a binary variable $\delta_{e,f} \in \{0,1\}$ which takes value $1$ if edges $e$ and $f$ cross one another. With such variables, the problem is to minimize $\sum_{(e,f)\in E}\delta_{e,f}$ subject to "crossing constraints", where crossing constraints enforce $$ e,f \quad \text{cross} \implies \delta_{e,f}=1 $$

How can I formulate this logical constraint ? (Other formulations with different variables are accepted).

$\endgroup$
1
  • $\begingroup$ To get you started, I suggest taking a look here. These are Python implementations to detect if line segments cross, but you could translate them into the MINLP world. $\endgroup$ Commented Jun 28 at 9:21

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.