Optimization wrapper to find MSY using constrained optimization. Maximizes total catch while matching target fishery catch shares and avoiding extreme exploitation rates.
Usage
find_msy(
data,
lambda = 1e+05,
control = list(eval.max = 1e+05, iter.max = 1e+05)
)Value
A list of MSY reference points and optimization diagnostics:
- MSY
Maximum sustainable yield (numeric scalar)
- SSBmsy
Spawning biomass at MSY (numeric scalar)
- MSY.f
MSY catch by fishery (numeric vector, length nfisheries)
- Tbio
Total biomass age-2+ (numeric scalar)
- Rec
Recruitment at MSY (numeric scalar)
- SBR
Spawning biomass per recruit at MSY (numeric scalar)
- SBR0
Unfished spawning biomass per recruit (numeric scalar)
- Nage
Numbers-at-age at MSY (numeric vector, length last_age+1)
- Rel
Survivorship-at-age (numeric vector, length last_age+1)
- Rel2
Survivorship at start of season 2 (numeric vector, length last_age+1)
- H1
Exploitation rate in season 1 by age (numeric vector, length last_age+1)
- H2
Exploitation rate in season 2 by age (numeric vector, length last_age+1)
- Fage
Fishing mortality by fishery and age (numeric matrix, dimensions nfisheries x (last_age+1))
- Ftot_a
Total annualized fishing mortality by age (numeric vector, length last_age+1)
- Rel_twt
Relative survivorship weighted by spawning weight (numeric vector, length last_age+1)
- pen
Penalty for exploitation rates near 1 (numeric scalar)
- cat_split
Estimated catch composition across fisheries at MSY (numeric vector, length nfisheries)
- F_full
Optimized fully-selected F by fishery (numeric vector, length nfisheries)
- convergence
Convergence code from nlminb (integer, 0 indicates success)
- objective
Final objective function value (numeric scalar)
- message
Convergence message from nlminb (character string)
