一部の労働者とその居住地のチェックイン時間に応じて、それらをいくつかの車両にグループ化する方法と、車両を職場まで運ぶために車両が従わなければならないルートを計算するアルゴリズムを開発しました。これは、TSP(Travelling Salesman Problem)アルゴリズムとその他のカスタマイズを使用して実現されています。
私たちはそれを超えて改善したいと考えています。とりあえず、車両の定員は4人(5か所ですが、1人は運転席)に固定されており、この量を「可変」にしたいと考えています。言い換えれば、メインアルゴリズムを実行する前に、必要になる可能性のある車両の組み合わせ(およびそのフリーシート)を決定する必要があります。私が車両について話すとき、私は車両の種類について話します。たとえば、車両Aは4席、車両Bは7席などです。つまり、5席のAudi A8を1つ、5席の座席Ibiza、20席のバスを1つ持つことについて話しているのではありません。
これまでのところ、私が考えたのは次のとおりです。
- 労働者のグループを決定します。
- 必要な車両の数とその(無料)座席を決定します。それがその質問で私が尋ねているものです[a]。
- ユーザーは優先する組み合わせを選択して続行します。
- 車両の組み合わせを使用してすでに開発されているアルゴリズムを適用し、それが実現可能なソリューションに到達するかどうかを確認します。
私の質問は、[a]アルゴリズムを開発する方法です。次の例は、[a]の実行結果を示しています。
次の人々が4、7、10シートの車両にグループ化するとします。
[a]の実行後、結果は次のようになります。
- G3(2人の労働者):4席の空き車両1台(空席の多い車両は破棄されます)。
- G2(2人の労働者):4席の空き車両1台(空席の多い車両は破棄されます)。
G1(9人の労働者):
- オプションA:4座席の3台の車両。
- オプションB:4人乗りの車両1台と7台の車両1台。
- オプションC:7台の2台の車両。
- オプションD:10席の車両1台。
私は近似を考えました:
- 車両のタイプを作成し、それらをソートされたリストに追加します(ソート基準は座席でなければなりません)。
- 労働者のグループごとに、以下を実行します。
- 組み合わせを計算します[b]。
- 画面に結果を印刷します。
したがって、主な問題は、[b]の開発方法です。
助言がありますか?私が自分自身をひどく説明した場合は申し訳ありません。