задача рюкзака с использованием генетического алгоритма
- Привет!
Я новый участник проекта code. Я только начал работать с генетическим алгоритмом.
Мне нужно решить проблему рюкзака с помощью генетического алгоритма на c++.
Например, я инициализирую население:
void initialize_Q() { double r,num=0.0; for( int i=0;i<POPsize ;i++) { for(int j=0;j<NUM_BIT;j++) { r=rnd0_1(); if(r>=0.5) { population[i].P[j]=1; num++; if(num>CAPACITY) population[i].P[j]=0; } else population[i].P[j]=0; } } }
Я просто не могу понять, как оценить ценность пригодности, если я использую генетический процесс. И должен ли я создавать выгоду и ценность случайным образом, а затем конвертировать десятичное число нет. в двоичный?
Любая помощь с основной идеей или любая реализация на c++ были бы очень полезны.
Sergey Alexandrovich Kryukov
Пожалуйста, сначала сформулируйте проблему рюкзака, которую вы пытаетесь точно решить. Я спрашиваю, потому что есть разные варианты проблемы.
Пожалуйста, посмотрите мой комментарий к ответу Маркуса (он относится к моему прошлому ответу); к сожалению, это не тот ответ, который может вам помочь-пока.