Я ищу решение следующей проблемы с ранцем при следующих условиях.
- Рюкзак уже заполнен до емкости 'C' объектами 'n'
- Объекты 'n' являются подмножеством юниверса объектов 'm', поэтому 0 /1 рюкзак
- Мы можем сделать не более максимального числа 'x' количества обменов объектов
Рюкзак в данном случае представляет собой портфель активов с фиксированным доходом. Активы имеют ряд атрибутов, включая цену и доходность. Поскольку цена постоянно меняется, было бы идеально иметь динамический подход к этой проблеме, и по этой причине я думаю, что алгоритм оптимизации колоний муравьев не может быть худшим подходом, но я открыт для других идей.
Мой текущий мыслительный процесс заключается в том, что может работать следующий подход:
- График проблемы - это гнездо муравья ('K'), окруженное объектами 'm'
- Каждый объектподключен к 'K' с ребром
- Подмножество объектов, 'n', имеет ребра с уже проложенным следом феромона, поскольку это предварительно выбранные объекты
- Длякаждый муравей, каждый муравей случайным образом выбирает «n» объектов из «m»
- Решения с изменениями «> x» по сравнению с первоначальным рюкзаком отбрасываются
- Рассчитывается пригодность остальных растворов и применяется феромон длялучшее решение
- Процесс повторяется до сходимости
Примите во внимание любые советы относительно того, является ли это хорошим подходом или если вы могли бы предложитьlternatives.