TODOs
Filename: docs/src/index.md
Title: Add a simple example in the code above
Line 76 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/docs/src/index.md [offset: 3305]
Filename: docs/src/background/abstractions.md
Title: Reference the
solveandsolve_qumofunctions.Line 37 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/docs/src/background/abstractions.md [offset: 1651]
Title: Provide direct conversion from p-QUMO to QUMO.
Line 45 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/docs/src/background/abstractions.md [offset: 2165]
Filename: ext/CUDAExt/engine.jl
Title: Have to adapt the following heuristic to the specific hardware.
Line 39 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/ext/CUDAExt/engine.jl [offset: 1120]
Notes: return cld(6.0e7 * problem.Size^(-1.381), 1)
end
Filename: ext/JuMPExt/attributes.jl
Title: This should be AOC's version instead!
Line 96 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/ext/JuMPExt/attributes.jl [offset: 3014]
Notes: MOI.get(::Optimizer, ::MOI.SolverVersion) = AOC.VERSION
Filename: scripts/optimize.jl
Title: Read input file and process; log result
Line 182 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/scripts/optimize.jl [offset: 4601]
Notes: error("Processing of input files is not implemented yet")
Filename: src/precompile.jl
Title: Precompile common cases
Line 6 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/precompile.jl [offset: 116]
Filename: src/qubo.jl
Title: Greedy heuristic in GPU
Line 6 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/qubo.jl [offset: 59]
Notes: The code below implements a very simple greedy heuristic for QUBO problems. The heuristic is used for benchmarking purposed (e.g., what a very naive algorithm can do). The implementation is CPU-based. Ideally, we would like to implement a GPU-based version of the algorithm.
Title: Consider the choice of embedding the linear terms in the diagonal of the QUBO matrix
Line 12 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/qubo.jl [offset: 381]
Notes: The current implementation embeds the linear terms in the diagonal of the QUBO matrix. This is a common practice. However. it may lead to usability issues and confusion. We may need to reconsider this choice in the future.
Filename: src/Algorithms/enhanced_random.jl
Title: Add unit tests for the methods in EnhancedRandom
Line 16 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/Algorithms/enhanced_random.jl [offset: 509]
Filename: src/FileFormats/qio.jl
Title: Document the QIO file format.
Line 8 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/FileFormats/qio.jl [offset: 152]
Notes: This is a custom JSON format that describes Ising and PUBO problems.
Filename: src/Solver/core.jl
Title: Improve the estimate of the rate of iterations
Line 253 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/Solver/core.jl [offset: 9933]
Notes: =# maxpossibleiterations = 4*ceil(Int, remainingtime * estimateiterationspersec)
Filename: src/Solver/estimators.jl
Title: Improve heuristics for computing optimal batch size.
Line 91 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/Solver/estimators.jl [offset: 2316]
Title: Identify the best number of CPU threads to use for each architecture.
Line 129 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/Solver/estimators.jl [offset: 3985]
Notes: =#
Filename: src/Solver/results_stats.jl
Title: We are computing twice. The problem is that the first attempts outputs all iterations
Line 114 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/Solver/results_stats.jl [offset: 3993]
Filename: src/api/api.jl
Title: Some CPUs now support Float16 and BFloat16.
Line 53 of /home/runner/work/AOCoptimizer.jl/AOCoptimizer.jl/src/api/api.jl [offset: 1538]
Notes: if T === Float16 || T === BFloat16 @warn "Computing with Float16 or BFloat16 on the CPU is not supported. Switching to Float32." if linear !== nothing linear = Float32.(linear) end return Float32, Float32.(matrix), nothing, linear end