# Chapter 9

# Building integer programming models I

# 9.1 The uses of discrete variables

When integer variables are used in a mathematical programming model, they may serve a number of purposes. These are described below.

## 9.1.1 Indivisible (discrete) quantities

This is the obvious use mentioned at the beginning of Chapter 8 where we wish to use a variable to represent a quantity that can only come in whole numbers such as aeroplanes, cars, houses or people.

## 9.1.2 Decision variables

Variables are frequently used in integer programming (IP) to indicate which of a number of possible decisions should be made. Usually, these variables can only take the two values, zero or one. Such variables are known as *zero–one* (0–1) (or binary) variables. For example, *δ* = 1 indicates that a depot should be built and *δ* = 0 indicates that a depot should not be built. We usually adopt the convention of using the Greek letter ‘*δ*’ for 0 − 1 variables and reserve Latin letters for continuous (real or rational) variables.

It is easy to ensure that a variable, which is also specified to be integer, can only take the two values 0 or 1 by giving the variable a simple upper bound (SUB) of 1. (All variables are assumed to have a simple lower bound of 0 unless it is stated to the contrary).

Although decision variables are usually 0 − 1, they need not always be. For example we might have *γ* = 0 indicates that no depot should be built; *γ* = 1 indicates that a depot of type A should be built; *γ* = 2 indicates that a depot ...