Generated on Thu Apr 11 13:59:40 2019 for Gecode by doxygen 1.6.3

SportsLeague Class Reference
[Example scripts (models)]

Example: Sports league scheduling More...

List of all members.

Public Member Functions

 SportsLeague (const SizeOptions &opt)
 Setup model.
 SportsLeague (SportsLeague &s)
 Constructor for cloning s.
virtual Spacecopy (void)
 Copy during cloning.
virtual void print (std::ostream &os) const
 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.
const IntVarh (int p, int w) const
 Home team in period p and week w.
IntVara (int p, int w)
 Away team in period p and week w.
const IntVara (int p, int w) const
 Away team in period p and week w.
IntVarg (int p, int w)
 Return game number for game in period p and week w.
const IntVarg (int p, int w) const
 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

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 174 of file sports-league.cpp.


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 216 of file sports-league.cpp.

SportsLeague::SportsLeague ( SportsLeague s  )  [inline]

Constructor for cloning s.

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


Member Function Documentation

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

Return number of weeks.

Definition at line 182 of file sports-league.cpp.

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

Return number of periods.

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

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

Home team in period p and week w.

Definition at line 190 of file sports-league.cpp.

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

Home team in period p and week w.

Definition at line 194 of file sports-league.cpp.

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

Away team in period p and week w.

Definition at line 198 of file sports-league.cpp.

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

Away team in period p and week w.

Definition at line 202 of file sports-league.cpp.

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

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

Definition at line 206 of file sports-league.cpp.

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

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

Definition at line 210 of file sports-league.cpp.

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

Copy during cloning.

Definition at line 299 of file sports-league.cpp.

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

Print solution.

Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.

Definition at line 303 of file sports-league.cpp.


Member Data Documentation

const int SportsLeague::teams [protected]

number of teams

Definition at line 176 of file sports-league.cpp.

home teams

Definition at line 177 of file sports-league.cpp.

away teams

Definition at line 178 of file sports-league.cpp.

game numbers

Definition at line 179 of file sports-league.cpp.


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