(私の問題の定式化が不十分であることを前もってお詫びします。英語が私の母国語ではないことを考慮してください)。
いくつかのプロセス (cron) があり、それらを起動するスケジュールを「最適化」したいと考えています。
たとえば、cron c1 は 3 分ごとに開始され、cron c1 は 7 分ごとに開始され、cron c3 は 18 分ごとに開始されます。停止するまで数秒しか続かないと仮定します。
ここでの時間の単位は 1 分です。
さて、私が望むのは、これらのcronが分散されているため、多くのcronが開始する瞬間がなく、cronがまったくない長い時間間隔がありません. たとえば、c1 と c3 の両方が時刻 0 に開始した場合、18 分ごとに再び一緒に開始されます。cron c1 を時間 0 で開始し、次に c3 を時間 1 で開始して、それらが一緒に起動されないようにすることをお勧めします。
したがって、周期性を持つ cron のリストが与えられた場合、スケジュールを計画して、各 cron の間にできるだけ多くの時間があり、2 つの cron が同時に開始される瞬間ができるだけ少なくなるようにするという考えです。
そのような問題についてよく知られているアルゴリズムはありますか?
この問題の実際のアプリケーションは、~ 200 cron です。それらのいくつかは、5 分または ~10 分または ~30 分ごとに起動され、非常に短時間 (数秒) 続きます。いくつか (~20 - 25) は、2 時間ごとに起動され、数分続きます。そのため、ビッグ cron は同時に起動しないという考え方もあります。
私は数学者であり、コンピューター科学者ではないので、https://math.stackexchange.com/でこの質問をしました。これは数学者にとっても「良い」質問だと思うからです。