LaTeX 中的优化公式

LaTeX 中的优化公式

这是我用于解决优化问题的代码。

\begin{equation}
\begin{array}{rrclcl}
\displaystyle \min_{w,b,\xi} & \multicolumn{3}{l}{\frac{1}{2}w^{t}w+C\sum_{i=1}^{N}{\xi_{i}}}\\
\textrm{s.t.} & y_{i}(w\phi(x_{i}+b))+\xi_{i}-1\\
&\xi\geq0    \\
\end{array}
\end{equation}

结果如下: 在此处输入图片描述

我想要第三个参数 ( \xi\geq0) yi。我该怎么做?我如何将 和 和 相加i=1N求和?

答案1

aligned使用以下环境可以很容易地实现这一点amsmath

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{aligned}
\min_{w,b,\xi} \quad & \frac{1}{2}w^{t}w+C\sum_{i=1}^{N}{\xi_{i}}\\
\textrm{s.t.} \quad & y_{i}(w\phi(x_{i}+b))+\xi_{i}-1\\
  &\xi\geq0    \\
\end{aligned}
\end{equation}
\end{document}

示例代码的 optput

(将来,请将您的代码制作成一个完整的可编译示例,从\documentclass\end{document}。)

答案2

一个更简单的方法是使用 optidef 包:

\documentclass{article}
\usepackage{optidef}
\begin{document}
\begin{mini*}|s|
{w,b,\xi}{\frac{1}{2}w^{t}w+C\sum_{i=1}^{N}{\xi_{i}}}
{}{}
\addConstraint{y_{i}(w\phi(x_{i}+b))+\xi_{i}-1}
\addConstraint{\xi\geq0}{}
\end{mini*}
\end{document}

并获得完全相同的输出:

该包的优点是,您可以使用四种不同的格式轻松更改约束的对齐方式,使用长格式描述问题,或添加任何您喜欢的引用。例如,代码:

\documentclass{article}
\usepackage{optidef}
\begin{document}
\begin{mini!}|l|[3]
{w,b,\xi}{\frac{1}{2}w^{t}w+C\sum_{i=1}^{N}{\xi_{i}}}
{}{}
\addConstraint{y_{i}(w\phi(x_{i}+b))+\xi_{i}-1}
\addConstraint{\xi\geq0}{}
\end{mini!}
\end{document}

将产生三个变化:

1.长格式:通过使用|l|而不是 来给出|s|

2. 多重引用:通过使用 \begin{mini!}而不是 来给出\begin{mini*}

3. 将约束条件放在“受制于”下面: 通过使用 [3]而不是默认值。

此外,该包还提供其他功能,如换行线、引用方程的各种方式,或用于定义最大化或 arg 迷你问题的其他环境。

可以找到一篇关于该软件包更多解释的帖子这里. 完整文档这里以及带有问题跟踪器的存储库这里

答案3

环境alignamsmath可以帮助您轻松实现这一点,如下所示:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
& \min_{w,b,\xi} & & \frac{1}{2}w^{t}w+C\sum_{i=1}^{N}{\xi_{i}} \nonumber \\
& \textrm{s.t.} & & y_{i}(w\phi(x_{i}+b))+\xi_{i}-1 \label{opt_prob:misc} \tag{42}\\
& & & \xi\geq0 \nonumber \\
\end{align} 
\end{document}

需要注意的是,在align环境中,连续列的对齐方式会在左对齐和右对齐之间切换。因此,我只需添加一个空列即可将表达式的对齐方式更改为左对齐。

此外,在使用 jupyter 笔记本时,我发现它align允许我在方程中使用标签,这与环境不同。这就是我更喜欢它的aligned原因。align

编辑:您可以在 Jupyter 笔记本中的 markdown 单元中使用相同的脚本,但您只需包含 align 语句之间的部分。

相关内容