Even Distribution

Skip Kimpel skiplondon at gmail.com
Fri Apr 17 14:54:18 EDT 2020


Awesome..... thank you!

On Fri, Apr 17, 2020 at 1:15 PM Alex Tweedly via use-livecode <
use-livecode at lists.runrev.com> wrote:

> Or to do the full distribution ...
>
> put Njobs div Ndrivers into tMin
> put NJobs mod Ndrivers into tExtras
>
> repeat with i = 1 to NDrivers
>     if i <= tExtras then
>        allocate tMin+1
>    else
>       allocate tMin
>    end if
> end repeat
>
> However, say your drivers are sorted alphabetically, then before long
> Andy will realise that he is being allocated more jobs that Zebedee. You
> could (sometimes) reverse the order of drivers - but then Mary loses out
> on jobs compared to both Andy and Zebedee. Or you could randomize the
> order of the drivers - but maybe they're also pre-sorted by location.
>
> Instead, you want to even out the spread of extras across the drivers -
> so you need something like
>
> repeat with i = 1 to Ndrivers
>     if tExtras > (Ndrivers-i)/2 then
>        allocate tMin+1
>        subtract 1 from tExtras
>    else
>       allocate tMin
>    end if
> end repeat
>
> (which still has a slight bias towards giving jobs to Zebedee - but it's
> so slight it will take probably take him years to notice :-)
>
> Alex.
>
> On 17/04/2020 05:28, Jerry Jensen via use-livecode wrote:
> >   Hi Skip,
> > Forgive me if this is not the answer you seek, or an oversimplification,
> but there is an easy way to find if the jobs can be exactly evenly
> distributed, with nothing left over:
> > if (tjobs mod tdrivers) = 0 then // it is evenly distrutable.
> > .Jerry
> >
> >> On Apr 16, 2020, at 7:41 PM, Skip Kimpel via use-livecode <
> use-livecode at lists.runrev.com> wrote:
> >>
> >> I have working on creating a loop that would divide the number of jobs
> by
> >> the number of users and then checking to see to see if it is evenly
> >> divisible but that is kind of where I am stuck.  Everything I have tried
> >> thus far has proven to be unsuccessful.
> >
> > _______________________________________________
> > use-livecode mailing list
> > use-livecode at lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



More information about the use-livecode mailing list