classic_bm_MWC

Solves MaxCut instances with a few alternative classical heuristics.

USAGE:

python -m classic_bm_MWC | tee ./run_logs/classic_solutions/MWC_heuristics.log

Relevant files:

  • instance IDs to solve are taken from ./run_logs/solved_MWC.list.

  • D-Wave runtime (for the heuristic 1) is read from ./run_logs/summaries/dwave_summary.csv.

The main baseline heuristic is just Gurobi solver with the time limit set to the

actual runtime of the D-Wave’s experiment (for the respective instance).

See also: classic_solve_MWC_QUBO_only and classic_solve_MWCs.

Functions

gurobi_QUBO_timeout(inst_id, inst_dir, timeout)

Solves a QUBO using Gurobi with a timeout.

main()

Main script code.

mlrose_GA(inst_id, inst_dir, timeout[, quiet])

Solves a QUBO using mlrose's Genetic Algo.

mlrose_SA(inst_id, inst_dir, timeout[, quiet])

Solves a QUBO using mlrose's Simulated Annealing algo.

classic_bm_MWC.gurobi_QUBO_timeout(inst_id, inst_dir, timeout, quiet=False)[source]

Solves a QUBO using Gurobi with a timeout.

classic_bm_MWC.mlrose_SA(inst_id, inst_dir, timeout, quiet=False)[source]

Solves a QUBO using mlrose’s Simulated Annealing algo.

classic_bm_MWC.mlrose_GA(inst_id, inst_dir, timeout, quiet=False)[source]

Solves a QUBO using mlrose’s Genetic Algo.

classic_bm_MWC.main()[source]

Main script code.

Solves all instances given by ./instances/QUBO/MWC*.json and saves the results into ./run_logs/classic_solutions/MWC_QUBO.csv.