如何使 LP 中的大约束分隔符很好地对齐?

如何使 LP 中的大约束分隔符很好地对齐?

我正在尝试使用 \alignat 编写 LP,公式 2 有很多分隔符,而我能想到的唯一让它不混乱的方法是将这些分隔符写在对齐环境之外。有没有办法继续对齐,以便示例中的 2 和 3 整齐对齐,同时分隔符的格式清晰,以显示它们属于公式 2?因为现在有一些问题,如您所见,等号不对齐,公式 2 的分隔符不清楚。有没有更好的方法?

\documentclass[11pt]{article}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage{amsmath}
\begin{document}   

\begin{alignat}{4}
  \min & \sum_{\forall m \in M} \sum_{\forall t \in T} \sum_{\forall i \in C \backslash C_S} x_i^{t,m} \\
  \text{s.t.} \quad &x_i^{t,m} + U_{S^C} \left( \sum_{j \in \Gamma(i)} y_{i,j}^{t-1,m} \right) \quad     &=\quad x_i^{t-1,m} + (1-U_{R^C})E_m d_i^{t-1,m} + U_{R^C} \left( \sum_{j \in \Gamma^{-1}(i)} y_{j,i}^{t-1,m} \right)\\
\intertext{
\begin{flushright}
    $\forall i \in C; \quad \forall t \in T; \quad \forall m \in M; \quad E_1 = 1; \quad  E_2 \geq 1;$
    $U_{R^C}  = 1: i \not\in C_R; \quad U_{R^C} = 0: i \in C_R; \quad U_{S^C} = 1: i \not\in C_S; \quad U_{S^C} = 0: i \in C_S$
\end{flushright}
}
& \sum_{i \in \Gamma(i)} y_{i,j}^{t,1} - x_i^{t,1} &\leq 0 
\end{alignat}

\end{document}

在此处输入图片描述

答案1

我建议使用以下解决方案,使用mini!环境 from optidef\mathllap命令 from mathtools

\documentclass{article}
\usepackage{geometry}
\usepackage{mathtools}
\usepackage{bigstrut}
\usepackage[short]{optidef}
\setlength{\bigstrutjot}{4ex}

\begin{document}

\begin{mini!}{}{\mkern-20mu\sum_{m\in M}\sum_{t \in T} \sum_{i \in C \backslash C_S} x_i^{t,m}}
{\label{eq: 1}}{\tag{1}}
\addConstraint{x_i^{t,m} + u_{S^C} \Bigl( \sum_{j \in \Gamma(i)} y_{i,j}^{t-1,m} \Bigr)}
{=\begin{aligned}[t] x_i^{t-1,m} + (1-U_{R^C})E_m d_i^{t-1,m} + U_{R^C} \Bigl( \sum_{j \in \Gamma^{-1}(i)} y_{j,i}^{t-1,m}\Bigr)\\%
\forall i \in C; \quad \forall t \in T; \quad \forall m \in M; \quad E_1 = 1; \quad E_2 \geq 1;\\%
\mathllap{U_{R^C} = 1: i \not\in C_R; \quad U_{R^C} = 0: i \in C_R; \quad U_{S^C} = 1: i \not\in C_S; \quad U_{S^C} = 0: i \in C_S}
\end{aligned}}
\addConstraint{\bigstrut[t]\sum_{i \in \Gamma^(i)} y_{i,j}^{t,1}-x_i^{t,1}}{\leq 0}
\end{mini!}

\end{document} 

在此处输入图片描述

相关内容