ЕГЭ и ОГЭ
Хочу знать
Главная > Математика > Исследование операций: задачи, принципы, методология
<< Предыдущий параграф
Следующий параграф >>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

§ 8. Основная задача линейного программирования

Любую задачу линейного программирования можно свести к стандартной форме, так называемой «основной задаче линейного программирования» (ОЗЛП), которая формулируется так: найти неотрицательные значения переменных которые удовлетворяли бы условиям-равенствам

и обращали бы в максимум линейную функцию этих переменных:

Убедимся в этом. Во-первых, случай, когда L надо обратить не в максимум, а в минимум, легко сводится к предыдущему, если попросту изменить знак L на обратный (максимизировать не L, а . Кроме того, от любых условий-неравенств можно перейти к условиям-равенствам ценой введения некоторых новых «дополнительных» переменных. Покажем, как это делается, на конкретном примере.

Пусть требуется найти неотрицательные значения переменных , удовлетворяющие ограничениям-неравенствам

и обращающие в максимум линейную функцию от этих переменных:

Начнем с того, что приведем условия (8.3) к стандартной форме, так, чтобы знак неравенства был а справа стоял нуль. Получим:

А теперь обозначим левые части неравенств (8.5) соответственно через :

Из условий (8.5) и (8.6) видно, что новые переменные также должны быть неотрицательными.

Какая же теперь перед нами стоит задача? Найти неотрицательные значения переменных такие, чтобы они удовлетворяли условиям - равенствам (8.6) и обращали в максимум линейную функцию этих переменных (то, что в i не входят дополнительные переменные неважно: можно считать, что они входят, но с нулевыми коэффициентами). Перед нами — основная задача линейного программирования (ОЗЛП).

Переход к ней от первоначальной задачи с ограничениями-неравенствами (8.3) «куплей» ценой увеличения числа переменных на два (число неравенств).

Возможен и обратный переход: от ОЗЛП к задаче с ограничениями-неравенствами. Пусть перед нами основная задача линейного программирования с ограничениями-равенствами (8.1). Предположим, что среди этих равенств линейно независимыми являются . В линейной алгебре доказывается (см., например, [4]), что максимальное число линейно независимых равенств, связывающих переменных равно , так что вообще . В линейной алгебре также доказывается, что систему из независимых равенств с переменными всегда можно разрешить относительно каких-то переменных (называемых «базисными») и выразить их через остальные переменных (называемых «свободными»). Свободным переменным можно придавать какие угодно значения, не нарушая условий (8.1). Так вот, для того чтобы перейти от условий-равенств (8.1) к условиям-неравенствам, достаточно разрешить уравнения (8.1) относительно каких-то базисных переменных, выразить их через свободные, а затем вспомнить, что все переменные должны быть неотрицательными, и записать условия их неотрицательности в виде ограничений-неравенств. А потом «забыть» о базисных переменных и манипулировать только свободными, число которых будет . При этом надо будет освободить от базисных переменных также и функцию L, подставив в нее их выражения через свободные. Таким образом, при переходе от ОЗЛП к задаче с ограничениями-неравенствами число переменных не увеличивается, а уменьшается на число независимых условий-равенств в ОЗЛП. Примеров такого перехода мы приводить не будем, предоставляя пытливому читателю самому убедиться в его возможности.

Итак, всякая задача линейного программирования может быть сведена к стандартной форме ОЗЛП.

Мы не будем подробно останавливаться на способах решения этой задачи. Им посвящены специальные руководства (например, [4, 53), они описаны во многих книгах по исследованию операций (например, [6, 7]). В следующем параграфе мы изложим только некоторые соображения общего характера относительно существования решения ОЗЛП и способов его нахождения. Никакими расчетными алгоритмами мы заниматься не будем, а отошлем интересующегося читателя к вышеупомянутым руководствам.

<< Предыдущий параграф Следующий параграф >>
Оглавление