I am trying to create a implementation to plan a tournament schedule per round. Als called bracket Tournament.
I am trying to use OptaPlanner for this, but the documentation is not that clear to me.
I have the following classes:
- Player
- Table
- Matchup (containing: 2 players and a table) This is my planningEntity
- Round (containing: a list of matches, a list of players, a list of tables, a list of previous matchups) This is my planningSolution)
- Schedule (containing: a list of rounds)
What I want out of this, is at least for 1 round a list of matchups from this info.
What I do not get is how to configure my rules in drools.
For example: how do I configure a rule that simply states: a machup contains two players that are not the same player. Another one is: a matchup contains two players that have not played against each other Finally: a table is available for exactly one matchup.
It feels not that complicated, but the documentation (including samples) are just not enough to get there.