Ricker model with harvesting.

Programming

Clear[NaiveNewton]
Off[
      General::spell1]
NaiveNewton[f_, guess_]:=
	Module[{newtstep, root},
		newtstep = 1;
		root = guess;
		While[Abs[newtstep] > 10^(-6),
			newtstep=N[-((f[root])/(f'[root]))];
			root = root + newtstep;
		Print[root];
		];
		N[root, 6]]

The Ricker model with harvesting is:
N(t+1) =  λN(t) Exp[- N(t)/K] - h N(t)
The dynamics has an equilibrium at  K Log[(λ/(1 + h))].
For  λ = 2 (for example) this equilibrium is stable.
As shown in class, the sustained yield in the Ricker model with harvesting  (and with   λ  = 2,  K = 100000 )   is:

y[h_]  :=  h  * 100000 *  Log[(2/(1 + h))]

Plot[y[h],  {h, 0, 1}]

Compute y' and y'' :

\(
\(y'\)[h]\)
Together[y''[h]]

We see that  y'(0)  > 0 , y'(1)  <0, and y'' <0 on the interval [0,1].  So y' has exactly one zero in the interval [0,1].  We confirm this insight with a graph of y'

Plot[y'[h],  {h, 0, 1}]

We solve for the zero of y' using Newton's method.

NaiveNewton[y',   .5]
FindRoot[y'[h],  {h,  .5}]

Thus the max .  
        sustained yield is at 
h  =   .4569

y[ .4569]