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

Incompatible constraints #9

Open
czlee opened this issue Dec 11, 2015 · 0 comments
Open

Incompatible constraints #9

czlee opened this issue Dec 11, 2015 · 0 comments

Comments

@czlee
Copy link
Owner

czlee commented Dec 11, 2015

It would be nice if, when the solver thinks the problem is infeasible, we could tell the user why. The solver doesn't know, at least not in human terms, so we'd have to check this ourselves. If the problem is infeasible, it means there are some constraints that are incompatible with each other. A naïve approach would be to run through all the incompatible conditions we can think of, checking for each of them. I don't have any ideas for less naïve approaches.

The constraints permitted by the system are:

  • Adjudicator-adjudicator conflicts
  • Team-adjudicators conflicts
  • Locked adjudicators
  • Blocked adjudicators
  • Grouped adjudicators

Here is an incomplete list of ways in which constraints can be incompatible:

  • Adjudicators that are conflicted are also grouped.
  • An adjudicator is locked to a debate containing a team with which he conflicts.
  • An adjudicator is locked to a debate from which she is also blocked.
  • Adjudicators that are grouped are also locked to different debates.
  • A group of adjudicators contains one that is locked to one debate, and one that is blocked from another.
  • An adjudicator that conflicts with a team, is grouped with an adjudicator who is in turn locked to a debate containing that team.
  • Two adjudicators are locked to the same debate, but conflict with each other.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant