Nummerierung in der Align-Umgebung funktioniert nicht richtig

Nummerierung in der Align-Umgebung funktioniert nicht richtig

Ich verwende die Align-Umgebung, um ein ILP-Modell zu schreiben. Die Nummerierung funktioniert nicht: Anstatt dass jede Nummer auf die jeweilige Einschränkung folgt, habe ich alle Einschränkungen und dann alle Nummern am Ende. Wenn ich denselben Code in einem anderen Dokument verwende, funktioniert er ordnungsgemäß. Was könnte das Problem sein?

\begin{align}
\mbox{min.} \quad & \sum_{p \in P} \sum_{(t_{1},v_{1},t_{2},v_{2}) \in WT} c_{v_{1},v_{2}}x^p_{t_{1},v_{1},t_{2},v_{2}}  \notag \\
\mbox{s.t.} \quad 
        & \sum_{(t_{2},v_{2},t_{1},v_{1}) \in BS(t_{1},v_{1})} x^p_{t_{2},v_{2},t_{1},v_{1}}  - \sum_{(t_{1},v_{1},t_{2},v_{2}) \in FS(t_{1},v_{1})} x^p_{t_{1},v_{1},t_{2},v_{2}}\; = \; 0\qquad \forall p \in P,(v_{1},t_{1}) \in VT \\
        &  - \sum_{(p,o,t_{2},v_{2}) \in FS(p,o)} x^p_{p,o,t_{2},v_{2}}\; = \; - d_p \qquad  \forall p \in  P\\
        & \sum_{(t_{1},v_{1},p,w) \in BS(p,w)} x^p_{t_{1},v_{1},p,w}  \; = \; + d_p \qquad  \forall p \in  P\\
        & \sum_{p \in P} \sum_{(t_{2},v_{2},t_{1},v_{1}) \in BS(t_{1},v_{1})} x^p_{t_{2},v_{2},t_{1},v_{1}}  \; \leq \; Q \qquad\qquad\qquad\qquad\qquad\qquad\qquad\forall (v_{1},t_{1}) \in VT \\     
        & x^p_{t_{1},v_{1},t_{2},v_{2}} \in Z \qquad \qquad \qquad  \qquad \qquad \quad \forall p \in P, \forall (t_{1},v_{1},t_{2},v_{2}) \in WT     
 \end{align}\\
 \\

Antwort1

Ich schlage vor, dass Sie eine alignat{2}Umgebung in eine gather*Umgebung einbetten. Beide Umgebungen werden vom amsmathPaket bereitgestellt, das automatisch vom mathtoolsPaket geladen wird. Ich würde außerdem das \smashoperatorMakro (vom mathtoolsPaket bereitgestellt) verwenden, um das Material unter einigen der \sumAnweisungen kompakter zu setzen.

Bildbeschreibung hier eingeben

\documentclass{article} % or some other suitable document class   
\usepackage[letterpaper,margin=1in]{geometry} % set page parameters as needed   
\usepackage{mathtools} % for '\smashoperator' macro
\newcommand\vn[1]{\mathit{#1}}

\begin{document}
\begin{gather*}
  \min \sum_{p \in P\mathstrut} \  
  \smashoperator[r]{\sum_{(t_{1},v_{1},t_{2},v_{2}) \in \vn{\vn{WT}}} }
  c_{v_{1},v_{2}}x^p_{t_{1},v_{1},t_{2},v_{2}} \\
\shortintertext{such that}
\begin{alignat}{2} 
  \smashoperator{\sum_{(t_{2},v_{2},t_{1},v_{1}) \in \vn{BS}(t_{1},v_{1})}} 
  x^p_{t_{2},v_{2},t_{1},v_{1}}  
  \quad-\quad 
  \smashoperator{\sum_{(t_{1},v_{1},t_{2},v_{2}) \in \vn{FS}(t_{1},v_{1})}} 
  x^p_{t_{1},v_{1},t_{2},v_{2}}
  &= 0
  &\qquad&\forall p \in P,\ \forall(v_{1},t_{1}) \in \vn{VT} \\
  -\smashoperator{\sum_{(p,o,t_{2},v_{2}) \in \vn{FS}(p,o)}} 
  x^p_{p,o,t_{2},v_{2}} 
  &= -d_p 
  &&\forall p \in P \\
  \smashoperator{\sum_{(t_{1},v_{1},p,w) \in \vn{BS}(p,w)}} 
  x^p_{t_{1},v_{1},p,w} 
  &= + d_p 
  &&\forall p \in  P\\
  \sum_{p \in P\mathstrut} \ 
  \smashoperator[r]{\sum_{(t_{2},v_{2},t_{1},v_{1}) \in \vn{BS}(t_{1},v_{1})}} 
  x^p_{t_{2},v_{2},t_{1},v_{1}}  
  &\leq Q 
  &&\forall (v_{1},t_{1}) \in \vn{VT} \\     
  x^p_{t_{1},v_{1},t_{2},v_{2}} &\in Z 
  && \forall p \in P,\ 
  \forall (t_{1},v_{1},t_{2},v_{2}) \in \vn{WT}     
\end{alignat}
\end{gather*}
\end{document}

Nachtrag: Ein großer Teil dessen, was das Aufschreiben dieser Gleichungen mühsam macht – und sie für den Leser auch nicht leicht zu erfassen macht – ist das Vorhandensein der 4-Tupel in den Summenindexpositionen. Wenn es in Ordnung ist, Abkürzungen für diese Tupel zu erstellen – sagen wir \tau_1bis \tau_4– und die Doppelsummennotation zu verwenden, könnte man die Gleichungen wie folgt umschreiben:

Bildbeschreibung hier eingeben

\documentclass{article}       
\usepackage{mathtools} % for '\smashoperator' macro
\newcommand\vn[1]{\mathit{#1}}
\newcommand\doublesum{\mathop{\sum\sum}}

\begin{document}

\begin{gather*}
  \min \smashoperator{\doublesum_{p \in P,\;\tau_1\in\vn{WT}}}
  c^{}_{v_{1},v_{2}}x^p_{\tau_1} \\
\intertext{such that}
\begin{alignat}{2} 
  \smashoperator{\sum_{\tau_1\in\vn{FS}(\tau)}} 
  x^p_{\tau_1}
  &= 
  \smashoperator[r]{\sum_{\tau_2\in\vn{BS}(\tau)}} 
  x^p_{\tau_2}
  &\quad&
  \forall p \in P,\ \forall\tau\in\vn{VT} \\
  -\smashoperator{\sum_{\tau_3\in\vn{FS}(p,o)}} 
  x^p_{\tau_3} 
  &= -d_p 
  &&\forall p \in P \\
  \smashoperator{\sum_{\tau_4\in\vn{BS}(p,w)}} 
  x^p_{\tau_4} 
  &= +d_p 
  &&\forall p \in P \\
  \smashoperator{\doublesum_{p \in P,\;\tau_2\in\vn{BS}(\tau)}} 
  x^p_{\tau_2}  
  &\leq Q 
  &&\forall \tau\in\vn{VT} \\     
  x^p_{\tau_1} &\in Z 
  && \forall p \in P,\ \forall \tau_1\in\vn{WT}     
\end{alignat}
\end{gather*}
where   $\tau\equiv(t_{1},v_{1})$, 
      $\tau_1\equiv(t_{1},v_{1},t_{2},v_{2})$, 
      $\tau_2\equiv(t_{2},v_{2},t_{1},v_{1})$, 
      $\tau_3\equiv(p,o,t_{2},v_{2})$, and
      $\tau_4\equiv(t_{1},v_{1},p,w)$.
\end{document}

verwandte Informationen