山东大学 软件学院 张鹏分享 http://blog.sciencenet.cn/u/algzhang Peng ZHANG - School of Software, Shandong University

博文

用Latex写线性规划

已有 25013 次阅读 2013-12-12 23:18 |系统分类:科研笔记| LaTex, 线性规划

线性规划由目标函数和若干约束构成,Latex中并没有直接的命令来写线性规划。简单的做法是使用\begin{eqnarray} … \end{eqnarray}命令,但eqnarray命令是使若干方程按照中间的二元关系符(如等号)垂直对齐的,而线性规划的约束条件上虽然有二元关系符,但约束条件后面往往还有量词符号,它们也需要垂直对齐。也就是说,线性规划中有不止一个位置需要垂直对齐。或者干脆使用\begin{array} …\end{array}命令,这样可以做到多个位置垂直对齐,但又遇到公式无法自动编号、表格中若干数学符号(如\sigma)不能按照数学格式显示,而只能显示成文本格式等若干问题。总之,虽然可以使用一些办法“凑”出线性规划,但许多地方不能做到尽如人意。

直到有一天偶然看到了amsmath包中的\begin{alignat} …\end{alignat}命令,才发现线性规划可以使用这个命令得到较好的解决。下面直接给出代码:

\documentclass{article}

\usepackage{amsmath}


\begin{document}


\title{Linear Program}


\maketitle



\begin{alignat}{2}

\label{eqn - lp}

\min \quad & \sum_{\ell\in L}x_{\ell}  &{}& \tag{LP1} \\

\mbox{s.t.} \quad

& \sum_{e \in P} x_{f(e)} \geq 1, &\quad& \forall P \in \mathcal{P}_{st} \\

& x_{\ell} \geq 0, &{}& \forall \ell \in L \nonumber

\end{alignat}


In the linear program (\ref{eqn - lp}), ...

\end{document}


 (请使用WORD的全角半角转换功能将上述代码转成半角。方法:WORD“开始”按钮栏中点击“大小写转换”,在下拉菜单中选择“全角”或“半角”。)


产生的线性规划如下图所示:


有几个要点解释一下。

1)整个线性规划看上去由4列组成。即最左边的“min”和“s.t.”,第2列的约束条件,第3列的约束条件量词,和第4列的编号。其中,第2列和第3列是靠左对齐的,这样看上去就比较美观。

当然,线性规划还有一种常见的写法是约束条件按照二元关系符垂直对齐,相信看完本文后,大家会自己构造出这样的线性规划。对于大量的线性规划而言,两种格式各有优缺点。

2)线性规划的目标函数和约束条件都可以按照标准的\ref{}命令进行引用。对于那些不需要引用的约束条件,只需要在相应的行中写上\nonumber,其右端就没有编号了。

值得一提的是目标函数的编号,在上例中是“(LP1)”,而不是和约束条件统一编号的。这个(LP1)是和Latex产生标准编号一样出现在页面最右端,并且它也和标准编号一样使用\ref{}命令引用。正如例中所示,这是使用\tag命令实现的。(知道\tag命令可以实现这样的功能,也是大量阅读后偶然发现的,花费了相当长的时间

3)下面简单解释一下上例的具体实现。整个线性规划实际上是划分成了如下图所示的4列,因此在alignat命令中需要使用3个“&”符号来隔开这些列。其中,第C列存在的目的是让量词与约束条件之间隔开一定距离。


按照alignat命令的用法,这4列实际上构成了alingat命令观点下的两列方程组。其中AB是第1列方程组,CD是第2列方程组。也就是说,eqnarray命令是用来对齐一列方程组的,而alignat命令是用来对齐多列方程组的。这也说明了为什么上例代码中alignat命令后面有一个参数{2}。关于alignat命令这里不做进一步的赘述,大家有兴趣可以参考amsmath包的资料。

当然,上述写线性规划的方法也可以推广到一般的数学规划。谨以志之,共享共勉。

   (请将文中的全角“\”全部更换为半角的反斜线。)



https://blog.sciencenet.cn/blog-482332-749340.html

上一篇:Latex算法排版,不同行缩进不同
下一篇:在WORD中输入花体的l
收藏 IP: 223.98.172.*| 热度|

1 王云龙

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-29 02:11

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部