2012-02-08 6 views
3

実際のイベント管理アプリケーションで作業しています。イベントは会場の空き状況に基づいてスケジュールされています。 次の値を挿入する最良の方法は何ですか?イベント管理アプリケーションのベストフィットタイムスケジューリングアルゴリズム

例:イベント1がルームA イベント2が部屋B Event3で9と10時との間に起こっているで9から9:30の間に起こっていると仮定9の後にその自由のでルームA 9:30に開始することができる 。 30 nなど......

どのアルゴリズムを使用できますか?

注:これは、CPUスケジューリングアルゴリズム

感謝:)

+1

アルゴリズムには他にどんな特徴がありますか?長いイベントが発生した場合、断片化を最小限に抑えたいですか? – Beta

答えて

3

私は欲張りなアプローチとなるだろうではありません。

  1. ソートすべてのイベント各会場の時間
  2. を開始するに従って:
    1. T =最も早い時間
    2. はTまたはそれ以降に早いイベントを検索して、この会場のためにそれをスケジュールします。そのイベントをリストから削除します。
    3. アップデートTはこれが完了したら、あなたがさらに割り当てを最適化するために、ローカルサーチ(焼きなまし法に基づく)のいくつかの種類を使用することができます

このイベントの時間を終了します。

+0

[最初の適合に合わせる](http://docs.jboss.org/drools/release/5.4.0.Beta2/drools-planner-docs/html_single/index.html#d0e3671)、[タブー検索またはSimulated Annealing](http://docs.jboss.org/drools/release/5.4.0.Beta2/drools-planner-docs/html_single/index.html#d0e3817)を参照してください。 –

関連する問題