R 中的线性规划

2025年4月6日 | 阅读 9 分钟

引言

线性规划是一种在数学中使用的建模技术,它涉及在考虑各种账户约束的情况下最大化和最小化线性函数。这种方法在指导工业工程、商业规划以及社会和物理科学等各个领域的定量决策方面非常有用。

此外,我们可以说优化是一种生活方式。我们都拥有有限的资源和时间,并希望充分利用它们。在这里,我们必须诚实地利用时间,这些时间用于解决公司的供应链问题。这是数据科学中一个非常有趣且相关的主题。

这个主题将会非常有趣。让我们通过一个简单有趣的例子来理解这一点。比如说,我们必须在两个兄弟姐妹之间分享一块巧克力,这是一个简单的优化问题。在解决这个问题时,我们不需要数学。

所以,线性规划将是一种简单的优化方法。借助线性规划,我们可以解决复杂的线性规划问题。我们还可以通过做一些简化的假设来解决线性优化问题。作为一名分析师,我们必须面对一个需要使用线性规划解决方案来解决问题的局面。

但由于某些原因,线性规划没有得到应有的关注。

什么是线性规划?

现在,让我们进一步了解线性规划。我们可以说线性规划是一种简单的技术,我们可以用它通过线性规划来描绘复杂的关系,并且我们还能够找到最佳点。在上面的定义中,重要的词是“描绘”。但实际情况是,关系比我们的定义要复杂得多。

借助线性规划,我们能够找到问题的最优解,即决策变量和约束之间存在线性关系。我们可以在各种领域使用这种方法,例如工业和领域,以及生产计划和物流优化。因此,它被认为是一种强大的数据驱动决策工具。

我们可以在周围看到线性规划的应用。因此,我们可以在个人和职业工作中应用线性规划。当我们居家办公并希望在短时间内完成工作时,我们可以选择线性规划。当我们有一个即将交付的项目时,借助线性规划,我们可以制定一个有助于我们按时交付项目的策略。

线性规划问题(LPP)示例

让我们想象有一位 FedEx 送货员,他每天有 6 个包裹要送。该送货员的仓库位于 A 点。U、V、W、X、Y 和 Z 是 FedEx 的六个配送目的地。下图中的线表示城市之间的距离。因此,送货员应该选择最短路线,以便节省燃料和时间。

Linear programming in R

现在,送货员应该计算不同的路线,并找到最短的路线进行配送。

在这种情况下,送货员的主要目标是将包裹送到六个配送地点。选择最佳路线的过程称为运筹学。因此,我们可以说运筹学是一种决策方法,它包含一套操作系统的程序。

因此,我们可以使用线性规划方法来找到具有给定约束的问题的最优解。借助线性规划,我们可以将现实生活中的问题转化为数学模型。数学模型可以包含目标函数和受约束的线性不等式。另外,我们可以说,这是对实际路线的过度简化,实际路线并非直线。

构建问题

让我们生产一些巧克力…

示例

让我们想象我们有一家巧克力制造公司。这家公司可以生产两种巧克力。一种是 A 型,另一种是 B 型。生产这两种巧克力,公司只需要牛奶和巧克力。

公司厨房里,总共有 5 单位的牛奶和 12 单位的巧克力。每次销售,公司获得的利润为

  • 每售出 A 单位利润 6 卢比
  • 每售出 B 单位利润 5 卢比。

现在,公司希望最大化其利润。它应该分别生产多少单位的 A 和 B?

解决方案

让我们以表格格式表示所有数据。

牛奶巧克力每单位利润
A136 卢比
B125 卢比
总计512

让我们想象 A 的总产量为 = X

让我们想象 A 的总产量为 = Y

让我们想象总利润表示为 Z。

这意味着我们要最大化 Z。

在此,公司试图生产一定数量的 A 型和 B 型产品,以最大化利润。但在公司,牛奶和巧克力供应有限。

根据上表数据,A 和 B 型产品在开始生产时需要 1 单位牛奶。因此,公司可用的牛奶总量为 5 单位。因此,我们可以用数学方式表示如下。

类似地,A 型需要 3 单位巧克力,B 型需要 2 单位巧克力才能开始生产。因此,公司可用的巧克力总量为 12 单位。因此,我们可以用数学方式表示如下。

我们需要记住一件事:单位 A 的值只能是整数。

所以我们还有两个约束。它们如下。

因此,为了最大化利润,公司应满足上述条件。

线性规划问题类型

1. 制造问题

此制造问题的主要目的是优化生产决策以最小化或最大化利润。此外,制造问题必须考虑资源的可用性、费用、费率和产品的销售价格。

2. 饮食问题

饮食问题的主要目的是寻求满足要求的最低成本饮食。此外,饮食问题必须考虑食物成本、过敏偏好等饮食限制,并计入营养成分。当需要最小化营养成本时,营养师可能会最小化成本。

3. 运输问题

此运输问题的主要原因是最小化从源到目的地的运输成本。运输问题中包含的因素是目的地需求、来源供应和运输成本。公司必须优化从工厂到仓库的运输。

4. 最优分配问题

最优分配问题的主要目标是有效分配资源。最优分配问题中包含的主要因素是优化个人或机器的技能、时间或不同任务的成本。为了优化问题,经理必须在正确的时间将项目分配给员工。

线性规划中常用的术语

线性规划中使用了一些常用术语。它们如下。

  • 决策变量:在线性规划中,借助决策变量,我们可以决定线性规划的输出。决策变量代表最优解。为了解决问题,我们首先必须从问题中识别决策变量。对于上述示例,决策变量 X 和 Y 分别代表 A 和 B 的单位数。
  • 目标函数:借助目标函数,我们可以定义决策目标。在上述示例中,利润是目标函数,因为公司应该增加总利润,这表示为利润。
  • 约束:在线性规划中,我们可以借助约束为决策变量提供一些规则和规定。此外,借助约束,我们可以限制决策变量的值。在上述示例中,约束是牛奶和巧克力,它们在公司中的可用性有限。
  • 非负约束:在线性规划中,我们必须设置约束,即决策变量不能接受负值。这意味着决策变量的值应大于或等于 0。

构建线性规划问题的过程

我们可以按照以下步骤使用线性规划进行求解。它们如下。

  1. 第一步是识别决策变量。
  2. 然后,我们必须编写目标函数。
  3. 然后,我们必须说明约束。
  4. 然后,我们必须明确定义非负约束。

如果一个问题具有决策变量、目标函数和约束,我们就可以将其视为一个线性规划问题。

如果以上所有条件都满足,那么我们可以称之为线性规划问题。

使用 R 解决线性规划

R 是一种开源工具,在数据科学家中非常受欢迎。数据科学家使用 R 编程来执行基本的数据科学家任务。借助线性规划,数据科学家的任务变得非常容易。借助线性规划,数据科学家只需几个步骤即可获得问题的最优解决方案。

示例

让我们想象有一家玩具制造公司,它生产两种玩具,A 和 B。玩具 A 和 B 的售价分别为 25 卢比和 20 卢比。公司现有库存为 2000 件。每天,A 型需要 20 单位资源,而 B 型需要 12 单位。两种产品的生产时间均为 5 分钟。根据公司规定,每天总工作时间为 9 小时。

解决方案

在这里,我们可以将目标函数表示为

在这里,x 表示 A 型单位,y 表示 B 型单位。

约束

现在,让我们看看代码部分

输出

summary(opt)

线性规划的应用

我们可以在各种行业中使用线性规划和优化。在制造部门,他们在各种行业中使用线性规划。让我们探讨一些线性规划的应用。

1. 供应链运营

借助线性规划,制造行业可以分析其供应链。这项运营的主要目标是使最低成本运营的效率最大化。此外,借助线性规划,制造商可以重新配置其存储布局,调整其劳动力并减少瓶颈。

2. 货架空间优化

借助线性规划,我们还可以组织货架空间优化工作。这非常重要。为了理解客户的需求,因为市场上产品数量在不断增加。因此,沃尔玛、Hypercity、Reliance 和 Big Bazaar 等许多公司都使用优化技术来理解这一点。这就是为什么在大市场综合体中,产品会以吸引顾客的方式布置在货架上。主要目标是让顾客能够找到和选择正确的产品。

3. 优化配送路线

优化过程也已应用于优化配送路线的过程中。这也是最流行的旅行推销员问题的延伸。借助优化,服务行业可以找到多名销售代表前往多个城市的最优路线,以便他们可以配送多个产品。联邦快递和亚马逊等大公司通过聚类和贪婪算法来确定其配送路线。

4. 优化机器学习模型

机器学习也寻求优化的帮助。线性规划的基本原理可以通过监督学习来应用。系统可以预测未知测试数据的数值,这些数值可以拟合到数学模型中。

线性规划在现实世界中有许多应用,例如股东、体育、股票市场等应用的。


下一主题Auto-arima-in-r