Skip to content

Commit 3fa3e7b

Browse files
resize Q and A after presolve (#101)
1 parent 711111e commit 3fa3e7b

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/presolve/presolve.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,8 @@ function presolve(
284284
end
285285

286286
if !isempty(operations)
287-
remove_rowscols_A_H!(psdata.A, psdata.H, qmp)
288287
nconps, nvarps = update_vectors!(qmp)
288+
remove_rowscols_A_H!(psdata.A, psdata.H, qmp, nvarps, nconps)
289289
psdata.c0 = qmp.c0
290290
end
291291

src/presolve/presolve_utils.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ end
5454
find_empty_rowscols(v_cnt::Vector{Int}) = findall(isequal(0), v_cnt)
5555
find_singleton_rowscols(v_cnt::Vector{Int}) = findall(isequal(1), v_cnt)
5656

57-
function remove_rowscols_A_H!(A, H, qmp::QuadraticModelPresolveData)
57+
function remove_rowscols_A_H!(A, H, qmp::QuadraticModelPresolveData, nvarps, nconps)
5858
Arows, Acols, Avals = A.rows, A.cols, A.vals
5959
Hrows, Hcols, Hvals = H.rows, H.cols, H.vals
6060
kept_rows, kept_cols = qmp.kept_rows, qmp.kept_cols
@@ -118,6 +118,8 @@ function remove_rowscols_A_H!(A, H, qmp::QuadraticModelPresolveData)
118118
resize!(Hcols, Hnnz)
119119
resize!(Hvals, Hnnz)
120120
end
121+
A.m, A.n = nconps, nvarps
122+
H.m, H.n = nvarps, nvarps
121123
end
122124

123125
function update_vectors!(qmp::QuadraticModelPresolveData)

0 commit comments

Comments
 (0)