@@ -38,15 +38,15 @@ julia> data = ModelAnalyzer.analyze(
38
38
39
39
The additional parameters:
40
40
- `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.
42
42
- `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.
45
45
- `atol`: The absolute tolerance for feasibility checking.
46
46
- `skip_missing`: If `true`, constraints with missing variables in the provided
47
- point will be ignored.
47
+ point will be ignored.
48
48
- `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.
50
50
"""
51
51
struct Analyzer <: ModelAnalyzer.AbstractAnalyzer end
52
52
@@ -62,6 +62,11 @@ abstract type AbstractFeasibilityIssue <: ModelAnalyzer.AbstractIssue end
62
62
63
63
The `PrimalViolation` issue is identified when a primal constraint has a
64
64
left-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
+ ```
65
70
"""
66
71
struct PrimalViolation <: AbstractFeasibilityIssue
67
72
ref:: JuMP.ConstraintRef
73
78
74
79
The `DualViolation` issue is identified when a constraint has a dual value
75
80
that is not within the dual constraint's set.
81
+
82
+ For more information, run:
83
+ ```julia
84
+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.DualViolation)
85
+ ```
76
86
"""
77
87
struct DualViolation <: AbstractFeasibilityIssue
78
88
ref:: Union{JuMP.ConstraintRef,JuMP.VariableRef}
@@ -86,6 +96,11 @@ The `ComplemetarityViolation` issue is identified when a pair of primal
86
96
constraint and dual variable has a nonzero complementarity value, i.e., the
87
97
inner product of the primal constraint's slack and the dual variable's
88
98
violation is not zero.
99
+
100
+ For more information, run:
101
+ ```julia
102
+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.ComplemetarityViolation)
103
+ ```
89
104
"""
90
105
struct ComplemetarityViolation <: AbstractFeasibilityIssue
91
106
ref:: JuMP.ConstraintRef
98
113
The `DualObjectiveMismatch` issue is identified when the dual objective value
99
114
computed from problem data and the dual solution does not match the solver's
100
115
dual objective value.
116
+
117
+ For more information, run:
118
+ ```julia
119
+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.DualObjectiveMismatch)
120
+ ```
101
121
"""
102
122
struct DualObjectiveMismatch <: AbstractFeasibilityIssue
103
123
obj:: Float64
110
130
The `PrimalObjectiveMismatch` issue is identified when the primal objective
111
131
value computed from problem data and the primal solution does not match
112
132
the solver's primal objective value.
133
+
134
+ For more information, run:
135
+ ```julia
136
+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.PrimalObjectiveMismatch)
137
+ ```
113
138
"""
114
139
struct PrimalObjectiveMismatch <: AbstractFeasibilityIssue
115
140
obj:: Float64
122
147
The `PrimalDualMismatch` issue is identified when the primal objective value
123
148
computed from problem data and the primal solution does not match the dual
124
149
objective 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
+ ```
125
155
"""
126
156
struct PrimalDualMismatch <: AbstractFeasibilityIssue
127
157
primal:: Float64
134
164
The `PrimalDualSolverMismatch` issue is identified when the primal objective
135
165
value reported by the solver does not match the dual objective value reported
136
166
by the solver.
167
+
168
+ For more information, run:
169
+ ```julia
170
+ julia> ModelAnalyzer.summarize(ModelAnalyzer.Feasibility.PrimalDualSolverMismatch)
171
+ ```
137
172
"""
138
173
struct PrimalDualSolverMismatch <: AbstractFeasibilityIssue
139
174
primal:: Float64
0 commit comments