-
Notifications
You must be signed in to change notification settings - Fork 24
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
Conflict report #276
Conflict report #276
Conversation
@odow I didn't see any |
@pfetsch for information. I had to use a bit of a weird hack to get the violations by the names generated for the binary variables, but that should work |
The conflict tests have a check for if they can get |
src/MOI_wrapper.jl
Outdated
# we need names for all constraints | ||
for (F, S) in MOI.get(o, MOI.ListOfConstraintTypesPresent()) | ||
for (idx, c_index) in enumerate(MOI.get(o, MOI.ListOfConstraintIndices{F,S}())) | ||
if MOI.get(o, MOI.ConstraintName(), c_index) == "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This won't work for VariableIndex
constraints
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these are currently excluded, because SCIP treats these as variable information and not as constraints, will need further adaptation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I adapted the code to convert all variable constraints to scalar affine functions to be able to compute their infeasibility too
src/MOI_wrapper.jl
Outdated
end | ||
end | ||
end | ||
success = Ref{LibSCIP.SCIP_Bool}(333) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why 333
? Perhaps SCIP.FALSE
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah this was as a flag value to indicate that it hasn't been touched
Yes, |
indeed. The last thing holding this back is that the superindicator transformation is not handling bound constraints if I understand the logic correctly. |
okay thinking about it a bit more, the definition of the SCIP subset of constraints and the minimal subsystem of MOI diverge:
while SCIP provides a set of constraints which had to be relaxed to obtain a feasible solution |
So if K constraints are in conflict and removing any of them resolves it, only one of them will be reported as infeasible by SCIP |
MOI's |
Indeed, the definitions diverge too much. There could be a way to compute an IIS by gradually re-imposing the constraints, but this will be for another time. |
When you look for a point that minimizes a measurement on the infeasibility (max/sum/number), then this is usually called feasibility relaxation (CPLEX feasopt, COPT feasrelax). |
that's true it might be a better name |
Hi, Does any one has plans to implement compute_conflict? The solution provided by @matbesancon looks still promising , though it does not provide a complete subset for constraints (may be just returns a simple constraint), this looks better than have no solution at all? We are in urgent need of this solution , any help would be appretiated. |
Hi @mrajende, There has been no progress on a IIS for SCIP. But see this part of the JuMP docs for how to use We're aiming to work on a solver-independent IIS algorithm in the next quarter: jump-dev/JuMP.jl#3664 |
Actually, there is. SCIP 10 will feature the computation of IISs. |
I suppose you mean in the SCIP native implementation 10 ?
…On Mon, Feb 24, 2025 at 8:34 PM Marc Pfetsch ***@***.***> wrote:
There has been no progress on a IIS for SCIP.
Actually, there is. SCIP 10 will feature the computation of IISs.
—
Reply to this email directly, view it on GitHub
<#276 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGFEQISRB2S7YFOBSF33YT2RMYIRAVCNFSM6AAAAABXXH47E2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNZYG4ZTCOBTHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
[image: pfetsch]*pfetsch* left a comment (scipopt/SCIP.jl#276)
<#276 (comment)>
There has been no progress on a IIS for SCIP.
Actually, there is. SCIP 10 will feature the computation of IISs.
—
Reply to this email directly, view it on GitHub
<#276 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGFEQISRB2S7YFOBSF33YT2RMYIRAVCNFSM6AAAAABXXH47E2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNZYG4ZTCOBTHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Yes. I suppose that here the API changes there could be pulled over. |
Adding support for a conflict report based on solving an auxiliary problem with superindicators