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.