
- •I. Задачи линейного программирования
- •1.1. Алгоритм
- •1.2. Обобщение
- •2. Графический метод
- •2.1. Теоретическое введение
- •2.2. Методика решения задач лп графическим методом
- •II. Нелинейное программирование
- •1. Метод Фибоначчи
- •1.1. Постановка задачи
- •1.2. Стратегия поиска.
- •1.3. Алгоритм
- •2. Метод золотого сечения
- •2.1. Описание метода
- •2.2. Алгоритм
- •2.3. Формализация
2.2. Методика решения задач лп графическим методом
В ограничениях задачи заменить знаки неравенств знаками точных равенств и построить соответствующие прямые.
Найти и заштриховать полуплоскости, разрешенные каждым из ограничений-неравенств задачи. Для этого нужно подставить в конкретное неравенство координаты какой-либо точки [например, (0;0)], и проверить истинность полученного неравенства.
Если неравенство истинное,
то надо заштриховать полуплоскость, содержащую данную точку;
иначе (неравенство ложное) надо заштриховать полуплоскость, не содержащую данную точку.
Поскольку x1 и x2 должны быть неотрицательными, то их допустимые значения всегда будут находиться выше оси Ox1 и правее оси Ox2 , т.е. в I-м квадранте.
Ограничения-равенства разрешают только те точки, которые лежат на соответствующей прямой. Поэтому необходимо выделить на графике такие прямые.
Определить ОДР как часть плоскости, принадлежащую одновременно всем разрешенным областям, и выделить ее. При отсутствии ОДР задача не имеет решений.
Если ОДР – не пустое множество, то нужно построить целевую прямую, т.е. любую из линий уровня c1x1+c2x2=L (где L – произвольное число, например, кратное c1 и c2, т.е. удобное для проведения расчетов). Способ построения аналогичен построению прямых ограничений.
Построить вектор C̅=(c1, c2), который начинается в точке (0;0) и заканчивается в точке (c1, c2). Если целевая прямая и вектор C̅ построены верно, то они будут перпендикулярны.
При поиске максимума ЦФ необходимо передвигать целевую прямую в направлении вектора C̅, при поиске минимума ЦФ – против направления вектора C̅. Последняя по ходу движения вершина ОДР будет точкой максимума или минимума ЦФ. Если такой точки (точек) не существует, то можно сделать вывод о неограниченности ЦФ на множестве планов сверху (при поиске максимума) или снизу (при поиске минимум).
Определить координаты точки max (min) ЦФ x=(x1 , x2)и вычислить значение ЦФ L(x). Для вычисления координат оптимальной точки x необходимо решить систему уравнений прямых, на пересечении которых находится x.
Задача 1
Решение.
Приводим задачу к каноническому виду. Для этого в левую часть правого ограничения вводим дополнительные переменные Х4 , Х5 и Х6 с коэффициентом +1. В целевую функцию переменные Х4 , Х5 и Х6 входят с коэффициентом 0.
Получим:
Находим начальное опорное решение. Для этого свободные переменные приравниваем к 0.
Получаем опорное решение.
С единичным базисом Б1.
Вычисляем оценки разложения векторов условий по базису опорного решения по формуле.
:
Сб = (с1, с2, ... , сm ) — вектор коэффициентов целевой функции при базисных переменных
Xk = (x1k, x2k, ... , xmk ) — вектор разложения соответствующего вектора Аk по базису опорного решения
Сk — коэффициент целевой функции при переменной хk.
Оценки векторов входящих в базис всегда равны нулю. Опорное решение, коэффициенты разложений и оценки разложений векторов условий по базису опорного решения записываются в симплексную таблицу:
|
|
|
47 |
39 |
36 |
0 |
0 |
0 |
|
Б |
Сб |
А0 |
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
D1 |
A4 |
0 |
816 |
336 |
256 |
316 |
1 |
0 |
0 |
2.4 |
A5 |
0 |
716 |
186 |
146 |
126 |
0 |
1 |
0 |
4 |
A6 |
0 |
916 |
396 |
456 |
466 |
0 |
0 |
1 |
2.3 |
|
0 |
-47 |
-39 |
-36 |
0 |
0 |
0 |
|
Сверху над таблицей для удобства вычислений оценок записываются коэффициенты целевой функции. В первом столбце "Б" записываются векторы, входящие в базис опорного решения. Порядок записи этих векторов соответствует номерам разрешенных неизвестных в уравнениях ограничениях. Во втором столбце таблицы "Сб" записываются коэффициенты целевой функции при базисных переменных в том же порядке. При правильном расположении коэффициентов целевой функции в столбце "Сб" оценки единичных векторов, входящих в базис, всегда равных нулю.
В последней строке таблицы с оценками Δk в столбце "А0" записываются значения целевой функции на опорном решении Z(X1).
Начальное опорное решение не является оптимальным, так как в задаче на максимум оценки Δ1 = -47, Δ2= -39, Δ3= -36 для векторов А1, А2 и А3 отрицательные.
По теореме об улучшении опорного решения, если в задаче на максимум хотя бы один вектор имеет отрицательную оценку, то можно найти новое опорное решение, на котором значение целевой функции будет больше.
Определим, введение какого из двух векторов приведет к большему приращению целевой функции.
Приращение
функции находится по формуле:
Вычислим
значение D
по формуле:
Полученные значения записываем в таблицу.
Находим
приращение целевой функции при введении
в базис первого вектора
Следовательно, для более быстрого приближения к оптимальному решению необходимо ввести в базис опорного решения вектор А1 вместо первого вектора базиса А6, так как минимум параметра D01 достигается в третьей строке .
Производим преобразование Жордана с элементом Х31 =396 , получаем второе опорное решение Х2 = (2.3;0;0;43.2;288.2;0) с базисом Б2 = (А4, А5, А1).
|
|
|
47 |
39 |
36 |
0 |
0 |
0 |
Б |
Сб |
А0 |
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
A4 |
0 |
43.2 |
0 |
-130.4 |
-80.48 |
1 |
0 |
-0.84 |
A5 |
0 |
288.2 |
0 |
-67.9 |
-93.48 |
0 |
1 |
-0.465 |
A1 |
47 |
2.3 |
1 |
1.15 |
1.18 |
0 |
0 |
0.0025 |
|
108.1 |
0 |
15.05 |
19.46 |
0 |
0 |
0.1175 |
Это решение является единственным оптимальным, так как для всех векторов, не входящих в базис оценки положительные
Δ2 = 15.05, Δ3 = 19.46, Δ6 = 0.1175.
Ответ: max f(X)=108.1 при Х=(2.3;0;0;43.2;288.2;0)