Git Product home page Git Product logo

miesmuschel's Issues

Clean up zzz.R

  • Use suggested packages only when available
  • onUnload remove from dicts again
  • try to get rid of .datatable.aware
  • use backports?

Support Permutations

Would need to have a sensible way of initializing them.

Permutation Operations

  • Insertion / Jump: remove item from X1, insert it to X2, shift items between X1 and X2 to left/right
  • Inversion: reverse items between X1 and X2
  • Swap: swap items X1 and X2
  • Scramble: shuffle items between X1 and X2
  • Ordered Crossover
  • Partially Mapped Crossover

Abbrevation of Param Types

Often we have things like types = c("ParamInt", "ParamDbl", "ParamFct", "ParamLgl"), but we should have a shorter representation of these. E.g. "All supported params", "All supported params that are numeric in some way", "All categorical params", ...

Stratified Selector

Selector that selects a relative / absolute number from strata as defined by a given component

Surrogate Assisted GA

Fit surrogate model and use as filter before evaluation. Probably by fitting a model on whole dataset, doing selection with filter and surrogate objective value.

sequential w/ SelectorRandom instead of shuffling in generate_offspring

If for some reason the user doesn't want to shuffle there would be the idea of having the raw selector; shuffling would use SelectorSequential(list(SelectorXxx, SelectorRandom)).

The situation is a bit annoying because this is probably the only reason to have a SelectorSequential at all. Also the number of selected individuals is provided dynamically, so to make SelectorSequential useful at all there would need to be a way to select x * n individuals in step 1, followed by n individuals in step 2.

Selector Sequential

selector that selects 'at least' x%, or at least n, with method 1, otherwise method 2

handling multicrit

  • we need some non-dominated sorting, that would pretty much give us NSGA-II

Missing Operators

  • sequential operator application
  • Intified Gauss
  • Uniform Numeric
  • Polynomial as in Deb et al. A Combined Genetic Adaptive Search (GeneAS) for Engineering Design
  • one-point crossover
  • arbitrary-point-crossover
  • mean crossover with gaussian (distance-relative)
  • Simulated Binary Crossover (Deb et al. Simulated binary crossover for continuous search space. Complex Systems)
  • DomHV Selector
  • K-tournament Selector (MO)
  • Non-dominated sorting selector
  • Ranking-base selector (Eiben et al. Introduction to evolutionary computing.)
  • Fitness-proportional selector
  • mutDoubleGeom
  • hamming weight preserving bitflip

More intelligent defaults

Defaults that are questionable:

  1. Defaults that defeat the behaviour (something does nothing):
    • TermBudget, TermGenerations have default set to Inf, should be not set instead?
    • OperatorProxy have Null operators as default
    • ... this also makes the optimizermies very boring by default
    • p default is 1 for *Maybe operators
  2. Defaults that are probably not general
    • OptimizerMies lambda = 10, mu = 1
  3. Defaults that may well be wrong
    • gauss sdev_is_relative should probably be FALSE, sdev maybe not 1, maybe truncated_normal should be true

neater error message code

Have a lot of if (empty<x>) stopf("there are elements <x> that should not be there"), that should be abbrevated

Scalarizer & Selector from scalarizer

Some object that scalarizes (e.g. nondom sorting, but also performance, or other value); selectors could then do best-selection, tournament selection, other things..

Vignettes

  1. Simple GA with simple use of OperatorCombination. Example objective and HPO.
  2. Using mies_* functions explicitly
  3. Self-Adaptive GA
  4. Multifidelity GA

Autotest operators

test operate() with wrong cols, test operate() with data.table, with data.frame

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.