Я пытаюсь реализовать проблему суммы подмножества, используя алгоритм соседства. Вот псевдокод:
1. Generate a random solution for the problem and call it S
2. Compute the neighborhood of S and choose S' as the best solution in the neighborhood
3. If S' is better than S then go to step 4, else go to step 6
4. S = S'
5. Go to step 2
6. Return S as the best solution encountered
Имея набор X из 10 элементов (+ve и -ve), я должен найти такое подмножество X, чтобы сумма была как можно ближе к 0.
Следуя псевдокоду, я сгенерировал случайное решение S, но столкнулся с трудностями при построении окрестности S.
Как вычислить окрестности S? Что такое окрестности S?
E.g.
X = [x0, x1, x2, x3, x4, x5, x6, x7, x8, x9]
S = [x1, x7, x2, x3]
Что такое окрестности S?