Django を使用して、人々が上司と会うために特定の時間を割り当てられる小さなスケジューリング Web アプリケーションを開発します。従業員はモデルとして保存され、時間範囲と従業員が空いている曜日を表すモデルとの OneToMany 関係があります。例えば:
Bob: (W 9:00, 9:15), (W 9:15, 9:30), ... (W 15:00, 15:20)
Sarah: (Th 9:05, 9:20), (F 9:20, 9:30), ... (Th 16:00, 16:05)
...
Mary: (W 8:55, 9:00), (F 13:00, 13:35), ... etc
私のプログラムでは、基本的なスケジュール設定が可能です。雇用主は、その週にすべての従業員に少なくとも 1 回会うという条件の下で、会議間のギャップを最小限に抑えて最初の N 個の可能なスケジュールを表示することを選択できます。私は現在、会議のすべての可能な順列を生成し、会議時間に重複があるスケジュールを除外しています。M 個の可能性をすべて経由せずに、M 個の可能なものから最初の N 個のスケジュールを生成する方法はありますか?
明確化: 私たちは、すべての日にわたって合計された、任意の日のギャップの最小合計を取得しようとしています。