Математика. Часть 2-1
.pdfмогут представлять собой только суммы произведений постоянных коэффициентов на переменные решения.
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 |
|
|
|
|
|
|
