Mentions légales du service

Skip to content
  • GUENNEBAUD Gael's avatar
    Brief: Rewrite and optimize QuadProg++ on top of Eigen, extend... · 2578f708
    GUENNEBAUD Gael authored
    Brief: Rewrite and optimize QuadProg++ on top of Eigen, extend rational_quadprog fitter with a LS quadratic objective, and improve inequality scheduling.
    Details:
     - Rewitre and optimize QuadProg++ to be fully based on Eigen. This leads to a more readable code, and significant speed up to compute step directons and add/delete constraints.
     - Generalize QuadProg++ API to allow passing the inital guess, to export the resulting active-set, to pass a list of inequalities to satisfy first, and options and schedule the inequalities.
     - Add various inequality scheduling heuristics:
       - WorstFirst : the default for QuadProg++
       - SlidingWindows: treat the worst of the current subset, and shift/grow the subset (the default for rational_quadprog)
       - WorstSetFirst: treat all the N worst before checking for the others
     - Add new options for rational_quadprog:
        _scheduling_mode = args.get_string("scheduling-mode","SlidingWindows"); -> can also be "WorstFirt" or "WorstSetFirst"
        _scheduling_chunk_size = args.get_int("scheduling-chunk-size",-1); -> the default is usually very good
        _scheduling_grow_factor = args.get_float("scheduling-grow-factor",-1); -> not recommended
        _export_qp = args.is_defined("export-qp"); -> export QP problem to files for testing with other solvers
        _delta = args.get_float("delta", 1);
        _add_ls_energy = args.is_defined("add-ls-energy"); -> recommended
     - Update rational_quadprog_parallel to reflect API changes
    2578f708