Generated on Mon Aug 25 11:35:48 2008 for Gecode by doxygen 1.5.6

SportsLeague Class Reference
[Scripts for problems]

Inherits Example.

List of all members.


Detailed Description

Example: Sports League Scheduling

  1. There are $ t $ teams ($ t $ even).
  2. The season lasts $ t - 1 $ weeks.
  3. Each game between two different teams occurs exactly once.
  4. Every team plays one game in each week of the season.
  5. There are $ \displaystyle\frac{t}{2} $ periods and each week every period is scheduled for one game.
  6. No team plays more than twice in the same period over the course of the season.

See also problem 26 at http://www.csplib.org/.

Definition at line 181 of file sports-league.cc.


Public Member Functions

 SportsLeague (const SizeOptions &opt)
 Setup model.
 SportsLeague (bool share, SportsLeague &s)
 Constructor for cloning s.
virtual Spacecopy (bool share)
 Copy during cloning.
virtual void print (std::ostream &os)
 Print solution.

Protected Member Functions

int weeks (void) const
 Return number of weeks.
int periods (void) const
 Return number of periods.
IntVarh (int p, int w)
 Home team in period p and week w.
IntVara (int p, int w)
 Away team in period p and week w.
IntVarg (int p, int w)
 Return game number for game in period p and week w.

Protected Attributes

const int teams
 number of teams
IntVarArray home
 home teams
IntVarArray away
 away teams
IntVarArray game
 game numbers

Constructor & Destructor Documentation

SportsLeague::SportsLeague ( const SizeOptions opt  )  [inline]

Setup model.

(h,a) and (a,h) are the same game, focus on home (that is, h<a)

Column constraint: each team occurs exactly once

Row constraint: no team appears more than twice

Definition at line 211 of file sports-league.cc.

SportsLeague::SportsLeague ( bool  share,
SportsLeague s 
) [inline]

Constructor for cloning s.

Definition at line 283 of file sports-league.cc.


Member Function Documentation

int SportsLeague::weeks ( void   )  const [inline, protected]

Return number of weeks.

Definition at line 189 of file sports-league.cc.

int SportsLeague::periods ( void   )  const [inline, protected]

Return number of periods.

Definition at line 193 of file sports-league.cc.

IntVar& SportsLeague::h ( int  p,
int  w 
) [inline, protected]

Home team in period p and week w.

Definition at line 197 of file sports-league.cc.

IntVar& SportsLeague::a ( int  p,
int  w 
) [inline, protected]

Away team in period p and week w.

Definition at line 201 of file sports-league.cc.

IntVar& SportsLeague::g ( int  p,
int  w 
) [inline, protected]

Return game number for game in period p and week w.

Definition at line 205 of file sports-league.cc.

virtual Space* SportsLeague::copy ( bool  share  )  [inline, virtual]

Copy during cloning.

Implements Gecode::Space.

Definition at line 291 of file sports-league.cc.

virtual void SportsLeague::print ( std::ostream &  os  )  [inline, virtual]

Print solution.

Reimplemented from Example.

Definition at line 295 of file sports-league.cc.


Member Data Documentation

const int SportsLeague::teams [protected]

number of teams

Definition at line 183 of file sports-league.cc.

home teams

Definition at line 184 of file sports-league.cc.

away teams

Definition at line 185 of file sports-league.cc.

game numbers

Definition at line 186 of file sports-league.cc.


The documentation for this class was generated from the following file: