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

Методы оптимальных решений. Нелинейное программирование. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
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 =
,
1ki
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]