Я новичок в генетических алгоритмах, и мне поручили реализовать генетический алгоритм для оптимизации порядка запросов в будний день аптеки. Прежде всего, позвольте мне объяснить проблему:
9 семей подают заявки на посещение в любой день рабочей недели (с понедельника по пятницу). Аптека может посещать от 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, но моя главная проблема в том, каким образом я представляю потенциальное решение? Я имею в виду, как мне организовать гены хромосомы, используемые для спаривания, размножения и т. Д ... Я уже разработал фитнес-функцию, но я не могу кодировать гены так, как хотел. Есть предложения?