【发布时间】:2018-03-29 03:00:37
【问题描述】:
所以,这是我要解决的问题的背景:
我想将成本单位划分为两个或多个公司。现在,我已经为两家公司解决了以下目标函数:
20*x1 + 30*x2 + 100*x3 + 20*x4 + 30*x5
变量为二进制类型。
假设我得到优化的解决方案:
x1 = 1
x2 = 0
x3 = 0
x4 = 1
x5 = 0
这意味着 A 公司将负责单位成本 x1 和 x4,而 B 公司将负责其余成本。
这工作正常,我已经正确地在纸浆上编码。我还可以使用约束来限制特定公司的最大成本,这是所有这一切的开始。系数的总和代表给定项目的总成本。所以我用这个数量作为目标函数的约束来限制 A 公司的成本
现在,我想做的是与 3 家或更多公司做同样的事情。我不知道如何制定目标函数或函数,因为我认为它可能属于多目标函数问题,但我实际上不确定。
我在线性规划方面不是很有经验,所以如果我放错了问题,我很抱歉。我还没有找到任何可以帮助我实现这一目标的东西。
我会放代码,但是在创建函数之前我有更多的变量和一些基本的数据准备,所以我创建了一个假设示例以使其更易于理解。
非常感谢您的帮助。
【问题讨论】:
-
范围很广。但是,如果 binary-vars 的二进制性质会给您带来麻烦,请考虑使用
company * X矩阵来描述哪个公司为哪个单位成本提供服务(对于上述情况:一个 2 x 5 的二进制变量矩阵)。 (不:这不是多目标优化) -
您将如何实现仅适用于矩阵行的约束?
-
这看起来有点像分配问题。它与多目标优化无关。
-
是的,我同意如果原始发帖人@ValbertoEnocRodrigues 可以将问题的标题更改为“在纸浆中制定作业问题”,这对未来寻找答案的人来说会更好。
标签: python linear-programming pulp