Virtual Mapping
During reformulation, ToQUBO holds two distinct models, namely the Source Model and the Target Model. The source model is a generic MOI model restricted to the supported constraints. The target one is on the QUBO form used during the solving process. Both lie within a Virtual Model, which provides the necessary API integration and keeps all variable and constraint mapping tied together.
This is done in a transparent fashion for both agents since the user will mostly interact with the presented model, and the solvers will only access the generated one.
Virtual Model
ToQUBO.Virtual.Model — Type
Model{T}(optimizer::Union{Nothing, Type{<:MOI.AbstractOptimizer}} = nothing) where {T}This Virtual Model links the final QUBO formulation to the original one, allowing variable value retrieving and other features.
ToQUBO.Virtual.source — Function
sourceToQUBO.Virtual.target — Function
targetVirtual Variables
Every virtual model stores a collection of virtual variables, intended to provide a link between those in the source and those to be created in the target model. Each virtual variable stores encoding information for later expansion and evaluation.
ToQUBO.Virtual.Variable — Type
Variable{T}ToQUBO.Virtual.encoding — Function
encodingToQUBO.Virtual.expansion — Function
expansionToQUBO.Virtual.penaltyfn — Function
penaltyfn