Skip to content

Incompatible constraints #9

@czlee

Description

@czlee

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions