@@ -69,7 +69,7 @@ SDOIOptimizer(sdoptimizer::AbstractSDOptimizer, T=Float64) = SOItoMOIBridge{T}(s
6969
7070include (" load.jl" )
7171
72- function MOI. isempty (optimizer:: SOItoMOIBridge )
72+ function MOI. is_empty (optimizer:: SOItoMOIBridge )
7373 isempty (optimizer. double) &&
7474 isempty (optimizer. setconstant) &&
7575 isempty (optimizer. blkconstant) &&
@@ -87,7 +87,7 @@ function MOI.isempty(optimizer::SOItoMOIBridge)
8787end
8888function MOI. empty! (optimizer:: SOItoMOIBridge{T} ) where T
8989 for s in optimizer. double
90- MOI. delete! (m, s)
90+ MOI. delete (m, s)
9191 end
9292 optimizer. double = CI[]
9393 optimizer. setconstant = Dict {Int64, T} ()
@@ -123,71 +123,40 @@ function addblkconstant(optimizer::SOItoMOIBridge, ci::CI, x)
123123 x
124124end
125125
126- function MOI. supports (optimizer:: SOItoMOIBridge ,
127- :: Union {MOI. ConstraintFunction,
128- MOI. ConstraintSet},
129- :: Type{<:CI} )
130- return true
131- end
132- function MOI. set! (optimizer:: SOItoMOIBridge ,
133- attr:: Union {MOI. ConstraintFunction,
134- MOI. ConstraintSet},
135- :: CI ,
136- value)
137- throw (MOI. CannotSetAttribute (attr, " Copy-only solver" ))
138- end
139-
140126function MOI. supports (optimizer:: SOItoMOIBridge{T} ,
141127 :: Union {MOI. ObjectiveSense,
142128 MOI. ObjectiveFunction{<: Union {MOI. SingleVariable,
143129 MOI. ScalarAffineFunction{T}}}}) where T
144130 return true
145131end
146- function MOI. set! (optimizer:: SOItoMOIBridge{T} ,
147- attr:: Union {MOI. ObjectiveSense,
148- MOI. ObjectiveFunction{<: Union {MOI. SingleVariable,
149- MOI. ScalarAffineFunction{T}}}},
150- value) where T
151- throw (MOI. CannotSetAttribute (attr, " Copy-only solver" ))
152- end
153132
154- function MOI. supportsconstraint (:: SOItoMOIBridge{T} ,
155- :: Type{<:Union{VF, AF{T}}} ,
156- :: Type{<:SupportedSets} ) where T
133+ function MOI. supports_constraint (:: SOItoMOIBridge{T} ,
134+ :: Type{<:Union{VF, AF{T}}} ,
135+ :: Type{<:SupportedSets} ) where T
157136 return true
158137end
159- function MOI. addconstraint! (:: SOItoMOIBridge{T} ,
160- func:: Union{VF, AF{T}} ,
161- set:: SupportedSets ) where T
162- throw (MOI. CannotAddConstraint {typeof(func), typeof(set)} (" Copy-only solver" ))
163- end
164138
165- MOI. copy! (dest:: SOItoMOIBridge , src:: MOI.ModelLike ; copynames= true ) = MOIU. allocateload! (dest, src, copynames)
139+ function MOI. copy_to (dest:: SOItoMOIBridge , src:: MOI.ModelLike ;
140+ copy_names = true )
141+ return MOIU. allocate_load (dest, src, copy_names)
142+ end
166143
167144MOI. optimize! (m:: SOItoMOIBridge ) = MOI. optimize! (m. sdoptimizer)
168145
169146# Objective
170147
171- MOI. canget (m:: SOItoMOIBridge , :: MOI.ObjectiveValue ) = true
172148function MOI. get (m:: SOItoMOIBridge , :: MOI.ObjectiveValue )
173149 m. objshift + m. objsign * getprimalobjectivevalue (m. sdoptimizer) + m. objconstant
174150end
175151
176152# Attributes
177153
178- MOI. canget (m:: AbstractSDOptimizer , :: MOI.TerminationStatus ) = true
179154const SolverStatus = Union{MOI. TerminationStatus, MOI. PrimalStatus, MOI. DualStatus}
180- MOI. canget (m:: SOItoMOIBridge , s:: SolverStatus ) = MOI. canget (m. sdoptimizer, s)
181155MOI. get (m:: SOItoMOIBridge , s:: SolverStatus ) = MOI. get (m. sdoptimizer, s)
182156
183157
184- MOI. canget (m:: SOItoMOIBridge , :: MOI.ResultCount ) = true
185158MOI. get (m:: SOItoMOIBridge , :: MOI.ResultCount ) = 1
186159
187- MOI. canget (m:: SOItoMOIBridge , :: Union {MOI. VariablePrimal,
188- MOI. ConstraintPrimal,
189- MOI. ConstraintDual}, :: Type{<:MOI.Index} ) = true
190-
191160function _getblock (M, blk:: Int , s:: Type{<:Union{NS, ZS}} )
192161 diag (block (M, blk))
193162end
0 commit comments