-
Notifications
You must be signed in to change notification settings - Fork 97
Open
Labels
Submodule: BridgesAbout the Bridges submoduleAbout the Bridges submodule
Milestone
Description
This is working for FlipSignBridge since it just multiply by -1 but for a linear map that is not diagonal, we cannot set the starting values variable by variable.
MathOptInterface.jl/src/Bridges/Variable/set_map.jl
Lines 182 to 192 in 5025b50
| function MOI.set( | |
| model::MOI.ModelLike, | |
| attr::MOI.VariablePrimalStart, | |
| bridge::SetMapBridge, | |
| value, | |
| i::MOI.Bridges.IndexInVector, | |
| ) | |
| bridged_value = MOI.Bridges.inverse_map_function(typeof(bridge), value) | |
| MOI.set(model, attr, bridge.variables[i.value], bridged_value) | |
| return | |
| end |
We would need to cache the vector of starting values in the bridge and then do the linear map in final_touch.
Alternatively, this caching could be done by BridgeOptimizer to simplify the job of each bridge but that caching isn't needed for FlipSignBridge so it could be a waste.
Metadata
Metadata
Assignees
Labels
Submodule: BridgesAbout the Bridges submoduleAbout the Bridges submodule