@@ -15,9 +15,10 @@ type ConicToLPQPBridge <: AbstractLinearQuadraticModel
1515 varboundmap:: Vector{Int}
1616 SOCconstrs:: Vector{Vector{Int}} # x'x <= y^2, y is first index in vector
1717 RSOCconstrs:: Vector{Vector{Int}} # x'x <= y*z, y is first index in vector, z is second
18+ vartypes:: Vector{Symbol}
1819end
1920
20- ConicToLPQPBridge (s:: AbstractConicModel ) = ConicToLPQPBridge (s, sparse (Int[],Int[],Float64[]), Float64[], Float64[], Float64[], Float64[], Float64[], :Min , Int[], Array {Vector{Int}} (0 ),Array {Vector{Int}} (0 ))
21+ ConicToLPQPBridge (s:: AbstractConicModel ) = ConicToLPQPBridge (s, sparse (Int[],Int[],Float64[]), Float64[], Float64[], Float64[], Float64[], Float64[], :Min , Int[], Array {Vector{Int}} (0 ),Array {Vector{Int}} (0 ), Symbol[] )
2122
2223export ConicToLPQPBridge
2324
@@ -228,6 +229,9 @@ function optimize!(wrap::ConicToLPQPBridge)
228229
229230 # @show obj, full(A), b, constr_cones, var_cones
230231 loadproblem! (wrap. m, obj, A, b, constr_cones, var_cones)
232+ if ! isempty (wrap. vartypes)
233+ setvartype! (wrap. m, wrap. vartypes)
234+ end
231235 optimize! (wrap. m)
232236
233237end
@@ -308,3 +312,6 @@ function addconstr!{T<:Integer}(wrap::ConicToLPQPBridge, varidx::AbstractArray{T
308312 push! (wrap. rowlb, lb)
309313 push! (wrap. rowub, ub)
310314end
315+ function setvartype! (wrap:: ConicToLPQPBridge , v)
316+ wrap. vartypes = copy (v)
317+ end
0 commit comments