对齐两级优化问题

对齐两级优化问题

我正在尝试很好地(并且正确地)对齐两级优化问题。目前想出了以下解决方案:

$
\begin{array}{llr}
    \min \limits_{\mathbf{x}, \mathbf{y}} & -2x_1^2 + x_2^2 - 6y_1 + y_2^2 \\
    \st & x_1^3 + 3x_2 - 10 \le 0 \\
        & \displaystyle \mathbf{y} \in \argmin_{\mathbf{y}\in [0, 10]^2} \; 2x_1^2 + 2y_1^2 - 8y_2 \\
            & \hspace{1.25cm} \st - x_1 + 2x_1 - x_2^2 + 2y_1 - y_2 - 3 \le 0\\
            & \hspace{1.9cm}     - x_1 + 2x_1 - x_2^2 + 2y_1 - y_2 - 3 \le 0 \\
      & \mathbf{x} \in [-10, 10]^2,\; \mathbf{y} \in [-10, 10]^2
\end{array}
$

输出结果如下:

在此处输入图片描述

在这里我强调了几个问题:

  1. 有什么更好的方法(与手动相比,hspace{}第一个约束以关键字“st”开头,根据上线对齐分钟关键字(见图中蓝线)。其余约束应与第一个约束左对齐。
  2. 为什么内部约束的间距不同?两者完全相同,但在第一个约束中,减号后的空间更大(图中用红色“圆圈”突出显示的情况)

答案1

array我建议尝试一下aligned(基本上是但间距更适合数学),而不是环境array。 MWE 可能如下:

\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\st}{s.t.}
\DeclareMathOperator*{\argmin}{arg\,min}
\begin{document}

\[
\begin{aligned}
    &\min \limits_{\mathbf{x}, \mathbf{y}} && {-}2x_1^2 + x_2^2 - 6y_1 + y_2^2 \\
    &\st && x_1^3 + 3x_2 - 10 \le 0 \\
        &&&\mathbf{y} \in
     \begin{aligned}[t]
        &\argmin_{\mathbf{y}\in [0, 10]^2} && 2x_1^2 + 2y_1^2 - 8y_2 \\
            &\st &&{-}x_1 + 2x_1 - x_2^2 + 2y_1 - y_2 - 3 \le 0\\
            &&&{-}x_1 + 2x_1 - x_2^2 + 2y_1 - y_2 - 3 \le 0
     \end{aligned}\\
      &&&\mathbf{x} \in [-10, 10]^2,\; \mathbf{y} \in [-10, 10]^2
\end{aligned}
\]
\end{document}

请注意,我将 定义\st为数学运算符。这只是为了使其周围的间距类似于\max\argmax,否则正确的对齐将更难实现。另一个想法是使用嵌套 来排版内部优化问题aligned,这更简洁。但不要忘记用括号括住一元减号,因为aligned会自动认为后面的运算符&是二元的。

结果可以在图片中看到

相关内容