Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Fundamentals of Operations Research. A textbook

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
Ministry of Education and Science of the Russian Federation
Novosibirsk State University
Department of Mechanics and Mathematics
Chair of Theoretical Cybernetics
Adil I. Erzin, Ivan I. Takhonov
Fundamentals of Operations Research
A textbook
Novosibirsk, 2015
The textbook was prepared within the frame of the Novosibirsk State University Development Program (20092018).
Erzin, A. I.
E-709
Fundamentals of Operations Research : a textbook / A. I. Erzin, I. I. Takhonov ;
Novosibirsk State University. Novosibirsk : Editorial and Publishing Center of NSU,
2015. 121 p.
ISBN 978-5-4437-0344-2
This book introduces a reader to basic models and methods of Operations Research and DecisionMaking, including important graph and combinatorial optimization problems, common techniques to nd exact and approximate solutions of these problems, and basic game-theoretic concepts.
The textbook addresses to students and all interested in becoming familiar with
Operations Research. It includes and extends the material of course
search
taught to the Master's students of Department of Mathematics and Mechanics
Operations Re-
of NSU educated within the Master's Educational Program Modern trends in discrete mathematics and combinatorial optimization.
BBK V 22.18
ISBN 978-5-4437-0344-2
c
Novosibirsk State University, 2015
c
Adil I. Erzin, Ivan I. Takhonov, 2015
Contents
Contents
Preface 5
1. Mathematical Models of Decision-Making 7
1.1. Models and Classication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. Introduction to Computational Complexity 14
2.1. Computational Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2. Polynomial Reducibility.
2.3. Number Problems. Strong
2.4. Optimization Problems and
2.5. Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
N P
and
P
. . . . . . . . . . . . . . . . . . . . . . . . 17
N P
Completeness . . . . . . . . . . . . . . . . . . . 19
N P
-Hardness . . . . . . . . . . . . . . . . . . . . . 21
3
3. Dynamic Programming 24
3.1. Distribution Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2. The Nearest Neighbor Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3. Production and Inventory Problem . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4. Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4. Project Management 42
4.1. Network Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2. Project Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3. Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5. Implicit Enumeration Methods 53
5.1. Branch and Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2. Balas Additive Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.3. Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6. Matchings and Assignments 69
6.1. Matching and Vertex Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.2. Maximum Matching Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.3. Assignment Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.4. Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7. Introduction to Game Theory 80
7.1. Concept of a Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4
Contents
7.2. Cautious Behavior. Nash Equilibrium . . . . . . . . . . . . . . . . . . . . . . . . 81
7.3. Mixed Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.4. Methods to Solve Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.5. Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8. Network Flows 98
8.1. Network Flow Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.2. Maximum Flow Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.3. Minimum Cost Flow Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.4. Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
9. Approximation Algorithms 109
9.1. Heuristic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.2. Algorithms with Performance Guarantees . . . . . . . . . . . . . . . . . . . . . . 114
References 121
Preface
It is commonly cited that the the year of birth of year when a scientic group was formed in the UK to analyze the coastal defence and to improve its eectiveness. The term the rst signicant fundamental results in this eld was obtained during the period of World War II and shortly after it, mainly in the USA, where the domain was given a new name,
¾Operations Research¿ Research
discipline, or even a group of disciplines, studying mathematical models of decisionmaking and methods to make the best possible decisions. OR comprises a great variety of optimization and non-optimization problems arising in industry, management, engineering, computer networks, public services, etc.: scheduling problems, transportation problems, routing problems, packing problems, network ow optimization, and many other problems are among them. To solve an optimization problem means to nd the best ( controls. When the situation or system to be optimized is relatively simple and the number of possible solutions is relatively small, the choice can be made on the basis of experience and common sense of the decisionmaker. But the more choices we have and the more complex is the system's reaction to a chosen control, the less helpful is this natural approach to decision making. Therefore, in most of the cases to nd an optimal (or nearoptimal) policy in a complex situation a solid mathematical apparatus is employed: rst, the real-life situation is translated into a mathematical model, and next an algorithm to solve corresponding optimization problem is designed.
This textbook is designed to introduce readers to basic models and methods of OR. It is based on the material of a semester students of Department of Mechanics and Mathematics of NSU, and on two textbooks [10,11] printed in Russian.
serves a much wider specter of human activities and can be generally described as a
, which is used to this day. Once a military science, nowadays,
¾Operational Research¿
optimal
¾Operations Research¿
Operations Research (OR)
was invented three years later. But
) element in a set of
course delivered by the authors to the
feasible
is 1935, the
Operations
solutions or
Structure
The book consists of nine chapters. In the st one, some basic models of decisionmaking are introduced, principles of mathematical modeling in OR are described and a classication of models is given. The second chapter briey introduces a reader to computational complexity and
N P
completeness theory. In the third chapter, the dynamic programming methodology is discussed. To illustrate the approach, dynamic programming algorithms for several important problems (the Knapsack Problem, the Nearest Neighbor Problem, Production and Inventory
6
Preface
Problem, etc.) are described. Chapter 4 addresses project management and analysis: a graphi- cal project representation (network model) is described, along with methods to simplify projects and calculate their characteristics. From chapter 5, the reader will learn implicit enumeration methods, such as Branch and Bound method used to nd exact solutions of
N P
hard com- binatorial problems, and Balas additive algorithm designed to solve linear integer programs. In the sixth chapter, matching and assignment problems are discussed. The seventh chapter familiarizes a reader with basic game-theoretic models and concepts. In the eight chapter, a linear network ow model is considered and approaches to solve two important problems, the Maximum Flow Problem and the MinimumCost Flow Problem, are discussed. The last, ninth, chapter addresses approximation algorithms: several important heuristic frameworks are considered and approaches to perform worst-case analysis of approximation algorithms are described.
Notations
Below, we use the following notation:
Z`{R
B “ t0, 1u
Bn{Z
M
tau, ras
the set of positive integer / real numbers,
`
,
n
n
{R
`
nˆm
the set ofn-dimensional vectors, elements of which belong to
`
pXq
the set of
the oor and the ceiling of a real numbera, respectively,
a`“ maxt0, au
x˚“ px
˚
, . . . , x
1
n ˆ m
matrices over setX,
,
˚
q
an optimal solution of a problem.
n
B{Z`{R`,
Chapter 1.
Mathematical Models of Decision-Making
The Operations Research (OR) methodology comprises several sequential phases in decision- making:
1. problem recognition and denition,
2. constructing a mathematical model of a decision-making problem (usually, an optimiza- tion problem),
3. nding the optimal solution of the optimization problem,
4. translating the result into recommendations for the decision-maker.
In this chapter, we observe the rst two stages concerning the transition from the verbal de- scription of a problem to its mathematical formulation.
1.1. Models and Classication
The initial step of the OR process (the one that precedes the actual model-making) is Problem Denition. It is very important an never easy, since the verbal description of the practical situation to be regulated is often ambiguous, self-contradictory, and needs clarication.
The rst thing to do at this phase is to distil a single objective from the bunch of the client's requests. Some examples of appropriate objectives might be to maximize prots from the sales of our products, to minimize transportation costs associated with delivering the product to customers, to minimize the delivery time or to minimize the average number of late shipments per month to customers.
The second component of problem denition is a specication of factors that aect the objective, classifying them as signicant and insignicant, and dividing the rst into those that are under control of the decision-maker and those that are uncontrollable. For example, in a production environment, the planned production rates can be regulated but the actual market demand is beyond the manufacturer's control.
The third and nal component of problem denition is a specication of the constraints on the courses of action, i.e., setting boundaries for the specic actions that the decision-maker may take. As an example, in a production environment, the availability of resources may set limits on what levels of production can be achieved.
Note that at this point we still have a verbal description of the problem. The next phase is to translate it into mathematical terms to construct a
mathematical model
.
8
Mathematical Models of Decision-Making
There are two ways widely used to represent mathematical models in OR:
gramming
formulations and
combinatorial
formulation. A typical mathematical programming
mathematical pro-
problem includes three elements:
decision variables
, which correspond to the controllable factors and measure the quantities (production rates, investment volumes, etc.) or qualities (a facility is opened or closed, a customer is serviced or not, etc.) assigned to them by the decision-maker. Note that very often models include additional convenience or dependent variables that are not aected directly by the decision-maker, but serve the purpose of simplifying the model or making it clearer;
constraints
, which represent relations between dierent factors (controllable and uncon- trollable) and set limits on the range of values that each decision variable can take on. Usually, the constraints are expressed in form of equalities and inequalities that involve the variables and parameters of the model;
the objective function
, a function in decision variables (dependent variables may also ap-
pear in it) that measures the quality of a decision and should be maximized or minimized.
In general, an optimization problem can be expressed mathematically in one of the following equivalent ways:
max
xPD
fpxq,
or
maxtfpxq : x P Du,
or
fpxq Ñ max
xPD
,
where
D
is a feasible set and
f : D Ñ R
is an objective function. All the records above
represent a problem of nding an element inDthat gives a maximum of the function.
A mathematical programming model, depending on the structure of the feasible set and on
the properties of the objective function and constraints, can be classied as:
continuous/discrete
if the variables of the model are nominally allowed to take on a
continuous range of values (usually real numbers)/discrete values (e.g., integral);
integer/boolean
convex/linear/etc.
unconvex/nonlinear/quadratic/etc.
if the decision variables are all integer/boolean;
if the objective and constraints are all convex/linear/etc. functions;
if some of the constraints or the objective function
are unconvex/nonlinear/quadratic/etc.
Linear optimization models are among the most well-studied. They include:
linear programming problems
maxtcx : Ax ď b, x P R
n
u;
`
integer linear programming problems
maxtcx : Ax ď b, x P Z
n
u;
`
Examples
mixed integer linear programming problem
and
boolean linear programming problem
cx ` hy Ñ max;
Ax ` By ď b;
n
x P R
`
n
y P Z
`
9
;
;
where
c, h P Rnand
maxtcx : Ax ď b, x P B
b P Rmare given vectors,
A, B P M
nˆm
n
u,
`
pRq
given matrices, andxand
aren-dimensional decision variables.
In case the problem is to nd the optimal element of a given nite collection, a
torial
formulation can be used. As a rule, the collection considered has a concise representation
combina-
(subsets of a given set, spanning trees in a graph, etc.) and the number of its elements is large enough for enumeration to be practical. A typical combinatorial formulation looks as follows:
max
tfpSq : S P Fu,
SĎN
where
N
is a nite set,
F Ď 2N a collection of subsets ofN, and
f : F Ñ R
a function measuring utility of a subset. Note that a combinatorial problem can be stated in terms of mathematical programming, but often the resulting formulation is rather sophisticated and hard to deal with.
1.2. Examples
In this section, we formulate some well-known optimization problems to illustrate the process of model-making.
y
Example 1.1
weight
ajP Z`and a value
(Boolean Knapsack Problem).Given a set of itemsN. Each item
cjP Z`. There is a knapsack that can hold weight at most
j P N
has a
A P Z`.
Choose the items to be packed in the knapsack so that the total weight does not exceedAand the total value is maximum.
Introduce boolean decision variables
xj(
j P N):xj“ 1
if thej-th item is chosen and
xj“ 0
otherwise. The feasible set is described by the relations:
|N|
ÿ
ajxjď A;
j1
xjP t0, 1u, j P N.
The objective is
|N|
ÿ
cjxjÑ max
j1
xPB
|N|
.
10
Mathematical Models of Decision-Making
To give a combinatorial formulation of the problem, denote the set of chosen items byS.
Then the problem is
max
SĎN
#
ÿ
jPS
cj:
ÿ
ajď A+.
jPS
Here the feasible set is a collection of subsets ofNof weight at mostA.
Example 1.2
(Traveling Salesman Problem).A salesman has to visit a set of townsN, each town exactly once, and nish his route in the town he started from. The distance between each two towns,
Introduce variables
afteri, and
i P N
xij“ 0
and
j P N
, is known and equal to
xijP t0, 1u(i, j P N):xij“ 1
cijP Z`. Find the tour of minimal length.
, if the salesman chooses to visitjdirectly
otherwise. Since each town is entered and left exactly once, the following
constraints should be satised:
|N|
ÿ
xij“ 1, i P N;
j1,j i
|N|
ÿ
xij“ 1, j P N.
i1,ij
However, these constraints are not sucient to describe the feasible set properly: a collection of disjoint cycles also satises them. To express the connectivity condition, one of the following constraints sets should be added to the model:
ÿ
ÿ
xijě 1, @S Ă N, S ‰ H,
iPS
jPN zS
or
ÿ
ÿ
xijď |S| ´ 1, @S Ă N, 2 ď S ď |N| ´ 1.
iPS
jPN zS
The objective is
|N|
|N|
ÿ
ÿ
i1
cijxijÑ max
j1
xijPt0,1u
.
A combinatorial formulation of the problem can be given in terms of permutations. Any
tour naturally corresponds to a
where
Example 1.3
1
S
is the set of circular permutation overnelements,
n
(Facility Location Problem).Given a set of sites can be opened and a set of customers a facility at site
i P I
, and
by the facility opened at site
circular
#
min
permutation over the set of towns. The problem is
n´1
ÿ
i1
c
π1,π
i`1
` c
πn,π
: π P S
1
+
1
,
n
1
|S
| “ pn ´ 1q!{2
n
.
I “ t1, 2, . . . , nu
J “ t1, 2, . . . , mu
. Let
gibe a cost associated with opening
where facilities
cijbe a xed (volume-independent) cost of servicing customer
i P I
. Find a set of facilities to be opened and assign each customer
to exactly one opened facility so that the total opening and service costs is minimal.
j P J