Геометрический способ решения задачи в случае 2 переменных

 

Для линейных уравнений геометрическим образом его является прямая линия на плоскости в случае двух переменных. Ее уравнение можно записать в виде y=ax +b,  где a- тангенс угла наклона прямой, а b- отрезок, отсекаемый на оси y. Прямая делит плоскость на 2 полуплоскости. Рассмотрим какая зависимость между ординатами у1,y,у2, точек М1,м,М2, расположенных над прямой, на прямой и под прямой для одного и того же х. Видно, что для всех точек полуплоскости, расположенной над прямой у1>у, а для всех точек полуплоскости под прямой у2< у, таком образом полуплоскости задаются неравенствами у> ax+b  и y<ax+b.Если считать прямую принадлежащей полуплоскости, то получим неравенства  y>=ax+b и y<=ax+b.

Смотри рисунок 1.

 Рисунок 1. Графическое представление

 

В общем случае уравнение прямой записывается в виде ax+by+c=0. Тогда точки полуплоскостей, получающихся в результате рассечения плоскости прямой описываются неравенствами

                         ax1+bx2+c>=0

                         ax1+bx2+c<=0,

где обозначение у заменено на х2, а х на х1.

Координаты точек, удовлетворяющие заданному неравенству являются решением неравенства. В случае системы из m неравенств из двух неизвестных каждое неравенство определяет некоторую полуплоскость. Так как полуплоскость вместе со своими двумя точками А и В содержит и весь отрезок АВ, то она является выпуклой фигурой. Фигура, состоящая из всех точек, каждая их которых принадлежит всем данным фигурам называется пересечением и в геометрии доказано, что пересечение выпуклых фигур является выпуклой фигурой-многоугольником, который и определяет область допустимых решений системы неравенств. В нашем примере условия неотрицательности ограничивают область первым квадрантом. Другие границы пространства решений изображаются на плоскости прямыми линиями, построенными по уравнениям, которые получаются при замене знаков неравенства на равенство. Области, в которых выполняются соответствующие ограничения в виде неравенств указываются стрелками, направленными в сторону допустимых значений. Геометрическая суть решения сводится к поиску среди множества линий Z=C1+C2 такой, которая бы соответствовала бы наибольшему значению Z  и проходила бы через прямоугольник OABC. Чтобы сформулировать правило решения задачи геометрическим способом введем понятие опорной прямой и прямой уровня. Опорной прямой называется прямой, которая имеет с многоугольником решений хотя бы одну общую точку, а все остальные точки многоугольника лежат по одну сторону от нее. Прямой уровня называется прямая, для которой функция Z приобретает одинаковое значение. Вершины многоугольника, через которые проходят опорные прямые, будут искомыми точками. Если задавать Z разные значения, мы получим семейство прямых уровня. Если С1>0 и C2>0 то линия уровня С1x12x2 =0 пройдет через начало координат. Будем перемещать ее параллельно самой себе и следить в какой точке она последней покинет многоугольник. Эта точка ( или линия) и будет оптимальным решением задачи. Смотри рисунок.2.

 

Рисунок 2. Графический способ нахождения решения

 

В нашем примере для нахождения значений х1 и х2 в точке В нужно решить систему из двух уравнений пересекающихся линий, т.е.

1+4х2=1700

1+5х2=1600

Вектор с компонентами dZ/dx1,dZ/dx2 (2,4) указывает направление возрастания функции Z, он перпендикулярен линиям уровня и направлен в сторону, противоположную началу координат, так как угловой коэффициент вектора n с координатами (с12) к221, а угловой коэффициент функции Z равен к1=-с12 и следовательно линии уровня Z и вектора n перпендикулярны.

Два свойства решения для двумерного случая сохраняются и при переходе к m-мерному случаю:

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

2)    оптимальное решение всегда достигается в вершинах или на гранях допустимой области.

 

Таким образом, можно сформулировать алгоритм геометрического решения

 1.Строим многоугольник решений системы ограничений.

2.Стрoим одну из прямых уровня для произвольного Z  и вектора n(c1,c2).

3.Находим опорные прямые, параллельные прямой уровня.

4.Находим координаты х12 точек, через которые проходят линии уровня.

5.Находим в этой точке Z.

В общем случае задача линейного программирования состоит в максимизации или минимизации линейной формы  Z=c1x1+c2x2+...cnxn   от n переменных, удовлетворяющих системе  m ограничений

a11x1+a12x2+...a1nxn<=b1

a21x1+a22x2+...a2nxN<=b2

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

am1x1+am2x2+...amnxn<=bm

 и ограничениям положительности

x1>=0, x2>=0, .....xn>=0. В векторном представлении это можно записать в виде

Z=CTX0,X0>=0,A0X0<=(=,>=)b.

 Для решения задачу необходимо привести к стандартному виду

1)целевая функция минимизируется

2)все ограничения должны быть записаны в виде равенств с неотрицательными переменными( т.е. все знаки <= заменить на =) и все переменные должны быть >=0.

x1,x2,...xn>=0

 Привести произвольную задачу к стандартному виду можно используя следующие правила:

Для ограничений

1)когда неравенство<=0, то вводится дополнительная переменная

х12<=0  ->  х123=0

2)если неравенство >=0, то вводим дополнительную переменную с минусом

х12>=0  ->  х123=0

3)для получения неотрицательных переменных обе части неравенства можно умножить

на -1

4)при этом направление знака неравенства меняется на противоположное.

Для переменных

Чтобы х>= 0 было делают замену переменных xi=xi'-xi'', при этом xi',xi''>=0.

Подстановка делается во все ограничения и в целевую функцию.

Для целевой функции

1) max F= min(-F)

Пример   z=2x1+4x2

         3x1+4x2<=1700

         2x1+5x2<=1600

Будем минимизировать Z=-2x1-4x2 с измененной системой согласно указанных выше правил

1+4х23=1700

1+5х24=1600

Для решения возникающей системы уравнений можно использовать  симплекс- метод .