Задач линейного программирования


 

Перепишем основную задачу линейного программирования в векторной форме: найти максимум функции

 

F=CX (5.5)

 

при условиях:

x1P1+x2P2+ ... +xnPn = P0 (5.6)

 

Х ³ 0 (5.7)

 

где C = (с1, с2, ..., сn), Х = (х1, х2, ..., хn); СХ - скалярное произведение; Р1, Р2, ..., Рn и Р0 - m-мерные вектор-столбцы, составленные из коэффициентов при неизвестных и свободных членах системы уравнений задачи.

 

 

þ План X = (х1, х2, ..., хn) называется опорным планом основной задачи линейного программирования, если система векторов Pj, входящих в разложение (5.6) с положительными коэффициентами xj, линейно независима.

 

Непустое множество планов основной задачи линейного программирования образует выпуклый многогранник. Каждая вершина этого многогранника определяет опорный план. В одной из вершин многогранника решений (т.е. для одного из опорных планов) значение целевой функции является максимальным (при условии, что функция ограничена сверху на множестве планов). Если максимальное значение функция принимает более чем в одной вершине, то это же значение она принимает в любой точке, являющейся выпуклой линейной комбинацией данных вершин.

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

 

F=c1x1 + с2х2 (5.8)

 

при условиях:

ai1x1+ai2x2 £ bi (i=1, k) (5.9)

 

xj ³ 0 (i=1,2) (5.10)

 

Каждое из неравенств (5.9), (5.10) системы ограничений задачи геометрически определяет полуплоскость соответственно с граничными прямыми ai1+ai2=bi (i=1, k), x1=0 и x2=0. В этом случае, если система неравенств (5.9), (5.10) совместна, область ее решений есть множество точек, принадлежащих всем указанным полуплоскостям.

 

þ Так как множество точек пересечения данных полуплоскостей выпуклое, то областью допустимых решений (ОДР) задачи (5.8)-(5.10) является выпуклое множество, которое называется многоугольником решений. Стороны этого многоугольника лежат на прямых, уравнения которых получаются из исходной системы ограничений заменой знаков неравенств на знаки точных равенств.

 

Таким образом, исходная задача линейного программирования состоит в нахождении такой точки области допустимых решений, в которой целевая функция F принимает максимальное значение. Эта точка существует тогда, когда многоугольник решений не пуст и на нем целевая функция ограничена сверху. При указанных условиях в одной из вершин ОДР целевая функция принимает максимальное значение. Для определения данной вершины построим линию уровня c1x1+c2x2=h (где h - некоторая постоянная), проходящую через ОДР, и будем ее передвигать в направлении вектора C=(с1; с2) до тех пор, пока она не пройдет через последнюю ее общую точку с многоугольником ОДР. Координаты указанной точки и определяю оптимальный план данной задачи.

При нахождении решения задачи могут встретиться случаи, изображенные на рис. 5.1-5.4. Рис. 5.1 характеризует такой случай, когда целевая функция принимает максимальное значение в единственной точке А. Из рис. 5.2 видно, что максимальное значение целевая функция принимает в любой точке отрезка АВ. На рис. 5.3 изображен случай, когда целевая функция не ограничена сверху на множестве допустимых решений, а на рис. 5.4 - случай, когда система ограничений задачи несовместна.

Oтметим, что нахождение минимального значения линейной функции при данной системе ограничений отличается от нахождения ее максимального значения при тex же ограничениях лишь тем, что линия уровня c1x1+c2x2=h передвигается не в направлении вектора С, а в противоположном направлении.

 

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

 

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

 

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

 

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

 

Из рисунков можно сделать вывод, что вершина, координаты которой являются оптимальным решением, определяются углом наклона прямой, описывающей целевую функцию. Значит, каждая вершина будет соответствовать оптимальному решению для некоторой целевой функции. Итак, нахождение решения задачи линейного программирования (5.8)-(5.10) на основе ее геометрической интерпретации включает следующие этапы.

 

этапы нахождения решения задачи линейного программирования:

 

À Строят прямые, уравнения которых получаются в результате замены в ограничениях (5.9) и (5.10) знаков неравенств на знаки точных равенств.

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

 Находят многоугольник решений (ОДР).

à Строят вектор C=(с1; с2).

Ä Строят прямую c1x1+c2x2=h, проходящую через многоугольник решений.

Å Передвигают прямую c1x1+c2x2=h в направлении вектора С, в результате чего-либо находят точку (точки), в которой целевая функция принимает максимальное значение, либо устанавливают неограниченность сверху функции на множестве планов.

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

 



Дата добавления: 2021-09-25; просмотров: 334;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.