Nonlinear Backend
Graphs, Caches, Forward and Reverse Propagation
EAGO makes use of a specialized tape structure for each function in order to compute valid composite bounds and relaxations. Each variable, constant, and expression is respresented by a node in a directed graph structure.
Missing docstring for EAGO.Node
. Check Documenter's build log for details.
Missing docstring for EAGO.NodeClass
. Check Documenter's build log for details.
Missing docstring for EAGO.AtomType
. Check Documenter's build log for details.
Missing docstring for EAGO.AbstractDirectedGraph
. Check Documenter's build log for details.
Missing docstring for EAGO.DirectedTree
. Check Documenter's build log for details.
Each field of the ith EAGO.Node
using a basic access function. For instance the ith node's ex_type
for graph d
may be accessed by ex_type(d, i)
. The sparsity
of node i
returns an ordered list of children
nodes which form the argument tuple for the operator performed at node i
. The sparsity
of node i
returns a list of parent
nodes which form the argument tuple for the operator performed at node i
. The parameter_values
and constant_values
functions are used to access the ith parameter values or ith constant values.
EAGO organizes information associated with each node in a given graph structure using an EAGO.AbstractCache
which stores the given information.
Missing docstring for EAGO.AbstractCache
. Check Documenter's build log for details.
Missing docstring for EAGO.initialize!(::AbstractCache, ::AbstractDirectedGraph)
. Check Documenter's build log for details.
Information in a given EAGO.AbstractCache
is populated by performing a series of forward and reverse passes of the graph structure which dispatch off of an EAGO.AbstractCacheAttribute
which indicates what particular information is desired.
Missing docstring for EAGO.AbstractCacheAttribute
. Check Documenter's build log for details.
Three included AbstractCacheAttributes
are used to
Missing docstring for EAGO.Relax
. Check Documenter's build log for details.
Missing docstring for EAGO.RelaxAA
. Check Documenter's build log for details.
Missing docstring for EAGO.RelaxMulEnum
. Check Documenter's build log for details.
The forward and reverse routines are overloaded as follows:
Missing docstring for EAGO.f_init!(t::AbstractCacheAttribute, g::AbstractDirectedGraph, c::AbstractCache)
. Check Documenter's build log for details.
Missing docstring for EAGO.fprop!(t::AbstractCacheAttribute, v::Variable, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Missing docstring for EAGO.fprop!(t::AbstractCacheAttribute, v::Subexpression, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Missing docstring for EAGO.fprop!(t::AbstractCacheAttribute, v::Expression, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Missing docstring for EAGO.fprop!(t::AbstractCacheAttribute, v::Parameter, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Missing docstring for EAGO.fprop!(t::AbstractCacheAttribute, v::Constant, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Missing docstring for EAGO.r_init!(t::AbstractCacheAttribute, g::AbstractDirectedGraph, c::AbstractCache)
. Check Documenter's build log for details.
Missing docstring for EAGO.rprop!(t::AbstractCacheAttribute, v::Variable, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Missing docstring for EAGO.rprop!(t::AbstractCacheAttribute, v::Subexpression, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Missing docstring for EAGO.rprop!(t::AbstractCacheAttribute, v::Expression, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Missing docstring for EAGO.rprop!(t::AbstractCacheAttribute, v::Parameter, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Missing docstring for EAGO.rprop!(t::AbstractCacheAttribute, v::Constant, g::AbstractDirectedGraph, c::AbstractCache, k::Int)
. Check Documenter's build log for details.
Forward and reverse subroutines are overloaded for individual operators using through functions of the forms fprop!(t::AbstractCacheAttribute, v::Val{AtomType}, g::AbstractDirectedGraph, b::AbstractCache, k::Int)
and rprop!(t::AbstractCacheAttribute, v::Val{AtomType}, g::AbstractDirectedGraph, b::AbstractCache, k::Int)
.
Other routines
Missing docstring for EAGO.is_safe_cut!(m::GlobalOptimizer, f::MathOptInterface.ScalarAffineFunction{Float64})
. Check Documenter's build log for details.