Предварительно загруженный рюкзак, в котором есть ограничение на количество предметов, которые можно поменять местами - PullRequest
0 голосов
/ 02 октября 2019

Я ищу решение следующей проблемы с ранцем при следующих условиях.

  1. Рюкзак уже заполнен до емкости 'C' объектами 'n'
  2. Объекты 'n' являются подмножеством юниверса объектов 'm', поэтому 0 /1 рюкзак
  3. Мы можем сделать не более максимального числа 'x' количества обменов объектов

Рюкзак в данном случае представляет собой портфель активов с фиксированным доходом. Активы имеют ряд атрибутов, включая цену и доходность. Поскольку цена постоянно меняется, было бы идеально иметь динамический подход к этой проблеме, и по этой причине я думаю, что алгоритм оптимизации колоний муравьев не может быть худшим подходом, но я открыт для других идей.

Мой текущий мыслительный процесс заключается в том, что может работать следующий подход:

  1. График проблемы - это гнездо муравья ('K'), окруженное объектами 'm'
  2. Каждый объектподключен к 'K' с ребром
  3. Подмножество объектов, 'n', имеет ребра с уже проложенным следом феромона, поскольку это предварительно выбранные объекты
  4. Длякаждый муравей, каждый муравей случайным образом выбирает «n» объектов из «m»
  5. Решения с изменениями «> x» по сравнению с первоначальным рюкзаком отбрасываются
  6. Рассчитывается пригодность остальных растворов и применяется феромон длялучшее решение
  7. Процесс повторяется до сходимости

Примите во внимание любые советы относительно того, является ли это хорошим подходом или если вы могли бы предложитьlternatives.

...