📜  运输问题设置6(MODI方法-UV方法)

📅  最后修改于: 2021-05-20 06:06:45             🧑  作者: Mango

解决运输问题分为两个阶段。在第一阶段,必须找到初始的基本可行解,第二阶段需要对在第一阶段中获得的初始基本可行解进行优化。有三种方法可以找到初始的基本可行解,

  1. 西北角法
  2. 最小成本单元法
  3. 沃格尔近似法

本文将通过一个解释的示例讨论如何优化初始基本可行解决方案。考虑以下运输问题。

解决方案:

步骤1:检查问题是否平衡。
如果源O1O2O3的所有供应的总和等于目的地D1D2D3D4的所有需求的总和,那么运输问题就是平衡运输问题。

注意:如果问题不是不平衡的,则可以按照本文中讨论的方法,使用虚拟行或虚拟列的概念将不平衡问题转换为平衡。

步骤2:找到最初的基本可行解决方案。
可以使用上述三种方法中的任何一种来找到初始的基本可行解。在这里,将使用“西北角法”。根据西北角法,这是最终的初始基本可行解决方案:

现在,运输的总成本将为(200 * 3)+(50 * 1)+(250 * 6)+(100 * 5)+(250 * 3)+(150 * 2)= 3700

步骤3:使用UV方法优化初始基本可行解决方案。
以下是最初的基本可行解决方案:

–对于UV方法,必须分别为行和列找到值u iv j。由于有三排所以三U I值具有即U 1被发现对于第一行,U 2为第二行和u 3为第三行。
类似地,对于四列,必须找到四个v j值,即v 1v 2v 3v 4 。查看下面的图片:

有一个单独的公式可以找到u iv j
u i + v j = C ij ,其中C ij是仅分配单元的成本值。在这里阅读更多有关它的信息。

在应用上述公式之前,我们需要检查m + n – 1是否等于分配的单元格总数,其中m是总行数, n是总列数。
在这种情况下,m = 3,n = 4,分配的小区总数为6,因此m + n – 1 = 6。以后的帖子。

现在,要找到u和v的值,我们将三个u中的任何一个或四个v中的任何一个分配为0。在这种情况下,让我们将u 1 = 0赋值。然后使用上面的公式,我们将得到v 1 = 3作为u 1 + v 1 = 3 (即C 11 )和v 2 = 1作为u 1 + v 2 = 1 (即C 12 )。同样,我们得到了v 2 = 1的值,所以我们得到了u 2 = 5的值,这意味着v 3 = 0从v 3 = 0的值,我们得到u 3 = 3 ,这意味着v 4 = -1 。见下图:

现在,仅对未分配的单元格使用公式P ij = u i + v j – C ij计算惩罚。第一行有两个未分配的单元格,第二行有两个,第三行有两个。让我们一一计算。

  1. 对于C 13P 13 = 0 + 0 – 7 = -7 (此处C 13 = 7u 1 = 0v 3 = 0 )
  2. 对于C 14P 14 = 0 +(-1)-4 = -5
  3. 对于C 21P 21 = 5 + 3 – 2 = 6
  4. 对于C 24P 24 = 5 +(-1)– 9 = -5
  5. 对于C 31P 31 = 3 + 3 – 8 = -2
  6. 对于C 32P 32 = 3 +1 – 3 = 1

规则:如果我们将所有惩罚值设为零或负值,则表示已达到最优,此答案就是最终答案。但是,如果我们获得任何正值,则意味着我们需要在下一步中进行总和。

现在找到最大的正罚。此处的最大值是6,对应于C 21电池。现在,此单元格是新的基本单元格。该单元格也将包含在解决方案中。

绘制闭合路径或回路的规则。从新的基本像元开始绘制闭合路径,以使直角转弯仅在分配的像元或新的基本像元处完成。见下图:


向循环中具有直角转弯(或转角)的所有单元格分配备用正负号,并在新的基本单元格上分配正号。

考虑带有负号的单元格。比较分配的值(在这种情况下为200和250)并选择最小值(在这种情况下选择200)。现在从带有减号的单元格中减去200,并向带有加号的单元格中添加200。并绘制一个新的迭代。循环的工作已经结束,新的解决方案如下所示。

检查分配的单元总数是否等于(m + n – 1)。再次使用公式u i + v j = C ij查找u值和v值,其中C ij是仅分配单元格的成本值。分配u 1 = 0,则得到v 2 = 1 。类似地,我们将得到u iv j的以下值。

使用公式P ij = u i + v j – C ij找出所有未分配单元格的惩罚。

  1. 对于C 11P 11 = 0 +(-3)– 3 = -6
  2. 对于C 13P 13 = 0 + 0 – 7 = -7
  3. 对于C 14P 14 = 0 +(-1)– 4 = -5
  4. 对于C 24P 24 = 5 +(-1)– 9 = -5
  5. 对于C 31P 31 = 0 +(-3)– 8 = -11
  6. 对于C 32P 32 = 3 +1 – 3 = 1

C 32有一个正值,即1。现在,此单元格成为新的基本单元格。

现在从新的基本单元开始绘制一个循环。用新的基本单元格分配一个加号和减号,将新的基本单元格指定为加号。

从分配的值中选择带有负号的单元格中的最小值。从带有减号的单元格中减去此值,然后将其加到带有加号的单元格中。现在,解决方案如下图所示:

检查分配的单元格总数是否等于(m + n – 1)。如上找到u和v值。

现在再次找到上述未分配单元的惩罚。

  1. 对于P 11 = 0 +(-2)– 3 = -5
  2. 对于P 13 = 0 +1-7 = -6
  3. 对于P 14 = 0 + 0 – 4 = -4
  4. 对于P 22 = 4 +1-6 = -1
  5. 对于P 24 = 4 + 0 – 9 = -5
  6. 对于P 31 = 2 +(-2)– 8 = -8

所有惩罚值均为负值。因此达到了最优。

现在,找到总成本,即(250 * 1)+(200 * 2)+(150 * 5)+(50 * 3)+(200 * 3)+(150 * 2)= 2450