I'm building a production scheduling optimization model (but not exactly a jobshop, so I can't just use OR tools). I have decision variables for both the start time of each job, and the duration. For each pair of jobs, there is a changeover time that is unique for the permutation. So for example, changeover from Job A to Job B may be 2 hours, but from Job B to Job A may be 3 hours. I want to add constraints to ensure this changeover. In a nonlinear way, I would describe it as:
$$
\mbox{Start}\_A + \mbox{Duration}\_A + \mbox{Changeover}\_{AB} \le \mbox{Start}\_B \quad \mbox{if } \mbox{Start}\_A \le \mbox{Start}\_B \\
\mbox{Start}\_B + \mbox{Duration}\_B + \mbox{Changeover}\_{BA} \le \mbox{Start}\_A \quad \mbox{if } \mbox{Start}\_B \le \mbox{Start}\_A
$$
$\mbox{Start}\_A$, $\mbox{Start}\_B$, $\mbox{Duration}\_A$, $\mbox{Duration}\_B$ all continuous variables $\ge 0$.
$\mbox{Changeover}\_{AB}$ and $\mbox{Changeover}\_{BA}$ are scalars.

How do I formulate these as constraints? I can either produce Job\_A or Job\_B first, there's no requirement of order.