我正在尝试解决以下问题:
2*x + 4*y = 6
0 <= x <= 2
0 <= y <= 1我试过希姆西
from sympy import Poly
from sympy.solvers.inequalities import solve_rational_inequalities
from sympy.abc import x, y, z
solve_rational_inequalities([[
((Poly(2*x + 4*y ), 6), '=='),
((Poly(x), 2), '<='),
((Poly(y), 1), '<='),
((Poly(x), 0), '>='),
((Poly(y), 0), '>=')]])但我有个例外,polynomialError:
only univariate polynomials are allowed有没有办法解决这个问题,可以使用sympy或任何其他的python库?
发布于 2021-02-12 04:19:26
您可以使用python-constraint
import constraint
problem = constraint.Problem()
problem.addVariable('x', range(2))
problem.addVariable('y', [1])
def our_constraint(x, y):
if 2*x + 4*y == 6:
return True
problem.addConstraint(our_constraint, ['x','y'])
solutions = problem.getSolutions()
for solution in solutions:
print(solution)输出:{'y': 1, 'x': 1}
https://stackoverflow.com/questions/66161837
复制相似问题