Mathpix

线性规划模型图片转word:目标函数与s.t.约束的对齐

更新于

线性规划模型图片转word,要紧的是把整个模型当成一条公式来识别和导出:目标函数、s.t. 和各条约束放进一个 aligned 环境,用对齐符 & 决定各行从哪里对齐,校对完再导出「Word(含公式)」。识别结果如果被拆成一行一条,或 max、s.t. 变成斜体字母,进 Word 后就不是一个完整的模型。下面用一个两变量的生产计划模型,从截图到 Word 走一遍。

截图:把 max 到非负约束框成一张

线性规划模型是一个整体,截图时从 max 那一行框到最后的非负约束 x₁, x₂ ≥ 0,一次截完。左边的大括号(有的教材用它把约束括起来)也要框进去,右边留一点空白,别切到最长那行的末尾。

教材里模型下面常紧跟一句「其中 x₁ 表示……」,这句话留在框外。框进去的中文会混进公式,Word 里还要再删。

本站图片识别收 PNG / JPG / BMP / WEBP / GIF,单张不超过 20MB,一次一张,需要登录并开通本站会员。公式编辑页点「识别」→「图片识别」,弹窗里粘贴截图即开始识别,上传的文件点「开始识别」。

校对:max、s.t. 与对齐符

以一道产品组合问题为例,两种产品的产量为 x₁、x₂,校对后应当是:

\begin{aligned}\max\quad & z=3x_1+5x_2\\ \text{s.t.}\quad & x_1\le 4\\ & 2x_2\le 12\\ & 3x_1+2x_2\le 18\\ & x_1,\ x_2\ge 0\end{aligned}

把公式工具栏右端的「LaTeX / 可视化」开关切到「LaTeX」看源码,按这三步查:

  1. max 要正体:写成 \max,排出来是直立的 max;识别成 max 三个字母时会排成 m、a、x 三个斜体变量相乘。求最小时用 \min。
  2. s.t. 要正体:写成 \text{s.t.} 或 \mathrm{s.t.},两个点都要在;只写 s.t. 同样会斜过去。
  3. 每行一个对齐符:本例把 & 放在每行约束的开头,约束从同一条竖线起排,这就是常说的「左对齐」;每行之间用 \\ 换行。

线性规划模型:max z 与四行 s.t. 约束左对齐

下图是这个模型的前后对照示意:左边是教材原式,右边是校对后应有的写法。

线性规划模型教材原式与应有写法对照示意

两种对齐方式怎么选

约束左对齐与按关系符对齐两种写法对照

  • 约束左对齐:& 放在每条约束开头(上面那条源码)。约束长短差别大时最清楚,大多数运筹学教材用这种。
  • 按关系符对齐:& 挪到每行的 ≤、≥、= 前面,左边的式子向右靠齐,≤ 排成一竖列。约束条数多、想一眼比较右端常数时用它。

按关系符对齐的写法:

\begin{aligned}\max\quad z&=3x_1+5x_2\\ \text{s.t.}\quad x_1&\le 4\\ 2x_2&\le 12\\ 3x_1+2x_2&\le 18\\ x_1,\ x_2&\ge 0\end{aligned}

两种写法每行只放一个 &。同一行放了两个,aligned 会把第二个当成新的一列,排出来左右错开。

导出到 Word 并核对

校对完,把公式工具栏右端的「LaTeX / 可视化」开关切回「可视化」模式:在 LaTeX 模式下「导出」是灰的。然后从「导出」选「Word(含公式)」,整个模型作为一条 Word 公式进文档,双击可改。一份作业里有好几个模型的,到文档编辑里逐个「插入公式」,再从「导出」选「Word 文档 (.docx)」一起导出。

编辑器导出菜单:Word(含公式)等七种格式

打开 Word 后核对三处:

  • max 和 s.t. 是直立的;
  • max、s.t. 和各条约束在同一个公式对象里、每条约束各占一行;
  • 系数和右端常数与原图逐个相同。

系数可以用解来验。本例在 (2, 6) 处取到目标函数的最大值:代回约束,x₁ = 2 ≤ 4,2x₂ = 12 ≤ 12,3×2 + 2×6 = 18 ≤ 18,都满足;z = 3×2 + 5×6 = 36,和教材答案一致。答案对不上,先查系数有没有被识别错。

公式进 Word 后怎么判断它是可编辑公式还是图片,见公式粘贴到Word可编辑;从 LaTeX 转过去的公式在 Word 里先查哪几处,LaTeX转Word公式编辑有一份清单。

对偶问题的排版格式一样(目标一行、s.t.、约束、非负),但目标换成 min、约束变成 ≥,系数矩阵要转置、变量换成 y₁、y₂、y₃:本例的对偶是 min w = 4y₁ + 12y₂ + 18y₃,约束 y₁ + 3y₃ ≥ 3、2y₂ + 2y₃ ≥ 5。原问题核完,顺手把它的对偶也照这个格式识别一份,两份放在同一个 Word 里对照着看。

延伸阅读

常见问题

约束条件左对齐怎么写?
把整个模型放进 aligned 环境,每行用双反斜杠换行,在每条约束的开头放一个对齐符 and 号,目标函数那一行把 and 号放在 max 和 z 之间。这样 max 与 s.t. 占左边一列,所有约束从同一条竖线开始,左边缘整齐。想让小于等于号上下对齐,就把 and 号挪到每行的关系符前面。