///|
/// Smallest closed population attaining a target cycle throughput. Exact MVA
/// points are retained; infeasible targets never return an invented estimate.
pub fn ClosedNetwork::population_for_throughput(
  self : ClosedNetwork,
  target : Double,
  maximum_population : Int,
) -> ClosedPopulationMetrics raise QueueError {
  nonnegative(target, "throughput target")
  let curve = self.population_curve(maximum_population)
  for point in curve {
    if point.throughput >= target {
      return point
    }
  }
  raise Infeasible("throughput target not reached within population bound")
}