我正在尝试重现以下最低成本覆盖模型:
我成功地做到了这一点:
\documentclass[10pt,a4paper]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\text{min} & \sum_{i \in I} C_i x_i \\
s.t.\\
& \sum_{i \in I} A_{ij}x_i \ge D_j \qquad\qquad \forall j \in J\\
& x_i \in \mathbb{R}_+ [ \mathbb{Z}_+ | \{0,1\} ]\qquad \forall i \in I
\end{align*}
\end{document}
问题是,我觉得它不对。
我好像使用了错误的包或错误的环境来重做这段公式
答案1
看看,使用alignat
环境是否能得到更好的结果:
\documentclass[10pt,a4paper]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{2}
\min\quad & \sum_{i \in I} C_i x_i \\
\text{s.t.}\quad & & &\\
& \sum_{i \in I} A_{ij}x_i \ge D_j
& \forall j & \in J\\
& x_i \in \mathbb{R}_+ [\mathbb{Z}_+ \mid \{0,1\} ]
\qquad & \forall i & \in I
\end{alignat*}
\end{document}
編輯:
您可能希望在\min
and\text{s.t.}
和summ
符号之间留出较少的空格。在这种情况下,您可以删除\quad
& 符号前的 s:
\documentclass[10pt,a4paper]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{2}
\min & \sum_{i \in I} C_i x_i \\
\text{s.t.} & & &\\
& \sum_{i \in I} A_{ij}x_i \ge D_j
& \forall j & \in J\\
& x_i \in \mathbb{R}_+ [\mathbb{Z}_+ \mid \{0,1\} ]
\qquad & \forall i & \in I
\end{alignat*}
\end{document}
附录
@Sebastiano 在他的评论中建议的另一个解决方案(非常感谢 Sebastiano!)使用专用包optidef
。你可能会喜欢它 :-) :
\documentclass[10pt,a4paper]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{optidef}
\begin{document}
\begin{mini}
{i}{\sum_{i\in I} C_i x_i}
{\label{eq:Example1}}{}
\addConstraint{\sum_{i \in I} A_{ij}x_i \ge D_j &\qquad}{\forall j \in J}
\addConstraint{x_i \in \mathbb{R}_+ [\mathbb{Z}_+ \mid \{0,1\})}{&\forall i \in I.}
\end{mini}
\end{document}