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

Математика. Часть 2-1

.pdf
Скачиваний:
0
Добавлен:
28.12.2025
Размер:
1.69 Mб
Скачать

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

4.7.1. Общая форма задачи линейного программирования

Задана система m линейных ограничений с n переменными:

a11 x1 a12 x2 ... a1n xn ( )b1 ,

a21 x1 a22 x2 ... a2n xn ( )b2 ,

…………………………………,

ak1 x1 ak 2 x2 ... akn xn ( )bk ,

ak 1,1 x1 ak 1, 2 x2 ... ak 1,n xn ( )bk 1 ,

ak 2,1 x1 ak 2, 2 x2 ... ak 2,n xn ( )bk 2 ,

…………………………………,

am1 x1 am2 x2 ... amn xn ( )bm ,

где x1 0 , x2 0 ,…, xn 0 ,

а линейная функция Z c1 x1 c2 x2 ... cn xn max (min) .

Необходимо найти переменные x1 , x2 ,...,xn , которые удовлетворяют системе ограничений и приводят целевую функцию к максимальному или минимальному значению.

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

4.7.2. Стандартная или симметричная форма задачи линейного программирования

Задача линейного программирования, представленная в форме:

a11 x1 a12 x2 ... a1n xn ( )b1 ,

a21 x1 a22 x2 ... a2n xn ( )b2 ,

…………………………………,

41

 

am1 x1

am2 x2

... amn xn ( )bm ,

где x1 0 , x2

0 ,…, xn 0 ,

 

 

а линейная

функция

Z c1 x1

c2 x2 ... cn xn max (min) , называется

стандартной формой задачи линейного программирования.

Особенность данной формы состоит в том, что в ней система ограничений состоит из одних неравенств, переменные решения являются неотрицательными, а

целевая функция может стремиться как к максимуму, так и минимуму.

4.7.3. Каноническая форма задачи линейного программирования

Форма, в которой Z c1 x1 c2 x2 ... cn xn max ,

a11 x1 a12 x2 ... a1n xn b1 ,

a21 x1 a22 x2 ... a2n xn b2 ,

..……………………………, am1 x1 am2 x2 ... amn xn bm ,

все переменные неотрицательные: x1 0 , x2 0 ,…, xn 0 , система ограничений представляет собой систему, а целевая функция может стремиться к максимуму,

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

Указанные выше три формы записи ЗЛП эквивалентны в том смысле, что каждая из них с помощью несложных преобразований может быть сведена к другой форме, т.е. если имеется способ нахождения оптимального решения задачи в одной из указанных форм, то тем самым может быть определен оптимальный план задачи в любой другой форме (говорят о страте6гической эквивалентности задачи в любой из форм).

Так, при необходимости задачу минимизации можно заменить задачей максимизации, и наоборот. Очевидно, что минимальное значение функции z(x)

равно максимальному значению функции z(x) , взятому с противоположным знаком, т.е.

42

min z(x) max( z(x)).

Неравенство типа путем умножения левых и правых частей на –1 можно превратить в неравенство типа , и наоборот. Ограничения-неравенства

 

 

 

 

 

 

 

 

 

 

 

 

a

x a

 

x

 

... a

 

x

 

 

 

i 2

2

in

n

 

b

 

i1 1

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

преобразуются в ограничения-равенства путем прибавления (вычитания) к левым частям дополнительных (балансовых неотрицательных переменных xn 1 0 :

a

x a

 

x

 

... a

 

x

 

 

b

 

 

 

x

n 1

 

i1 1

i 2

 

2

 

in

 

n

i

В случае необходимости ограничение-равенство ai1 x1 ai 2 x2 ... ain xn bi

можно записать в виде системы неравенств

ai1 x1 ai 2 x2 ... ain xn bi , ai1 x1 ai 2 x2 ... ain xn bi .

Если в ЗЛП какая-то переменная xk не подчинена условию неотрицательности, ее заменяют разностью двух других неотрицательных переменных xk' 0 и xk'' 0 :

xk xk' xk'' .

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

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

4.8. Графический метод решения задачи линейного программирования

Рассмотрим графический метод решения ЗЛП в стандартной форме с двумя

переменными, т.е. задачи вида:

Найти вектор x1 , x2 T , удовлетворяющий системе ограничений:

43

a

 

x

a

 

 

x

 

 

b ,

 

11

1

12

 

 

2

 

1

a

21

x

a

22

x

2

 

b ,

 

 

1

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

x

a

m

2

x

2

b

 

 

m1 1

 

 

 

 

 

m

 

 

x1 0 ,

x2 0 ,

 

 

для которого функция цели Z c1 x1 c2 x2

достигает максимума.

 

 

Графический метод решения ЗЛП условно можно разбить на два этапа:

1. Построение области допустимых решений (ОДР) ЗЛП.

 

 

2. Нахождение

среди всех точек

ОДР такой точки x* , x* T ,

в которой

 

 

 

1

2

 

целевая функция Z .

 

 

 

Перейдем к рассмотрению этих этапов.

 

 

 

 

ЭТАП 1

 

 

4.8.1. Геометрическая интерпретация множества решений

линейного

 

 

неравенства

 

 

Рассмотрим неравенство:

 

 

 

 

 

a1 x1 a2 x2 b .

 

 

Известно,

что

точки, координаты которых удовлетворяют

уравнению

a1 x1 a2 x2 b ,

лежат

на прямой. Назовем эту прямую граничной.

Граничная

прямая разбивает плоскость на две полуплоскости. Координаты точек одной полуплоскости удовлетворяют исходному неравенству a1 x1 a2 x2 b , а другой полуплоскости – неравенству a1 x1 a2 x2 b . Следовательно, геометрической интерпретацией множества решений линейного неравенства является полуплоскость, лежащая по одну сторону от граничной прямой, включая прямую.

Чтобы определить искомую полуплоскость, нужно взять какую-либо точку,

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

44

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

случае – другая полуплоскость.

 

 

 

Например, геометрической

интерпретацией

решений

неравенства

2x1 3x2 6 является полуплоскость, изображенная

на рис. 8.1.

стрелками.

Покажем это.

 

 

 

X 2

 

 

 

 

 

2x1

3x2 6

 

 

 

 

 

 

 

 

 

 

 

 

O

X 1

 

Рис. 8.1. Геометрическая интерпретация решений линейного неравенства

Прежде всего, в неравенстве 2x1 3x2 6 заменим знак неравенства на знак равенства и построим соответствующую прямую 2x1 3x2 6 . Эта прямая делит плоскость на две полуплоскости. Так как точка O (0,0) удовлетворяет неравенству

2x1 3x2 6 , то областью решения данного неравенства является полуплоскость,

которой принадлежит эта точка.

4.8.2. Геометрическая интерпретация множества решений линейного неравенства

Пусть дана система линейных неравенств с двумя неизвестными:

a11 x1 a12 x2 b1 ,a21 x1 a22 x2 b2 ,

am1 x1 am 2 x2 bm

45

Общая часть (пересечение) всех полуплоскостей, соответствующих всем неравенствам, будет представлять собой ОДР системы линейных неравенств.

Возможные случаи области допустимых решений.

На рис. 8.2 представлены возможные ситуации, когда ОДР ЗЛП – выпуклый многоугольник (а), неограниченная выпуклая многоугольная область (б),

единственная точка (в), пустое множество (г), прямая линия (д), луч (е), отрезок (ж).

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O

X

O

X 1

 

 

1

 

 

а)

 

б)

 

 

 

X 2

 

 

X 2

O

X 1

O

X 1

 

в)

 

г)

X

2

X

2

X

2

 

 

 

 

 

 

 

 

B

 

 

 

 

O

 

 

 

 

X

O

X 1

OA

X 1

A1

 

 

д)

 

е)

ж)

Рис. 4.8.2. Возможные случаи ОДР

46

Например, при построении ОДР системы линейных неравенств:

3x1

5x2

15,

 

 

x2

2,

2x1

 

x1

 

4,

 

 

 

x

0;

x

2

0

 

1

 

 

 

в

неравенствах системы и

условиях неотрицательности

переменных

x1 0;

x2 0 знаки неравенств заменим на знаки равенств:

 

 

3x1 5x2

15,

(4.8.1)

 

2x1 x2

2

,

(4.8.2)

 

 

 

 

 

 

 

x1

4

,

(4.8.3)

 

 

 

 

 

x1

0 (ось OX 2 ),

(4.8.4)

 

x2

0 (ось OX 1 ).

(4.8.5)

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

Итак, ОДР системы линейных неравенств является выпуклый многоугольник

ABCDE (рис.4.8.3).

X 2

C

B

D

O A

E

X 1

Рис. 4.8.3. Область допустимых решений системы линейных неравенств

47

ЭТАП 2

Теперь предположим, что ОДР найдена. Перейдем к следующему этапу графического метода решения ЗЛП. Покажем, как среди всех точек ОРД найти такую точку, в которой функция цели имеет максимальное значение. Для этого рассмотрим функцию цели:

Z c1 x1 c2 x2 .

Из курса высшей математики известно, что уравнение Z c1 x1 c2 x2 при фиксированном значении Z определяет прямую, а при изменении Z – семейство параллельных прямых. Для всех точек, лежащих на одной из прямых, функция Z

принимает одно и то же значение, поэтому указанные прямые называются линиями уровня для функции Z .

 

 

 

z

 

z

 

 

 

 

 

 

Вектор

c

;

 

называется градиентом функции Z . Он

 

X 2

 

 

 

x1

 

 

перпендикулярен линиям уровня и показывает направление наибольшего

возрастания функции Z . Так как

z

c ,

z

 

c

 

, то

 

c ; c

.

 

 

gradZ

x

X

 

 

 

 

1

2

 

2

 

1

2

 

 

1

 

 

 

 

 

 

 

 

 

 

Изобразим на одном чертеже

ОДР,

градиент

и одну из

линий уровня,

(например, c1 x1 c2 x2 0 ) и будем перемещать линию уровня по ОДР параллельно

самой себе в направлении вектора gradZ до тех пор, пока она не пройдет через

последнюю (крайнюю) ее общую точку с ОДР. Координаты этой точки и являются оптимальным решением данной задачи. Будем обозначать оптимальное решение

X * , а координаты оптимального решения (плана)

x* , x* . Подставив координаты x*

 

 

 

 

 

 

1

2

1

и

x* в функцию Z , получим Z

max

c x* c

x*

. Пусть, например, выпуклый

 

2

 

1 1

2

2

 

 

многоугольник ABMCD , является ОДР,

а

расположен так,

как изображено на

рис. 4.8.4. Тогда Z принимает максимальное значение в точке M .

48

X 2

 

B

 

 

 

M

c1 x1 c2 x2 0

D

C

 

 

 

gradZ

 

O

 

X 1

 

 

Рис. 4.8.4. Функция Z принимает максимальное значение в точке M .

4.9. Симплекс-метод. Понятие о методе искусственного базиса

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

и нахождения оптимального решения (плана).

Применяется при решении задач линейного программирования, заданных в канонической форме:

n

L c j x j max (min) ,

j 1

 

 

 

 

n

 

i

 

,

aij x j

bi

1, m

j 1

 

 

 

 

x j 0 j 1, n .

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

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

49

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

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

1 (чтобы все свободные члены были неотрицательными).

Последнюю строку, которую назовем индексной, заполняем коэффициентами целевой функции, представленной в виде уравнения

 

L( X ) c1 x1 c2 x2 ... cn xn

c0 ,

где c0 – свободный член L(X ) .

 

 

 

 

 

Вместо L( X ) c0 записываем в первом блоке только c0 , а в последующих

блоках – результаты вычислений.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

x2

 

xn

 

Св. член

 

 

a11

a12

 

a1n

 

b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

am1

am 2

 

amn

 

bm

 

 

c1

c2

 

cn

 

c0

 

Каждая итерация, т.е. переход от одного блока таблицы к другому осуществляется известными элементарными преобразования Жордано-Гаусса для строк. Они сводятся к следующим действиям:

1.Выбирают p -й разрешающий столбец из условия, что cp 0 (в задаче на максимум) и хотя бы один элемент в нем aip 0 .

 

 

bq

b

 

2. Выбирают

q -ю разрешающую строку из условия

 

min

i

 

для

 

 

 

 

aqp

aip

 

aip 0 .

 

 

 

 

 

 

50