lp.zip
import numpy as np
import scipy.optimize
import dwave.optimization
arrays = np.load("lp.npz")
c = arrays["c"]
A_ub = arrays["A_ub"]
b_ub = arrays["b_ub"]
A_eq = arrays["A_eq"]
b_eq = arrays["b_eq"]
lb = arrays["lb"]
ub = arrays["ub"]
# Solve it with scipy
res = scipy.optimize.linprog(
c=c,
A_ub=A_ub,
b_ub=b_ub,
A_eq=A_eq,
b_eq=b_eq,
bounds=list(zip(lb, ub)),
)
scipy_x = res.x
scipy_fun = res.fun
# Solve it with dwave-optimization
model = dwave.optimization.Model()
res = dwave.optimization.linprog(
c=model.constant(c),
A_ub=model.constant(A_ub),
b_ub=model.constant(b_ub),
A_eq=model.constant(A_eq),
b_eq=model.constant(b_eq),
lb=model.constant(lb),
ub=model.constant(ub),
)
_ = res.x
__ = res.fun
model.states.resize(1)
with model.lock():
dwopt_x = res.x.state()
dwopt_fun = res.fun.state()
print(scipy_fun, dwopt_fun)
47779.29074832177 33603159.675
lp.zip