Calculating equal playing time in a soccer game with minimum number of changes.












2












$begingroup$


I need to produce a formula that takes the following parameters:




  • T = time of game in minutes

  • p = number of players on field at one time

  • s = number of substitute players


Each of these is variable on a game-to-game basis but once the game has begun they remain constant.



The goal is to ensure that each player receives an equal number of minutes on the field during the game. There is no limit on the amount of changes that can be made from substitutes (s) onto the field (p) and a player that has left the field can return later as a substitute.



The simple solution to this problem is to swap the players with the least playing time onto the field every T/(p+s) minutes. However, this often results in making changes more regularly than is necessary. Ideally, this task should be achieved with the minimum number of changes to reduce stoppages in play.



There is a very good example of the result on the internet at http://soccerslava.com/fcalc/en/fcalc.php, however I need to be able to run these calculations offline, hence needing the formula.



I'm hoping that this must be easier than it appears to be!










share|cite|improve this question









$endgroup$












  • $begingroup$
    There is no simple mathematical formula. It is a dynamic programming question, and you will have to learn how to write such code.
    $endgroup$
    – ghosts_in_the_code
    Dec 2 '14 at 14:38










  • $begingroup$
    Try fixing $T$ and $p$ as constants, and then tampering with $s$. What sort of patterns do you see? Can you find the most efficient pattern for small values, at least?
    $endgroup$
    – shardulc
    Dec 2 '14 at 15:23
















2












$begingroup$


I need to produce a formula that takes the following parameters:




  • T = time of game in minutes

  • p = number of players on field at one time

  • s = number of substitute players


Each of these is variable on a game-to-game basis but once the game has begun they remain constant.



The goal is to ensure that each player receives an equal number of minutes on the field during the game. There is no limit on the amount of changes that can be made from substitutes (s) onto the field (p) and a player that has left the field can return later as a substitute.



The simple solution to this problem is to swap the players with the least playing time onto the field every T/(p+s) minutes. However, this often results in making changes more regularly than is necessary. Ideally, this task should be achieved with the minimum number of changes to reduce stoppages in play.



There is a very good example of the result on the internet at http://soccerslava.com/fcalc/en/fcalc.php, however I need to be able to run these calculations offline, hence needing the formula.



I'm hoping that this must be easier than it appears to be!










share|cite|improve this question









$endgroup$












  • $begingroup$
    There is no simple mathematical formula. It is a dynamic programming question, and you will have to learn how to write such code.
    $endgroup$
    – ghosts_in_the_code
    Dec 2 '14 at 14:38










  • $begingroup$
    Try fixing $T$ and $p$ as constants, and then tampering with $s$. What sort of patterns do you see? Can you find the most efficient pattern for small values, at least?
    $endgroup$
    – shardulc
    Dec 2 '14 at 15:23














2












2








2





$begingroup$


I need to produce a formula that takes the following parameters:




  • T = time of game in minutes

  • p = number of players on field at one time

  • s = number of substitute players


Each of these is variable on a game-to-game basis but once the game has begun they remain constant.



The goal is to ensure that each player receives an equal number of minutes on the field during the game. There is no limit on the amount of changes that can be made from substitutes (s) onto the field (p) and a player that has left the field can return later as a substitute.



The simple solution to this problem is to swap the players with the least playing time onto the field every T/(p+s) minutes. However, this often results in making changes more regularly than is necessary. Ideally, this task should be achieved with the minimum number of changes to reduce stoppages in play.



There is a very good example of the result on the internet at http://soccerslava.com/fcalc/en/fcalc.php, however I need to be able to run these calculations offline, hence needing the formula.



I'm hoping that this must be easier than it appears to be!










share|cite|improve this question









$endgroup$




I need to produce a formula that takes the following parameters:




  • T = time of game in minutes

  • p = number of players on field at one time

  • s = number of substitute players


Each of these is variable on a game-to-game basis but once the game has begun they remain constant.



The goal is to ensure that each player receives an equal number of minutes on the field during the game. There is no limit on the amount of changes that can be made from substitutes (s) onto the field (p) and a player that has left the field can return later as a substitute.



The simple solution to this problem is to swap the players with the least playing time onto the field every T/(p+s) minutes. However, this often results in making changes more regularly than is necessary. Ideally, this task should be achieved with the minimum number of changes to reduce stoppages in play.



There is a very good example of the result on the internet at http://soccerslava.com/fcalc/en/fcalc.php, however I need to be able to run these calculations offline, hence needing the formula.



I'm hoping that this must be easier than it appears to be!







recreational-mathematics






share|cite|improve this question













share|cite|improve this question











share|cite|improve this question




share|cite|improve this question










asked Dec 2 '14 at 14:19









Matt OakleyMatt Oakley

1112




1112












  • $begingroup$
    There is no simple mathematical formula. It is a dynamic programming question, and you will have to learn how to write such code.
    $endgroup$
    – ghosts_in_the_code
    Dec 2 '14 at 14:38










  • $begingroup$
    Try fixing $T$ and $p$ as constants, and then tampering with $s$. What sort of patterns do you see? Can you find the most efficient pattern for small values, at least?
    $endgroup$
    – shardulc
    Dec 2 '14 at 15:23


















  • $begingroup$
    There is no simple mathematical formula. It is a dynamic programming question, and you will have to learn how to write such code.
    $endgroup$
    – ghosts_in_the_code
    Dec 2 '14 at 14:38










  • $begingroup$
    Try fixing $T$ and $p$ as constants, and then tampering with $s$. What sort of patterns do you see? Can you find the most efficient pattern for small values, at least?
    $endgroup$
    – shardulc
    Dec 2 '14 at 15:23
















$begingroup$
There is no simple mathematical formula. It is a dynamic programming question, and you will have to learn how to write such code.
$endgroup$
– ghosts_in_the_code
Dec 2 '14 at 14:38




$begingroup$
There is no simple mathematical formula. It is a dynamic programming question, and you will have to learn how to write such code.
$endgroup$
– ghosts_in_the_code
Dec 2 '14 at 14:38












$begingroup$
Try fixing $T$ and $p$ as constants, and then tampering with $s$. What sort of patterns do you see? Can you find the most efficient pattern for small values, at least?
$endgroup$
– shardulc
Dec 2 '14 at 15:23




$begingroup$
Try fixing $T$ and $p$ as constants, and then tampering with $s$. What sort of patterns do you see? Can you find the most efficient pattern for small values, at least?
$endgroup$
– shardulc
Dec 2 '14 at 15:23










1 Answer
1






active

oldest

votes


















0












$begingroup$

I know this is an old question but I have recently had the same problem.
This is my solution. It might look complicated but there are only 2 simple formula to remember



The total playing time for each player is calculated as
p/s * T

assuming s is the total number of players.



If s is the total of subs then the calculation would be
p/(p+s) * T



eg assuming a 1 hour 7-a-side game and a team with 9 players
7/9 * 60 = 46.67 minutes per player.



The frequency of the substitutions = T/(p+s) * assuming s = subs only



60/9 = 6.67 minutes


So every 6.67 minutes you would make 2 substitutions



The order of the substitutions would be something like this, naming the players p1, p2, p3 etc



1) p1, p2, p3, p4, p5, p6, p7



2) p8, p9, p1, p2, p3, p4, p5,



3) p6, p6, p8, p9, p1, p2, p3



4) p4, p5, p6, p7, p8, p9, p1



5) p2, p3, p4, p5, p6, p7, p8



6) p9, p1, p2, p3, p4, p5, p6



7) p7, p8, p9, p1, p2, p3, p4,



8) p5, p6, p7, p8, p9, p1, p2



9) p3, p4, p5, p6, p7, p8, p9



Each player should play 7 times and be substitute twice.
Unfortunately you will need a stopwatch and a good memory to keep tabs on
each pair of substitutions.



The formula should work for all combinations.
I hope this helps






share|cite|improve this answer









$endgroup$













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "69"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f1048224%2fcalculating-equal-playing-time-in-a-soccer-game-with-minimum-number-of-changes%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0












    $begingroup$

    I know this is an old question but I have recently had the same problem.
    This is my solution. It might look complicated but there are only 2 simple formula to remember



    The total playing time for each player is calculated as
    p/s * T

    assuming s is the total number of players.



    If s is the total of subs then the calculation would be
    p/(p+s) * T



    eg assuming a 1 hour 7-a-side game and a team with 9 players
    7/9 * 60 = 46.67 minutes per player.



    The frequency of the substitutions = T/(p+s) * assuming s = subs only



    60/9 = 6.67 minutes


    So every 6.67 minutes you would make 2 substitutions



    The order of the substitutions would be something like this, naming the players p1, p2, p3 etc



    1) p1, p2, p3, p4, p5, p6, p7



    2) p8, p9, p1, p2, p3, p4, p5,



    3) p6, p6, p8, p9, p1, p2, p3



    4) p4, p5, p6, p7, p8, p9, p1



    5) p2, p3, p4, p5, p6, p7, p8



    6) p9, p1, p2, p3, p4, p5, p6



    7) p7, p8, p9, p1, p2, p3, p4,



    8) p5, p6, p7, p8, p9, p1, p2



    9) p3, p4, p5, p6, p7, p8, p9



    Each player should play 7 times and be substitute twice.
    Unfortunately you will need a stopwatch and a good memory to keep tabs on
    each pair of substitutions.



    The formula should work for all combinations.
    I hope this helps






    share|cite|improve this answer









    $endgroup$


















      0












      $begingroup$

      I know this is an old question but I have recently had the same problem.
      This is my solution. It might look complicated but there are only 2 simple formula to remember



      The total playing time for each player is calculated as
      p/s * T

      assuming s is the total number of players.



      If s is the total of subs then the calculation would be
      p/(p+s) * T



      eg assuming a 1 hour 7-a-side game and a team with 9 players
      7/9 * 60 = 46.67 minutes per player.



      The frequency of the substitutions = T/(p+s) * assuming s = subs only



      60/9 = 6.67 minutes


      So every 6.67 minutes you would make 2 substitutions



      The order of the substitutions would be something like this, naming the players p1, p2, p3 etc



      1) p1, p2, p3, p4, p5, p6, p7



      2) p8, p9, p1, p2, p3, p4, p5,



      3) p6, p6, p8, p9, p1, p2, p3



      4) p4, p5, p6, p7, p8, p9, p1



      5) p2, p3, p4, p5, p6, p7, p8



      6) p9, p1, p2, p3, p4, p5, p6



      7) p7, p8, p9, p1, p2, p3, p4,



      8) p5, p6, p7, p8, p9, p1, p2



      9) p3, p4, p5, p6, p7, p8, p9



      Each player should play 7 times and be substitute twice.
      Unfortunately you will need a stopwatch and a good memory to keep tabs on
      each pair of substitutions.



      The formula should work for all combinations.
      I hope this helps






      share|cite|improve this answer









      $endgroup$
















        0












        0








        0





        $begingroup$

        I know this is an old question but I have recently had the same problem.
        This is my solution. It might look complicated but there are only 2 simple formula to remember



        The total playing time for each player is calculated as
        p/s * T

        assuming s is the total number of players.



        If s is the total of subs then the calculation would be
        p/(p+s) * T



        eg assuming a 1 hour 7-a-side game and a team with 9 players
        7/9 * 60 = 46.67 minutes per player.



        The frequency of the substitutions = T/(p+s) * assuming s = subs only



        60/9 = 6.67 minutes


        So every 6.67 minutes you would make 2 substitutions



        The order of the substitutions would be something like this, naming the players p1, p2, p3 etc



        1) p1, p2, p3, p4, p5, p6, p7



        2) p8, p9, p1, p2, p3, p4, p5,



        3) p6, p6, p8, p9, p1, p2, p3



        4) p4, p5, p6, p7, p8, p9, p1



        5) p2, p3, p4, p5, p6, p7, p8



        6) p9, p1, p2, p3, p4, p5, p6



        7) p7, p8, p9, p1, p2, p3, p4,



        8) p5, p6, p7, p8, p9, p1, p2



        9) p3, p4, p5, p6, p7, p8, p9



        Each player should play 7 times and be substitute twice.
        Unfortunately you will need a stopwatch and a good memory to keep tabs on
        each pair of substitutions.



        The formula should work for all combinations.
        I hope this helps






        share|cite|improve this answer









        $endgroup$



        I know this is an old question but I have recently had the same problem.
        This is my solution. It might look complicated but there are only 2 simple formula to remember



        The total playing time for each player is calculated as
        p/s * T

        assuming s is the total number of players.



        If s is the total of subs then the calculation would be
        p/(p+s) * T



        eg assuming a 1 hour 7-a-side game and a team with 9 players
        7/9 * 60 = 46.67 minutes per player.



        The frequency of the substitutions = T/(p+s) * assuming s = subs only



        60/9 = 6.67 minutes


        So every 6.67 minutes you would make 2 substitutions



        The order of the substitutions would be something like this, naming the players p1, p2, p3 etc



        1) p1, p2, p3, p4, p5, p6, p7



        2) p8, p9, p1, p2, p3, p4, p5,



        3) p6, p6, p8, p9, p1, p2, p3



        4) p4, p5, p6, p7, p8, p9, p1



        5) p2, p3, p4, p5, p6, p7, p8



        6) p9, p1, p2, p3, p4, p5, p6



        7) p7, p8, p9, p1, p2, p3, p4,



        8) p5, p6, p7, p8, p9, p1, p2



        9) p3, p4, p5, p6, p7, p8, p9



        Each player should play 7 times and be substitute twice.
        Unfortunately you will need a stopwatch and a good memory to keep tabs on
        each pair of substitutions.



        The formula should work for all combinations.
        I hope this helps







        share|cite|improve this answer












        share|cite|improve this answer



        share|cite|improve this answer










        answered Oct 19 '16 at 15:59









        JonJon

        1




        1






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Mathematics Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f1048224%2fcalculating-equal-playing-time-in-a-soccer-game-with-minimum-number-of-changes%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Sphinx de Gizeh

            Dijon

            Guerrita