Skip to contents

An offender chooses a level x from any finite menu to maximise \(y(x) - p f(x)\) with \(f\) strictly increasing. Any optimum at a higher certainty \(p\) is at most any optimum at a lower one (Research.P8.certainty_monotone), the same holds for a sanction schedule that grows faster in \(x\) (severity_monotone), and aggregate offending over heterogeneous offenders is non-increasing (aggregate_monotone). No concavity of the benefit, no differentiability, no interior solution: convexity buys uniqueness and smoothness of the response, not its direction. What remains open in P8 is separating certainty from severity in data, not the sign.

Usage

morie_deterrence_response(x, benefit, sanction, p)

Arguments

x

Numeric vector, the menu of offending levels.

benefit

Numeric vector, the benefit at each level (any shape).

sanction

Numeric vector, the sanction at each level, strictly increasing in x.

p

Numeric vector of certainty levels to evaluate.

Value

A data frame with one row per p: p, x_opt (the largest optimal level), value; attribute "theorems". The x_opt column is non-increasing in p.

Examples

x <- 0:10
morie_deterrence_response(x, benefit = sqrt(x) * 3 - (x %% 3 == 0),
                          sanction = x^1.5, p = c(0.1, 0.3, 0.5, 1))
#>     p x_opt    value
#> 1 0.1    10 6.324555
#> 2 0.3     4 3.600000
#> 3 0.5     2 2.828427
#> 4 1.0     1 2.000000