Skip to content

Commit 56ca380

Browse files
committed
More JuMP. additions
1 parent 0044ea4 commit 56ca380

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

src/mbm.jl

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ end
5858
function reformulate_disjunct_constraint(
5959
model::JuMP.AbstractModel,
6060
con::JuMP.VectorConstraint{T, S, R},
61-
bconref:: Dict{LogicalVariableRef,VariableRef},
61+
bconref:: Dict{LogicalVariableRef,JuMP.VariableRef},
6262
M::Dict{LogicalVariableRef,Float64},
6363
method::MBM
6464
) where {T, S <: _MOI.Nonpositives, R}
@@ -73,7 +73,7 @@ end
7373
function reformulate_disjunct_constraint(
7474
model::JuMP.AbstractModel,
7575
con::JuMP.VectorConstraint{T, S, R},
76-
bconref:: Dict{LogicalVariableRef,VariableRef},
76+
bconref:: Dict{LogicalVariableRef,JuMP.VariableRef},
7777
M::Dict{LogicalVariableRef,Float64},
7878
method::MBM
7979
) where {T, S <: _MOI.Nonnegatives, R}
@@ -88,7 +88,7 @@ end
8888
function reformulate_disjunct_constraint(
8989
model::JuMP.AbstractModel,
9090
con::JuMP.VectorConstraint{T, S, R},
91-
bconref:: Dict{LogicalVariableRef,VariableRef},
91+
bconref:: Dict{LogicalVariableRef,JuMP.VariableRef},
9292
M::Dict{LogicalVariableRef,Float64},
9393
method::MBM
9494
) where {T, S <: _MOI.Zeros, R}
@@ -108,7 +108,7 @@ end
108108
function reformulate_disjunct_constraint(
109109
model::JuMP.AbstractModel,
110110
con::JuMP.ScalarConstraint{T, S},
111-
bconref:: Dict{LogicalVariableRef,VariableRef},
111+
bconref:: Dict{LogicalVariableRef,JuMP.VariableRef},
112112
M::Dict{LogicalVariableRef,Float64},
113113
method::MBM
114114
) where {T, S <: _MOI.LessThan}
@@ -120,7 +120,7 @@ end
120120
function reformulate_disjunct_constraint(
121121
model::JuMP.AbstractModel,
122122
con::JuMP.ScalarConstraint{T, S},
123-
bconref:: Dict{LogicalVariableRef,VariableRef},
123+
bconref:: Dict{LogicalVariableRef,JuMP.VariableRef},
124124
M::Dict{LogicalVariableRef,Float64},
125125
method::MBM
126126
) where {T, S <: _MOI.GreaterThan}
@@ -132,7 +132,7 @@ end
132132
function reformulate_disjunct_constraint(
133133
model::JuMP.AbstractModel,
134134
con::JuMP.ScalarConstraint{T, S},
135-
bconref:: Dict{LogicalVariableRef,VariableRef},
135+
bconref:: Dict{LogicalVariableRef,JuMP.VariableRef},
136136
M::Dict{LogicalVariableRef,Float64},
137137
method::MBM
138138
) where {T, S <: _MOI.EqualTo}
@@ -146,7 +146,7 @@ end
146146
function reformulate_disjunct_constraint(
147147
model::JuMP.AbstractModel,
148148
con::Any,
149-
bconref:: Dict{LogicalVariableRef,VariableRef},
149+
bconref:: Dict{LogicalVariableRef,JuMP.VariableRef},
150150
M::Dict{LogicalVariableRef,Float64},
151151
method::MBM
152152
)
@@ -159,37 +159,37 @@ end
159159
#Dispatches over constaint types to reformulate into >= or <= in order to solve the mini-model
160160
function _maximize_M(
161161
model::JuMP.AbstractModel,
162-
objective::VectorConstraint{T, S, R},
162+
objective::JuMP.VectorConstraint{T, S, R},
163163
constraints::Vector{DisjunctConstraintRef},
164164
method::MBM
165165
) where {T, S <: _MOI.Nonpositives, R}
166-
return maximum(_maximize_M(model, ScalarConstraint(objective.func[i], MOI.LessThan(0.0)), constraints, method) for i in 1:objective.set.dimension)
166+
return maximum(_maximize_M(model, JuMP.ScalarConstraint(objective.func[i], MOI.LessThan(0.0)), constraints, method) for i in 1:objective.set.dimension)
167167
end
168168

169169
function _maximize_M(
170170
model::JuMP.AbstractModel,
171-
objective::VectorConstraint{T, S, R},
171+
objective::JuMP.VectorConstraint{T, S, R},
172172
constraints::Vector{DisjunctConstraintRef},
173173
method::MBM
174174
) where {T, S <: _MOI.Nonnegatives, R}
175-
return maximum(_maximize_M(model, ScalarConstraint(objective.func[i], MOI.GreaterThan(0.0)), constraints, method) for i in 1:objective.set.dimension)
175+
return maximum(_maximize_M(model, JuMP.ScalarConstraint(objective.func[i], MOI.GreaterThan(0.0)), constraints, method) for i in 1:objective.set.dimension)
176176
end
177177

178178
function _maximize_M(
179179
model::JuMP.AbstractModel,
180-
objective::VectorConstraint{T, S, R},
180+
objective::JuMP.VectorConstraint{T, S, R},
181181
constraints::Vector{DisjunctConstraintRef},
182182
method::MBM
183183
) where {T, S <: _MOI.Zeros, R}
184184
return max(
185-
maximum(_maximize_M(model, ScalarConstraint(objective.func[i], MOI.GreaterThan(0.0)), constraints, method) for i in 1:objective.set.dimension),
186-
maximum(_maximize_M(model, ScalarConstraint(objective.func[i], MOI.LessThan(0.0)), constraints, method) for i in 1:objective.set.dimension)
185+
maximum(_maximize_M(model, JuMP.ScalarConstraint(objective.func[i], MOI.GreaterThan(0.0)), constraints, method) for i in 1:objective.set.dimension),
186+
maximum(_maximize_M(model, JuMP.ScalarConstraint(objective.func[i], MOI.LessThan(0.0)), constraints, method) for i in 1:objective.set.dimension)
187187
)
188188
end
189189

190190
function _maximize_M(
191191
model::JuMP.AbstractModel,
192-
objective::ScalarConstraint{T, S},
192+
objective::JuMP.ScalarConstraint{T, S},
193193
constraints::Vector{DisjunctConstraintRef},
194194
method::MBM
195195
) where {T, S <: Union{_MOI.LessThan, _MOI.GreaterThan}}
@@ -198,13 +198,13 @@ end
198198

199199
function _maximize_M(
200200
model::JuMP.AbstractModel,
201-
objective::ScalarConstraint{T, S},
201+
objective::JuMP.ScalarConstraint{T, S},
202202
constraints::Vector{DisjunctConstraintRef},
203203
method::MBM
204204
) where {T, S <: _MOI.EqualTo}
205205
return max(
206-
_mini_model(model, ScalarConstraint(objective.func, MOI.GreaterThan(objective.set.value)), constraints, method),
207-
_mini_model(model, ScalarConstraint(objective.func, MOI.LessThan(objective.set.value)), constraints, method)
206+
_mini_model(model, JuMP.ScalarConstraint(objective.func, MOI.GreaterThan(objective.set.value)), constraints, method),
207+
_mini_model(model, JuMP.ScalarConstraint(objective.func, MOI.LessThan(objective.set.value)), constraints, method)
208208
)
209209
end
210210

@@ -220,7 +220,7 @@ end
220220
#Solve a mini-model to find the maximum value of the objective function for M value
221221
function _mini_model(
222222
model::JuMP.AbstractModel,
223-
objective::ScalarConstraint{T,S},
223+
objective::JuMP.ScalarConstraint{T,S},
224224
constraints::Vector{DisjunctConstraintRef},
225225
method::MBM
226226
) where {T,S <: Union{_MOI.LessThan, _MOI.GreaterThan}}
@@ -263,7 +263,7 @@ end
263263
#_mini_model requires objective to be >= or <= in order to run
264264
function _mini_model(
265265
model::JuMP.AbstractModel,
266-
objective::ScalarConstraint{T,S},
266+
objective::JuMP.ScalarConstraint{T,S},
267267
constraints::Vector{DisjunctConstraintRef},
268268
method::MBM
269269
) where {T,S <: Union{_MOI.Nonpositives, _MOI.Nonnegatives, _MOI.Zeros, MOI.EqualTo, MOI.Interval}}

0 commit comments

Comments
 (0)