Stéphane Adjemia (Scylla)
e5317b17de
Cosmetic change.
2018-10-06 17:52:58 +02:00
Stéphane Adjemia (Scylla)
108854a484
Bug fix. verbosity option was not honoured in simplex algorithm (8).
...
Thanks to Reuben for reporting.
2018-10-06 17:50:37 +02:00
Stéphane Adjemian(Charybdis)
7421e6b5b2
Fixed copyright header.
2018-07-19 15:36:02 +02:00
Stéphane Adjemian(Charybdis)
44c49eaef8
Improved iterations display of Dynare's simplex routine.
2018-07-19 15:15:05 +02:00
Stéphane Adjemian(Charybdis)
2d321cb0e3
Increased default number of iterations in simplex.
2018-07-19 15:15:05 +02:00
Johannes Pfeifer
97229177b4
simplex_optimization_routine.m: account for penalty indicator being third output, not fourth one
...
Caused occasional crashes
2018-07-19 09:25:27 +02:00
Sébastien Villemot
7cbac0c989
Fix user_has_octave_forge_package
...
Packages are no longer autoloaded, so testing whether they are "Loaded" does
not work in all cases.
The function now ensures that the package is loaded.
2018-06-05 19:53:02 +02:00
Stéphane Adjemian (Scylla)
ce7cfccddb
Cosmetic changes.
2017-10-10 10:14:59 +02:00
Marco Ratto
da063b2e18
bug fix in optimizer 5 [newrat] for dsge_var_likelihood objective function. Fixes #1494
2017-10-09 17:53:19 +02:00
Johannes Pfeifer
89326090b9
simpsa: Only store output strcuture if requested
...
Otherwise a huge three-dimensional array is created by default that is not used, but can run computer out of memory
2017-06-23 10:50:06 +02:00
Stéphane Adjemian (Charybdis)
1bf81c9f5a
Fixed copyright notices.
2017-05-18 18:36:38 +02:00
Stéphane Adjemian (Charybdis)
5417b27ac7
Fixed indentation of matlab files.
2017-05-16 15:10:20 +02:00
Stéphane Adjemian (Charybdis)
a53636e24e
Fixed copyright notices.
2017-05-16 14:11:15 +02:00
Stéphane Adjemian (Charybdis)
88e1701289
Removed useless commas and semicolons.
2017-05-16 13:24:46 +02:00
Johannes Pfeifer
f1123200e5
mode_compute=9: Make sure initial search volume (SIGMA) is not badly conditioned
2017-04-12 13:39:34 +02:00
Stéphane Adjemian (Charybdis)
9fbef0c107
Removed penalty_hessian routine.
...
+ Code factorization.
+ Added an option for using the penalized objective when computing numerically
the hessian at the mode.
Previous behaviour (introduced with penalty_hessian routine) was to compute the
hessian matrix at the mode with the penalized objective function (instead of
the original objective function). This behaviour hides problematic situations,
where the computed hessian (using the original objective) would not be full
rank. For instance, if the estimation ends up with a parameter on (or very
close to) the bounds of its possible values (which is often not a desirable
outcome), the estimated posterior variance would be zero for this
parameter (with the original objective) because the hessian is not finite in
this direction, while the posterior variance would be positive if the penalized
objective is used instead. But this estimate would not be reliable by
construction of the penalty which is quite ad-hoc (more fundamentally I do not
think that there exists any rational for approximating the covariance matrix
with the inverse of the hessian matrix if the mode is on the border of the set
of possible values).
This commit restore the behaviour previous to 2446ab02ba
.
An option is available for computing the hessian with the penalized
objective function.
2017-02-08 13:07:25 +00:00
Stéphane Adjemian (Charybdis)
5b73d7d59c
Added new optimization routine (particleswarm).
...
Only available under Matlab if the Global Optimization Toolbox is installed.
2017-02-08 13:07:25 +00:00
Stéphane Adjemian (Charybdis)
35078e13ee
Completed header + cosmetic changes.
2017-02-08 13:07:25 +00:00
Houtan Bastani
920a9911ee
add missing copyright
2016-11-10 17:49:05 +01:00
Houtan Bastani
46cdaf8e0a
fiminsearch only has two output args under Octave
2016-10-21 17:40:27 +02:00
Houtan Bastani
744b52d362
fix bug introduced in 1c892bb3e9
2016-09-27 15:28:43 +02:00
Houtan Bastani
1c892bb3e9
octave: try to load the needed package before ending with an error
2016-09-27 15:26:59 +02:00
Johannes Pfeifer
552a9b5230
Fix bugs previously introduces in dynare_estimation_1.m related to penalty function
2016-06-15 00:30:28 +02:00
Johannes Pfeifer
2446ab02ba
Transform persistent variables of newrat.m into function arguments
2016-06-15 00:30:28 +02:00
Johannes Pfeifer
0c00e28799
Remove objective_function_penalty_base
2016-06-15 00:30:28 +02:00
Johannes Pfeifer
0edd8e2025
Add penalty_hessian.m and penalty_objective_function.m
2016-06-15 00:30:28 +02:00
Johannes Pfeifer
676182f550
Cosmetic fix to dynare_minimize_objective.m
2016-05-22 11:41:54 +02:00
Houtan Bastani
bebcfffe04
fix license, file copyright errors
2016-05-04 16:30:16 +02:00
Johannes Pfeifer
0eba93dd71
Add missing input argument in newrat.m to prevent crashes
2015-11-28 14:06:10 +01:00
Marco Ratto
2d59920a70
- systematically check bounds for each parameter during optimization
...
- make htol adaptive to each parameter to speed up computations
2015-10-13 11:07:01 +02:00
Johannes Pfeifer
fd9f2db79d
Allow resuming previous run of CMAES
...
Also enables saving of intermediate results, consistent with the manual.
2015-10-11 19:13:48 +02:00
Johannes Pfeifer
e3e34e1c7d
Reduce default accuracy criterion in cmaes.m
2015-10-11 18:50:05 +02:00
Johannes Pfeifer
df47be4076
Properly set bounds and H0 for CMAES
2015-10-11 18:21:25 +02:00
Michel Juillard
6502c311a0
replaced global timer by local timer
2015-10-10 14:33:30 +02:00
Michel Juillard
f7f158f078
Revert "removed global objective_function_penalty_base"
...
This reverts commit 5ade8d7c6f
.
2015-10-09 14:23:32 +02:00
Michel Juillard
818fa47375
Revert "adding new functions for penalty optimization"
...
This reverts commit b9e535e99e
.
2015-10-09 14:23:31 +02:00
Michel Juillard
295eed6118
Revert "adapted dsge-var code for new handling of penalties"
...
This reverts commit 3966296aca
.
2015-10-09 14:23:31 +02:00
Michel Juillard
f464760c45
Revert "remove global objective_function_penalty_base"
...
This reverts commit cf858c7fcb
.
2015-10-09 14:23:31 +02:00
Michel Juillard
035adeb89e
Revert "More fixing related to objective_function_penalty_base"
...
This reverts commit 1ad8df4635
.
2015-10-09 14:23:31 +02:00
Michel Juillard
1a9aa17c9e
Revert "More fixings around objective_function"
...
This reverts commit 05cd51111c
.
2015-10-09 14:23:31 +02:00
Michel Juillard
063a548bd3
Revert "changed persitent variables into local ones in mr_hessian.m"
...
This reverts commit fe077fc710
.
2015-10-09 14:23:31 +02:00
Michel Juillard
bc37c838c7
Revert "more fixes for penalty objective function"
...
This reverts commit 3dac7f8809
.
2015-10-09 14:23:31 +02:00
Michel Juillard
a7a3bbef89
Revert "reset newratflag = 0 in dynare_minimize_objective"
...
This reverts commit d4cf3576e4
.
2015-10-09 14:23:31 +02:00
Michel Juillard
7202c497de
Revert "removed initialization of mr_hessian()"
...
This reverts commit f48a026d89
.
2015-10-09 14:23:31 +02:00
Michel Juillard
f48a026d89
removed initialization of mr_hessian()
2015-10-08 20:57:00 +02:00
Michel Juillard
d4cf3576e4
reset newratflag = 0 in dynare_minimize_objective
2015-10-08 20:57:00 +02:00
Michel Juillard
3dac7f8809
more fixes for penalty objective function
2015-10-08 20:57:00 +02:00
Michel Juillard
fe077fc710
changed persitent variables into local ones in mr_hessian.m
2015-10-08 20:57:00 +02:00
Michel Juillard
05cd51111c
More fixings around objective_function
2015-10-08 20:57:00 +02:00
Michel Juillard
1ad8df4635
More fixing related to objective_function_penalty_base
2015-10-08 20:57:00 +02:00
Michel Juillard
cf858c7fcb
remove global objective_function_penalty_base
2015-10-08 20:57:00 +02:00
Michel Juillard
3966296aca
adapted dsge-var code for new handling of penalties
2015-10-08 20:57:00 +02:00
Michel Juillard
b9e535e99e
adding new functions for penalty optimization
2015-10-08 20:57:00 +02:00
Michel Juillard
5ade8d7c6f
removed global objective_function_penalty_base
...
added penalty_objective_function.m and penalty_hessian.m
2015-10-08 20:57:00 +02:00
Stéphane Adjemian (Charybdis)
489bffdfd8
Fixed option names for mode_compute=6.
2015-10-06 11:34:56 +02:00
Johannes Pfeifer
3bf13dd53b
Add functionality for TaRB
2015-06-08 16:44:44 +02:00
Johannes Pfeifer
0769fd1cce
Add verbosity and SaveFile options to some optimizers
...
Also moves additional optimizer-related files to corresponding subfolder
Closes #894
2015-06-08 16:44:44 +02:00
Stéphane Adjemian (Hermes)
b53578dc80
Completed description of minimizer_algorithm input argument.
2015-06-01 16:42:02 +02:00
Johannes Pfeifer
05635a4546
Change dynare_minimize_objective.m to use the correct field when selecting user-defined optimizer.
2015-06-01 16:42:02 +02:00
Johannes Pfeifer
cb1fc3ec3c
Lift unnecessary restriction of not allowing simpsa with infinite bounds
...
Introduction of options_.huge_number makes this redundant
2015-05-13 20:33:14 +02:00
Stéphane Adjemian (Hermes)
f960e7bb68
Merged branch simpsa-inf-fix.
2015-05-07 16:01:43 +02:00
Stéphane Adjemian (Hermes)
6d0dfc2d3f
Do not use hard coded value for the finite interval replacing unbounded intervals in simpsa and simulated annealing algorithms.
2015-05-07 15:59:46 +02:00
Stéphane Adjemian
f26cec2430
Merge pull request #904 from JohannesPfeifer/mode_compute7_octave
...
Fix compatibility of mode_compute=7
2015-05-07 15:16:15 +02:00
Johannes Pfeifer
9408319e48
Cosmetic changes related to solvopt.m
2015-04-24 12:31:27 +02:00
Johannes Pfeifer
8eaa645800
Fix compatibility of mode_compute=7
...
Uses wrapper as for mode_compute=3 to restore to conform to Octave syntax
2015-04-22 11:08:32 +02:00
Johannes Pfeifer
c6c5cd8ce8
Allow Inf bounds in simpsa by replacing them with big finite number
...
Closes #585
2015-04-21 16:26:46 +02:00
Johannes Pfeifer
bc6cf0345f
Clean up csminwel1.m
...
Adds documentation and puts calling of numerical gradient to nested function as previously suggested in comment at the bottom of file
2015-04-17 07:05:01 +02:00
Johannes Pfeifer
b629d3ca19
Cosmetic changes to csminwel routines
...
Mostly adds documentation
2015-04-17 07:05:00 +02:00
Johannes Pfeifer
84f0060cbd
Fix bug where inverse Hessian from csminwel1.m was taken as Hessian
2015-04-17 07:05:00 +02:00
Stéphane Adjemian (Charybdis)
f0770186ca
Exhanged mode_compute=2 and mode_compute=102.
...
These options are for the simulated annealing algorithm, the Mathworks' global optimization
toolbox is mandatory for mode_compute=102. The first option relies on a
free implementation (works also with Octave).
2015-04-15 12:42:08 +02:00
Johannes Pfeifer
49d4643481
Fix copy and paste typo in gmhmaxlik.m
2015-04-06 12:04:11 +02:00
Johannes Pfeifer
d1a80acb44
Replace non-available simulated annealing by Matlab's routine
...
Closes #814
2015-04-06 11:28:32 +02:00
Johannes Pfeifer
39ed3eb3f0
Fix bugs related to allowing mode_compute to be a string
...
Crashes otherwise
2015-04-06 11:24:42 +02:00
Johannes Pfeifer
a81c9da9a2
Add simulated_annealing.m to optimizers
...
Restores compatibility of mode_compute=102
2015-04-06 11:08:20 +02:00
Johannes Pfeifer
405b1f7368
Add solvopt.m to Dynare optimizers
...
Restores compatibility of mode_compute=101
2015-04-06 11:05:12 +02:00
Marco Ratto
214dc74723
- Fixed bugs around analytic derivation.
...
- Fixed test routine, eliminating diffuse filter.
- Trapped incompatibility of diffuse filter with analytic derivation.
2015-04-01 09:00:51 +02:00
Marco Ratto
c881cfff17
Fixed issues related to newratflag.
...
This options relates to alternative numerical hessian computations:
optim=('Hessian',1) is the default dynare numeric Hessian
optim=('Hessian',0) is the outer product gradient
optim=('Hessian',2) is the 'mixed' outer product gradient, where diagonal elements using second order derivation formula,
Both 0 and 2 cases require univariate filters, to ensure using maximum number of individual densities.
2015-03-12 17:24:21 +01:00
Stéphane Adjemian (Charybdis)
392486273e
Fixed bug (options_.optim_opt is now initialized as an empty array).
2015-02-26 08:43:30 +01:00
Stéphane Adjemian (Charybdis)
83981125c9
Added missing routine and fixed licence header.
2015-02-24 20:42:19 +01:00
Stéphane Adjemian (Charybdis)
5ef340b8cf
Rewrote gmhmaxlik routine (mode_compute==6).
2015-02-24 20:34:35 +01:00
Stéphane Adjemian (Charybdis)
fac1d206ab
Use new wrapper for optimization algorithms when maximizing the prior density.
2015-02-23 18:26:34 +01:00
Stéphane Adjemian (Charybdis)
0ffb9dd6e2
Changed order of the input arguments in dynare_mimimize_objective.
...
It is more standard to have the name of the routine (defining the
objective to be minimized) as a first argument.
2015-02-23 14:35:41 +01:00
Stéphane Adjemian (Charybdis)
beb7826376
Moved optimization related routines in a common subfolder.
2015-02-23 14:26:07 +01:00