brian bovril

914 Reputation

16 Badges

18 years, 141 days

MaplePrimes Activity


These are replies submitted by brian bovril

@sand15 thanks for you efforts, matey

@mmcdara Gidday Mate! I'm an Aussie.
I suspect "Sit-outs" is a North American term. 
Down under, we say 'Bye'. For our table tennis league, we are opening Round-robin competitions. Most of the comps are using a single bye (for odd numbers of teams)

This season, we are introducing two leagues with a 'Double Bye' system. This change aims to Increase player availability on competition nights and accommodate more teams. I should have explained this in the first instance.

The 8-team schedule must be completed within 14 weeks, with no team receiving byes in consecutive weeks. While a 16-week schedule would ensure equitable byes and pairings, the 14-week timeframe necessitates a combination of 3-table competitions (with byes) and 4-table competitions (all teams play). The number of 3-table weeks (n) plus the number of 4-table weeks (m) must equal 14 to maintain fairness."

The 10-team schedule must be completed within 15 weeks, with no team receiving byes in consecutive weeks. While a longer schedule would ensure equitable byes and pairings, the 15-week timeframe necessitates a combination of 4-table competitions (with byes) and 5-table competitions (all teams play). The number of 4-table weeks (n) and 5-table weeks (m) must be equal 15 to maintain fairness.

@mmcdara My use of "perfect" wasn't the correct word. I just want a practical solution.

My primary goal is approximate fairness (objective function).

with constraints:

  • Teams should get similar numbers of games and byes 
  • 10 team schedule needs 4 team pairs playing per week + 2 sitouts up to a point where (for equalisation of pairs and byes) we will need 5 team pairs playing (ie no byes) i

    I assume the 3-person teams should have equal strength, but individual player performance fluctuates unpredictably, making balanced team composition challenging to maintain.

@Carl Love thanks for your interest in my problem. I get what you're saying, but......
Each pair of teams needs to play at least once. 

8 team schedule needs 3 team pairs playing per week + 2 sitouts....up to the last week or two of the roster. we will need 4 team pairs playing (ie no byes)  (for approximate equalisation of pairs and byes)

10 team schedule needs 4 team pairs playing per week + 2 sitouts

up to a point where (for equalisation of pairs and byes) we will need 5 team pairs playing (ie no byes) in the last week or two of the roster).

it don't need to be the perfect solution, just close enough....

@mmcdara thanks

@mmcdara thanks for this. I set my 12 yo computer on it for N=10 this morning but after hours of it chugging away, I had to abort. I'll run it overnight tonight. I would be obliged if anyone with a faster computer could give me the final output. Happy New Year!

@mmcdara Thanks. And then those pairs [[N, K], [I, E], [J, M], [A, G], [B, F], [P, H], [O, C], [L, D]] could be mapped to (say) [S..Z] and then run through your Games[n_] procedure to produce a round robin. 

@mmcdara Certainly, you could pre-rank the players from A to P based on their strength. This arrangement would pair A and P as suitable teammates, while adversaries B and O would form a balanced opposition. Of course it would limit the number of suitable matchups: A and B vs P & O would be an example of a bad matchup...

@mmcdara thanks for your effort. 

Would it significantly complicate things if the Padel group proposed that team playing strength should be comprised of 3/4 of the stronger player's skill level and 1/4 of the weaker player's skill level, for instance, 8 for each?

@Christopher2222 

https://www.mapleprimes.com/posts/219482-Ratings-Website-Uses-Maple-Engine

@acer thank

@acer Ok, I *thought* the way to get rid of the spaces was to convert the output to a string, because the DeleteSpace command was only available under the Strings package. 

The csv export works, I was just wanting an easier way to copy the maple output to my software.

Anyway, this is Tom's code from a previous post to illustrate.

restart:
  with(combinat):
  abil:=[1407,1408,1409,1411]:
    DBL:=choose(abil,2):
  score:=[2,0]:
    ans:=seq( [DBL[j][],score[1],DBL[numelems(DBL)-j+1][],score[2]], j=1..numelems(DBL)/2),seq( [DBL[numelems(DBL)-j+1][],score[1],DBL[j][],score[2]], j=1..numelems(DBL)/2);

#then to get rid of the square brackets and the spaces (because the software I am trying to copy-paste to doesn't like them)

#I do this

for i to 6 do
seq(ans[i][j],j=1..6);
next i
od

#Ideally I would like to copy this maple output and paste into the software, but it won't accept it, because its not plain text

@Carl Love @Kitonum thanks for the help solving my problem.

Edit: I have a supplementary question.

The end of the first 3 singles block ends with a doubles, and the second block ends with another doubles. If the first doubles involve XY and AB, is there a combination that minimizes the occurrence of XYAB in the preceding and post singles. Same thing for the 2nd doubles; this will involve XZ and AC.

I'm just trying to find a combination that will maximize rest times between opponents playing singles pre and post-doubles. 

@Kitonum I forgot to mention, each block of 3 singles matches is separated by a doubles match. So each 3 match batch is independent of the previous 3 match batch. So you could have one block end with [C,Z] and the next block start with [A,Z]. Basically you need A,B,C, X,Y,Z featured in each 3 singles batch. Apologies for not giving you all the info at the beginning..PS I'm glad I do have the iterator package, because it's a lot quicker..

1 2 3 4 5 6 7 Last Page 1 of 26