Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Исследование операций. Линейное программирование. Методическое пособие для студентов экономических специальностей

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
477 Кб
Скачать

Запишем задачу линейного программирования с двумя переменными:

целевая функция:

z c1x1 c2 x2

(1.3.1)

ограничения:

 

 

 

;

(1.3.2)

 

 

.

 

(1.3.3)

Каждое

из

неравенств

(1.3.2)

системы

ограничений

задачи

геометрически

определяет

полуплоскость,

соответственно ограниченную прямой

; ; ограничения (3.3) «вырезают» первый координатный угол,. На котором и рассматривается многоугольник решений.

В том случае, если система неравенств (1.3.1) – (1.3.3) совместна, она представляет выпуклый многоугольник решений – множество точек,

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

Если две любые точки многоугольника соединить отрезком, и такой отрезок целиком будет принадлежать данному многоугольнику, то такой многоугольник называется выпуклым. Если многоугольник решений не является выпуклым, то система ограничений (1.3.2) – (1.3.3) не совместна, то есть не имеет решений. Смысл данного абзаца закрепляется следующей теоремой:

Теорема. Множество всех решений системы m неравенств с n неизвестными

11

a x a x

 

 

...

 

a

 

x

 

 

b

 

 

 

11 1

 

12

 

2

 

 

 

 

 

1n

 

n

 

1

 

 

a21 x1 a22 x2 ...

 

a2n xn b2

 

 

.......... .......... .......... .......... ........

 

 

 

 

ak 2 x2

 

akn xn bk

 

 

ak1 x1

 

 

 

 

a

k 1,1

x a

 

1,2

x

 

 

... a

k 1,n

x

 

b

 

 

1

 

k

 

2

 

 

 

 

 

 

 

n

k 1

..........

 

 

..........

 

 

 

..........

 

 

 

 

..........

 

 

 

 

 

........

 

 

 

 

x

 

a

 

 

x

 

 

 

a

 

 

 

x

 

b

 

a

 

m2

2

...

mn

n

 

 

m1 1

 

 

 

 

 

 

 

 

 

 

m

 

является выпуклым многоугольником или выпуклой многоугольной областью.

Областью допустимых решений системы неравенств (1.3.1) – (1.3.3) может быть:

выпуклый многоугольник;

выпуклая многоугольная неограниченная

область;

пустая область (пустое множество решений);

луч;

отрезок;

единственная точка.

Целевая функция (1.3.1) определяет на плоскости семейство параллельных прямых, каждой из которых соответствует определенное значений Z.

Вектор С (с1;с2 ) с координатами с2 и с1,

перпендикулярный к этим прямым, указывает направление наискорейшего возрастания Z, а противоположный вектор – направление убывания Z.

Если в одной и той же системе координат изобразить область допустимых решений системы неравенств (1.3.2) – (1.3.3) и семейство параллельных прямых (1.3.1), то задача определения максимума функции Z сведется к нахождению в допустимой области точки, через которую проходит прямая из семейства Z = const, и которая соответствует

12

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

Для определения данной вершины построим

линию уровня

, проходящую через

начало координат и

перпендикулярную вектору,

С (с1;с2 ) и будем передвигать ее в направлении вектора С (с1;с2 ) до тех пор, пока она не коснется

последней крайней (угловой) точки многоугольника решений. Координаты указанной точки и определяет оптимальный план данной задачи.

Алгоритм решения задачи линейного программирования (1.3.1) – (1.3.3) на основе ее геометрической интерпретации состоит в следующем:

1.Построить прямые, уравнения которых получаются в результате замены в ограничениях (1.3.2)

(1.3.3) знаков неравенств на знаки равенств.

2.Найти полуплоскости, определяемые каждым из ограничений.

3.Определить многоугольник решений.

4.Построить вектор С (с1;с2 ) .

5.Построить прямую , проходящую через начало координат и перпен-

дикулярную вектору С (с1;с2 ) .

6.Передвигать прямую Z в направлении вектора

С(с1;с2 ) , в результате чего либо находят точку

(точки), в которой функция принимает максимальное значение, либо устанавливают неограниченность функции сверху на множестве планов.

13

7. Определить точки координаты максимума функции и вычислить значение целевой функции в этой точке.

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

Zследует в противоположном направлении вектору

С(с1;с2 ) , либо устанавливается неограниченность

функции снизу на множестве планов.

Пример. Рассмотрим решение задачи об ассортименте продукции (пример пункта 1.2) геометрическим способом.

Решение

Построим многоугольник решений (рис. 3.1). Для этого в системе координат X10X2 на плоскости

изобразим граничные прямые:

 

2х1 + 3х2 = 9

(L1);

3х1 + 2х2 = 13

(L2);

х1 - х2 = 1

(L3);

х2 = 2

(L4).

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

OABCD.

Для построения прямой Z = 3х1 + 4х2 = 0 строим

вектор-градиент и через точку 0 проводим прямую, перпендикулярную ему. Построенную прямую Z = 0 перемещаем параллельно самой себе в

направлении вектора .

Из рисунка следует, что по отношению к многоугольнику решений опорной эта прямая становится в

14

точке C, где функция принимает максимальное значение. Точка С лежит на пересечении прямых L1 и L3. Для определения ее координат решим систему уравнений:

Оптимальный план задачи х1=2,4; х2=1,4. Подставляя значения х1 и х2 в линейную функцию, получим:

.

Полученное решение означает, что объем производства продукции П1 должен быть равен 2,4 ед., а продукции П2 – 1,4 ед. Доход, получаемый в этом случае, составит: Z = 12,8 д.е.

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

15

Тема 2. Симплексный метод. Симплекс-метод с искусственным базисом. (М-метод)

Рассматривается алгоритм симплексного метода, его модификация на случай недостатка базисных переменных – метод искусственного базиса.

2.1. Алгоритм симплекс-метода

Симплексный метод – это метод последовательного улучшения плана. Этим методом можно решать задачи линейного программирования с любым количеством переменных и ограничений.

Этот метод включает в себя три основных этапа:

1)Построение начального опорного плана.

2)Правило перехода к лучшему (точнее, нехудшему) решению.

3)Критерий проверки найденного решения на оптимальность.

При симплексном методе выполняются вычислительные процедуры (итерации) одного и того же типа

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

1)Построение начального опорного плана. Решаемую модель задачи линейного программи-

рования необходимо сначала привести к каноническому виду; при этом правые части ограничений должны быть неотрицательными.

Признаком возможности построения начального опорного плана служит наличие в каждом ограниченииравенстве с неотрицательной правой частью базисной переменной.

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

16

входит), и при этом имеет коэффициент, равный единице.

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

Пример. Для данной задачи линейного программирования найти начальный опорный план (базисное решение).

Z 2x1 10x2 4х3 6х4 max

3x1 x2 2х4 16

x1 2x2 х3 2х4 4x2 3х3 х4 0

x j 0, j 1,4

Решение. Изменим знаки второго и третьего неравенств на противоположные, умножив каждое из них на –1. Система ограничений теперь будет такой:

 

3x1 x2 2x4 16

 

 

 

 

 

 

 

2x4 4

 

x1 2x2 x3

 

 

 

 

 

 

 

0

 

x 3x x

 

 

 

2

3

 

4

 

 

 

В каждом ограничении слева добавим

положительную переменную

 

x5 , x6 , x7 , соответственно

запишем канонический вид задачи:

Z 2x1

10x2 4х3

6х4 max

3x1 x2 2x4 x5 16

 

 

 

2x2 x3 2x4 x6 4

x1

 

x

 

3x x

 

x 0

 

2

4

 

 

3

 

 

7

 

 

 

 

x j

0;

 

j 1,7 .

17

Переменные x5 , x6 , x7 базисные. Приравниваем их к правым частям ограничений: x5 16; x6 4; x7 0. Все остальные переменные – свободные, приравниваем их к нулю: x1 x2 x3 x4 0.

Запишем теперь начальный опорный план

X опор x1, x2 , x3 , x4 , x5 , x6 , x7 (0; 0; 0; 0; 16; 4; 0).

2) Составление симплексных таблиц. Критерий оптимальности.

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

Базис

cб

В

c1

c2

cn

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

і

 

x1

x2

xn

 

 

 

 

 

 

 

 

xб

 

сб

 

b

a

 

a

 

a

 

 

 

1

1

1

11

12

 

1n

 

 

xб

2

сб

2

b

a

21

a

22

a

2n

 

 

 

 

2

 

 

 

 

 

 

 

 

xб

сб

 

b

a

m1

a

m 2

a

mn

 

 

 

m

m

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j j c j

0

1

2

n

 

 

Здесь приняты следующие обозначения. Столбец «Базис» – это базисные переменные.

Столбец « cбі » – это коэффициенты при базис-

ных переменных в целевой функции.

Столбец «В» – правые части ограничений;

aij – коэффициенты при переменных в ограни-

чениях;

c j – коэффициенты при переменных в целевой функции.

18

Последняя строка в таблице ( j j c j ) – это

проверочная или оценочная строка.

0 – значение целевой функции, соответствующее построенному начальному плану. Его находят так: каждый элемент столбца cбі умножают на

соответствующий элемент столбца В и произведения складывают, т.е.

0 cб1b1 cб2 b2 ... cбm bm .

j – называют оценками или симплексными разностями и находят так: элементы столбца cбі умножают на соответствующие элементы столбца x j , складывают результаты и вычитают c j .

Например,

2 cб1а12 cб2 a22 ... cбm am2 c2 .

Оценки ( j ) базисных переменных всегда равны

нулю.

Признак оптимальности опорного плана

состоит в следующем:

Опорный план будет оптимальным тогда и только тогда, когда все оценки

j 0 для задачи на max и

j 0 для задачи на min.

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

Переменная, которую нужно ввести в базис, соответствует той оценке j , которая не удовлетворяет

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

19

базис. Столбец с этой переменной называют

разрешающим.

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

 

 

 

bi

. Выбирают из

 

 

наименьшее. Оно называет ту

i

a

i

 

 

 

 

 

 

 

 

 

 

 

 

переменную, которую нужно ввести в базис. Соответствующая строка таблицы называется

разрешающей.

На пересечении разрешающего столбца и разрешающей строки находится разрешающий элемент.

Теперь начинаем заполнять следующую таблицу. Покажем этот процесс на конкретном примере.

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

F 2x1 3x2 max

x1 3x2 182 x1 x2 16x2 5

3x1 21

x1 0; x2 0

Решение. 1) Приводим задачу к каноническому виду, т.е. из ограничений неравенств делаем равенства.

F 2x1 3x2 max

x1 3x2 x3 18

 

 

x4 16

2x1 x2

 

x5 5

x2

 

 

21

 

 

3x1 x6

xj

0;

j 1,6

2)Определяем базисные переменные – это x3 , x4 , x5 , x6 .

3)Заполняем первую таблицу

20

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