Постановка задачи квадратического программирования

4. Задача квадратического программирования

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

В качестве основной в квадратичном программировании рассматривается задача минимизации функции

Далее будем считать, что решаемая задача квадратичного программирования является частным случаем ЗВП.

Функция Лагранжа в данном случае имеет вид:

Найдем стационарные точки функции Лагранжа:

С учетом ориентации и применяя теорему Куна-Таккера:

Преобразуем систему (10.1) к системе уравнений:

Тогда систему уравнений (10.2) можно записать в виде:

Чтобы учесть условие (10.3) при решении ЗНП надо следить за тем, чтобы среди базисных переменных не было u и x с одним и тем же индексом, аналогично λ и v.

Далее задача решается методом искусственного базиса.

Задача. Минимизировать функцию при ограничениях:

Составим функцию Лагранжа:

Составим локальные условия Куна-Таккера:

Преобразуем полученную систему ограничений к допустимому виду канонической формы:

Далее решаем задачу методом искусственного базиса, учитывая условие (10.3):

Получили оптимальный план решения задачи . Найдем значение целевой функции в данной точке:

Педагогический комментарий. Данное лекционное занятие закладывает основы для формирования следующих профессиональных умений студентов-экономистов: умение разрабатывать и обосновывать варианты эффективных производственно-технологических решений; умение ставить цель и формулировать задачи, связанные с профессиональной деятельностью, умение использовать для их решения методы изученных дисциплин; умение логически мыслить; умение совершенствовать составление оперативно-производственного плана с использованием инструментария математического программирования; умение эффективно управлять экономическими процессами и регулировать использование комплекса имеющихся ресурсов; умение использовать аналитические методы решения задач математического программирования при наличии нелинейных функциональных зависимостей экономических переменных.

Источник

Квадратичное программирование

Квадратичное программирование позволяет проводить оптимизационные исследования в задачах, в которых целевая функция составлена из линейных и квадратичных слагаемых, а ограничения являются линейными функциями. Задача квадратичного программирования представляет собой случай общей задачи нелинейного программирования. Модель задачи квадратичного программирования имеет следующую структуру: найти максимальное (минимальное) значение функции при ограничениях Второе слагаемое в выражении (*) называется квадратичной формой переменных х1, х2, …, хn и представляются в виде: Матрица коэффициентов квадратичной формы предполагается симметричной(dkj=djk). Диагональные элементы dkk этой матрицы являются коэффициентами при , а недиагональные элементы(dkj=djk) равны половине коэффициента при xkxj Можно использовать следующий порядок нахождения решения решения задачи квадратичного программирования:

  1. Составляется функция Логранжа.
  2. Записываются условия для ограничений.
  3. Используется метод искусственного базиса с применением математической модели.
  4. Находится оптимальное решение при выполнении условий п. (2).

Расчетная часть

ЗАДАЧА 1 Целевая функция F(x)=2x1 + 4x2  max; при ограничениях : Для приведения к положительным правым частям умножаем необходимые ограничения на (-1) и записываем в виде: Приведём ограничения к расширенной форме, при этом если знак неравенства , то базисная переменная входит в уравнение с положительным знаком. Если знак неравенства, то переменная входит в уравнение с отрицательным знаком: Неравенства ограничений приведем к равенствам, используя дополнительные переменные x 3 , x 4 и x 5 : х1, х2 – свободные переменные. х3, х4, х5 – базисные переменные. Выразим систему ограничений относительно базисных переменных и приравняем полученные уравнения к нулю: где x 1, x 2, x 3, x 4, x 5 >0 переменные x 3 , x 4 и x 5 примем в качестве базисных и выразим через свободные x 1 и x 2 Прямые, соответствующие граничным значениям переменных x3 = x4 = x5= 0 представлены на рис. 2. Заштрихованная область будет областью допустимых решений. Рис.2 Максимального значения целевая функция достигает в крайней точке A области допустимых решений. Координаты точки A будут оптимальным решением задачи: ЗАДАЧА 2 Решить задачу методом симплекс — таблиц. Целевая функция F(x)= – 2x1+2x2  min; Уравнения ограничения Так как целевую функцию необходимо исследовать на минимум, то для удобства умножим ее на –1, и она будет выглядеть следующим образом: F(x)= 2x1–2x2  max Запишем уравнения ограничения в расширенной форме: 4x1 + 7x2 + x3 = 28 , x1 + x2 +x4 = 6 , –3x1 + 2x2  x5 +x6 = 3 , x1 , x2  0 . Целевая функция примет вид: F(x)= 2x1–2x2 +0x3 +0x4 +0x5 Mx6 max , где M. Обозначим векторы условий задачи через A1  A6 . Векторы A3 , A4 , A6 образуют единичную матрицу, которую примем за базис. В результате начальное базисное допустимое решение будет иметь вид X(0,0,28,6,0,3). Составим исходную симплекс-таблицу (табл.6), в которой рассчитаем элементы строки S. Таблица 6

C c1 2 c2 –2 c3 0 c4 0 c5 0 c6 M
ХP B A1 A2 A3 A4 A5 A6
c3 0 x3 28 4 7 1 0 0 0
c4 0 x5 6 1 1 0 1 0 0
c6 M x6 3 –3 2 0 0 1 1
S 3M 23M –2+M 0 0 –M 0

В индексной строке табл.6 имеются Sj > 0, что позволяет улучшить решение задачи. Вводим в новый базис вектор A2, которому соответствует наибольшее значение S2 = 2 + M, а в новое базисное решение переменную x2. Столбец, содержащий вектор A2 будет направляющим. Составим отношения вида , по которым определим направляющую строку. Для этого находим: Таким образом направляющая строка вторая, направляющий элемент a22 (в таблице заключен в прямоугольник). Из базиса выводится вектор A6 , а из базисного решения переменная x6 . Рассчитаем и заполним новую таблицу соответствующую новому базисному решению. Таблица 7

C c1 2 c2 –2 c3 0 c4 0 c5 0 c6 M
ХP B A1 A2 A3 A4 A5 A6
c3 0 x3 35/2 29/2 0 1 0 7/2 -7/2
c4 0 x5 9/2 5/2 0 0 1 1/2 -1/2
с2 2 х2 3/2 –3/2 1 0 0 1/2 1/2
S 3 23M 0 0 0 –1 1– M

В таблице все Sj  0. Поэтому полученное решение является оптимальным: ЗАДАЧА 3 Решить транспортную задачу . 3 5 Целевая функция F = c ij xij; i=1 j=1 Условия транспортной задачи представлены в табл. 8 Табл.8

ПП ПО В1 В2 В3 В4 В5 Запасы
А1 5 2 10 10 6 80
А2 6 4 3 9 2 80
А3 8 9 7 8 4 40
Заявки 40 30 30 40 60

Определим опорный план, используя правило “северо-западного угла”. Результаты сведены в табл. 9. Таблица 9

5 40 2 30 10 10 10 6 80
6 4 3 20 9 40 2 20 80
8 9 7 8 4 40 40
40 30 30 40 60

Таким образом опорный план имеет вид: Полученное решение является опорным (начальным базисным допустимым решением), в котором переменные имеют значения: х11=40; х12=30; х13=10; х23=20; х24=40; х25=20; х35= 40. Стоимость полученного плана найдем, умножив каждую перевозку на соответствующую стоимость: F = 40*5 + 30*2 + 10*10 + 20*3 + 40*9 + 20*2 + 40*4 = = 980. Находим значения потенциалов ui и vj , соответствующие базисным клеткам, принимая для удобства u1=0. u1 + v1 =5; u1 = 0, v1 = 5; u1 + v2 =2; v2 = 2; u1 +v3 = 10; v3 = 10; u2 + v3 = 3; u2 =7; u2 + v4 = 9; v4 = 16; u2 + v5 = 2; v5 = 9; u3 +v5 = 4; u3 = -5. Находим для небазисных клеток оценки с учетом значений потенциалов ui и vj: Так как среди оценок имеются положительные, то план можно улучшить, осуществляя перевозки по замкнутому циклу. Начальная вершина цикла соответствует небазисной клетке с наибольшей положительной оценкой(). Таким образом перевозки осуществляем по следующему циклу x14 x24 x23 x13. Полученные результаты представим в табл. 10. Таблица10

ui\vj 5 2 10 16 9
0 5 40 2 30 10 10 6 10 3 6 80
-7 -8 6 -9 4 3 20 9 40 2 20 80
-5 -8 8 -12 9 -2 7 3 8 4 40 40
40 30 30 40 60 bj\ai

Новый опорный план: Проверим на вырожденность опорный план m+n-1=6. Опорный план не вырожден. Стоимость полученного плана найдем умножив каждую перевозку на соответствующую стоимость: F = 40*5 + 30*2 + 10*10 + 30*3 + 30*9 + 20*2 + 40*4 = 920. Находим значения потенциалов ui и vj , соответствующие базисным клеткам, принимая для удобства u1=0. u1 + v1 =5; u1 = 0, v1 = 5; u1 + v2 =2; v2 = 2; u1 +v4 = 10; v4 = 10; u2 + v3 = 3; v3 = 4; u2 + v4 = 9; u2 = -1; u2 + v5 = 2; v5 = 3; u3 +v5 = 4; u3 = 1. Находим для небазисных клеток оценки с учетом значений потенциалов ui и vj: Так как среди оценок имеются положительные, то план можно улучшить осуществляя перевозки по замкнутому циклу. Начальная вершина цикла соответствует небазисной клетке с наибольшей положительной оценкой (). Таким образом перевозки осуществляем по следующему циклу x34  x35  x25  x24. Полученные результаты представим в табл. 11. Таблица 11

ui\vj 5 2 4 10 3
0 5 40 2 30 -6 10 10 10 -3 6 80
-1 -2 6 -3 4 3 20 9 40 — 2 20 + 80
-1 -2 8 -7 9 -2 7 3 8 + 4 40 — 40
40 30 30 40 60 bj\ai

Новый опорный план: Стоимость полученного плана найдем, умножив каждую перевозку на соответствующую стоимость: F = 40*5 + 30*2 + 10*10 + 30*3 + 50*2 + 30*8 + 10*4 = 830. Находим значения потенциалов ui и vj, соответствующие базисным клеткам, принимая для удобства u1=0. u1 + v1 =5; u1 = 0, v1 = 5; u1 + v2 =2; v2 = 2; u1 +v4 = 10; v4 = 10; u2 + v3 = 3; v3 = 7; u2 + v5 = 2; u2 = -4; u3 + v4 = 8; u3 = -2; u3 +v5 = 4; v5 = 6. Находим для небазисных клеток оценки с учетом значений потенциалов ui и vj: Так как все оценки для небазисных клеток отрицательны, то полученный план является оптимальным. F * = 40*5 + 30*2 + 10*10 + 30*3 + 50*2 + 30*8 + 10*4 = 830. ЗАДАЧА 4 Решить задачу квадратичного программирования графически. Привести задачу к задаче линейного программирования специального вида. Решить задачу модифицированным методом искусственного базиса. при ограничениях: 1 + х2 4; — х1 + х2 2; х1, х2 0. Приведем задачу к задаче линейного программирования специального вида и решим модифицированным методом искусственного базиса. Составим матрицу D и рассмотрим ее определители: D =; ∆1= -1 < 0 Составим функцию Лагранжа. Запишем условие Куна — Таккера: Систему линейных неравенств перепишем в виде: 2х1 – 2х2 + 21 2 2 2 – 2х1 + 1 + 2 2 1 + х2 4 — х1 + х1 2 Получим систему линейных неравенств, т.е. задача приведена к задаче линейного программирования. Используя дополнительные переменные v1, v2, w1, w2 приведем неравенства к равенствам. 1 – 2х2 + 21 2 v1 = 2; 2 – 2х1 + 1 + 2 v2 = 2; (*) 1 + х2 + w1 = 4; — х1 + х1 + w2 = 2; Дополним равенства условиями, которые представим в виде: v1x1 = 0; v2x2 = 0; w11 = 0; w22 = 0. (**) Найдем базисное дополнительное решение системы (*) с учетом (**). Для этого воспользуемся методом искусственного базиса, вводя искусственные переменные z1 и z2. Получим: F(x) = —Mz1 M z2 1 – 2х2 + 21 2 v1 + z1 = 2; 2 – 2х1 + 1 + 2 v2 + z2 = 2; 1 + х2 + w1 = 4; — х1 + х1 + w2 = 2; Решим задачу методом симплекс-таблиц. Результаты показаны в табл. 12 — 15 Таблица 12

С 0 0 0 0 0 0 0 0 -M -M
XP A0 Ax1 Ax2 A1 A2 Av1 Av2 Aw1 Aw2 Az1 Az2
-M z1 2 2 -2 2 -1 -1 0 0 0 1 0
-M z2 2 -2 4 1 1 0 -1 0 0 0 1
0 w1 4 2 1 0 0 0 0 1 0 0 0
0 w2 2 -1 1 0 0 0 0 0 1 0 0
S -4M 0 2M 3M 0 -M -M 0 0 0 0

Таблица 13

С 0 0 0 0 0 0 0 0 -M -M
XP A0 Ax1 Ax2 A1 A2 Av1 Av2 Aw1 Aw2 Az1 Az2
0 1 1 1 -1 1 -1/2 -1/2 0 0 0 1/2 0
-M z2 1 -3 5 0 3/2 1/2 -1 0 0 -1/2 1
0 w1 4 2 1 0 0 0 0 1 0 0 0
0 w2 2 -1 1 0 0 0 0 0 1 0 0
S -M -3M 5M 0 3/2M 1/2M -M 0 0 -3/2M 0

Таблица 14

С 0 0 0 0 0 0 0 0 -M -M
XP A0 Ax1 Ax2 A1 A2 Av1 Av2 Aw1 Aw2 Az1 Az2
0 1 6/5 2/5 0 1 -1/5 -2/5 -1/5 0 0 9/10 1/5
0 X2 1/5 -3/5 1 0 3/10 1/10 -1/5 0 0 -1/10 1/10
0 W1 19/5 13/5 0 0 -3/10 -1/10 1/5 1 0 1/10 -1/5
0 W2 6/5 -2/5 0 0 -3/10 -1/10 1/5 0 1 1/10 -1/5
S 0 0 0 0 0 0 0 0 0 -M -M

В таблице 14 получено, предположительно оптимальное решение, но оно не отвечает условиям (**), следовательно, проделаем еще одну итерацию: Табл. 15

С 0 0 0 0 0 0 0 0 -M -M
XP A0 Ax1 Ax2 A1 A2 Av1 Av2 Aw1 Aw2 Az1 Az2
0 1 8/13 0 0 1 0 0
0 x2 14/13 0 1 0 3/13 0
0 x1 19/13 1 0 0 5/13 0
0 w2 64/65 0 0 0 2/13 1
S 0 0 0 0 0 0

Таким образом, получаем оптимальное решения, удовлетворяющее заданным условиям: Для нахождения решения графическим методом, построим линии уровня исходной функции F(x1,x2) и линии ограничения (ОДР) (рис.3). Рис.3 На рис.3 видно, что значения

Источник

Читайте также:  Основные понятия программирования баз данных
Оцените статью