@@ -50,8 +50,11 @@ function bridge_constrained_variable(
50
50
model:: MOI.ModelLike ,
51
51
set:: S2 ,
52
52
) where {T,S1,S2}
53
- variables, constraint =
54
- _add_constrained_var (model, MOI. Bridges. inverse_map_set (BT, set))
53
+ # In a Variable.SetMapBridge:
54
+ # map_set goes from Bridge -> User
55
+ # inverse_map_set goes from User -> Bridge
56
+ new_set = MOI. Bridges. inverse_map_set (BT, set)
57
+ variables, constraint = _add_constrained_var (model, new_set)
55
58
return BT (variables, constraint)
56
59
end
57
60
@@ -85,6 +88,9 @@ function MOI.get(
85
88
if value === nothing
86
89
return
87
90
end
91
+ # In a Variable.SetMapBridge:
92
+ # map_function goes from Bridge -> User
93
+ # inverse_map_function goes from User -> Bridge
88
94
return MOI. Bridges. map_function (bridge, value)
89
95
end
90
96
@@ -98,6 +104,9 @@ function MOI.set(
98
104
MOI. set (model, attr, bridge. constraint, nothing )
99
105
return
100
106
end
107
+ # In a Variable.SetMapBridge:
108
+ # map_function goes from Bridge -> User
109
+ # inverse_map_function goes from User -> Bridge
101
110
bridged_value = MOI. Bridges. inverse_map_function (bridge, value)
102
111
MOI. set (model, attr, bridge. constraint, bridged_value)
103
112
return
@@ -109,6 +118,9 @@ function MOI.get(
109
118
bridge:: SetMapBridge ,
110
119
)
111
120
set = MOI. get (model, attr, bridge. constraint)
121
+ # In a Variable.SetMapBridge:
122
+ # map_set goes from Bridge -> User
123
+ # inverse_map_set goes from User -> Bridge
112
124
return MOI. Bridges. map_set (bridge, set)
113
125
end
114
126
@@ -118,8 +130,11 @@ function MOI.set(
118
130
bridge:: SetMapBridge{T,S1} ,
119
131
set:: S1 ,
120
132
) where {T,S1}
121
- mapped = MOI. Bridges. inverse_map_set (bridge, set)
122
- MOI. set (model, attr, bridge. constraint, mapped)
133
+ # In a Variable.SetMapBridge:
134
+ # map_set goes from Bridge -> User
135
+ # inverse_map_set goes from User -> Bridge
136
+ mapped_set = MOI. Bridges. inverse_map_set (bridge, set)
137
+ MOI. set (model, attr, bridge. constraint, mapped_set)
123
138
return
124
139
end
125
140
@@ -132,7 +147,10 @@ function MOI.get(
132
147
if value === nothing
133
148
return
134
149
end
135
- return MOI. Bridges. adjoint_map_function (bridge, value)
150
+ # In a Variable.SetMapBridge:
151
+ # inverse_adjoint_map_function goes from Bridge -> User
152
+ # adjoint_map_function goes from User -> Bridge
153
+ return MOI. Bridges. inverse_adjoint_map_function (bridge, value)
136
154
end
137
155
138
156
function MOI. set (
@@ -145,7 +163,10 @@ function MOI.set(
145
163
MOI. set (model, attr, bridge. constraint, nothing )
146
164
return
147
165
end
148
- bridged_value = MOI. Bridges. inverse_adjoint_map_function (bridge, value)
166
+ # In a Variable.SetMapBridge:
167
+ # inverse_adjoint_map_function goes from Bridge -> User
168
+ # adjoint_map_function goes from User -> Bridge
169
+ bridged_value = MOI. Bridges. adjoint_map_function (bridge, value)
149
170
MOI. set (model, attr, bridge. constraint, bridged_value)
150
171
return
151
172
end
160
181
161
182
function unbridged_map (bridge:: SetMapBridge{T} , vi:: MOI.VariableIndex ) where {T}
162
183
F = MOI. ScalarAffineFunction{T}
184
+ # In a Variable.SetMapBridge:
185
+ # map_function goes from Bridge -> User
186
+ # inverse_map_function goes from User -> Bridge
163
187
mapped = MOI. Bridges. inverse_map_function (bridge, vi)
164
188
return Pair{MOI. VariableIndex,F}[bridge. variable=> mapped]
165
189
end
@@ -222,6 +246,9 @@ function MOI.get(
222
246
if value === nothing
223
247
return
224
248
end
249
+ # In a Variable.SetMapBridge:
250
+ # map_function goes from Bridge -> User
251
+ # inverse_map_function goes from User -> Bridge
225
252
return MOI. Bridges. map_function (bridge, value)
226
253
end
227
254
@@ -235,6 +262,9 @@ function MOI.set(
235
262
MOI. set (model, attr, bridge. variable, nothing )
236
263
return
237
264
end
265
+ # In a Variable.SetMapBridge:
266
+ # map_function goes from Bridge -> User
267
+ # inverse_map_function goes from User -> Bridge
238
268
bridged_value = MOI. Bridges. inverse_map_function (bridge, value)
239
269
MOI. set (model, attr, bridge. variable, bridged_value)
240
270
return
@@ -294,6 +324,9 @@ function MOI.get(
294
324
if any (isnothing, value)
295
325
return
296
326
end
327
+ # In a Variable.SetMapBridge:
328
+ # map_function goes from Bridge -> User
329
+ # inverse_map_function goes from User -> Bridge
297
330
return MOI. Bridges. map_function (bridge, value, i)
298
331
end
299
332
@@ -308,6 +341,9 @@ function MOI.set(
308
341
MOI. set (model, attr, bridge. variables[i. value], nothing )
309
342
return
310
343
end
344
+ # In a Variable.SetMapBridge:
345
+ # map_function goes from Bridge -> User
346
+ # inverse_map_function goes from User -> Bridge
311
347
bridged_value = MOI. Bridges. inverse_map_function (bridge, value)
312
348
MOI. set (model, attr, bridge. variables[i. value], bridged_value)
313
349
return
@@ -337,6 +373,9 @@ function unbridged_map(
337
373
) where {T}
338
374
F = MOI. ScalarAffineFunction{T}
339
375
func = MOI. VectorOfVariables (vis)
376
+ # In a Variable.SetMapBridge:
377
+ # map_function goes from Bridge -> User
378
+ # inverse_map_function goes from User -> Bridge
340
379
funcs = MOI. Bridges. inverse_map_function (bridge, func)
341
380
scalars = MOI. Utilities. eachscalar (funcs)
342
381
# FIXME not correct for SetDotProducts, it won't recover the dot product variables
0 commit comments