Skip to contents

Objective function

We define the objective for a single focal fleet ff.

Indices

  • ff: fleet
  • ll: patch (location)
  • ss: species
  • aa: age

Effort and fishing mortality

Let El,fE_{l,f} denote the effort of fleet ff in patch ll. Fleet-specific fishing mortality at age is

Fl,s,a,f=ql,s,fsela,s,fEl,f, F_{l,s,a,f} = q_{l,s,f}\,\text{sel}_{a,s,f}\,E_{l,f},

where ql,s,fq_{l,s,f} is catchability and sela,s,f\text{sel}_{a,s,f} is selectivity at age.

Let Fl,s,aextF^{\text{ext}}_{l,s,a} denote exogenous fishing mortality from all fleets other than ff, and let ma,sm_{a,s} denote natural mortality. Total instantaneous mortality is

Zl,s,a=Fl,s,a,f+Fl,s,aext+ma,s. Z_{l,s,a} = F_{l,s,a,f} + F^{\text{ext}}_{l,s,a} + m_{a,s}.


Revenue (Baranov catch)

Revenue for fleet ff is given by Baranov catch multiplied by price:

Revf=lsaprices,fFl,s,a,fZl,s,a(1eΔtZl,s,a)bl,s,a, \text{Rev}_f = \sum_{l}\sum_{s}\sum_{a} \text{price}_{s,f} \; \frac{F_{l,s,a,f}}{Z_{l,s,a}} \left(1 - e^{-\Delta_t Z_{l,s,a}}\right) b_{l,s,a},

where bl,s,ab_{l,s,a} is biomass and Δt\Delta_t is the time step.


Cost (Normalized Formulation)

Parameters

  • c0fc0_f: cost-per-unit-effort scalar (calibrated by tune_fleets)
  • EfrefE^{\text{ref}}_f: reference effort level (mean per-patch effort at equilibrium)
  • γf1\gamma_f \ge 1: effort cost exponent (congestion parameter; default 1.2)
  • θf0\theta_f \ge 0: travel weight, controls relative importance of spatial costs
  • d̃l,f\tilde{d}_{l,f}: normalized cost per patch (spatial shape with mean 1 across open patches)

User-facing parameters

Users specify the following interpretable parameters in create_fleet:

Parameter Meaning Default
cr_ratio Cost/revenue ratio at equilibrium 1
effort_cost_exponent (γ\gamma) Convexity of congestion costs 1.2
travel_fraction Share of costs from travel at equilibrium 0
cost_per_patch Spatial cost pattern (normalized internally) uniform

The travel weight θf\theta_f is derived from travel_fraction as:

θf=travel_fraction1travel_fraction \theta_f = \frac{\text{travel\_fraction}}{1 - \text{travel\_fraction}}

This parameterization ensures that travel costs constitute exactly travel_fraction of total costs at equilibrium when effort is uniformly distributed across open patches.

Cost formula

Total cost for fleet ff is:

Costf=c0fEfref(l(El,fEfref)γf+θfld̃l,fEl,fEfref) \text{Cost}_f = c0_f \cdot E^{\text{ref}}_f \left( \sum_{l} \left(\frac{E_{l,f}}{E^{\text{ref}}_f}\right)^{\gamma_f} + \theta_f \sum_{l} \tilde{d}_{l,f} \cdot \frac{E_{l,f}}{E^{\text{ref}}_f} \right)

Key properties:

  1. Effort normalization: Dividing by EfrefE^{\text{ref}}_f makes costs scale-invariant. Changing grid resolution or base_effort doesn’t affect the relative importance of congestion vs. travel.

  2. Separable components:

    • Convex term l(El/Eref)γ\sum_l (E_l / E^{\text{ref}})^{\gamma}: congestion/diminishing returns
    • Travel term θld̃l(El/Eref)\theta \sum_l \tilde{d}_l (E_l / E^{\text{ref}}): spatial heterogeneity
  3. Interpretable parameters:

    • γ\gamma controls congestion severity (1 = linear, >1 = convex)
    • θ\theta (via travel_fraction) controls how much spatial location matters
    • d̃l\tilde{d}_l is a pure spatial shape (mean 1), making travel_fraction directly interpretable

Tuning

The tune_fleets function calibrates c0fc0_f to achieve the target cost/revenue ratio:

c0f=cr_ratioRevfEfrefPf(1+θf) c0_f = \frac{\text{cr\_ratio} \cdot \text{Rev}_f}{E^{\text{ref}}_f \cdot P_f \cdot (1 + \theta_f)}

where PfP_f is the number of open fishing patches. The function also computes and stores the equilibrium EfrefE^{\text{ref}}_f as the mean per-patch effort.


Final objective

The objective for fleet ff is

max{El,f}objf=lsaprices,fql,s,fsela,s,fEl,fql,s,fsela,s,fEl,f+Fl,s,aext+ma,s×(1eΔt(ql,s,fsela,s,fEl,f+Fl,s,aext+ma,s))bl,s,ac0fEfref(l(El,fEfref)γf+θfld̃l,fEl,fEfref). \begin{aligned} \max_{\{E_{l,f}\}} \;\; \text{obj}_f &= \sum_{l}\sum_{s}\sum_{a} \text{price}_{s,f} \; \frac{q_{l,s,f}\,\text{sel}_{a,s,f}\,E_{l,f}} {q_{l,s,f}\,\text{sel}_{a,s,f}\,E_{l,f} + F^{\text{ext}}_{l,s,a} + m_{a,s}} \\[6pt] &\quad \times \left(1 - e^{-\Delta_t\left( q_{l,s,f}\,\text{sel}_{a,s,f}\,E_{l,f} + F^{\text{ext}}_{l,s,a} + m_{a,s} \right)}\right) b_{l,s,a} \\[10pt] &\quad - c0_f \cdot E^{\text{ref}}_f \left( \sum_{l} \left(\frac{E_{l,f}}{E^{\text{ref}}_f}\right)^{\gamma_f} + \theta_f \sum_{l} \tilde{d}_{l,f} \cdot \frac{E_{l,f}}{E^{\text{ref}}_f} \right). \end{aligned}


Constraints

The optimization is subject to:

  • Total effort constraint: lEl,f=Eftot \sum_l E_{l,f} = E^{\text{tot}}_f
  • Non-negativity: El,f0 E_{l,f} \ge 0
  • Fleet-specific spatial closures, enforced by setting El,f=0E_{l,f} = 0 in closed patches.