In a previous post, the original species competition model of Lokta Volterra was discussed:
Lokta Volterra Model for Competition
The Lokta Volterra Model describes competition & growth of different species in nature. It’s created by connecting…
Here in this post, a more specific variant example is illustrated: the fishery problem. The problem goes like this:
There’s a pond capable of sustaining 1000 fish, the fisherman is figuring out a sustainable fishing routine that would maximize the yield over a period of time. Without fishing, the natural growth of fish population follows:
Now putting the fisherman into the picture, catching U (fish/day):
The objective of maximizing yield becomes an optimal control problem of maximizing the yield over (say) 200 days, with the sampling time at Ts=0.2 days:
Notice that we replaced N with x to represent fish population, since x is usually used for state variable in optimal control problems(OCP). This OCP also has constraints on keeping a minimum of 750 fish at the end, and a starting population of 250 fish.
This OCP could be solved using a Dynamic Programming(DP) toolbox (available from ETH in the link below)
MPL License Agreement A generic particle swarm optimization function for Matlab Here you can find the latest version of…
The optimal solution is illustrated in the figure below. The optimal strategy turns out to be: no fishing until fish population reaches 500, then fish 5 fish per 0.2 days (or 25 fish per day) until a certain day (day 145), then stop fishing again untill the 200th day to allow fish population to grow back above 750.
The Lokta Volterra fishery problem solution showed the pattern of so called “bang-bang” control, where the control variable takes either maximum or minimum value depending on conditions.
O. Sundstrom and L. Guzzella, “A generic dynamic programming Matlab function,” 2009 IEEE Control Applications, (CCA) & Intelligent Control, (ISIC), St. Petersburg, 2009, pp. 1625–1630, doi: 10.1109/CCA.2009.5281131.