| 
    QUBO++ Library with QUBO Solver APIs
    
   Author: Koji Nakano, License: Non-commercial research and evaluation purposes without any guarantees. 
   | 
 
Solves factorization and multiplication problems for two prime numbers using multiple QUBO solvers. More...
#include <boost/multiprecision/cpp_int.hpp>#include <boost/multiprecision/miller_rabin.hpp>#include <boost/program_options.hpp>#include <chrono>#include <iostream>#include <string>#include <thread>#include "qbpp.hpp"#include "qbpp_abs2.hpp"#include "qbpp_easy_solver.hpp"#include "qbpp_grb.hpp"#include "qbpp_misc.hpp"#include "qbpp_multiplier.hpp"
Go to the source code of this file.
Classes | |
| class | qbpp::factorization::SolHolder | 
| Solution holder to store the best solution of factorization.  More... | |
| class | qbpp::factorization::ABS2Callback | 
| Class to define ABS2 callback function for factorization.  More... | |
| class | qbpp::factorization::GRB_Callback | 
| Class to define Gurobi callback function for factorization.  More... | |
Namespaces | |
| qbpp | |
| Generates a QUBO Expression for the Graph Coloring Problem using QUBO++ library.  | |
| qbpp::factorization | |
| Namespace for factorization using QUBO++ library.  | |
Functions | |
| std::string | qbpp::factorization::toBinaryString (uint64_t num) | 
| Converts a number to a binary string.  More... | |
| uint64_t | qbpp::factorization::as_uint64 (const qbpp::Sol &sol, const qbpp::Vector< qbpp::Var > &var, bool fix_lsb) | 
| Converts a vector of Var in a solution to a 64-bit unsigned integer.  More... | |
| uint64_t | qbpp::factorization::as_uint64 (const qbpp::SolHolder &sol_holder, const qbpp::Vector< qbpp::Var > &var, bool fix_lsb) | 
| Converts a vector of Var in a solution holder to a 64-bit unsigned integer.  More... | |
| bool | qbpp::factorization::is_prime (uint32_t num) | 
| uint32_t | qbpp::factorization::rand_prime (int size) | 
| Generates a random prime number of the specified size.  More... | |
| int | main (int argc, char *argv[]) | 
| Solves the factorization problem using ABS2 QUBO Solver and Gurobi optimizer from QUBO++ library.  More... | |
Solves factorization and multiplication problems for two prime numbers using multiple QUBO solvers.
This program generates a QUBO model for factorization/multiplication using QUBO++ and solves it simultaneously using various QUBO solvers. Factorization/multiplication QUBO models are designed to simulate a binary multiplier. It supports the ABS2 GPU QUBO solver, the Gurobi optimizer, and the QUBO++ Easy solver. When a better solution is found by a solver, the other solvers are notified via callback functions for further improvement. The QUBO models are designed to simulate a binary multiplier.
Definition in file factorization.cpp.
| int main | ( | int | argc, | 
| char * | argv[] | ||
| ) | 
Solves the factorization problem using ABS2 QUBO Solver and Gurobi optimizer from QUBO++ library.
| argc | Number of command line arguments. | 
| argv | Command line arguments. | 
Generates a QUBO quad_model of the inverse computation of a binary multiplier circuit by and solves it using both ABS2 and Gurobi.
Definition at line 295 of file factorization.cpp.
