繁体   English   中英

'LpAffineExpression' 对象在纸浆 Lp 问题中没有属性 'solve' - 优化

[英]'LpAffineExpression' object has no attribute 'solve' in pulp Lp problem- Optimization

import pulp as p
import numpy as np
a1=np.array([1000,2000,3000,7000,8000,13000,223000,32000,35000,369000,38000,3885000])

x=p.LpVariable('x', lowBound=5000, cat='Continuous')
y=p.LpVariable('y', lowBound=8000,cat='Continuous')

Lp_prob=(((y-x)*1.3+x)*0.014428)+((a1-y)*1.5*0.014428)
Lp_prob.solve()

我尝试在纸浆中进行线性规划。 但是我有'LpAffineExpression' 对象没有属性 'solve'错误。

我该如何解决? 谢谢。

我建议首先研究这个例子: https : //www.coin-or.org/PuLP/CaseStudies/a_blending_problem.html 它具有涵盖您的示例的所有成分。

所以一个工作模型看起来像:

import pulp as p
import numpy as np
 
a1=np.array([1000,2000,3000,7000,8000,13000,223000,32000,35000,369000,38000,3885000])

x=p.LpVariable('x', lowBound=5000, cat='Continuous')
y=p.LpVariable('y', lowBound=8000,cat='Continuous')

Lp_prob = p.LpProblem("This_Example_Works",p.LpMaximize)
Lp_prob += (((y-x)*1.3+x)*0.014428)+((a1-y)*1.5*0.014428)
Lp_prob.solve()
print("Status:", p.LpStatus[Lp_prob.status])

请注意,PuLP 将其解释为:

MAXIMIZE
-0.0043284000000000005*x + -0.24094759999999996*y + 99899.472
VARIABLES
5000 <= x Continuous
8000 <= y Continuous

非常奇怪的构造a1-y在这里被解释为sum(a1-y)=sum(a1)-n*y其中n=a1.size 我建议不要在 PuLP 模型中以这种方式使用 NumPy 数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM