Читайте также:
|
|
Эта задача имеет следующую неформальную простую постановку. Имеется рюкзак объемом и
различных предметов. Каждый предмет
имеет известный объем Wi и стоимость Pi (
). В рюкзак можно положить целое число различных предметов. Нужно упаковать рюкзак так, чтобы полная стоимость уложенных предметов была максимальной, а их общий объем не превышал заданный объем С – емкость рюкзака. Форма предметов здесь не учитывается.
Формальная постановка задачи: для данного множества весов Wi, стоимостей Pi и объема надо найти двоичный вектор X= (x1,…, xn), где xi=1, если предмет укладывается в рюкзак;xi=0, если предмет не укладывается;
при этом должно выполняться: , и
.
Так как решение задачи можно представить двоичным вектором X= (x1,…, xn), то очевидно при его поиске можно применить простой ГА со стандартными операторами скрещивания и мутации. Но при этом, что на каждом шаге надо следить за тем, чтобы новые решения, полученные в результате скрещивания или мутации, удовлетворяли требуемому ограничению V . В случае невыполнения ограничения «неправильное» потенциальное решение должно быть уничтожено, что ведет к сокращению популяции.
В качестве фитнесс-функции в простейшем случае можно взять , но в этом случае, как указано выше, есть проблемы с неправильными решениями.
Дата добавления: 2015-09-11; просмотров: 82 | Поможем написать вашу работу | Нарушение авторских прав |