Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Разброс в результатах #79

Open
skyien opened this issue May 20, 2022 · 3 comments
Open

Разброс в результатах #79

skyien opened this issue May 20, 2022 · 3 comments

Comments

@skyien
Copy link

skyien commented May 20, 2022

При одинаковых исходных данных получаю релузьтат с разбросом в ~10% по километражу/временик. Количество задач 40-50. Решение находится примерно на 1500-2000 генераций, далее без изменений. Увеличение времени и кол-ва генераций не помогает. Т.е. получается, что сущесвует лучшее решение, но продолжительность работы алгоритма никак на это не влияет. Испоьзую vrp-cli 1.18.1, дефолтные настройки. Подкажите, пожалуйста, возможно есть какие-то доп. настройки, для решения этой проблемы? Заранее благодарен!

@reinterpretcat
Copy link
Owner

Стабильность поиска - это одна из концептуальных проблем в текущем алгоритме, который основан на недетерменизме (как, в прочем, и большинство методов решения оптимизационных задач для проблем реального мира). В версии 1.18.x я достаточно много чего переделал (как я надеюсь, улучшил), что улучшило поиск на определенных задач (например, с большим количеством unassignable и длинными турами), но возможна и деградация. Планирую улучшить это в дальнейшем (за основу можно взять классические бенчмарки для CVRP).

Что можно попробовать сейчас? На ум пришло попробовать увеличить количество начальных решений, например, init-size=8

@skyien
Copy link
Author

skyien commented May 20, 2022

Илья, благодраю за помощь! Попробовал на одном наборе данных, с init-size чаше стало выдавать одинаковый результат. Остановился на init-size=1000.

@reinterpretcat
Copy link
Owner

Немного неожиданное число: 1000 начальных решений это немного многовато и нерационально, т.к. большинство из них будет одинаковыми (зависит от количества разных методов для создания решений "с нуля" - их немного). С другой стороны, оно показывает куда мне "копать": по-ходу, надо убедиться, что начальные решения "живут" в популяции решений дольше текущего (сейчас это немного не так).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants