Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,10 @@ MOI.set(model, PolyJuMP.MultiplierMaxdegree(), con, 2)
The `SumOfSquares.Optimizer` of [SumOfSquares.jl](https://github.com/jump-dev/SumOfSquares.jl)
is the analogous solver certifying the nonnegativity of the Lagrangian with
the SOS cone instead; increasing the `PolyJuMP.MultiplierMaxdegree` attributes
then gives the higher levels of the Lasserre hierarchy.
then gives the higher levels of the Lasserre hierarchy and the candidate
solutions are recovered from the atoms of the moment matrix given by the dual
of the SOS constraint, using
[MultivariateMoments](https://github.com/JuliaAlgebra/MultivariateMoments.jl).

[CP16] Chandrasekaran, Venkat, and Parikshit Shah.
*Relative entropy relaxations for signomial optimization.*
Expand Down
15 changes: 15 additions & 0 deletions src/model.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
"""
mutable struct Model{T} <: MOI.ModelLike

Model representing a polynomial optimization problem with objective
`objective_sense` of the polynomial `objective_function` over the
basic semialgebraic `set`.
"""
mutable struct Model{T} <: MOI.ModelLike
variables::Dict{MOI.VariableIndex,VarType}
objective_sense::MOI.OptimizationSense
Expand All @@ -17,6 +24,14 @@ function MP.variables(model::Model)
return sort!(collect(values(model.variables)), rev = true)
end

"""
struct Solution{T}

Candidate solution of `values` for the variables of a [`Model`](@ref) with
corresponding `objective_value` and `max_constraint_violation`.
The `status` classifies its feasibility given the tolerance that was used
to compare the maximum constraint violation.
"""
struct Solution{T}
values::Vector{T}
objective_value::T
Expand Down
Loading