Comments (9)
My guess it is related to search path in solution space: the variant b is open VRP and it leads to more efficient search path as there is no constraint for returning to depot. Also the quality depends on amount of time given to the solver: maybe try to increase it if it is too short.
from vrp.
I tried it with calculation Time of up to 20 Minutes without significant change.
What surprises me is the big difference between the two constraints. I expected a small hit due to the "return" constraint, but not that huge.
from vrp.
This would be interesting to analyze as better solution is kind of already known. I'm working on experimental hyper-heuristic (hyperh branch) which might improve results a bit, but hard to say for sure.
Btw, how many jobs and vehicles are defined in original problem?
from vrp.
29 Vehicles, 1650 Jobs. I saw the same effect while experimenting with larger dataset. I haven't researched small ones yet
from vrp.
Can you try to run the problem using https://github.com/reinterpretcat/vrp/tree/hyperh branch? Just curious will it improve a bit results or not.
from vrp.
sure! compiling right now
from vrp.
The initial Solution is reproducable better. Even though it isn't solving the problem. ( I executed the Problem multiple times )
Hyper: rank: 0, cost: 3512.12(0.000%), tours: 29, unassigned: 451, fitness: (451.000, 3512.124, 0.125) (Down to 350 after 3 Minutes)
Cur Release: rank: 0, cost: 3514.88(0.000%), tours: 29, unassigned: 488, fitness: (488.000, 3514.876, 0.099)
Looking at the large number of unassigned it is nearly impossible for the algorithm to get a "complete" solution. VRP Mode starts as an initial solution with 0 unassigned and - if i remember correctly - one or two vehicles less.
Edit: As a long shot i tried seeding it with a mostly proper solution - hoping that it adapts. Sadly without success.
from vrp.
It looks like you're using balancing objective (third one in fitness). It is a bit experimental as it's performance depends on tolerance and threshold parameters which user needs to set. Have you tried to play with their values?
Also it is important how primary and secondary objectives are defined. Do you have minimize-unassigned as primary and minimize-cost and balance as secondary objectives?
from vrp.
I use more or less defaults -
"objectives": { "primary": [{ "type": "minimize-tours" }, { "type": "minimize-unassigned" }], "secondary": [{ "type": "minimize-cost" }] }
I'll try to anonymize the dataset without hiding the base issue and provide it by mail like last time. I think this will work better than remote diagnosis.
Edit: I experimented with balancing - but it shows the same effect like discussed above. Just even worse. In this example we're talking round about 700 unassigned
from vrp.
Related Issues (20)
- 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
- Pydantic Model Issue HOT 1
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.