私は遺伝的アルゴリズムに不慣れで、薬局の平日あたりのリクエストの順序を最適化するために遺伝的アルゴリズムを実装するように割り当てられています。まず、問題を説明しましょう。
週のどの曜日(月曜日から金曜日)にも出席を要求する家族が9つあります。薬局は1日に1〜3家族しか出席できず、それ以上でも同じ週に家族を繰り返すこともできません。主な目標は、各家族が参加するのに最適な日を最適化することです。このようにして、薬局は、問題に課せられた制約の下で、週あたりの最大リクエストに対応します。最適化アルゴリズムへの入力は、各ファミリによって発行されたリクエストの各数の年平均です。例えば:
(例を単純化するために、3つのファミリのみで作業してみましょう):
入力:
| 月| 火| 水| 木| 金
F1| 10 | 20 | 2 | 0 | 7
F2 | 20 | 12 | 0 | 1 | 2
F3 | 2 | 0 | 0 | 19 | 3
考えられる解決策:
| 月| 火| 水| 木| 金
| | F2 | F1 | F3 |
これまで私は遺伝学と遺伝的アルゴリズムの概念全体を研究してきました。粒子群最適化を検討しましたが、時間がかなり短いため、フレームワークを使用することにしました。私はJGAPを使用していますが、私の主な問題は、どのようにして潜在的な解決策を提示するかということです。つまり、交配や繁殖などに使用される染色体上の遺伝子をどのように整理すればよいのでしょうか... すでに適応度関数を開発しましたが、遺伝子を思い通りにエンコードできません。助言がありますか?