教师博客
用Latex输出单纯形表
发布时间:2025-04-04
  • 博客标题:
    用Latex输出单纯形表
  • 摘要:
    本文介绍了用Latex命令输出线性规划单纯形表的方法。
  • 内容:

    单纯形算法是解线性规划的著名算法,几乎在每一本运筹学或最优化方法教材中都有讲述。对于小规模的线性规划,单纯形算法的运算过程可以组织在表格中,以便于手工计算,这个表格称为单纯形表。单纯形表有它自己的格式,如下图所示。

    这样一个表格.png

     

    单纯形表的背后是这样子的,只是有一些线段“不显示”:

    表格的背后.png

     

    在WORD中,“不显示”的线段可以用表格的“单元格格式”将线段设置成白色,即可以达到

    有表格线但是不显示的效果。但这在Latex中如何实现呢?

     

    许久以来,我不知道在Latex中的表达方法,只好把单纯形表画成了下面这样:

    勉强使用的表格.png

     

    经过在网络上长时间的搜寻和不断尝试,最后终于解决了我的问题。实际上,并不需要复杂的Latex命令,关键的需要两个:一个是cline,一个是multicolumn。

     

    \documentclass{article}

     

     

    \begin{document}

    \begin{tabular}{c|ccccc|c|}

      \multicolumn{1}{c}{} &

      \multicolumn{1}{c}{$x_1$} &

      \multicolumn{1}{c}{$x_2$} &

      \multicolumn{1}{c}{$x_3$} &

      \multicolumn{1}{c}{$x_4$} &

      \multicolumn{1}{c}{$x_5$} \\

      \cline{2-7}

       & 8 & 9 & 0 & 0 & 0 & 5\\

      \cline{2-7}

      $x_3$ & 2 & 2 & 1 & 0 & 0 & 1 \\

      $x_4$ & 3 & $-1$ & 0 & 1 & 0 & 2 \\

      $x_5$ & 0 & 3 & 0 & 0 & 1 & 3 \\

      \cline{2-7}

    \end{tabular}

    \end{document}

     

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

     

    这段Latex代码,就能输出最上面的图想要的单纯形表。\cline{2-7}这个命令,表示横线是从第2列到第7列,这就解决了“不贯通”的横线的问题。还有“不贯通”的竖线,怎么解决呢?这里卡了我很长时间,虽然知道有multicolumn命令,但总以为multicolumn是把多列合并成一列的,和单元格的竖线没有关系。实际上,当使用\multicolumn{1}{c}{},即“把一列合并成一列”时,就会去掉单元格两端的竖线!岂不妙哉!

    一段小小的Latex代码,能够输出单纯形表,分享给大家。欢迎转载,转载请注明出处。

     

    说明:本博文原于203年6月3日发布于科学网博客(https://blog.sciencenet.cn/home.php?mod=space&uid=482332&do=blog&id=1390398)。至2025年3月27日,已有2784次阅读。

    2025年4月日,本博文复刊于作者个人主页。


  • 发布时间:
    2025-04-04
版权所有   ©山东大学 地址:中国山东省济南市山大南路27号 邮编:250100 
查号台:(86)-0531-88395114
值班电话:(86)-0531-88364731 建设维护:山东大学信息化工作办公室