|
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.
