Skip to content

turfLP 0.2.0

Choose a tag to compare

@john-aigora john-aigora released this 27 Sep 13:24
d17bc01
  • The integer programs are solved with HiGHS (the highs package) instead of lpSolve, which returned infeasible points as optimal for some inputs. Reach and frequency are fixed with exact bounds, and the penetration stage is decided in R, so the tie-breaks are exact up to double-precision rounding.
  • After its first penetration solve, turf() searches for other portfolios with the same penetration, within the solver tolerance. That search stops after 1,000 more portfolios or 30 seconds. If it stops early, turf() gives a warning, and the penetration is optimal only to within the solver tolerance (about 1e-9).
  • turf_min_cover() checks the solver's result and stops with an error if the selection does not cover everyone or is not integral.
  • turf_simulate() checks its arguments.
  • The repository also contains Python (python/) and JavaScript (js/) ports that follow the same specification (docs/algorithm.md) and pass the same conformance suite (conformance/), and a one-file browser dashboard (dashboard/) that runs the JavaScript port. They are not part of the R package.

The browser dashboard is attached as turflp-dashboard.html: download it and open it in a browser. It needs no server, and the data does not leave the computer. See dashboard/README.md.

The Python and JavaScript packages are version 0.2.0 too. They are not on PyPI or npm yet; see the README for installation from the repository.