is.atomic(NULL)
was TRUE
,
but now it is FALSE
.For values > 1e7
in combination with another
value NA
locate_errors
generated an error.
Reported and fixed by Ramon Reinders (issue #36)
support for in_range
(issue #33)
Fixed a nasty bug in which variable names are mangled by lpsolveAPI, depending on the seed / added random noise. Thanks to Patrick Driessens
Added expand_weights
, which helps in specifying
detailed weights for records
Removed a bug: Ncpus
was ignored in
replace_errors
Added support for Inf weights, thanks to Guido van den Heuvel.
Improved default setting of solver epsd = 1e-12
provides better numerical stability.
Too aggressive presolve default for lpSolveAPI (c(“rows”, “cols”)) (issue #34) , switching back to presolve=“rows”. Thanks to Sander Scholtus.
Added parallel processing options, resulting in speed and memory
consumption improvements. (also for Ncpus=1
).
simple ratio’s are taken into account and rewritten into linear
rules: cost/turnover > 0.6
will be rewritten into
cost > 0.6 * turnover
.
bug fix issue #31: when a record was invalid, but all rules involving the invalidation contained missing variables, the record was skipped by errorlocate.
Bug fix for issue #30: when a value >= 1e7 was encountered, all fields were flagged erroneous. Thanks to Garðar Páll Gíslason.
Bug fix for log1p, log10 function approximation.
In long running locate_error
sessions, the mip
solver returned for some records a numerical instability error code.
Seems to be an instability in lpSolve. Resubmitting same record does
return a solution. When a numerical instability in lpSolve is reported a
record is try again. When this fails, it is saved in mps format to the
temporary directory (with a warning).
errorlocation
. Thanks
to Sander Scholtusinspect_mip
function, allowing for an in depth
examination of the mip translation and execution. Making it easier to
debug/find what is wrong with a record / rule setoptions(errorlocate.allow_log = TRUE)
.
This makes it possible to formulate constraints
total_salary >= min_salary * n_employees
as
log(total_salary) >= log(min_salary) + log(n_employees)
.