小编Bo *_*son的帖子

Python PuLP 优化问题 - 最小化与平均值的偏差

我正在尝试使用 PuLP 解决优化问题,但在编写目标函数时遇到问题。

我已将现实生活中的示例简化为使用谷物的更简单的示例。假设我有一个产品列表和一些可以将它们放入的过道(对于本示例 2)。每种产品都有一个我们通常每周销售的数量(例如:我们每周销售 20 盒水果圈和 6 盒麦片)。每个物品还需要一定数量的架子(例如:磨砂片需要 1 个架子,但玉米片需要 2 个)。

产品 销售量 货架 指定通道
水果圈 20 2
磨砂片 15 1
可可卵石 8 1
果味鹅卵石 9 1
玉米片 12 2
麦片 6 1

每个过道只有4个货架。因此,理论上我可以将水果圈和玉米片放在一个过道上(2 个架子 + 2 个架子)。如果我将这些商品放在一个过道中,则该过道的每周销售额将为 20 + 12 = 32。如果我将其他 4 件商品(1 个货架 + 1 + 1 + 1)放入一个过道中,则该过道的销售额将为 15 + 8 + 9 + 6 = 38。过道的平均销售额应为 35。我的优化问题的目标是让每个过道尽可能接近该平均数字。我想最小化每个过道每周总销售额和平均数量之间的总绝对差异。在此示例中,我的偏差为 ABS(38-35) + ABS(32-35) = 6。这就是我想要最小化的数字。

我不知道如何写,所以 PuLP 接受了我的目标。我无法在网上找到具有这种复杂程度的示例,它将每个值与平均值进行比较并获取累积绝对偏差。当我写出技术上可以计算的代码时,PuLP 似乎不接受它。

这是一些示例代码:

products = ['Fruit Loops', 'Frosted Flakes', …
Run Code Online (Sandbox Code Playgroud)

python mathematical-optimization linear-programming pulp

3
推荐指数
1
解决办法
1469
查看次数