MVT Explorer — Marginal Value Theorem

Optimal patch residence time & the equimarginal principle in foraging ecology

© 2026 Theodore P. Pavlic · MIT License
Optimal Patch Departure — Single Patch Type
g′(h*) = R* = g(h*) s + h*
Leave when instantaneous gain rate equals the long-term habitat rate  ·  h = Time in Patch
R* acts as an opportunity cost of time: each additional moment in the patch must justify itself against the habitat's long-run return rate. This is structurally identical to a temporal discount rate in sequential decision-making — foragers implicitly discount future patch opportunities by R*.
Marginal Value Theorem: Maximize R* = g(h*) / (s + h*) by equating marginal gain to opportunity cost.
SEARCH avg. s = 5.0 PATCH h* = g(h*) = ↺ R* = encounter (avg. search time s) depart at h* · collect reward g(h*)
drag on graph · adjust s
drag curve · adjust Gmax  ·  drag curve · adjust τ
Inter-patch Search Time
5.0
Average time between patch encounters
Statistics
Opt. Residence h*
Habitat Rate R*
Gain g(h*)
Slope g′(h*)
Patch Quality Gmax
12.0
Rise Time τ
6.0
Multi-Patch Equimarginal Condition
g′1(h1*) = g′2(h2*) = = g′m(hm*) = R*
Optimal times hi* equalize marginal returns across all patch types  ·  h = Time in Patch
The equimarginal R* is the shared opportunity cost of time across all patch types. No patch can offer a better marginal return at the optimum — analogous to a common discount rate at which all options become equally attractive at the margin, mirroring value-function convergence in reinforcement learning.
Equimarginal Principle: Richer patch → longer hi*. Sparser habitat (↑ s) → all hi* increase, R* decreases. Rarer patch type (↓ pi) → R* shifts toward other patches.
SEARCH avg. s = 5.0 PATCH 1 (Richest) h₁* = g₁(h₁*) = PATCH 2 (OK) h₂* = g₂(h₂*) = PATCH 3 (Poor) h₃* = g₃(h₃*) = p₁=0.33 p₂=0.33 p₃=0.33 depart at hi* · collect gi(hi*) ↺ R* =
drag any curve · adjust Gmax
drag any curve · adjust rise time τ
Inter-patch Search Time
5.0
Common search time across all patches
Portfolio Statistics
Habitat Rate R* (equimarginal)
Residence h1*
g1(h1*)= —
Residence h2*
g2(h2*)= —
Residence h3*
g3(h3*)= —
Spread h1*−h3*
Encounter Proportions
p1=0.33 p2=0.33 p3=0.33
drag to adjust relative encounter rates
Patch Types
Richest Gmax=14.5 τ=8.0
OK Gmax=11.0 τ=5.0
Poor Gmax=8.5 τ=3.0
Tangent slope = R* (all equal)
τ = depletion time constant  ·  small τ → step-like (fast reward); large τ → ramp-like (slow depletion)