From 9c7e3b03fdbfd2a207832eb350ec8c513bb8da9e Mon Sep 17 00:00:00 2001 From: linesd Date: Fri, 4 Oct 2019 14:58:12 +0100 Subject: [PATCH] moved and added concise option --- {img => doc/img}/convergence.png | Bin {test => functions}/rosenbrock.py | 0 {test => functions}/rosenbrock_with_args.py | 0 check_grad.py => optimizer/check_grad.py | 0 minimize.py => optimizer/minimize.py | 19 ++++++++++++++++--- test/convergence.png | Bin 358478 -> 0 bytes 6 files changed, 16 insertions(+), 3 deletions(-) rename {img => doc/img}/convergence.png (100%) rename {test => functions}/rosenbrock.py (100%) rename {test => functions}/rosenbrock_with_args.py (100%) rename check_grad.py => optimizer/check_grad.py (100%) rename minimize.py => optimizer/minimize.py (92%) delete mode 100644 test/convergence.png diff --git a/img/convergence.png b/doc/img/convergence.png similarity index 100% rename from img/convergence.png rename to doc/img/convergence.png diff --git a/test/rosenbrock.py b/functions/rosenbrock.py similarity index 100% rename from test/rosenbrock.py rename to functions/rosenbrock.py diff --git a/test/rosenbrock_with_args.py b/functions/rosenbrock_with_args.py similarity index 100% rename from test/rosenbrock_with_args.py rename to functions/rosenbrock_with_args.py diff --git a/check_grad.py b/optimizer/check_grad.py similarity index 100% rename from check_grad.py rename to optimizer/check_grad.py diff --git a/minimize.py b/optimizer/minimize.py similarity index 92% rename from minimize.py rename to optimizer/minimize.py index 0b7a253..b89dca3 100644 --- a/minimize.py +++ b/optimizer/minimize.py @@ -2,7 +2,7 @@ import warnings warnings.filterwarnings("ignore", category=RuntimeWarning) # suppress np.sqrt Runtime warnings -def minimize(f, X, length, args=(), reduction=None, verbose=True): +def minimize(f, X, length, args=(), reduction=None, verbose=True, concise=False): """ Minimize a differentiable multivariate function. @@ -31,6 +31,11 @@ def minimize(f, X, length, args=(), reduction=None, verbose=True): verbose : bool If True - prints the progress of minimize. (default is True) + concise : bool + If True - returns concise convergence info, only the minimium function + value (necessary when optimizing a large number of parameters) + (default is False) + Return ------ Xs : numpy array - Shape : (D, 1) @@ -41,6 +46,10 @@ def minimize(f, X, length, args=(), reduction=None, verbose=True): returned by the function being minimized. The next D columns are the guesses of X during the minimization process. + If concise = True, convergence information is only the minimum + function value. This is necessary only when optimizing a large number + of parameters. + i : int Number of line searches or function evaluations depending on which was selected. @@ -50,7 +59,7 @@ def minimize(f, X, length, args=(), reduction=None, verbose=True): numerical problems, we cannot get any closer) Copyright (C) 2001 - 2006 by Carl Edward Rasmussen (2006-09-08). - Coverted to python by David Lines (2019-23-08) + Converted to python by David Lines (2019-23-08) """ INT = 0.1 # don't reevaluate within 0.1 of the limit of the current bracket EXT = 3.0 # extrapolate maximum 3 times the current step size @@ -174,7 +183,11 @@ def minimize(f, X, length, args=(), reduction=None, verbose=True): x3 = 1/(1-d0) ls_failed = True # this line search failed - convergence = np.hstack((np.array(fX).reshape(-1,1), np.array(Xd)[:,:,0])) # bundle convergence info + if concise: + convergence = fX[-1] # return only the minimum function value + else: + convergence = np.hstack((np.array(fX).reshape(-1,1), np.array(Xd)[:,:,0])) # bundle convergence info + Xs = X # solution return Xs, convergence, i diff --git a/test/convergence.png b/test/convergence.png deleted file mode 100644 index 7e2c67a142952d94c7b5d64f9e84004202e4de58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358478 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