Commit 5a6ccca411c41caf24c7d9cc43a7cf982ba813eb
1 parent
05eb7c9f
add m_max_stall member
Showing
2 changed files
with
18 additions
and
14 deletions
src/ctlike/ctlike.cpp
| @@ -383,6 +383,7 @@ void ctlike::optimize_lm(void) | @@ -383,6 +383,7 @@ void ctlike::optimize_lm(void) | ||
| 383 | 383 | ||
| 384 | // Set optimizer parameters | 384 | // Set optimizer parameters |
| 385 | opt->max_iter(m_max_iter); | 385 | opt->max_iter(m_max_iter); |
| 386 | + opt->max_stalls(m_max_stall); | ||
| 386 | 387 | ||
| 387 | // Write Header for optimization and indent for optimizer logging | 388 | // Write Header for optimization and indent for optimizer logging |
| 388 | if (logTerse()) { | 389 | if (logTerse()) { |
| @@ -486,10 +487,11 @@ void ctlike::init_members(void) | @@ -486,10 +487,11 @@ void ctlike::init_members(void) | ||
| 486 | m_irf.clear(); | 487 | m_irf.clear(); |
| 487 | m_outmdl.clear(); | 488 | m_outmdl.clear(); |
| 488 | m_obs.clear(); | 489 | m_obs.clear(); |
| 489 | - m_refit = false; | ||
| 490 | - m_max_iter = 100; // Set maximum number of iterations to 100 | ||
| 491 | - m_logL = 0.0; | ||
| 492 | - m_opt = NULL; | 490 | + m_refit = false; |
| 491 | + m_max_iter = 100; // Set maximum number of iterations | ||
| 492 | + m_max_stall = 10; // Set maximum number of stalls | ||
| 493 | + m_logL = 0.0; | ||
| 494 | + m_opt = NULL; | ||
| 493 | 495 | ||
| 494 | // Set logger properties | 496 | // Set logger properties |
| 495 | log.date(true); | 497 | log.date(true); |
| @@ -507,16 +509,17 @@ void ctlike::init_members(void) | @@ -507,16 +509,17 @@ void ctlike::init_members(void) | ||
| 507 | void ctlike::copy_members(const ctlike& app) | 509 | void ctlike::copy_members(const ctlike& app) |
| 508 | { | 510 | { |
| 509 | // Copy attributes | 511 | // Copy attributes |
| 510 | - m_method = app.m_method; | ||
| 511 | - m_stat = app.m_stat; | ||
| 512 | - m_refit = app.m_refit; | ||
| 513 | - m_caldb = app.m_caldb; | ||
| 514 | - m_irf = app.m_irf; | ||
| 515 | - m_outmdl = app.m_outmdl; | ||
| 516 | - m_obs = app.m_obs; | ||
| 517 | - m_max_iter = app.m_max_iter; | ||
| 518 | - m_logL = app.m_logL; | ||
| 519 | - m_opt = app.m_opt->clone(); | 512 | + m_method = app.m_method; |
| 513 | + m_stat = app.m_stat; | ||
| 514 | + m_refit = app.m_refit; | ||
| 515 | + m_caldb = app.m_caldb; | ||
| 516 | + m_irf = app.m_irf; | ||
| 517 | + m_outmdl = app.m_outmdl; | ||
| 518 | + m_obs = app.m_obs; | ||
| 519 | + m_max_iter = app.m_max_iter; | ||
| 520 | + m_max_stall = app.m_max_stall; | ||
| 521 | + m_logL = app.m_logL; | ||
| 522 | + m_opt = app.m_opt->clone(); | ||
| 520 | 523 | ||
| 521 | // Return | 524 | // Return |
| 522 | return; | 525 | return; |
src/ctlike/ctlike.hpp
| @@ -74,6 +74,7 @@ protected: | @@ -74,6 +74,7 @@ protected: | ||
| 74 | // Members | 74 | // Members |
| 75 | GObservations m_obs; //!< Observations | 75 | GObservations m_obs; //!< Observations |
| 76 | int m_max_iter; //!< Maximum number of iterations | 76 | int m_max_iter; //!< Maximum number of iterations |
| 77 | + int m_max_stall; //!< Maximum number of stalls | ||
| 77 | double m_logL; //!< Maximum log likelihood | 78 | double m_logL; //!< Maximum log likelihood |
| 78 | GOptimizer* m_opt; //!< Optimizer | 79 | GOptimizer* m_opt; //!< Optimizer |
| 79 | }; | 80 | }; |