Skip to contents

LanchesterSquareOutcome: closed-form square-law winner, survivors and duration. LanchesterSimulate: fourth-order Runge-Kutta integration of the square, linear, mixed (Deitchman guerrilla) and logarithmic laws with constant reinforcements, stopping when a side is annihilated. LanchesterFit: Engel (1954) through-origin estimates or the generalised power law by log-linear least squares. Identical to the Python arm morie.fn.combatmod.

Usage

LanchesterSquareOutcome(x0, y0, a, b)

LanchesterSimulate(
  x0,
  y0,
  a,
  b,
  law = "square",
  t_end = 100,
  dt = 0.01,
  reinforce_x = 0,
  reinforce_y = 0
)

LanchesterFit(
  x,
  y,
  dt = 1,
  law = "square",
  reinforce_x = NULL,
  reinforce_y = NULL
)

Arguments

x0, y0

Initial forces.

a, b

Attrition coefficients (a: Y's effectiveness against X).

law

Attrition law.

t_end, dt

Horizon and step.

reinforce_x, reinforce_y

Reinforcement rates (simulation) or per-period reinforcements (fit).

x, y

Force histories.

Value

List.

References

Lanchester, F. W. (1916). Aircraft in Warfare: The Dawn of the Fourth Arm. Constable.

Engel, J. H. (1954). A verification of Lanchester's law. Journal of the Operations Research Society of America 2, 163-171.

Deitchman, S. J. (1962). A Lanchester model of guerrilla warfare. Operations Research 10, 818-827.

Examples

LanchesterSquareOutcome(100, 60, 0.01, 0.01)$survivors
#> [1] 80
tail(LanchesterSimulate(100, 60, 0.01, 0.01, t_end = 200)$x, 1)
#> [1] 80