Я реализовал Harmony Search для выбора составного веб-сервиса. Поэтому я постараюсь создать всю модель.
Шаги: -
1) Инициализируйте параметры задачи и алгоритма.
Целевая функция с переменными решения. Для TSP переменными решения должны быть weight
кратчайшего пути. Другие переменные Поиска гармонии могут быть установлены в соответствии с исполнением.
- размер памяти гармонии (HMS), (количество примеров решений)
- память гармоний с учетом скорости (HMCR)
- скорость регулировки высоты тона (PAR)
- Критерий завершения (максимальное количество поисков)
Эти переменные должны быть проверены на самом деле, запустив алгоритм и получив результаты с разными значениями для достижения наилучшей производительности.
2) Инициализируйте память гармонии.
На этом шаге вы должны заполнить память, создавая гармонии (случайные решения) и сохраняя их, чтобы с ними можно было работать позже.
3) Импровизируйте новую гармонию.
У вас есть 2 варианта создания новой гармонии (решения). Либо выберите один из уже созданных, либо создайте новый случайным образом. Это зависит от скорости учета памяти гармонии (HMCR). Это вероятность, с которой вы можете выбрать любой из способов, упомянутых выше.
4) Обновите память гармонии.
Вновь созданную гармонию (решение) необходимо сравнить с уже существующими. Если новая гармония (решение) лучше уже имеющейся наихудшей гармонии (при этом сравнивается общий вес пути этих решений), то новая гармония сохраняется вместо наихудшей.
5) Повторяйте шаги 3 и 4 до тех пор, пока не будет удовлетворен критерий завершения.
Проверьте, выполнено ли условие завершения. Это условие завершения может быть числом итераций или если соблюдается определенная степень точности.
Надеюсь, это решение поможет.
person
Haris
schedule
08.09.2015