@@ -38,15 +38,15 @@ julia> data = ModelAnalyzer.analyze(
3838
3939The additional parameters:
4040- `primal_point`: The primal solution point to use for feasibility checking.
41- If `nothing`, it will use the current primal solution from optimized model.
41+ If `nothing`, it will use the current primal solution from optimized model.
4242- `dual_point`: The dual solution point to use for feasibility checking.
43- If `nothing` and the model can be dualized, it will use the current dual
44- solution from the model.
43+ If `nothing` and the model can be dualized, it will use the current dual
44+ solution from the model.
4545- `atol`: The absolute tolerance for feasibility checking.
4646- `skip_missing`: If `true`, constraints with missing variables in the provided
47- point will be ignored.
47+ point will be ignored.
4848- `dual_check`: If `true`, it will perform dual feasibility checking. Disabling
49- the dual check will also disable complementarity checking.
49+ the dual check will also disable complementarity checking.
5050"""
5151struct Analyzer <: ModelAnalyzer.AbstractAnalyzer end
5252
@@ -62,6 +62,11 @@ abstract type AbstractFeasibilityIssue <: ModelAnalyzer.AbstractIssue end
6262
6363The `PrimalViolation` issue is identified when a primal constraint has a
6464left-hand-side value that is not within the constraint's set.
65+
66+ For more information, run:
67+ ```julia
68+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.PrimalViolation)
69+ ```
6570"""
6671struct PrimalViolation <: AbstractFeasibilityIssue
6772 ref:: JuMP.ConstraintRef
7378
7479The `DualViolation` issue is identified when a constraint has a dual value
7580that is not within the dual constraint's set.
81+
82+ For more information, run:
83+ ```julia
84+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.DualViolation)
85+ ```
7686"""
7787struct DualViolation <: AbstractFeasibilityIssue
7888 ref:: Union{JuMP.ConstraintRef,JuMP.VariableRef}
@@ -86,6 +96,11 @@ The `ComplemetarityViolation` issue is identified when a pair of primal
8696constraint and dual variable has a nonzero complementarity value, i.e., the
8797inner product of the primal constraint's slack and the dual variable's
8898violation is not zero.
99+
100+ For more information, run:
101+ ```julia
102+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.ComplemetarityViolation)
103+ ```
89104"""
90105struct ComplemetarityViolation <: AbstractFeasibilityIssue
91106 ref:: JuMP.ConstraintRef
98113The `DualObjectiveMismatch` issue is identified when the dual objective value
99114computed from problem data and the dual solution does not match the solver's
100115dual objective value.
116+
117+ For more information, run:
118+ ```julia
119+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.DualObjectiveMismatch)
120+ ```
101121"""
102122struct DualObjectiveMismatch <: AbstractFeasibilityIssue
103123 obj:: Float64
110130The `PrimalObjectiveMismatch` issue is identified when the primal objective
111131value computed from problem data and the primal solution does not match
112132the solver's primal objective value.
133+
134+ For more information, run:
135+ ```julia
136+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.PrimalObjectiveMismatch)
137+ ```
113138"""
114139struct PrimalObjectiveMismatch <: AbstractFeasibilityIssue
115140 obj:: Float64
122147The `PrimalDualMismatch` issue is identified when the primal objective value
123148computed from problem data and the primal solution does not match the dual
124149objective value computed from problem data and the dual solution.
150+
151+ For more information, run:
152+ ```julia
153+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.PrimalDualMismatch)
154+ ```
125155"""
126156struct PrimalDualMismatch <: AbstractFeasibilityIssue
127157 primal:: Float64
134164The `PrimalDualSolverMismatch` issue is identified when the primal objective
135165value reported by the solver does not match the dual objective value reported
136166by the solver.
167+
168+ For more information, run:
169+ ```julia
170+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.PrimalDualSolverMismatch)
171+ ```
137172"""
138173struct PrimalDualSolverMismatch <: AbstractFeasibilityIssue
139174 primal:: Float64
0 commit comments