Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы оптимальных решений. Нелинейное программирование. Учебное пособие
.pdf
9. Сформулируйте прямую задачу исследования операций.
f(x) → max при условии x X Rn.
(2.1)
nm,
nm,
nm,
10
10. Сформулируйте варианты постановки обратной задачи исследования
операций.
11. Перечислите возможные причины неразрешимости задачи оптимиза-
ции. Может ли задача быть несовместной и неограниченной одновременно?
12. Опишите основное содержание послеоптимизационного анализа для
неразрешимой задачи, для разрешимой задачи.
13. Какую полезную информацию может дать анализ устойчивости опти-
мального решения?
2. ЛИНЕЙНОЕ И НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
2.1. Задача нелинейного программирования
Обозначения
R – множество действительных чисел.
Rn – арифметическое векторное пространство размерности n, множество
всех векторов-столбцов вида x = (x1, …, xn)T, где xi R для всех i; R1 = R.
Предположение 2.1. В модели конечное число переменных, все они при-
нимают действительные значения.
Мы будем рассматривать только модели, для которых выполнено предпо-
ложение 2.1. Широкий класс таких моделей описывает следующее определение.
Определение. Задача математического программирования имеет вид
Пусть в задаче (1.2) n переменных. Тогда решение x можно представить
вектором из Rn и для каждого состояния внешней среды a A задача (1.2) является задачей математического программирования.
Задачу минимизации на множестве X Rn можно привести к виду (2.1),
используя следующее утверждение.
Теорема 2.1 (о замене минимизации максимизацией)10. Точка x0 минимизирует функцию f(x) на множестве М, если и только если она максимизирует
функцию –f(x) на том же множестве.
Теперь конкретизируем описание множества допустимых решений X в
задаче (2.1).
Определения и обозначения
Для целых m и n обозначим
множество всех целых чисел от m до n:
= {m, …, n}, если m ≤ n, и
Доказательство поручаем читателю.
= , если m > n.
21

Задача нелинейного программирования имеет вид
f(x) → max при условиях
(2.2)
x Rn,
(2.3)
gi(x) = bi для i
,,1 m
(2.4)
gi(x) ≤ bi для i
. ,11mm
(2.5)
В этой задаче m ограничений. Среди них есть ограничения-равенства
(2.4), если m1 > 0, и ограничения-неравенства (2.5), если m > m1.
Вектор xRn является допустимым решением задачи (2.2)–(2.5), если он
удовлетворяет условиям (2.3)–(2.5).
Задача (2.2)–(2.5) совместна, если множество ее допустимых решений
непусто.
Для задачи (2.2)–(2.5) с множеством допустимых решений X вектор x*X
является оптимальным решением, если f(x*) ≥ f(x) для всех x X.
Задача (2.2)–(2.5) с множеством допустимых решений X ограниченна, если f(x) ≤ M для всех x X и некоторого M R.
Задача (2.2)–(2.5) разрешима, если множество ее оптимальных решений
непусто.
Из определения следует, что задача математического программирования
является задачей нелинейного программирования, если множество ее допустимых решений есть множество всех решений конечной системы уравнений и/или
нестрогих неравенств. Ограничения, первоначально записанные в форме g(x) ≥
b приводятся к виду (2.5) умножением на –1 с изменением знака неравенства.
Предположение 2.2. Связи между параметрами и переменными в модели
операции описаны равенствами вида g(a, x) = b и/или нестрогими неравенствами вида g(a, x) ≤ b.
Если выполнены предположения 2.1 и 2.2, то задача (1.2) для каждого
a A является задачей нелинейного программирования.
2.2. Задача линейного программирования
Линейным программированием (ЛП) Т. Купманс в 1951 г. предложил
назвать оптимизацию (максимизацию или минимизацию) линейной функции
при линейных ограничениях (равенствах и/или нестрогих неравенствах). Не-
сколько ранее, в 1947 г., Дж. Данциг разработал метод решения задач ЛП –
симплекс-метод, о котором мы будем говорить в разд. 2.5. Еще раньше (начиная с 1939 г.) были опубликованы работы Л. В. Канторовича, посвященные теории и приложениям ЛП. В 1975 г. Л. В. Канторович и Т. Купманс получили Нобелевскую премию по экономике «за вклад в теорию оптимального использования ресурсов».
22

Если в задаче (2.2)–(2.5) функции f и gi для всех i линейны, то она отно-
f(x) =
nj
jj
xc
1
max (min) при условиях
(2.6)
j
jij
xa
= bi, i
; ,11m
(2.7)
j
jij
xa
bi, i
; ,121mm
(2.8)
j
jij
xa
bi, i
; ,12mm
(2.9)
xj 0 для j
;,11n
xj 0 для j
; ,121nn
n2 n.
(2.10)
nj
jj
xc
1
j
jij
xa
,,1 m
f(x) =
nj
jj
xc
1
max (min) при условиях
(2.11)
j
jij
xa
= bi для i
; ,1 m
(2.12)
xj 0 для всех j.
(2.13)
11
сится к классу задач линейного программирования (ЗЛП).
Определения и обозначения
В общем виде ЗЛП записывается следующим образом:
Здесь x = (x1, …, xn)T Rn – вектор переменных, (2.7)–(2.9) – общие огра-
ничения, (2.10) – ограничения по знаку.
ЗЛП в стандартной форме имеет вид
f(x) =
max (min) при условиях
() bi для i
xj 0
для всех j.
Другими словами, задача (2.6)–(2.10) имеет стандартную форму, если все
переменные неотрицательны (n1 = n), а все общие ограничения являются нера-
венствами вида (2.9) в задаче максимизации (m1 = m2 = 0) и вида (2.8) в задаче
минимизации (m1 = 0, m2 = m).
При m1 = m и n1 = n получим ЗЛП в канонической форме (2.11)–(2.13)11.
Задача (2.6)–(2.10) имеет каноническую форму, если все переменные неотрицательны, а все общие ограничения являются равенствами.
Для матричной записи ЗЛП введем следующие обозначения.
Определения и обозначения
mn
R
– множество всех матриц размерности mп с элементами из R.
0n – нуль-вектор в Rn.
Каноническую форму задачи ЛП называют также стандартной или основной, а стандартную – симметричной.
23

В любой форме записи ЗЛП матрица A = (aij) R
, ,11n
, ,121nn
. ,12nn
f1(z) =
11nj
jj
xc
–
2
1
1nnj
jj
uc
+
n
nj
jjj
wvc
1
2
)(
max при условиях:
(2.14)
11nj
jij
xa
–
2
1
1nnj
jij
ua
+
n
nj
jjij
wva
1
2
)(
≤ bi для i
1
,1 m
; ,12mm
(2.15)
–
11nj
jij
xa
+
2
1
1nnj
jij
ua
–
n
nj
jjij
wva
1
2
)(
≤ –bi для i
; ,12m
(2.16)
все переменные неотрицательны.
(2.17)
12
mn
– это матрица зада-
чи, b = (b1, …, bm)T – вектор правых частей ограничений, с = (с1, …, сn) – вектор коэффициентов ЦФ.
Матричная запись стандартной формы ЗЛП
cx max (min) при условиях A∙x () b и x 0n.
Матричная запись канонической формы ЗЛП
cx max (min) при условиях A∙x = b и x 0n.
Общая запись ЗЛП удобна при построении математической модели опе-
рации, стандартная форма хорошо интерпретируется, каноническая форма используется при решении ЗЛП симплекс-методом и в теоретическом анализе.
Приводя задачу оптимизации к виду, удобному для решения или анализа,
нужно обеспечивать ее сводимость к модифицированной задаче или эквива-
лентность этих двух задач. Формулировка точного определения сводимости
задач оптимизации выходит за рамки нашего курса. Ограничимся следующим
нестрогим определением.
Определения
Задача P1 сводится к задаче P2, если существует эффективный алгоритм,
который по результатам решения задачи P2 находит оптимальное решение задачи P1 или определяет, что эта задача неразрешима. Задачи P1 и P2 эквивалентны,
если P1 сводится к P2 и P2 сводится к P1.
Ниже мы укажем способы приведения произвольной ЗЛП к стандартной
и канонической формам с сохранением эквивалентности.
Теорема 2.2 (переход от общей формы к стандартной)12.
а) Общая задача максимизации вида (2.6)–(2.10) эквивалентна следующей
задаче в стандартной форме с вектором переменных z, компонентами которого
являются xj для j
uj для j
vj и wj для j
Задачи (2.6)–(2.10) и (2.14)–(2.17) разрешимы или неразрешимы одновременно.
Теорема сформулирована для задач максимизации. Используя теорему 2.1, легко получить аналогичный результат для задач минимизации.
24

б) Если задачи (2.6) – (2.10) и (2.14) – (2.17) разрешимы, то оптимальные
1
,1 m
j
jij
xa
j
jij
xa
21
,1 nn
, ,12nn
xj = –uj для j
21
,1 nn
и xj = vj – wj для j
. ,12nn
(2.18)
n ,1
, ,11n
, ,121nn
. ,12nn
значения их целевых функций совпадают.
в) Задача (2.14) – (2.17) несовместна (неограниченна) тогда и только тогда, когда несовместна (неограниченна) задача (2.6) – (2.10).
Доказательство
а) Обе части каждого из ограничений (2.8) умножим на –1 с изменением
знака неравенства, а ограничение группы (2.7) с номером i
заменим эк-
вивалентной системой неравенств
bi и –
≤ –bi.
Полученную ЗЛП обозначим P, она эквивалентна задаче (2.6) – (2.10), и
ее общие ограничения соответствуют стандартной форме.
Переменным xj с номерами j
вим переменные uj ≥ 0; если j
(если такие существуют) сопоста-
то переменной xj сопоставим перемен-
ные vj ≥ 0 и wj ≥ 0. В общих ограничениях и целевой функции задачи P выполним замены переменных:
Получим задачу (2.14) – (2.17) с вектором переменных z. Множества допустимых решений задач (2.6) – (2.10) и (2.14) – (2.17) обозначим X и Z соответственно.
j
Пусть x = (xj | j
uj = –xj для j
)T X. Построим вектор z(x) с координатами xj для
vj = max{xj, 0} и wj = max{–xj, 0} для j
Все компоненты вектора z(x) неотрицательны и vj – wj = xj. Из построения задачи (2.14)–(2.17) следует, что z(x) Z, причем f(x) = f1(z(x)).
Обратно, пусть z Z. Не изменяя xj для j ≤ n1, вычислим xj для j > n1 по
формулам (2.18). Легко убедиться в том, что построенный таким образом вектор x(z) лежит в X и
f(x(z)) = f1(z).
Пусть X
*
и Z
(2.14)–(2.17) соответственно. Из доказанного следует, что x* X
z(x*) Z
*
и z* Z
*
– множества оптимальных решений задач (2.6)–(2.10) и
*
эквивалентно x(z*) X
*
. Тогда задачи (2.6)–(2.10) и (2.14)–
*
эквивалентно
(2.17) эквивалентны: они разрешимы (или неразрешимы) одновременно, и по
оптимальному решению одной из этих задач легко найти оптимальное решение
другой.
б) Пусть x* X
*
. Тогда z(x*) Z
*
, причем f(x*) = f1(z(x*)).
в) Несовместность задачи означает, что множество ее допустимых решений пусто. Неограниченность задачи максимизации означает, что ее ЦФ на
множестве допустимых значений принимает как угодно большие значения. Из
предыдущих рассуждений ясно, что
25

{f(x) | x X} = {f1(z) | z Z}.
, ,11n
, ,121nn
, ,12nn
. ,11mm
f1(z) =
11nj
jj
xc
–
2
1
1nnj
jj
uc
+
n
nj
jjj
wvc
1
2
)(
max при условиях
(2.19)
11nj
jij
xa
–
2
1
1nnj
jij
ua
+
n
nj
jjij
wva
1
2
)(
= bi для i
; ,11m
(2.20)
11nj
jij
xa
–
2
1
1nnj
jij
ua
+
n
nj
jjij
wva
1
2
)(
– si = bi для i
; ,121mm
(2.21)
11nj
jij
xa
–
2
1
1nnj
jij
ua
+
n
nj
jjij
wva
1
2
)(
+ si = bi для i
; ,12mm
(2.22)
все переменные неотрицательны.
(2.23)
j
jij
xa
j
jij
xa
mm ,11
; ,11n
; ,121nn
; ,12nn
j
jij
xa
.,11mm
13
14
Отсюда следует утверждение (в). #
Теорема 2.3 (переход от общей формы к канонической)13.
а) Задача максимизации общего вида (2.6) – (2.10) эквивалентна следующей ЗЛП в канонической форме с вектором переменных z, компонентами кото-
рого являются xj для j
i
uj для j
vj и wj для j
Задачи (2.6)–(2.10) и (2.19)–(2.23) разрешимы или неразрешимы одновременно.
б) Если задачи (2.6)–(2.10) и (2.19)–(2.23) разрешимы, то оптимальные
значения их целевых функций совпадают.
в) Задача (2.19)–(2.23) несовместна (неограниченна) тогда и только тогда,
когда несовместна (неограниченна) задача (2.6)–(2.10).
Доказательство
а) Не изменяя ограничения (2.7), заменим неравенства (2.8) и (2.9) урав-
нениями
si для
– si = bi и
соответственно. Переменные si для i
+ si = bi
объявим неотрицательными14.
Получим эквивалентную исходной задачу с ограничениями-равенствами и переменными xj и si. Эту задачу заменой переменных по формулам (2.18) преобразуем к виду (2.19) – (2.23). Множества допустимых решений задач (2.6) – (2.10)
и (2.14) – (2.17) обозначим X и Z соответственно. Каждому x X сопоставим
вектор z(x) с координатами: xj для j
wj = max{–xj, 0} для j
а также
si = |
Теорема сформулирована для задач максимизации. Используя теорему 2.1, легко получить аналогич-
ный результат для задач минимизации.
Часто si называют переменной избытка, если m1 < i ≤ m2, и переменной недостатка, если m2 < i ≤ m.
26
– bi| для i
uj = –xj для j
vj = max{xj, 0} и

Легко проверить, что z(x) Z и f(x) = f1(z(x)).
15
16
Пусть z Z. Построим вектор x(z) следующим образом: координаты xj для
j ≤ n1 возьмем из вектора z, а значения xj для j > n1 вычислим по формулам
(2.18). Понятно, что x(z) X и f(x(z)) = f1(z). Доказательство утверждения (а) завершается, как в теореме 2.2.
Утверждения (б) и (в) доказываются так же, как соответствующие утверждения теоремы 2.2. #
Следствие 2.115. Для всякой ЗЛП существуют эквивалентные ей задачи в
стандартной и канонической формах.
Заметим, что задача в стандартной (или канонической) форме, эквивалентная данной ЗЛП, определена не единственным образом. В дальнейшем мы
будем считать, что для приведения ЗЛП общего вида к стандартной (или канонической) форме использован алгоритм, указанный в доказательстве теоремы
2.2 (или теоремы 2.3).
Определения. Задачу в стандартной (канонической) форме, полученную
из задачи общего вида способом, который описан в доказательстве теоремы 2.2
(теоремы 2.3), назовем правильно построенной стандартной (канонической соответственно) формой исходной задачи.
Доказывая теоремы 2.2 и 2.3, мы установили полезные связи между ЗЛП
общего вида и ее правильно построенными стандартной и канонической формами. Сформулируем их.
Следствие 2.216. Пусть P – произвольная ЗЛП с вектором переменных x,
целевой функцией f(x) и множеством допустимых решений X, P1 – правильно
построенная стандартная (или каноническая) форма задачи P с вектором переменных z, целевой функцией f1(z) и множеством допустимых решений Z. Тогда
для всякого x X существует вектор z Z такой, что f(x) = f1(z), и для всякого
z Z существует вектор x X такой, что f1(z) = f(x).
2.3. Экономическая интерпретация задачи линейного программирования
Предположим, что объект управления в течение планового периода может
в различных сочетаниях применять n технологических способов (или просто
способов). Предположим также, что в реализации технологических способов
участвуют ингредиенты (материальные и трудовые ресурсы, оборудование,
другие факторы производства, полуфабрикаты, конечные продукты, полезности) с номерами 1, ..., m. Каждый ингредиент рассматриваемая система может
производить и/или потреблять.
Мерой использования технологического способа в плановом периоде является его интенсивность, определенная в соответствии с содержанием спосо-
Доказательство очевидно (см. теоремы 2.2 и 2.3).
Доказательство очевидно (см. теоремы 2.2 и 2.3).
27

ба и принимающая неотрицательные действительные значения. Обычно интен-
f(x) max при условиях
gi(x) bi для i
,,1 m
(2.24)
x 0n.
сивность использования способа характеризуют объемом производства или потребления (за рассматриваемый период) какого-то (основного для данного способа) ингредиента. Пусть xj 0 – интенсивность использования способа j (xj = 0
означает, что способ не применяется). Тогда вектор x = (x1, ..., xn)T естественно
назвать планом деятельности объекта управления. Выбор плана – задача управляющей системы.
Пусть gi(x) – чистое потребление ингредиента i за плановый период при
плане x (разность потребления и производства); gi(x) < 0 означает, что в системе
к концу периода образуется избыток ингредиента i, равный |gi(x)|.
В начале периода система имеет запас bi ингредиента i; bi < 0 означает,
что система управления имеет обязательство по поставкам ингредиента i во
внешнюю среду (в течение планового периода) в размере |bi|.
Допустим, что план x дает системе (в течение планового периода) полезность (например, прибыль или условно чистый доход) f(x).
Модель для выбора оптимального плана запишем следующим образом:
Это задача нелинейного программирования. Смысл ограничения (2.24)
зависит от знака bi. Неотрицательное bi – это исходный запас ингредиента i, по-
требление не должно его превышать. Если же bi < 0, то и левая часть неравенства должна быть отрицательной. В таком случае |bi| мы интерпретируем как
обязательство: внешнее (по поставке ингредиента i во внешнюю для системы
среду) или внутреннее (по накоплению ингредиента i в системе). Условие (2.24)
в этом случае удобно записать в виде –gi(x) |bi|: чистое производство ингредиента должно покрывать запланированные поставки.
Для того чтобы задачу планирования можно было формализовать в виде
задачи линейного программирования, должны выполняться следующие условия.
Делимость. Если способ может применяться с интенсивностями a и b (a < b),
то его можно применять с любой интенсивностью x [a, b].
Пропорциональность. Затраты, выпуски и полезность, производимые
каждым способом, пропорциональны его интенсивности.
Аддитивность. Затраты и выпуски ингредиента, производимые разными
способами, суммируются; полезность, производимая разными способами, тоже
суммируется.
Предположим, что перечисленные условия выполняются. Из принципа
пропорциональности следует, что затраты, выпуски и полезность, порождаемые
каждым способом, зависят от его интенсивности и не зависят от интенсивно-
стей других способов. Пусть aij – удельное потребление ингредиента i техноло-
28

гическим способом j; aij < 0 означает, что способ j при единичной интенсивно-
m,1
j
jij
xa
.
j
jj
xc
j
jj
xc
j
jij
xa
,,1 m
m ,1
j
jj
xc
j
jij
xa
,,1 m
17
сти производит |aij| единиц ингредиента i. Пусть xj – интенсивность использования технологического способа j, cj – его удельная (при единичной интенсивности) полезность.
Из сформулированных выше свойств системы управления с очевидностью следует, что чистое потребление ингредиента i
и целевая функция
задачи принимают вид
gi(x) =
и f(x) =
Теперь можем записать задачу планирования следующим образом:
f(x) =
max при условиях
bi для i
x 0n.
Получили ЗЛП в стандартной форме. Ее целевая функция описывает
суммарную полезность плана x, левая часть ограничения с номером i – это чистое потребление ингредиента i при плане x.
Обозначения. Столбец с номером j и строку с номером i матрицы A обо-
значим [A]j и [A]i соответственно.
Столбец [A]j дает технологическое описание способа j деятельности системы, указывая, в каких количествах потребляются/производятся ингредиенты при
единичной интенсивности использования этого способа. Величина cj (удельная
полезность) добавляет к этому описанию экономическую компоненту.
Введем вектор переменных недостатка s = (si | i
) и перейдем к пра-
вильно построенной канонической форме17:
max при условиях:
+ si = bi для i
x 0n, s 0m.
Если bi 0, то si – это неиспользованный при плане x остаток ингредиента
i. Если bi < 0, то si есть объем производства ингредиента i сверх обязательства
|bi|.
2.4. Свойства задачи линейного программирования
2.4.1. Общие свойства
Определения
Многогранное множество – это совокупность всех решений системы линейных уравнений и нестрогих линейных неравенств.
Ограниченное многогранное множество называется многогранником.
Вектор x Rn является выпуклой линейной комбинацией или взвешенным
средним векторов x1, …, xk из Rn, если
См. разд. 2.2.
29

x =
,
1ki
ii
xa
k ,1
ki
i
a
1
18
19
где ai ≥ 0 для i
и
= 1.
Множество M Rn выпукло, если любая выпуклая линейная комбинация
точек из M принадлежит этому множеству.
Множество всех выпуклых линейных комбинаций векторов x0 и x1 из Rn –
это отрезок [x0, x1] с концами x0 и x1; [x0, x1] = {(1 – )x0 + x1 | [0, 1]}.
(x0, x1) = [x0, x1] \ {x0, x1} – множество внутренних точек отрезка.
Точка множества называется угловой (крайней, экстремальной), если она
не является внутренней точкой никакого отрезка, лежащего в этом множестве.
Угловые точки многогранного множества называют вершинами.
Теорема 2.4 (о выпуклости многогранного множества). Всякое много-
гранное множество выпукло.
Теорема 2.5 (о свойствах ЗЛП). Множество допустимых и множество оп-
тимальных решений ЗЛП (2.6)–(2.10) обозначим X и X * соответственно.
а) X и X * – многогранные и, следовательно, выпуклые множества18.
б) Число угловых точек (вершин) множества X конечно.
в) X * (задача разрешима), если и только если она совместна и ограниченна19.
г) Если задача (2.6)–(2.10) включает условие неотрицательности всех пере-
менных (например, записана в стандартной или канонической форме) и X * , то
в X * есть угловая точка множества X18.
Утверждения (а) и (б) характеризуют структуру множеств X и X *. Утверждение (в) дает критерий разрешимости ЗЛП. Из утверждения (г) следует, что
решения ЗЛП в канонической форме можно искать среди вершин множества ее
допустимых решений, а их – конечное число по утверждению (б). Можно предположить, что решение любой ЗЛП упростится, если предварительно привести
ее к канонической форме, используя теорему 2.3.
2.4.2. Свойства задачи в канонической форме
В этом разделе будем изучать задачу линейного программирования P в канонической форме (2.11) – (2.13) с ограничениями Ax = b (где A R
m×n
, b Rm) и
x ≥ 0n. Нас интересуют, конечно, разрешимые задачи. В таких задачах система
уравнений Ax = b совместна.
Теорема 2.6 (исключение зависимых ограничений). Если система уравне-
ний Ax = b совместна и одна из строк матрицы A линейно зависит от других, то
исключение соответствующего уравнения не изменяет множество решений системы.
Доказательство оставляем читателю в качестве упражнения.
Утверждения (а) и (б) теоремы 2.3 позволяют распространить утверждение на ЗЛП общего вида.
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
