Skip to content
This repository has been archived by the owner on Sep 10, 2019. It is now read-only.

VectorAffineFunction-in-SecondOrderCone -> ScalarQuadraticFunction-in-LessThan bridge #92

Open
blegat opened this issue Feb 10, 2018 · 2 comments

Comments

@blegat
Copy link
Member

blegat commented Feb 10, 2018

The duals won't work for this one though since the dual of ScalarQuadraticFunction-in-LessThan is just a scalar (see jump-dev/MathOptInterface.jl#43), we loose information in comparison with the vector dual of the SOC

@joaquimg
Copy link
Member

Once I asked about that and I got the following response "It should be possible to derive the cone dual vector as the gradient of the quadratic cone constraint, scaled by the single dual multiplier". I looked ok, am I missing something?

@blegat
Copy link
Member Author

blegat commented Feb 17, 2018

||Ax + b|| <= c'x + d is rewritten into 2x'A'Ax + (2b'A - c')x + b'b - d for which the gradient is A'Ax + (2b'A - c'). The constraint primal is (c'x + d, Ax + b), by complementary slackness we know that

  • if it is zero, the constraint dual could be anything;
  • If it is in the interior of the SOC cones, the constraint dual is zero;
  • otherwise the constraint dual is at the other side of the cone, i.e. it is a multiple of (c'x + d, -(Ax + b)) (not that the scalar product is with the constraint primal is (c'x + d)^2 - ||Ax + b||^2 which is zero since it is in the boundary if the SOC cone`.

I do not see how to link the gradient with the constraint dual but we might compute (c'x + d, -(Ax + b)) with the variable primal if we are in the third case. However, with the definition of https://github.com/JuliaOpt/MathOptInterface.jl/pull/43/files, in this case the constraint dual of the quadratic constraint is zero so it does not give the necessary scaling information.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants