diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2014-07-17 12:58:33 +0200 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2014-07-17 12:58:33 +0200 |
commit | 1549583133712ddb7b404df83b7a00843cf5b74f (patch) | |
tree | 18b9c6c68b4f68a91d860a925419816512407c5c | |
parent | 82eb7a1905304206b18bf295614cbcb44ab138f9 (diff) |
Optimisation choice (Marq, Port, SANN), maximum number of iterations
-rw-r--r-- | DESCRIPTION | 2 | ||||
-rw-r--r-- | NEWS.md | 6 | ||||
-rw-r--r-- | inst/GUI/gmkin.R | 25 |
3 files changed, 26 insertions, 7 deletions
diff --git a/DESCRIPTION b/DESCRIPTION index 80b7bf6..b38f7c6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -9,7 +9,7 @@ Authors@R: c(person("Johannes", "Ranke", role = c("aut", "cre", "cph"), Description: This package contains a browser based graphical user interface for R package mkin, based on the gWidgetsWWW2 package on GitHub (http://github.com/jverzani/gWidgetsWWW2/) -Depends: mkin (>= 0.9-27), gWidgetsWWW2 +Depends: mkin (>= 0.9-32), gWidgetsWWW2 License: GPL LazyLoad: yes LazyData: yes @@ -1,5 +1,11 @@ # CHANGES in gmkin VERSION 0.5-2 +## NEW FEATURES + +- Make `Port` and `SANN` optimisation algorithms from FME available to gmkin, in addition to the default algorithm `Marq` + +- Make it possible to specify the maximum number of iterations for these algorithms + ## BUG FIXES - Sorting in the fit table now works correctly also for more than 9 fits diff --git a/inst/GUI/gmkin.R b/inst/GUI/gmkin.R index 12d5d14..d9ac76f 100644 --- a/inst/GUI/gmkin.R +++ b/inst/GUI/gmkin.R @@ -247,6 +247,8 @@ configure_fit_handler = function(h, ...) { "none", ftmp$reweight.method)
svalue(f.gg.opts.reweight.tol) <<- ftmp$reweight.tol
svalue(f.gg.opts.reweight.max.iter) <<- ftmp$reweight.max.iter
+ svalue(f.gg.opts.method.modFit) <<- ftmp$method.modFit
+ svalue(f.gg.opts.maxit.modFit) <<- ftmp$maxit.modFit
f.gg.parms[,] <- get_Parameters(stmp, FALSE)
delete(f.gg.plotopts, f.gg.po.obssel)
f.gg.po.obssel <<- gcheckboxgroup(names(ftmp$mkinmod$spec), cont = f.gg.plotopts,
@@ -718,7 +720,9 @@ run_fit <- function() { err = err,
reweight.method = reweight.method,
reweight.tol = as.numeric(svalue(f.gg.opts.reweight.tol)),
- reweight.max.iter = as.numeric(svalue(f.gg.opts.reweight.max.iter))
+ reweight.max.iter = as.numeric(svalue(f.gg.opts.reweight.max.iter)),
+ method.modFit = svalue(f.gg.opts.method.modFit),
+ maxit.modFit = svalue(f.gg.opts.maxit.modFit)
)
ftmp$ds.index <<- ds.i
ftmp$ds <<- ds[[ds.i]]
@@ -858,19 +862,19 @@ f.gg.parms$set_column_width(5, 60) # Fit options form {{{4
f.gg.opts <- gformlayout(cont = f.gn, label = "Fit options")
solution_types <- c("auto", "analytical", "eigen", "deSolve")
-f.gg.opts.st <- gcombobox(solution_types, selected = 1,
- label = "solution_type", width = 200,
+f.gg.opts.st <- gcombobox(solution_types, selected = 1,
+ label = "solution_type", width = 200,
cont = f.gg.opts)
-f.gg.opts.atol <- gedit(ftmp$atol, label = "atol", width = 20,
+f.gg.opts.atol <- gedit(ftmp$atol, label = "atol", width = 20,
cont = f.gg.opts)
-f.gg.opts.rtol <- gedit(ftmp$rtol, label = "rtol", width = 20,
+f.gg.opts.rtol <- gedit(ftmp$rtol, label = "rtol", width = 20,
cont = f.gg.opts)
f.gg.opts.transform_rates <- gcheckbox("transform_rates",
cont = f.gg.opts, checked = TRUE)
f.gg.opts.transform_fractions <- gcheckbox("transform_fractions",
cont = f.gg.opts, checked = TRUE)
weights <- c("manual", "none", "std", "mean")
-f.gg.opts.weight <- gcombobox(weights, selected = 1, label = "weight",
+f.gg.opts.weight <- gcombobox(weights, selected = 1, label = "weight",
width = 200, cont = f.gg.opts)
f.gg.opts.reweight.method <- gcombobox(c("none", "obs"), selected = 1,
label = "reweight.method",
@@ -880,6 +884,13 @@ f.gg.opts.reweight.tol <- gedit(1e-8, label = "reweight.tol", width = 20, cont = f.gg.opts)
f.gg.opts.reweight.max.iter <- gedit(10, label = "reweight.max.iter",
width = 20, cont = f.gg.opts)
+optimisation_methods <- c("Marq", "Port", "SANN")
+f.gg.opts.method.modFit <- gcombobox(optimisation_methods, selected = 1,
+ label = "method.modFit",
+ width = 200,
+ cont = f.gg.opts)
+f.gg.opts.maxit.modFit <- gedit("auto", label = "maxit.modFit",
+ width = 20, cont = f.gg.opts)
# Summary {{{3
oldwidth <- options()$width
@@ -919,6 +930,8 @@ update_plotting_and_fitting <- function() { ftmp$reweight.method)
svalue(f.gg.opts.reweight.tol) <- ftmp$reweight.tol
svalue(f.gg.opts.reweight.max.iter) <- ftmp$reweight.max.iter
+ svalue(f.gg.opts.method.modFit) <- ftmp$method.modFit
+ svalue(f.gg.opts.maxit.modFit) <- ftmp$maxit.modFit
# Summary
oldwidth <<- options()$width
|