Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция1_2 (мет.опт., Дунаева).doc
Скачиваний:
21
Добавлен:
21.11.2019
Размер:
393.22 Кб
Скачать

1.2.8. Задачи линейного и квадратичного программирования

Задачей линейного программирования (ЛП) называется задача минимизации или максимизации линейной функции при линейных ограничениях. Так, задача (1.21) является задачей ЛП, если f, gi, ..., gm – линей­ные функции, а Р – полиэдр, т.е. множество, само задаваемое линейными условиями (см. (1.17)).

Задачей квадратичного программирования называется задача ми­нимизации при линейных ограничениях квадратичной функции вида

f(x)= Cx, x + d, x,

где С – симметрическая неотрицательно определенная матрица раз­мера пп, d – вектор из Rn. Стало быть, задача квадратичного программирова­ния – это частный случай задачи выпуклого программирования, а задача ЛП – частный случай их обеих (С = 0). Эти два подкласса задач выпуклого программирования в настоящее время наиболее хорошо изучены.

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

,

, i =1, …, k,

, i = k+1, …, m,

xj  0, j = 1, …, s.

называется общей, в форме

, , i = 1, …, m, (1.23)

основной, в форме

, , i = 1, …, m, xj  0, j = 1, …, n. (1.24)

стандартной, в форме

, , i = 1, …, m, xj  0, j = 1, …, n. (1.25)

канонической. Здесь сj, аij, bi – заданные числа.

Часто прибегают к векторно-матричной записи тех же задач. Например, задачу (1.23) можно записать в виде

c, x  min, ai, x bi, i = 1, …, m, (1.26)

или в виде

c, x  min, Ax b,

где c = (ci, ..., сn)  Rn, b = (bi, ..., bm)  Rm, Aматрица раз­мера тп со строками a1, ..., am и элементами аij.

1.2.9. Задача дискретной оптимизации

В дальнейшем будем назы­вать конечные множества и счетные множества без предельных точек дискретными. Задача (1.1) (или (1.4)) называется задачей дискретной оптимизации, если либо само допустимое множество ХRn дискретно, либо лишь некоторые из координат вектора х = (x1, ..., xп) пробегают дискретные множества на числовой оси, когда х пробегает X.

Часто допустимое множество задачи дискретной оптимизации имеет вид

,

где D = D1 ... Dn, причем Dj  {0, ±1, ±2, ...} для jJ и Dj = R для jJ. Здесь J – некоторое подмножество множества {1, ..., п}. В качестве Dj (jJ) могут выступать, например, Dj ={0, ±1, ±2,...}, Dj = {0, 1, 2,...}, Dj = {0, 1}. Это соответственно означает, что координата xj вектора х может принимать лишь целые, натуральные, булевые значения.

Задачу (1.1) (или 1.4)) с указанным множеством Х называют задачей дискретного программирования, а при J = {1,..., п} – также задачей целочисленного программирования.

Как мы видим, по своей постановке задача дискретного програм­мирования отличается от общей задачи математического программи­рования специальным заданием прямого ограничения. Здесь также используется запись типа (1.21), т. е.

f(x)  min,

gi(x)  0, i = 1, …, k, (1.30)

gi(x)= 0, i = k+1, …, т, x D.

Если функции f, g1, ..., gm линейны, то задачу (1.30) при J = {1, ..., п} называют целочисленной задачей линейного программи­рования (ЛП), а при J  {1, ..., п} – частично целочисленной зада­чей ЛП. Если Dj = {0, 1}, то иногда говорят о {частично} булевой задаче ЛП.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]