线性规划标准型知识精解

news/2024/9/18 12:10:30/文章来源:https://www.cnblogs.com/haohai9309/p/18303895

线性规划的标准型及其转化过程是理解和求解线性规划问题的基础。通过引入松弛变量、剩余变量和将自由变量转化为两个非负变量,可以将任意形式的线性规划问题转化为标准型。标准型的线性规划问题便于使用单纯形法等算法进行求解,从而找到最优解。了解这些概念和技巧,对于深入掌握线性规划理论和实践应用都非常重要。

一、线性规划的标准型

线性规划问题通常有两种常见的表示方式:一种是标准形式的线性规划形式,另一种是矩阵形式。

1.1 一般形式的标准型

  • 目标

\[Maximize \quad Z = c_1 x_1 + c_2 x_2 + \ldots + c_n x_n \]

  • 约束条件

\[ a_{11} x_1 + a_{12} x_2 + \ldots + a_{1n} x_n = b_1 \\a_{21} x_1 + a_{22} x_2 + \ldots + a_{2n} x_n = b_2 \\\vdots \\ a_{m1} x_1 + a_{m2} x_2 + \ldots + a_{mn} x_n = b_m \]

  • 非负性约束

\[x_1, x_2, \ldots, x_n \geq 0 \]

\[\max(\min) Z = c_1 x_1 + c_2 x_2 + \ldots + c_n x_n \\text \quad {s.t.} \left\{ \begin{array}{l} a_{11} x_1 + a_{12} x_2 + \ldots + a_{1 n} x_n = b_1 \\ a_{21} x_1 + a_{22} x_2 + \ldots + a_{2 n} x_n = b_2 \\ \ldots \ldots \ldots \\ a_{m 1} x_1 + a_{m 2} x_2 + \ldots + a_{m n} x_n = b_m \\ x_1, x_2, \ldots, x_n \geq 0 \end{array} \right. \]

线性规划的标准型有4个要求:目标最大化;变量均非负;右端均非负;约束为等式。

1.2 矩阵形式

  • 目标

\[Maximize \quad Z = c^T X \]

  • 约束条件

\[AX \leq b \]

  • 非负性约束

\[X \geq 0 \]

其中

  • \(X\)是一个\(n\)维变量向量,表示决策变量:

    \[X^T = (x_1,x_2, \ldots ,x_n ) \]

  • \(C\)是一个\(n\)维系数向量,表示目标函数中的系数:

    \[C^T= (c_1 ,c_2,\ldots,c_n ) \]

  • \(A\)是一个\(m \times n\)的矩阵,表示约束条件中的系数:

    \[A = \begin{bmatrix} a_{11} & a_{12} & \ldots & a_{1n} \\ a_{21} & a_{22} & \ldots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \ldots & a_{mn} \end{bmatrix} \]

  • \(b\) 是一个 $ m $ 维向量,表示每个约束条件的右端常数项:

    \[b^T = (b_1,b_2,\ldots , b_m ) \]

这两种形式都可以用来描述线性规划的最大化问题,并且它们之间是等价的。线性规划形式更直观,而矩阵形式更紧凑,通常用于理论分析和算法实现。

二、线性规划标准型的转化

线性规划模型:

\[\begin{aligned} \text{Maximize } \quad Z = 3x_1 + 4x_2 \\ \text{Subject to } \quad \begin{cases} x_1 + x_2 \leq 6 \\ x_1 + 2x_2 \leq 8 \\ x_1, x_2 \geq 0 \end{cases} \end{aligned} \]

线性规划的标准化涉及将所有约束转换为等式形式。通过引入松弛变量来将不等式约束转化为等式。

  • 对于约束\(x_1 + x_2 \leq 6\),引入松弛变量\(x_3 \geq 0\),使得:

    \[x_1 + x_2 + x_3 = 6 \]

  • 对于约束\(x_1 + 2x_2 \leq 8\),引入松弛变量\(x_4 \geq 0\),使得:

    \[x_1 + 2x_2 + x_4 = 8 \]

将以上引入的松弛变量加入到模型中,得到标准化的形式:

\[\begin{aligned} \text{Maximize } \quad Z = 3x_1 + 4x_2 \\ \text{Subject to } \quad \begin{cases} x_1 + x_2 + x_3 = 6 \\ x_1 + 2x_2 + x_4 = 8 \\ x_1, x_2, x_3, x_4 \geq 0 \end{cases} \end{aligned} \]

2.1 处理目标函数

  • 目标函数如果是最小化问题,需要将其转换为最大化问题。通常,通过对目标函数的系数取负来实现这一点。
  • 如果目标函数已经是最大化形式,则直接使用。

假设初始目标函数为:

\[\text{Minimize } Z = -2x_1 + 3x_2 \]

将其转化为最大化问题:

\[\text{Maximize } Z' = 2x_1 - 3x_2 \]

2.2 处理约束条件

  • 将所有不等式约束转化为等式约束。这通常通过引入松弛变量或剩余变量来实现:
    • 对于“小于等于”(≤)的约束,添加松弛变量使其变为等式。
    • 对于“大于等于”(≥)的约束,添加剩余变量并乘以-1以将其转化为等式。

假设有以下约束条件:

\[\begin{cases} x_1 + 2x_2 \leq 10 \\ 3x_1 + x_2 \geq 15 \end{cases} \]

  • 对于第一个约束\(x_1 + 2x_2 \leq 10\),引入松弛变量 s_1 \geq 0 $,得到:

    \[x_1 + 2x_2 + s_1 = 10 \]

  • 对于第二个约束\(3x_1 + x_2 \geq 15\),引入剩余变量$ s_2 \geq 0 $,得到:

\[3x_1 + x_2 - s_2 = 15 \]

2.3 处理决策变量

  • 确保所有决策变量均为非负。如果有些变量没有非负约束,可以通过替换变量的方法使其满足非负性。例如,将变量\(x\) 替换为\(x = x' - x''\),其中\(x', x'' \geq 0\)
    假设变量\(x_1\)没有非负约束,则可以引入两个新变量\(x_1^+\)\(x_1^-\),使得:

\[x_1 = x_1^+ - x_1^-, \quad x_1^+, x_1^- \geq 0 \]

三、整合练习

\[ Minimize \quad Z = x_1 + 2x_2 + 3x_3\\ \begin{aligned} & -2x_1 + x_2 + x_3 \leq 9 \\ & -3x_1 + x_2 + 2x_3\geq 4 \\ & 4x_1 - 2x_2 - 3x_3 = -6 \\ x_1 &\leq 0, \quad x_2 \geq 0, \quad x_3 \text{ 取值无约束} \end{aligned} \]

  • 处理目标函数,将最小化问题转化为最大化问题:

\[\text{Maximize } Z' = -x_1 - 2x_2 - 3x_3 \]

  • 处理约束条件,将所有不等式约束转化为等式约束。使用松弛变量\(s_1 \geq 0\)和剩余变量$ s_2 \geq 0$。

\[\begin{aligned} -2x_1 + x_2 + x_3 + s_1 & = 9 \quad (s_1 \geq 0) \\ -3x_1 + x_2 + 2x_3 - s_2 & = 4 \quad (s_2 \geq 0) \\ 4x_1 - 2x_2 - 3x_3 & = -6 \end{aligned}\]

  • 处理决策变量。将\(x_1 \leq 0\)转化为\(x_1 = -x_1', \, x_1' \geq 0\);对于\(x_3\)无约束的情况,将\(x_3 = x_3^+ - x_3^-\),其中\(x_3^+, x_3^- \geq 0\)

  • 标准型

\[ \text{Maximize } Z' = x_1' - 2x_2 - 3x_3^+ + 3x_3^-\\ \begin{aligned} 2x_1' + x_2 + x_3^+ - x_3^- + s_1 &= 9 \\ 3x_1' + x_2 + 2x_3^+ - 2x_3^- - s_2 &= 4 \\ -4x_1' - 2x_2 - 3x_3^+ + 3x_3^- &= -6 \\ x_1', x_2, x_3^+, x_3^-, s_1, s_2 &\geq 0 \end{aligned}\]

  • 总结
    目标函数: \(Z' = x_1' - 2x_2 - 3x_3^+ + 3x_3^-\)
    约束条件:

\[2x_1' + x_2 + x_3^+ - x_3^- + s_1 = 9\\3x_1' + x_2 + 2x_3^+ - 2x_3^- - s_2 = 4 \\-4x_1' - 2x_2 - 3x_3^+ + 3x_3^- = -6 \]

决策变量非负性: $x_1', x_2, x_3^+, x_3^-, s_1, s_2 \geq 0 $

以上就是将给定的线性规划模型转换为标准型的具体过程。

参考文献

  1. 运筹学_1.1.3 线性规划问题-化标准型
  2. 一、线性规划

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787711.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高并发业务下的库存扣减技术方案设计

扣减库存需要查询库存是否足够:足够就占用库存 不够则返回库存不足(这里不区分库存可用、占用、已消耗等状态,统一成扣减库存数量,简化场景)并发场景,若 查询库存和扣减库存不具备原子性,就可能超卖,而高并发场景超卖概率会增高,超卖数额也会增高。处理超卖的确麻烦:系…

Echarts实现双x轴,支持均分和非均分的情况

效果图代码 <template><div class="app"><div class="demo" ref="demoRef"></div></div> </template><script> import * as echarts from echarts export default {data() {return {}},mounted() {th…

第一章:Linux‘’用户和组的管理‘’

第一章:Linux‘’用户和组的管理‘’@一、Linux用户身份概述@1.1 Linux用户介绍@1.2 三个重要passwd,shadow,group文件的介绍@1.2.1 passwd文件 @1.2.2 shadow文件 @1.2.3 group文件@二、创建Linux用户@2.1 添加Linux用户——useradd @2.2 设置Linux用户密码——passwd@三、…

远程观看群晖里面的视频(webdav)

前言 本文使用 webdav 服务加 tvbox 来实现远程播放群晖中的视频,关于 webdav 服务曾在[[黑群晖同步obsidian]] 中提及。本次也是使用类似的操作方式 配置黑群晖 配置 webdav 并创建共享文件夹 为了方便,此处我直接复制了黑群晖同步 obsidian 这篇博客中相关内容 首先下载套件…

远程观看群晖里面的视屏(webdav)

前言 本文使用 webdav 服务加 tvbox 来实现远程播放群晖中的视频,关于 webdav 服务曾在[[黑群晖同步obsidian]] 中提及。本次也是使用类似的操作方式 配置黑群晖 配置 webdav 并创建共享文件夹 为了方便,此处我直接复制了黑群晖同步 obsidian 这篇博客中相关内容 首先下载套件…

java连接sqlite数据库

首先下载jar包(每种数据库有自己jar包) 然后idea里创建新项目并且在项目里创建lib文件里面放jar包 接着导入jar包然后apply->ok 这样就连上 如果要可视化数据库DB Browser最后测试连接Test Connection看数据库连上没 结果:

Adobe Lightroom Classic LRC v13.5 下载及安装教程 (图像后期处理软件)

前言 Adobe Lightroom Classic为您提供强大的一键式工具和高级控件,使您的照片看起来很棒。轻松整理桌面上的所有照片,并以多种方式共享。使用Lightroom Classic,您需要具备所有桌面编辑工具,才能充分发挥照片的作用。增强色彩,使沉闷的镜头充满活力,去除分散注意力的物体…

详细分析平衡树-红黑树的平衡修正 图文详解(附代码) (万字长文)

目录红黑树简述性质/规则主要规则:推导性质:红黑树的基本实现struct RBTreeNodeclass RBTree红黑树的插入红黑树插入修正前言什么时候需要变色:变色的基础:为什么需要旋转与变色变色:旋转需要修正的所有情况先认识最简单的情况1. 叔叔是红色结点注意:2.没有叔叔结点3. 叔叔是黑…

手搓平衡搜索树-红黑树 平衡修正 图文详解 (万字长文)

目录红黑树简述性质/规则主要规则:推导性质:红黑树的基本实现struct RBTreeNodeclass RBTree红黑树的插入红黑树插入修正前言什么时候需要变色:变色的基础:为什么需要旋转与变色变色:旋转需要修正的所有情况先认识最简单的情况1. 叔叔是红色结点注意:2.没有叔叔结点3. 叔叔是黑…

语言图像模型大一统!Meta将Transformer和Diffusion融合,多模态AI王者登场

前言 就在刚刚,Meta最新发布的Transfusion,能够训练生成文本和图像的统一模型了!完美融合Transformer和扩散领域之后,语言模型和图像大一统,又近了一步。也就是说,真正的多模态AI模型,可能很快就要来了! 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技…

vue-cli中chainWebpack的使用

前言 在项目开发中我们难免碰到需要对webpack配置更改的情况,今天就主要来讲一下在vue.config.js中对一些配置的更改,简单介绍一下loader的使用;用configureWebpack简单的配置;用chainWebpack做高级配置;包括对loader的添加,修改;以及插件的配置 1、首先简单介绍一下web…

元气日语 Genki-1 第 3 课 约会

课文 I たけし: メアリーさん、週末はたいていなにをしましか。 メアリー: そうですね。たいていうちで勉強します。でも、ときどき映画を見ます。 たけし: そうですか...。じゃあ、土曜日に映画を見ませんか。 メアリー: 土曜日はちょっと…。 たけし: じゃあ、日曜…