Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
гл.1-5.doc
Скачиваний:
27
Добавлен:
05.12.2018
Размер:
934.91 Кб
Скачать

Алгоритм симплекс-метода решения злп. Алгоритм симплекс-метода решения злп продемонстрируем на простом примере.

Рассмотрим конкретную задачу.

Целевая функция имеет вид:

F(x1,x2)=2x1+3x2 → max.

Ее функциональные ограничения представляют собой систему неравенств :L1 – L4:

х1+3х2 ≤ 18, (L1)

12 ≤ 16, (L2)

х2 ≤ 5, (L3)

1 ≤ 21; (L4)

а прямые ограничения заданы неравенствами L5, L6:

х1 0, (L5)

х2 0. (L6)

Требуется найти решение данной ЗЛП симплексным методом.

Для наглядности, на рис 14 представлена заданная в условии задачи область ее допустимых решений ABCDEG и линии равных уровней целевой функции, показанные пунктиром.

X2

L6

L3

L1

7

6

5

4

3

2

1

0

L4

L2

В

С

А

D

X1

L5

G

E

1 2 3 4 5 6 7 8

Рис. 14

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

х1+3х2 + х3 = 18,

12 + х4 = 16,

х2 + х5 = 5,

1 + х6 = 21.

Все дополнительные переменные введены со знаком «+», так как рассматриваемые неравенства имеют знак « ≤ ».

Для нахождения первоначального базисного решения разобьем переменные на две группы: основные и неосновные. (Напомним, что базисным решением системы m линейных уравнений с n переменными называют решение, в котором все (nm) неосновных переменных равны нулю.)

В качестве основных переменных на первом шаге нужно выбрать такие переменные, каждая из которых входит только в одно уравнение системы ограничений и при этом нет таких уравнений системы, в которые не входит ни одна из этих переменных. Количество основных переменных равно m.

Если выбранные по этому правилу переменные имеют те же знаки, что и соответствующие им свободные члены в правых частях уравнений, то полученное таким образом базовое решение будет допустимым.

Алгоритм решения задачи разобьем на ряд шагов N i, где N – номер шага, а индекс i – номер итерации.

Шаг 11. Определим состав основных и неосновных переменных.

В соответствии с вышеизложенным правилом:

основные переменные: х3, х4, х5, х6;

неосновные переменные: х1, х2.

Шаг 21. Используя систему равенств, выразим основные переменные через неосновные:

х3 = 18 - х1 - 3х2,

х4 = 16 - 2х1- х2,

х5 = 5 - х2,

х6 = 21 - 3 х1.

Шаг 31. Положив неосновные переменные равными нулю, получим первое базисное решение:

Х1 = (х11 = 0, х21 = 0, х31 = 18, х41 = 16, х51 = 5, х61 = 21).

Полученное на первой итерации решение соответствует вершине А на рис 16.

Шаг 41. Выразим целевую функцию через неосновные переменные и определим ее значение при выбранном базисном решении:

F =2x1+3x2 = 0.

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

В соответствии с данным критерием исследуемое базисное решение не является оптимальным, следовательно, необходимо перейти к другому базисному решению.

Шаг 61. Сформулируем основное правило перехода к лучшему (не худшему) решению: в новый состав основных переменных вводится та из неосновных переменных, которая имеет наибольший положительный коэффициент в целевой функции.

В данном случае это коэффициент при x2.

Чтобы новое опорное решение, с одной стороны улучшало значение целевой функции, а с другой — было бы опорным, необходимо определить:

  • как должна измениться (увеличиться) переменная x2, вошедшая в новый состав основных переменных;

  • какая переменная из «бывших основных» должна перейти в новый состав неосновных переменных при переходе от одного (старого) базисного решения к другому — новому.

Чтобы оценить, в каких пределах возможно изменение переменной x2, необходимо определить, при каких значениях x2 каждая из «старых» основных переменных останется неотрицательной. Соблюдение этого условия и делает новое искомое решение допустимым.

Очевидно, что для этого должны выполняться следующие неравенства:

х3 = 18 - х1 - 3х2 ≥ 0, х2 ≥ 18/3;

х

(4.4.1)

4 = 16 - 2х1- х2 ≥ 0, х2 ≥ 16;

х5 = 5 - х2 ≥ 0, х2 ≥ 5;

х6 = 21 - 3 х1 ≥ 0.

Каждое из неравенств системы (4.4.1) определяет возможные границы изменения переменной х2. В частности, из последнего неравенства системы следует, что переводимая переменная может возрастать неограниченно, т.е. ее граница может быть обозначена как ∞.

Очевидно, что допустимость решения будет обеспечена только в том случае, если будут выполнены все ограничения системы (4.4.1). В свою очередь, это условие будет выполняться, если:

х2 = min{18/3; 16/1; 5/1; ∞}.

При х2 = 5 переменная х5 обращается в 0 и переходит в разряд неосновных. Уравнение, где достигается наибольшее возможное значение переменной х2, называется разрешающим. После проделанных преобразований вновь возвращаемся к первому шагу.

Шаг 12. Определяем состав основных и неосновных переменных:

основные переменные: х2, х3, х4, х6;

неосновные переменные: х1, х5.

Шаг 22. Выразим основные переменные через неосновные, воспользовавшись соотношением из разрешающего уравнения:

х2 = 5 – х5, х2 = 5 – х5;

х3 = 18 - х1 – 3(5 – х5), х3 = 3 - х1 + 3х5;

х4 = 16 - 2х1- (5 – х5), х4 = 11 - 2х1 + х5;

х6 = 21 - 3 х1, х6 = 21 - 3 х1.

Шаг 32. Положив неосновные переменные равными нулю, получим новое базисное решение:

Х2 = (х12 = 0, х22 = 5, х32 = 3, х42 = 11, х52 = 0, х62 = 21).

Полученное на второй итерации решение соответствует вершине В на рис 16.

Шаг 42. Выразим целевую функцию через неосновные переменные и определим ее значение при данном базисном решении:

F =2x1+3х2 = 2x1+3(5–х5) = 2x1+15–3 х5 = 15.

Шаг 52. Проверим, доставляет ли данное базисное решение оптимум целевой функции F. Коэффициент при x1 в выражении целевой функции через неосновные переменные положителен, следовательно данный узел в многоугольнике решений с координатами х1 = 0, х2 = 5 не доставляет оптимума целевой функции и необходимо искать новое базисное решение.

Шаг 62. Используя сформулированное на шаге 61 правило перехода к лучшему решению, введем в новый состав основных переменных x1.

Определим допустимое значение x1 и разрешающее уравнение.

х2 = 5 – х5 ≥ 0, x1 ≤ ∞;

х3 = 3 - х1 + 3х5 ≥ 0, x1 ≤ 3/1;

х4 = 11 - 2х1 + х5 ≥ 0, x1 ≤ 11/2;

х6 = 21 - 3 х1 ≥ 0, x1 ≤ 21/3.

Отсюда:

х1 = min{∞; 3/1; 11/2; 21/3}= 3.

Из разрешающего уравнения следует, что если х1= 3, то х3 = 0, следовательно, можно вернуться к первому шагу в третьем приближении.

Шаг 13. Определим новый состав основных и неосновных переменных:

основные переменные: х1, х2, х4, х6;

неосновные переменные: х3, х5.

Шаг 23. Выразим основные переменные через неосновные:

х1 = 3 – х3 + 3х5, х1 = 3 – х3 + 3х5;

х2 = 5 – х5, х2 = 5 – х5;

х4 = 11 – 2 (3 – х3 + 3х5)+ х5, х4 = 5 + 2х3 - 5х5;

х6 = 21 - 3 (3 – х3 + 3х5), х6 = 12 + 3х3 - 9х5.

Шаг 33. Положив неосновные переменные равными нулю, получим новое базисное решение:

Х3 = (х13 = 3, х23 = 5, х33 = 0, х43 = 5, х53 = 0, х63 = 12).

Полученное на третьей итерации решение соответствует вершине С на рис 16.

Шаг 43. Выразим целевую функцию через неосновные переменные и определим ее значение при данном базисном решении:

F = 2x1+3х2 = 2 (3 – х3 + 3х5)+3 (5 – х5) = 21 - 2х3 + 3х5 = 21.

Шаг 53. Проверим критерий оптимальности: он опять не выполняется, так как коэффициент при х5 положителен.

Шаг 63. Вновь используя сформулированное на шаге 61 правило перехода к лучшему решению, введем в новый состав основных переменных x5.

Определим допустимое значение x5 и разрешающее уравнение:

х1 = 3 – х3 + 3х5 ≥ 0, x5 ≤ ∞;

х2 = 5 – х5 ≥ 0, x5 ≤ 5;

х4 = 5 + 2х3 - 5х5 ≥ 0, x5 ≤ 5/5;

х6 = 21 – 3 (3 – х3 + 3х5)≥ 0, x5 ≤ 12/9.

Отсюда:

х5 = min{∞; 5; 5/5; 12/9}= 1.

Из разрешающего уравнения следует, что при х5=1→ х4=0, следовательно х4 переходит в состав неосновных переменных. Вновь возвращаемся к первому шагу.

Шаг 14. Определяем новый состав переменных:

основные переменные: х1, х2, х5, х6;

неосновные переменные: х3, х4.

Шаг 24. Выразим основные переменные через неосновные. Воспользовавшись разрешающим уравнением, получаем:

х4 = 5 + 2х3 - 5х5,

х5 = 1 +2/5 х3 – 1/5 х4,

х1 = 3 – х3 + 3(1 +2/5 х3 – 1/5 х4),

х2 = 5 - 1 - 2/5 х3 + 1/5 х4,

х6 = 12+3х3 – 9(1 + 2/5 х3 – 1/5 х4),

или после преобразования:

х1 = 6 +1/5 х3 – 3/5 х4,

х2 = 4 - 2/5 х3 + 1/5 х4,

х5 = 1 +2/5 х3 – 1/5 х4,

х6 = 3 - 3/5 х3 + 9/5 х4.

Шаг 34. Положив неосновные переменные равными нулю, получим новое базисное решение:

Х4 = (х14 = 6, х24 = 4, х34 = 0, х44 = 0, х54 = 1, х64 = 3).

Полученное на четвертой итерации решение соответствует вершине D на рис 16.

Шаг 44. Выразим целевую функцию через неосновные переменные и определим ее значение при данном базисном решении:

F = 2x1+3х2 = 2 (6 + 1/5 х3 – 3/5 х4)+3 (4 – 2/5 х3 +1/5 х4) = 24 – 4/5 х3 – 3/5 х4 = 24.

Шаг 54. Используя критерий оптимальности, приходим к выводу, что на этот раз он выполняется и что исследуемое базисное решение является оптимальным.

Рассмотренный пример показывает, что за несколько итераций, каждая из которых содержит определенное число шагов, в задаче линейного программирования может быть найдено оптимальное решение. Существенно, что количество итераций меньше числа узлов в области допустимых решений. В нашем примере, мы пропустили не оптимальные узлы G и E в многоугольнике решений на рис 16.

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

Для использования приведенной выше процедуры симплекс-метода при минимизации целевой функции F(X) следует искать максимум функции F1(X) = - F(X), затем полученный максимум взять с противоположным знаком. Это и будет искомый минимум исходной ЗЛП.

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