`Model[`

// N : number of golfers

// NG : number of groups

// T : number of rounds

// GS : group size (N/NG)

Parameters[Integers,N=16,NG=4,T=5,GS=4],

// Parameters[Integers,N=32,NG=8,T=10,GS=4],

Decisions[

Integers[0,NG-1],

Foreach[{i,N},{t,T},x[i,t]]

],

Constraints[

// form groups

Foreach[{g,NG},{t,T},Sum[{i,N},AsInt[x[i,t]==g]] == GS],

// golfer i and j meet at most one time

Foreach[{i,N}, {j,i+1,N}, Sum[{t,T},AsInt[x[i,t]==x[j,t]]] <= 1],

// fix first round

Foreach[{g,NG},{k,GS},x[GS*g+k,0]==g],

// fix first golfer

Foreach[{t,1,T},x[0,t]==0]

]

]

## Monday, February 2, 2009

### Social Golfer Problem in OML (2)

In the earlier post we used binary variables x[i,g,t] to model that golfer i plays in group g at round t. Here we show that using CSP constructs it is actually easy to use a different formulation: x[i,t]=g. I.e. x[i,t] is an integer variable. In a MIP context this would be much more difficult to do.

Subscribe to:
Post Comments (Atom)

## No comments:

## Post a Comment