Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

accessing row duals #12

Closed
mlubin opened this issue Jun 8, 2013 · 3 comments
Closed

accessing row duals #12

mlubin opened this issue Jun 8, 2013 · 3 comments
Assignees

Comments

@mlubin
Copy link
Member

mlubin commented Jun 8, 2013

We need user-facing Constraint objects through which solution information (e.g. dual variables) can be accessed. There should be a user-constructable MathProgDict of Constraints for convenience.

@ghost ghost assigned mlubin Jun 8, 2013
@mlubin mlubin mentioned this issue Jun 9, 2013
@IainNZ
Copy link
Collaborator

IainNZ commented Jun 26, 2013

Was about to start coding, but I thought I'd just check what is needed exactly.

  • A ConstraintRef that contains a Model pointer and a constraint index
  • addConstraint() returns one of these
  • You can create arrays of these with a macro, @defConstraintRef
  • getDual(ConstraintRef) and getDual(MathProgDict - of ConstraintRefs)
    • Can MathProgDict be generalized a bit? Or is it already sufficiently general
  • After solve, rowDuals information is stored in the Model object
  • What do we do with range constraints? Return a tuple?
    • What does Gurobi do if you give it a range constraint?

@mlubin
Copy link
Member Author

mlubin commented Jun 26, 2013

I agree with the list. Dealing with MathProgDict is a bit tricky so I can do that part, but it already has the required generality. With range constraints the sign of the dual determines which side is active (in theory). Clp doesn't have any problem with this, but gurobi is weird with range constraints, so I'll have to check. We could potentially need to reformulate the problem.

@mlubin mlubin closed this as completed in 810e7ae Jul 8, 2013
@mlubin
Copy link
Member Author

mlubin commented Jul 8, 2013

From my tests, Gurobi seems to do the right thing with the duals of ranged rows; the sign tells you which side is active.

mlubin added a commit that referenced this issue Mar 11, 2018
basic support for embedded subexpressions
blegat pushed a commit that referenced this issue Oct 16, 2018
clarify relationship to CPLEX™
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants