Skip to content

Commit 3f7b955

Browse files
committed
implement setvartype for conic_to_lpqp
1 parent 0747114 commit 3f7b955

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/SolverInterface/conic_to_lpqp.jl

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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}
1819
end
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

2223
export 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

233237
end
@@ -308,3 +312,6 @@ function addconstr!{T<:Integer}(wrap::ConicToLPQPBridge, varidx::AbstractArray{T
308312
push!(wrap.rowlb, lb)
309313
push!(wrap.rowub, ub)
310314
end
315+
function setvartype!(wrap::ConicToLPQPBridge, v)
316+
wrap.vartypes = copy(v)
317+
end

0 commit comments

Comments
 (0)