Skip to content

Commit

Permalink
Merge pull request #27 from JuliaOpt/fixduals
Browse files Browse the repository at this point in the history
fix signs on duals
  • Loading branch information
mlubin committed Aug 11, 2015
2 parents 94f5e59 + ed14c38 commit 99b224a
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions src/ECOSSolverInterface.jl
Expand Up @@ -399,14 +399,12 @@ function getconicdual(m::ECOSMathProgModel)
duals = zeros(length(m.row_map_ind))
for (mpb_row,ecos_row) in enumerate(m.row_map_ind)
cone = m.row_map_type[mpb_row]
# Not well understood why we need to flip signs
# of Zero and SOC constraints.
if cone == :Zero
# This MPB constraint ended up in ECOS equality block
duals[mpb_row] = -m.dual_sol_eq[ecos_row]
duals[mpb_row] = m.dual_sol_eq[ecos_row]
else
# Ended up in ECOS inequality block
if cone == :NonPos || cone == :SOC
if cone == :NonPos
duals[mpb_row] = -m.dual_sol_ineq[ecos_row]
else
duals[mpb_row] = m.dual_sol_ineq[ecos_row]
Expand Down

0 comments on commit 99b224a

Please sign in to comment.