Comments (5)
Yeah, it looks like I have to redesign a bit this method to make the library more usable from code. At the moment, I'm focusing mostly on usage from CLI interface, so there might be some inconsistency for different scenarios.
from vrp.
@reinterpretcat, как Вы думаете имеет ли смысл идея, если реализовать критерий завершения по условию, что, например, в N последних генерациях не изменяются косты и количество неназначенных задач? Просто я смотрю, что в основном лучшее решение находится буквально 100-й генерации, а дальше никаких изменений.
from vrp.
Вообще, конечно, подобное условие уже есть - cost variation на основе коэффициэнта вариации. Но по умолчанию оно будет работать немного неожиданно, т.к. оно включается для последней фазы поиска, когда алгоритм находится в режиме активного исследования локального оптимума (exploitation), который занимает последние 10 процентов времени исполнения. Мне кажется, что если разрешить его использование в режиме параллельного поиска новых локальных оптимумов (exploration), cost variation может остановить алгоритм слишком рано в некоторых случаях.
Самое простое решение сейчас - это использовать cost variation с search-mode=deep, который включает алгоритм поиска на основе механизма элитизма в режиме exploitation, вместо алгоритма диверсификации по умолчанию (rosomaxa). Недостаток - снизится возможность алгоритма находить другие локальные оптимумы.
См. документацию здесь:
https://reinterpretcat.github.io/vrp/getting-started/solver.html#search-mode
https://reinterpretcat.github.io/vrp/getting-started/solver.html#cost-variation
from vrp.
Илья, благодарю за ответ! Видимо я невнимательно изучил документацию. Попробую этот вариант.
И заодно хотелось бы Вас поблагодарить за Ваш проект!
from vrp.
Спасибо за отзыв!
Этот момент недостаточно описан еще в документации, так как проект еще по-прежнему в своеобразном экспериментальном состоянии. Необходимо будет время, чтобы упорядочить и описать реализованные идеи.
from vrp.
Related Issues (20)
- cannot find objective idx where solution values are different HOT 1
- Violation on optional break window HOT 3
- Associate Cost to Waiting Time HOT 17
- capacity constraints HOT 1
- Option to provide custom costs matrix HOT 4
- No solutions when using orders or skills HOT 3
- fleet.vehicles.limits.maxDuration is driving duration or total? HOT 2
- RepeatableRandom displaying non-repeatable results HOT 1
- VRP does not respond, ignores SIGINT and max-time HOT 5
- Infeasible solution
- Why cannot set time and duration costs to zeros? HOT 3
- Thread 'main' panicked - intermittent error HOT 1
- Error - called `Option::unwrap()` on a `None` value HOT 6
- Pip wheels for python 3.11 HOT 1
- Custom conditions for jobs/fleet definition HOT 6
- Index out of Bounds in Fast Service Objective HOT 3
- Unexpected behavior of required breaks with time aware matrices
- The model provide different results HOT 1
- Examples for time dependent routing
- Parameter for visiting same location multiple times across shifts
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vrp.