BLITZ (v. 2.1)

A conventional warfare simulator using a "blitzkrieg" attack model

Created by:

Dr. Richard J. Stoll
Professor of Political Science and
Associate Director, James A. Baker III Institute for Public Policy
Rice University

Table of Contents


Blitz simulates an attack on a defender's frontlines using the blitzkrieg strategy. The object of a blitzkrieg is to push the defender especially hard in a few "breakthrough" sectors while keeping him pinned down in other, relatively quiet sectors to prevent reinforcement of the breakthrough points. If the attack is successful, the attacker will break through the lines and will be free to wreak havoc in the defender's territory. History shows that this strategy works even for forces too small to do any real damage after a breakthrough, primarily because the breakthrough demoralizes the defender.

This simulation is designed to answer the question of whether an attacker with a given force distribution can achieve one or more breakthroughs in the defender's lines.

Model Overview

The battlefield is a front of fixed length divided into sectors, which in turn are divided into segments (currently 25 km each).

The defender maintains a linear defense across the front. The attacker designates breakthrough sectors as described above; all other sectors are considered quiet. For simplicity, we assume that breakthrough sectors are spaced evenly across the front and are surrounded by quiet sectors on each side. Thus if we designate K breakthrough sectors, there will be K+1 quiet sectors sandwiched around them. Note that breakthrough sectors need not be the same length as quiet sectors (they are usually much smaller).

Initially, the defender does not know where the breakthrough sectors will occur, so he allocates his forces evenly (segment-wise) across the entire line in strength sufficient for a quiet sector. Any remaining forces are kept in ready reserve until needed. Once the breakthrough sectors are identified (after the first day of battle), the defender can increase the force strength in the breakthrough sectors.

The attacker initially has intelligence as to the defender's planned force-to-space ratio in quiet sectors and distributes his forces accordingly, matching the defender in quiet sectors while overmatching him by a predetermined ratio in breakthrough sectors. Any remaining force is kept in ready reserve until needed.

The reserve system has two components: ready and next-day. When ground troops are pulled out of a sector, they are placed in next-day reserves and cannot be used until the next day of battle, when they are transferred to ready reserves. Due to their higher mobility, close air support forces in reserve are always considered "ready" and may be transferred immediately between sectors.

The daily battles are conducted using Epstein's model of ground-air combat [1].


  blitz [-I<infile>] [-O<outfile>] [-L<lastfile>][-P[L]] [-H]

Arguments are case-insensitive

  -I<infile>   - read input from <infile> (default is stdin)
  -O<outfile>  - write daily output to <outfile> (default is stdout)
  -L<lastfile> - write final output to <lastfile> (default is none)
  -P           - mirror <outfile> output to stdout
  -H           - print this message to stderr

Input File Format

Blitz expects to be given an input file consisting of parameters for zero or more runs of the simulation. Each run, and each parameter within a run, must be separated by whitespace (spaces, carriage returns, or tabs).

A run consists of the following parameters (in the order they are expected in the input file):

  1. Length of front line in km. The Central Front in Europe is roughly 750 km.

  2. Number of breakthrough sectors on the front *

  3. Length of each breakthrough sector (in km)

  4. Number of days over which to conduct the run *

  5. Parameters for the attacking side

  6. Parameters for the definding side
    (Same as above except as noted)

  7. AFV's per division equivalent.

  8. Lethality points per division equivalent. This statistic estimates how effective a division equivalent is. It is also the value that is "killed" (decremented) by the enemy forces, and its loss during each day is therefore used to calculate the attrition rate. A typical American DE in Operation Desert Storm had upwards of 99,000 lethality points. See Epstein for more info.

  9. Casualty Exchange Ratio (between 0 and 1). This is the ratio of attacker casualties to defender casualties.

  10. Reinforcements
    There must be as many of these sets of values as there are battle days. Each set of reinforcements is assumed to arrive AFTER the day equal to its position in the list, ie the first set arrives after day 1, the second after day 2, etc.

  11. Attacker ground reinforcements (DE's).

  12. Attacker CAS reinforcements (units).

  13. Defender ground reinforcements (DE's).

  14. Defender CAS reinforcements (units).

* All parameters marked with an asterisk (*) are integers. The rest are double-precision floating point values.

Some sample inputs are provided with the program.

Output Options and Format

As noted in the usage, there are two different types of output file: a daily result file and a last-day result file. For each run in the input, the last-day file contains a summary of the input conditions and a summary of the situation after the last battle day (and the last, unused set of reinforcements). For each sector, the following information is given:

In addition, the following information is given for attacker and defender:

The daily output file produces the same results but lists the sector and force-strength figures after every day, not just the last.

If no options are given, the daily output is printed to stdout.


[1] Epstein, Joshua M. 1985. The Calculus Of Conventional War:
Dynamic Analysis Without Lanchester Theory. Washington, DC: Brookings. This is the source of the daily battles' combat model.

[2] Posen, Barry R. 1984. "Measuring the European Conventional Balance:
Coping with Complexity in Threat Assessment." International Security 9,3: 47-88. This is the source of the original blitzkrieg model. Brito and Stoll later added the conception of reserves as a two-step pool.

[3] Stoll, Richard J. 1990a. "The Russians Are Coming! A Computer Simulation."
Armed Forces and Society 16,2: 193-213. This article describes the model and discusses some runs using it to evaluate NATO and the Warsaw Pact.

[4] Stoll, Richard J. 1990b. U.S. National Security Policy and the Soviet Union:
Persistent Regularities and Extreme Contingencies. Columbia. University of South Carolina Press. Chapter 10 also provides a description of the simulation and analyzes some runs assessing the 1990 balance of forces between NATO and the Warsaw Pact.

Revision History

v1.0 (???)
The original simulator, written in C for MSDOS.

v2.0 (Dec 88 - Jan 89)

v2.1 (May-June 94)
This version was extensively hacked on by Jeremy Buhler of the Rice Electronic Studio Project, .

Code Changes

Model Changes

Last updated - 9/1/95