我想求解一個非線性不等式方程組,簡化如下: 12<x y<14 and 2 x 3*y>40, 有沒有辦法用python找到x的最小值,我知道如何求解線性scipy.optimize.linprog 的不等式,但我找不到解決非線性不等式的方法,謝謝
uj5u.com熱心網友回復:
Z3是一個 SAT/SMT 求解器,可能對此類問題很有趣。
這是一個尋找整數解的示例。請注意,給定的方程對于浮點數是無界的。
from z3 import Optimize, Int, And
opt = Optimize()
x = Int('x')
y = Int('y')
opt.add(And(x * y > 12, x * y < 14))
opt.add(2 * x 3 * y > 40)
opt.minimie(x)
print(opt.check()) # prints sat
print(opt.model()) # prints [y = 13, x = 1]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/364972.html
上一篇:Python-得到了Cholesky分解的錯誤解決方案?
下一篇:買x送y公式
