Comments (7)
I think we could also register the load/time feasibility here.
That's now done!
from euro-neurips-2022.
These are the relevant TODOs:
(as an image for now, but might make a Markdown table with context later)
from euro-neurips-2022.
I'll address this one in the op-stats
branch. We track the total population size for legacy reasons when we had 1 population, but with subpopulations it makes more sense to track feasible subpop and infeasible subpop size.
Euro-NeurIPS-2022/hgs_vrptw/src/GeneticAlgorithm.cpp
Lines 107 to 110 in 2c495c4
I think we could also register the load/time feasibility here. I'm collecting stats from individuals now throughout the algorithm and it seems that repairing doesn't often yield feasible solutions. See csv file below. Compare the pre-educate
column with post-repair
column. In each entry, the first number indicates feasibility (1) or infeasibility (0). The second number indicates the individual's cost. When there was no post-repair in the iteration, the entry is filled with (0, INT_MAX)
.
ORTEC-VRPTW-ASYM-00c5356f-d1-n258-k12.csv
ORTEC-VRPTW-ASYM-0bdff870-d1-n458-k35.csv
Only roughly 30-50% of the repair operations yield feasible solutions.
I don't know much about the LocalSearch/TWS-related TODOs.
from euro-neurips-2022.
I think we could also register the load/time feasibility here
I agree. It's another solution, it should be tracked. I'll go through the TODO's sometime soon and fix this.
Only roughly 30-50% of the repair operations yield feasible solutions.
That feels like quite a bit to me! It'll probably also depend on the size of the repairBooster
parameter, but 30-50% is not nothing. Just to be sure: that's for individuals that actually get repaired right? Because there's also the repairProbability
parameter at 50% (currently), so not all infeasible solutions are put through the repair process.
from euro-neurips-2022.
That feels like quite a bit to me! It'll probably also depend on the size of the repairBooster parameter, but 30-50% is not nothing. Just to be sure: that's for individuals that actually get repaired right? Because there's also the repairProbability parameter at 50% (currently), so not all infeasible solutions are put through the repair process.
Correct.
from euro-neurips-2022.
So the stats thing, and some TODOs about code organisation that might, eventually (=never), be changed for the better. The dynamic things are all in the ML baselines, which #108 will remove.
@leonlan how's the stats thing coming along?
from euro-neurips-2022.
At this point we're not going to do anything further about this. It is what it is.
from euro-neurips-2022.
Related Issues (20)
- Impact of simulation-solution quality on rollout performance HOT 17
- Improve rollout dispatching criteria HOT 2
- Filter instance method unsafe? HOT 9
- How to structure codebase HOT 3
- Single static solver builder HOT 6
- Route minimization procedures HOT 15
- Configuration management
- Change restarting mechanism HOT 7
- Parent selection for crossover HOT 12
- Documentation HOT 12
- Rename rollout and parameters
- High variance in solution quality HOT 6
- Fitness comparison in binary tournament
- Neighbourhood sizes HOT 15
- Determining minimum number of vehicles HOT 10
- Make sure everything's deterministic once we fix a seed HOT 21
- Slack-induced string removals as mutation operator HOT 1
- Solve epochs with low number of must_dispatch requests greedily HOT 17
- Postprocess after finishing LS HOT 3
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 euro-neurips-2022.