学校でのサイドプロジェクトのウェブサイトを作成しています。このウェブサイトでは、生徒が受講する必要のあるクラスに参加し、クラスを希望する日と希望しない日、クラスを受講できない場合と希望しない場合があります。基本はクラスがあり、各クラスには、学生が選択できるさまざまな教授がいるさまざまな時間に多くのセクションがあります。新入生レベルのクラスでは、クラスごとに30を超える異なるセクションがあります。私はmysqlデータベースにクラスとセクションがあり、phpでコーディングしています。
これまでのところ動作していますが、もっと速くしたいと思っています。私は他のスケジューリングの問題について読んでいますが、私がしていることの詳細を探しています。これは最初からスケジュールを作成しているわけではありません。利用可能なセクションからスケジュールを作成し、学生の入力に基づいてランク付けします。現在、いくつかの可能なセクションでは、高速に実行されます。しかし、可能なスケジュールが約300,000に達すると、すべてを比較してランク付けするのに約30秒かかります。スケジュールの生成方法を変更して改善してきましたが、もっと速くしたいです。ブルートフォース生成からツリーベースの方法を使用するように切り替えました。
私は宿題の助けを求めたり、誰かが私のためにこれをしてくれることを求めているのではありません。私は、私が学ぶことができる既存の問題とアルゴリズムで正しい方向に向けられたいだけです。