本科

本科线性规划与优化


理解线性规划和优化中的单纯形法


线性规划概述

线性规划是一种用于优化线性目标函数的数学技术,受到线性等式和不等式约束的限制。这是一种在数学模型中通过线性关系实现最佳结果的方法。在经济学、工程、军事和商业规划等多个领域中,这种优化方法非常重要。

目标函数和约束条件

在线性规划中,我们的目标是最大化或最小化一个线性目标函数。一般的线性规划问题可以表述为:

最大化或最小化:Z = c 1 x 1 + c 2 x 2 + ... + c n x n
约束条件:
a 11 x 1 + a 12 x 2 + ... + a 1n x n ≤ b 1
a 21 x 1 + a 22 x 2 + ... + a 2n x n ≤ b 2
,
a m1 x 1 + a m2 x 2 + ... + a mn x n ≤ b m
x 1 , x 2 , ..., x n ≥ 0

这里,x 1 , x 2 , ..., x n 是变量,c 1 , c 2 , ..., c n 是目标函数的系数,a ij 是约束条件的系数,b i 是约束方程中的常数。

单纯形法概述

单纯形法是一种用于解决线性规划问题的流行算法。它由乔治·丹齐格在1947年开发。该方法包括以下主要步骤:

  • 将线性规划问题转换为标准形式。
  • 寻找初始可行解。
  • 通过迭代改进目标函数,直到达到最优解。

转换为标准形式

在应用单纯形法之前,必须将给定的线性规划问题转换为标准形式。这涉及确保所有约束以等式形式出现,并在必要时添加松弛变量、超级变量或人工变量。

假设我们有一个约束条件:
a 11 x 1 + a 12 x 2 ≤ b 1

要将其转化为等式,我们引入一个松弛变量 s 1

a 11 x 1 + a 12 x 2 + s 1 = b 1

寻找初始可行解

一旦问题成为标准形式,我们需要找到一个基本可行解。这涉及将非基本变量设为零,并求解方程组以查找基本变量的值。

迭代过程

单纯形法的基本目的是通过遍历可行解来改进目标函数的值,从而识别出最优解。这是通过枢轴操作来完成的。

示例

让我们来看一个线性规划问题的可视化示例。设我们有以下问题:

最大化:Z = 3x 1 + 5x 2
约束条件:
x 1 + 2x 2 ≤ 8
3x 1 + 2x 2 ≤ 12
x 1 , x 2 ≥ 0
x 1 x 2 x 1 + 2x 2 = 8 3x1 + 2x2 = 12

在上述示例中,约束条件 x 1 + 2x 2 = 83x 1 + 2x 2 = 12 被绘制成线。绿色多边形界定的可行区域显示了满足所有条件的区域。

单纯形法中的枢轴操作

为了改进目标函数,我们将选择枢轴元素。入口标准和出口标准有助于识别哪个变量进入基和哪个变量退出。枢轴操作修改我们的基,使其移动到一个具有更高目标函数值(在最大化情况下)的相邻可行解。

枢轴操作涉及的步骤

枢轴操作过程包括以下主要步骤:

  1. 识别进入变量:
    • 查看单纯形表中的目标行(也称为成本行)。选择系数最正(对于最大化问题)的变量。这是我们的进入变量。
  2. 确定离开变量:
    • 为了找到离开变量,计算每个约束行中右侧正系数与进入变量正系数的最小比率。
  3. 执行行操作:
    • 调整表以反映此新基。这包括枢轴元素行操作以将进入变量列中的其他元素设置为零。

示例的延续

让我们将这些步骤应用于之前的示例。

初始基的单纯形表

转换不等式为等式的初始表设置了每个约束的松弛变量 s 1s 2

| x 1 | x 2 | s 1 | s 2 | 右侧 | 
,
, 1 | 2 | 1 | 0 | 8 |
, 3 | 2 | 0 | 1 | 12 |
,
, -3 | -5 | 0 | 0 | 0 |

让我们识别进入和退出变量:

对于最大化,目标行中系数最负的是 -5 (在 x 2 下)。这意味着 x 2 是我们的进入变量。

为了找到离开变量,我们计算 RHS 与 x 2 正系数的比率:

8/2 = 4 (对于第一行)
12/2 = 6 (对于第二行)
最小比率是 4,指示第一行将离开。

执行行操作以在第一行中创建原始变量 x 2

相应地更新其余表。

最优解

继续类似的枢轴步骤,直到目标行中没有负系数(对于最大化),表明已找到最优解。

结论

单纯形法是一种通过系统遍历可行区域的顶点来工作的高效算法。对于涉及大量变量和约束的线性问题,它特别高效,证明了其在理论数学和实际决策场景中的实用性。通过认真实施并理解每个步骤,学生可以有效地利用单纯形法的力量来寻找复杂问题的最优解。


本科 → 9.1


U
username
0%
完成于 本科


评论