问题标签 [pulp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
126 浏览

python - 整数线性规划程序未按预期运行

我有以下整数线性规划问题,它按预期分配值,但是当我添加某些约束时,目标函数似乎变得空洞。我不知道该怎么做。我正在使用python来解决这个问题。

非真空配方

目标函数如预期:

解决方案如预期:

但是当我添加以下约束时,或者只是其中一个:

Python 将目标函数更改为:

我不是做什么的,解决方案变得空洞:

0 投票
2 回答
9957 浏览

python - 如何使用 PuLP 的 Gurobi 求解器设置 MIP 启动(初始解决方案)?

我正在使用PuLPPython 中的模块来制定混合整数程序。我正在尝试通过界面设置一个MIP start(即程序启动的可行解决方案) 。PuLP

有关如何设置MIP start的详细信息,请参见此处

并且该PuLP软件包的开发人员声称您可以通过此处PuLP的界面访问完整的 Gurobi 模型

下面贴的是两个完整的模型。我已经使这些尽可能小,同时防止 gurobi 求解器使用启发式方法找到最佳值。

我试图在两个模型中设置一个初始解决方案(最佳值),但在PuLP模型中它被忽略了,但在gurobipy模型中它按预期工作。

如何通过 PuLP 界面为 Gurobi 求解设置初始求解?

返回:

其次,我可以使用gurobipy模块实现相同的模型,但在这种情况下,实际使用的是 MIP 启动:

返回:

0 投票
1 回答
141 浏览

python - 如何在 python 中使用 PuLP 索引约束

我想索引 CPLEX lp 文件中的约束,如下所示:

但我不知道如何用纸浆来做到这一点。

0 投票
1 回答
1652 浏览

python - 在 python 中解决 LPP 时出错

我用来解决的脚本LPP如下:

Script:

Question:在输出中我收到与相关的错误pulp,此代码中应该进行哪些修改才能获得正确的输出?

output:

0 投票
1 回答
793 浏览

python - 使用 PuLP 进行线性规划沙拉混合物优化

我已经设置了以下 LP 问题,除了我对沙拉蔬菜的质量约束百分比之外,一切似乎都在工作。我希望沙拉蔬菜的质量至少为 40%,但纸浆的语法错误lpSum,我不知道如何调和它。

我对每种沙拉都有以下限制:

 至少 15 克蛋白质

 至少 2 克,最多 8 克脂肪

 至少 4 克碳水化合物

 最多 200 毫克钠

 至少 40% 的绿叶蔬菜(按质量计算)。

这是给我问题的约束:

这会在 NoneType 上使用 + 运算符时出错,因为变量还没有值。我只是不确定如何设置这种约束。我已经查看了有关此的纸浆文档,但我没有任何运气来解决这个问题。

0 投票
1 回答
2948 浏览

python-3.x - 在 Python 中向 PuLP 添加求解器

我刚刚开始在 OSx 上的 Python 3.5 (Spyder) 中使用 Pulp。

但是,在运行 pip install 之后,我运行了测试,但有些求解器不可用(例如 CPLEX、COIN 和 XPRESS)。

我正在尝试解决二次规划问题,我想使用 XPRESS 求解器,但我找不到如何安装额外的求解器。

0 投票
1 回答
1499 浏览

python - 约束中的乘法 - 用纸浆求解

我正在尝试线性化我在纸浆中的乘法约束。

它看起来像这样:

这等于:

其中 Y 是二元变量,在公式中,除了以下部分之外,所有内容都是线性的:Y*X。我试图通过使用我在另一个问题中找到的公式来解决这个问题:

链接到图片

链接到问题

所以我尝试使用X1*X2 = Y,使用我的代码,这给出了X*Y = A。我使用了日志替换方法。这给了我以下代码:

另一个约束:

只是这似乎不起作用,因为浮点数只能是字符串或数字,而不是LpVariable. 有没有办法使用公式图像中给出的第一种替换方法来解决这个问题?

0 投票
1 回答
1869 浏览

python - How do I change the bounds of a LpVariable in PuLP dynamically?

I've initialised my LpVariable like so:

At this point, my variable has upper and lower bounds as float('inf') and float('-inf'). Now based on some parameters of my logic, I want to bound the upper limit of this variable to, say, any x < 20.

Can I only do this by adding in an LpProblem and modifying the Variable using the problem parameters?

Or is there another way to manipulate the variable? Changing x.upBound doesn't seem to work. I can still set invalid integers/floats as the solution (ie. values > 20) and it accepts them.

0 投票
1 回答
211 浏览

python - 纸浆相互依赖的约束

尝试使用PuLP包解决以下问题,但不知道如何在Adwords和SEO渠道之间添加相互依赖的约束。

最大化总收入。我们将为 4 个营销活动分配资金:电视广告、SEO、Adwords 和 Facebook。每个广告系列的投资回报率是:电视 9% SEO 14% Adwords 10% Facebook 5%。总预算为 1,000,000 美元。搜索引擎营销(SEO + Adwords)是主要重点,支出必须超过总预算的 60%。Facebook 上的社交媒体活动的成本不应超过预算的 20%。电视广告的制作和播放至少需要 200,000 美元。与社交机构签订的 Facebook 广告最低合同为 80,000 美元。一个 SEO 内容创作机构需要 60,000 到 60,000 到 220,000 之间。营销策略说 Adwords 成本不应超过 SEO 成本的 3 倍。渠道有不同的覆盖面。它是根据您在每个渠道花费 1 美元可以获得的客户数量来估算的:电视 – 每美元 2.5 个客户 SEO – 每美元 2.1 个客户 Adwords – 每美元 0.9 个客户 Facebook – 每美元 3.0 个客户 市场基础的客户数量估计约为 130 万人。您应该分配支出以使该数字与广告系列覆盖面相匹配。

当我添加非数字约束时,它会替换我的目标函数。如何在纸浆中添加相互依赖的约束?

0 投票
1 回答
1055 浏览

python - Pulp.pulpTestAll() 测试失败,解压的值太多

我的操作系统是window 7,Pulp 版本是1.6.1,gurobi 版本是7.0.1。gurobipy 可以成功导入。pulp.solvers.GUROBI 确实通过了测试,所以我可以使用 gurobi。然而,pulp.solvers.CPLEX_CMD 失败了。这是错误消息: