Giter VIP home page Giter VIP logo

Comments (7)

N-Wouda avatar N-Wouda commented on June 25, 2024 1

I think we could also register the load/time feasibility here.

That's now done!

from euro-neurips-2022.

N-Wouda avatar N-Wouda commented on June 25, 2024

These are the relevant TODOs:

image

(as an image for now, but might make a Markdown table with context later)

from euro-neurips-2022.

leonlan avatar leonlan commented on June 25, 2024

// TODO Use numFeas and numInfeas instead of total popsize?

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.


if (indiv.isFeasible())
// TODO should we also register this individual in the load/time
// feasibility lists?
population.addIndividual(indiv);

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.

N-Wouda avatar N-Wouda commented on June 25, 2024

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.

leonlan avatar leonlan commented on June 25, 2024

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.

N-Wouda avatar N-Wouda commented on June 25, 2024

This is what we have now:
image

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.

N-Wouda avatar N-Wouda commented on June 25, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.