import numpy as np
import highspy
def print_solution(h, x):
print(f"Solution: ({', '.join(map(str, abs(h.val(x))))})")
h = highspy.Highs()
h.silent()
h.setOptionValue("presolve", "off")
x = h.addBinaries(5)
h.addConstr((x * [4, 3, 1, 5, 4]).sum() <= 11)
h.maximize((x * [8, 5, 3, 11, 7]).sum())
print_solution(h, x)
h.clearSolver()
h.setSolution(h.getSolution())
h.run()
print_solution(h, x)
h.clearSolver()
index = np.array([0, 3])
value = np.array([1, 1], dtype=np.float64)
h.setSolution(2, index, value)
h.run()
print_solution(h, x)
h.clearSolver()
h.setSolution(2, np.array([0, 4]), np.array([1, 1]))
h.run()
print_solution(h, x)