<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tools.usyvl.org/wiki/index.php?action=history&amp;feed=atom&amp;title=TournamentSchedulingAlgorithm</id>
	<title>TournamentSchedulingAlgorithm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://tools.usyvl.org/wiki/index.php?action=history&amp;feed=atom&amp;title=TournamentSchedulingAlgorithm"/>
	<link rel="alternate" type="text/html" href="https://tools.usyvl.org/wiki/index.php?title=TournamentSchedulingAlgorithm&amp;action=history"/>
	<updated>2026-05-14T12:50:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://tools.usyvl.org/wiki/index.php?title=TournamentSchedulingAlgorithm&amp;diff=95&amp;oldid=prev</id>
		<title>Aaron: 1 revision imported: Hopefully full import</title>
		<link rel="alternate" type="text/html" href="https://tools.usyvl.org/wiki/index.php?title=TournamentSchedulingAlgorithm&amp;diff=95&amp;oldid=prev"/>
		<updated>2023-06-21T00:25:40Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported: Hopefully full import&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:25, 21 June 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Aaron</name></author>
	</entry>
	<entry>
		<id>https://tools.usyvl.org/wiki/index.php?title=TournamentSchedulingAlgorithm&amp;diff=94&amp;oldid=prev</id>
		<title>Aaron at 14:27, 6 May 2012</title>
		<link rel="alternate" type="text/html" href="https://tools.usyvl.org/wiki/index.php?title=TournamentSchedulingAlgorithm&amp;diff=94&amp;oldid=prev"/>
		<updated>2012-05-06T14:27:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Scheduling]]&lt;br /&gt;
==Introduction==&lt;br /&gt;
This is an interesting scheduling problem that I would like to find a solution for.&lt;br /&gt;
In general its a problem faced by youth athletics as many such programs do this in&lt;br /&gt;
a similar fashion.&lt;br /&gt;
In particular I am trying to solve this for a non-profit United States Youth Volleyball League (USYVL) www.usyvl.org .&lt;br /&gt;
&lt;br /&gt;
==Related Pages==&lt;br /&gt;
I describe one possible solution here that I thought of on 2012-05-05 [[Static-Hashed-Tournament Scheduling Algorithm]]&lt;br /&gt;
&lt;br /&gt;
==Description of Problem==&lt;br /&gt;
===Background===&lt;br /&gt;
The league operates sites in many cities across the United States.  Each site can have up to as many as 200 participants making up 20+ teams spread across 3 or 4 age divisions.  As part of the season schedule, tournaments are organized between 2 or more sites that are within an hours drive of each other.  Typically 2 to 4 sites participate in these tournaments, although it could be more.  Occasionally, larger, special tournaments are organized where an elite athlete will visit, talk to the kids, do a demonstration and be available for autographs.  The goal of these tournaments is to provide the kids the opportunity to play against a team from another site that they would not normally have the opportunity to play.  &lt;br /&gt;
&lt;br /&gt;
===Goal===&lt;br /&gt;
So the overriding goal of the tournament layout is to optimize the pool matchups so that each team gets to play as many teams from other sites. &lt;br /&gt;
&lt;br /&gt;
===Glossary of Terms===&lt;br /&gt;
*site - a league program usually based in a particular city - will be comprised of 1 or more teams&lt;br /&gt;
*team - for volleyball, usually 4 - 8 kids.  Four players are on the field during a match, rotating extra players throughout the game.&lt;br /&gt;
*match - game between two teams&lt;br /&gt;
*court - the court used to play a match&lt;br /&gt;
*pool - a collection of teams that matches will be created from.&lt;br /&gt;
&lt;br /&gt;
===Tournament Organization/Format===&lt;br /&gt;
*The different age divisions are divided up into &amp;quot;pools&amp;quot;.  In the past pools have been limited to 3-7 teams.  If an algorithm can be developed, the pools could be made arbitrarily larger, allowing more site mixing.&lt;br /&gt;
*typically &lt;br /&gt;
*two and only two teams play on a court at a given time.&lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
*The number of teams in a tournament pool (num_teams)&lt;br /&gt;
*The number of courts available for the pool.  This is no more than num_teams/2 (num_cts)&lt;br /&gt;
*The number of rounds (time slots) that will be played (num_rnds)&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
====&amp;quot;Collisions&amp;quot;====&lt;br /&gt;
This is a situation where both teams in the match are from the same site.  We want to avoid this situation, but, because site size varies, its not always possible.  In a given pool if the number of teams from one site is more than the number of teams from all other sites, it may be required.&lt;br /&gt;
&lt;br /&gt;
====Duplications====&lt;br /&gt;
This is where a match between two teams in a match that have previously played each other, play a second match.  This may be done as an alternative to a &amp;quot;Collision&amp;quot; (as described above)&lt;br /&gt;
&lt;br /&gt;
==Current Solution==&lt;br /&gt;
My current solution involves the following steps&lt;br /&gt;
*Check the team counts to see if its even possible to come up with a complete solution avoiding collisions and duplications&lt;br /&gt;
*Create an array of all possible matches between teams from different teams in the pool.&lt;br /&gt;
&lt;br /&gt;
==Input Format==&lt;br /&gt;
==Output Format==&lt;/div&gt;</summary>
		<author><name>Aaron</name></author>
	</entry>
</feed>