45 auto obj = 6 * x1 + 4 * x2 + 3 * x3 + 5 * x4;
48 auto c1 = x1 + 2 * x2 + 3 * x3 + 4 * x4;
49 auto c2 = 3 * x1 + x2 + 2 * x3 + x4;
52 auto f = -obj + 100 * ((0 <= c1 <= 15) + (0 <= c2 <= 10));
55 f.simplify_as_binary();
61 auto sol = model.optimize();
64 std::cout << sol << std::endl;
66 std::cout <<
"x1 = " <<
eval(x1, sol) << std::endl;
67 std::cout <<
"x2 = " <<
eval(x2, sol) << std::endl;
68 std::cout <<
"x3 = " <<
eval(x3, sol) << std::endl;
69 std::cout <<
"x4 = " <<
eval(x4, sol) << std::endl;
70 std::cout <<
"c1 = " <<
eval(c1, sol) << std::endl;
71 std::cout <<
"c2 = " <<
eval(c2, sol) << std::endl;
72 std::cout <<
"Objective value = " <<
eval(obj, sol) << std::endl;
Class to store a QUBO model using Gurobi Optimizer through QUBO++ library.
VarIntCore var_int(const std::string &var_str)
energy_t eval(const Expr &expr, const Sol &sol)
QUBO++, a C++ library for generating expressions for binary and spin variables.
QUBO++ interface to call Gurobi Optimizer.