Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс МП для ПФ41.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
4.21 Mб
Скачать

8. Пример использования симплекс-метода для решения задачи линейного программирования

Рассмотрим конкретную задачу. Ее целевая функция имеет вид:

F = 2 х1 + З х2 → max

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

х 1 + З х 2 ≤ 18

2 х 1 + х 2 ≤ 16

х 2 ≤ 5

З х 1 ≤ 21

прямые ограничения заданы неравенствами: х 1 ≥ 0, х 2 >0

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

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

х 1 + 3 х 2 + х 3 = 18

2 х 1 + х 2 + х 4 = 16

х 2 + х 5 = 5

3 х 1 + х 6 = 21

Все дополнительные переменные введены со знаком «+», т. к. рассматриваемые неравенства имеют знак « ≤ ». Для нахождения первоначального базисного решения разобьем переменные на две группы: основные и неосновные. Базисным решением системы m линейных уравнений с n переменными называют решение, в котором все (n-m) неосновных переменных равны нулю. В качестве основных переменных на первом шаге нужно выбрать такие переменные, каждая из которых входит только в одно уравнение системы ограничений, и при этом нет таких уравнений системы, в которые не входит ни одна из этих переменных. Количество основных переменных равно m. Если выбранные по этому правилу переменные имеют те же знаки, что и соответствующие им свободные члены в правых частях уравнений, то полученное таким образом базисное решение будет допустимым.

Шаг 1. Определим состав основных и неосновных переменных. В соответствии с вышеизложенным правилом:

  • основные переменные: хз, x4, х5, х6;

  • неосновные переменные: x1, x2.

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

х3=18- x1- 3х2 ;

х4=16-2 x12 ;

х5=5-х2;

х6=21-3 х 1.

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

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

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

F1=2x1+3x2=0.

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

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

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

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

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

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

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

х3=18 - х1 - 3х2 ≥ 0 х2 ≤ 18/3

х4=16 - 2х1 - х2 ≥ 0 х2 ≤ 16 (1.1)

х5=5 - х2 ≥ 0 х2 ≤ 5

х6=21 - 3х1 ≥ 0 х2 — любое число

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

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

x2=min{18/3; 16; 5; ∞} = 5.

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

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

  • основные переменные — x23,x4,x6;

  • неосновные переменные — x15.

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

х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

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

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

Шаг 4. Выразим целевую функцию через неосновные переменные, воспользовавшись соотношением из разрешающего уравнения, и определим ее значение при данном базисном решении:

F2=2x1+3x2=2x1+3(5-x5) = 2x1+15-3x5=15.

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

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

х2=5 - х5 ≥ 0 х1 — любое число

х3=3 - х1 + 3х5 ≥ 0 х1 ≤ 3

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

х6=21 - 3х1 ≥ 0 х1 ≤ 21/3

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

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

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

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

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

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

х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) = 21 – 9 + 3х3 - 9 х5 х6=12+3х3-9х5

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

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

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

F3 = 2x1 + 3x2=2(3 - х3 + 3x5) + 3(5 - x5) = 21 - 2x3 + 3x5 = 21.

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

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

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

х1=3 - х3 + 3х5 ≥ 0 х5 ≥ -1

х2 =5 - х5 ≥ 0 х5 ≤ 5

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

х6= 12+3 х3-9 х5 ≥0 х5 ≤ 12/9

x5=min{0,5,5/5,12/9}=l

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

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

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

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

Шаг 2. Выразим основные переменные через неосновные. Воспользовавшись разрешающим уравнением х4=5+2х3-5х5,

получаем:

х5= 1+2/5х3-1/5x4

x1=3-x3+3(1+2/5х3-1/5х4)

х2=5-1-2/5х3+1/5x4

х6= 12+Зх3-9( 1 +2/5х3-1 /5х4)

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

x1=6+l/5x3-3/5x4

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

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

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

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

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

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

F4=2x1+3x2=2(6+l/5x3-3/5x4) + 3(4-2/5x3+l/5x4)=24-4/5x3-3/5x4=24

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

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