Я заметил, что для таких проблем, как Cloudbalancing, существуют фабрики ходов, которые генерируют ходы и свопы. «Move Move» передает облачный процесс с одного компьютера на другой. «swap move» меняет любые два процесса с соответствующих компьютеров.
Я разрабатываю приложение для составления расписания.
- A
subjectTeacherHour
(комбинация предмета и учителя)
только подмножество из Period
s, которому они могут быть назначены. Если Джейн преподает 6 часов в классе, есть 6 subjectTeacherHour
с каждый, которые должны быть выделены Period
, из возможных 30 Period
с этого класса, в отличие от примера облачного баланса, где процесс может перейти к любой компьютер.
- Только один
subjectTeacherHour
может быть выделен Period
(естественно).
Он пытается поместить subjectTeacherHour
в допустимое значение Periods
, пока не будет найдена оптимальная комбинация.
Плюсы
Руководство , кажется, рекомендует его.
... Однако, как показывает пример путевого турнира, если вы можете удалить
жесткое ограничение, используя определенный набор больших ходов, вы можете выиграть
производительность и масштабируемость ...
... `[версия с большими ходами] оценивает гораздо менее выполнимо
решения, которые позволяют ему превзойти и превзойти простые
версия ....
... Как правило, рекомендуется использовать несколько селекторов, хорошо смешивая
мелкозернистые ходы и ход зернистых ходов: ...
Хотя для Period
может быть выделен только один subjectTeacher
, решатель должен временно снять такое ограничение, чтобы обнаружить, что замена двух определенных Period
распределений приводит к лучшему решению. Своп-ход «удаляет эту кирпичную стену» между этими двумя состояниями.
Таким образом, замена свопа может привести к лучшим решениям намного быстрее .
Против
A subjectTeacher
имеют только подмножество из Period
с, которому они могут быть назначены. Таким образом, найти пересекающиеся (общие) часы между любыми двумя subjectTeacher
с немного сложно (но выполнимо изящно: Хороший алгоритм / метод для поиска перекрывающихся значений из свойств объектов? ).
Это даст мне лишь небольшой выигрыш во времени и оптимальность?
Я также беспокоюсь о сумасшедших взаимодействиях , имеющих двух видов ходов, которые могут вызвать, что приведет к застреванию в плохом решении.