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

Краткая теория

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

Графический метод решения задач линейного программирования дает возможность наглядно представить их структуру, выявить особенности и открывает пути исследования более сложных свойств. Задачу линейного программирования с двумя переменными всегда можно решить графически. Однако уже в трехмерном пространстве такое решение усложняется, а в пространствах, размерность которых больше трех, графическое решение, вообще говоря, невозможно. Случай двух переменных не имеет особого практического значения, однако его рассмотрение проясняет свойства ограничений ЗЛП, приводит к идее ее решения, делает геометрически наглядными способы решения и пути их практической реализации.

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

Пример решения задачи

Условие задачи

Предприятие выпускает два вида продукции: Изделие 1 и Изделие 2. На изготовление единицы Изделия 1 требуется затратить кг сырья первого типа, кг сырья второго типа, кг сырья третьего типа. На изготовление единицы Изделия 2 требуется затратить кг первого типа, сырья второго типа, сырья третьего типа. Производство обеспечено сырьем каждого типа в количестве кг, кг, кг соответственно. Рыночная цена единицы Изделия 1 составляет тыс руб., а единицы Изделия 2 - тыс. руб.

Требуется:

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

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

Решение задачи

Построение модели

Через и обозначим количество выпускаемых изделий 1-го и 2-го типа.

Тогда ограничения на ресурсы:

Кроме того, по смыслу задачи

Целевая функция экономико-математической модели, выражающая получаемую от реализации выручку:

Получаем следующую экономико-математическую модель:

Построение области допустимых решений

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

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

Найдем точки, через которые проходят прямые:

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

Для определения полуплоскости возьмём любую точку, например , не принадлежащую прямой (1), подставим координаты (0;0) в соответствующее неравенство. Т.к. неравенство верно:

Области решений соответствующего 1-го неравенства соответствует левая полуплоскость

Возьмём любую точку, например , не принадлежащую прямой (2), подставим координаты (0;0) в соответствующее неравенство. Т.к. неравенство верно:

Возьмём любую точку, например , не принадлежащую прямой (3), подставим координаты (0;0) в соответствующее неравенство. Т.к. неравенство верно:

Области решений соответствующего 2-го неравенства соответствует левая полуплоскость

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

Нахождение решения задачи ЛП

Строим вектор , координаты которого пропорциональны коэффициентам целевой функции. Здесь - коэффициент пропорциональности.

Перпендикулярно к построенному вектору проводим линию уровня .

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

Ответ

Таким образом необходимо выпускать 56 изделий 1-го вида и 64 изделия 2-го вида. При этом выручка от реализации изделий будет максимальна и составит 5104 ден.ед.

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

Транспортная задача и метод потенциалов
Подробно рассмотрена транспортная задача, ее математическая модель и методы решения - нахождение опорного плана методом минимального элемента и поиск оптимального решения методом потенциалов.

Выпуклое программирование - графический метод
Приведен образец решения задачи квадратичного выпуклого программирования графическим методом.

Пример 6.1.

Решение:

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

Воз-можно ее решение геометрическим методом.

1 этап: ( ОДР ).

Рассмотрим первое ограничение, заменим знак неравенства знаком равенства и выразим переменную х2 через х1 :

.

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

2 этап: .

Определим полуплоскости – решения каждого из неравенств.

Рассмотрим первое неравенство системы ограничений задачи. Возьмем какую-либо точку (контрольную точку), не принадлежащую соответствующей данному неравенству прямой, например, точку (0; 0). Подставим ее в рассматриваемое неравенство:

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

Аналогично определяем решения других неравенств и соответственно помечаем их графике. В результате график примет следующий вид:

3 этап: .

Найденные полуплоскости (решения каждого из неравенств системы ограничений) при пересечении образуют многоугольник ABCDEO , который и является ОДР рассматриваемой задачи.

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

4 этап:
Вектор-градиент показывает направление максимизации целевой функции . Определим его координаты: координаты начальной его точки (точки приложения) – (0; 0), координаты второй точки:

Построим данный вектор на графике (рис. 2).

5 этап: .

Рассмотрим целевую функцию данной задачи:

.

Зададим ей какое-либо значение, к примеру, . Выразим переменную х2 через х1 :

.

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

Построим прямую соответствующую целевой функции (рис. 2).

Рис. 2. Построение целевой функции F(X) и вектора-градиента С

6 этап: определение максимума целевой функ-ции .

Перемещая прямую F (X ) параллельно са-мой себе по направлению вектора-градиента, определяем крайнюю точку (точки) ОДР. Согласно графику (рис. 3), такой точкой является точка С ­– точка пересечения прямых I и II .

Рис. 3. Определение точки максимума целевой функции F(X)

Определим координаты точки С, с этой целью, решим сле-дующую систему линейных уравнений:

Подставим найденные координаты в целевую функцию и найдем ее оптимальное (максимальное) значение:

Ответ: при заданных ограничениях макси-мальное значение целевой функции F (Х )=24, которое достигается в точке С, координаты которой х1 =6, х2 =4.


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

Решение:

Этапы 1-3 аналогичны соответствующим этапам предыдущей задачи.
4 этап: построение вектора-градиента.
Построение вектора-градиента осуществляется аналогично, как и в предыдущей задаче. Построим данный вектор на графике (рис. 4). Отметим также на данном графике стрелкой направление, обратное вектору-градиенту, – направление минимизации целевой функцииF (X ).

5 этап: построение прямой целевой функ-ции .

Построение прямой целевой функции F (X ) осуществляется аналогично, как и в предыдущей задаче (результат построения приведен на рис. 4).

Рис. 4. Построение целевой функции F(x) и вектора-градиента С

6 этап: определение оптимума целевой функ-ции .

Перемещая прямую F (x ) параллельно са-мой себе в направлении, обратном вектору-градиенту, опреде-ляем крайнюю точку (точки) ОДР. Согласно графику (рис. 5), та- кой точкой является точка О с координатами (0; 0).

Рис. 5. Определение точки минимума целевой функции

Подставляя координаты точки минимума в целевую функ-цию, определяем ее оптимальное (минимальное) значение, которое равно 0.
Ответ: при заданных ограничениях минимальное значение целевой функции F (Х )=0, которое достигается в точке О (0; 0).


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

Решение:

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

Составим расширенную матрицу и выделим с помощью метода Жордана- Гаусса базисные переменныеx 1 и x 2 .

Умножим (поэлементно) первую строку на –3 и сложим со вто-рой:
.

Умножим вторую строку на :

.

Сложим вторую с первой строкой:

.

В результате система ограничений примет следующий вид:

Выразим базисные переменные через свободные:

Выразим целевую функцию также через свободные перемен-ные, для этого подставим полученные значения базисных переменных в целевую функцию:

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

Так как переменные x 1 и x 2 неотрицательные, то полученную систему ограничений можно записать в следующем виде:

Тогда исходную задачу можно записать в виде следующей эк- вивалентной ей стандартной задаче линейного программирования:

Данная задача имеет два проектных параметра, следовательно, возможно ее решение геометрическим мето-дом.

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

Рассмотрим систему ограничений задачи линейного програм-мирования (для удобства пронумеруем неравенства):

Построим прямые, соответствующие каждому неравенству (рис. 6). Прямые пронумеруем согласно принятой ранее схе-ме.

2 этап: определение решения каждого из нера-венств системы ограничений .

С помощью контрольных точек определим полуплоскости – решения каждого из неравенств, и пометим их на графике (рис. 6) с помощью стрелок.

3 этап: определение ОДР задачи линейного про- граммирования .

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

Рис. 6. Фрагмент MathCAD-документа:

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

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

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

Направление, обратное вектору-градиенту, соответствует направлению минимизации целевой функции.

Наиболее простым и наглядным методом решения задачи линейного программирования (ЗЛП) является графический метод. Он основан на геометрической интерпретации задачи линейного программирования и применяется при решении ЗЛП с двумя неизвестными:

Будем рассматривать решение этой задачи на плоскости. Каждое неравенство системы функциональных ограничений геометрически определяет полуплоскость с граничной прямой а п х, + + a j2 х 2 = b n i = 1, т. Условия неотрицательности определяют полуплоскости с граничными прямыми х { = 0, х 2 = 0 соответственно. Если система совместна, то полуплоскости, пересекаясь, образуют общую часть, которая является выпуклым множеством и представляет собой совокупность точек; координаты каждой из этих точек являются решением данной системы. Совокупность этих точек называют многоугольником решений. Он может быть точкой, отрезком, лучом, ограниченным и неограниченным многоугольником.

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

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

Определим, какую часть плоскости описывает неравенство 2х { + Зх 2 12.

Во-первых, построим прямую 2х, + Зх 2 = 12. Она проходит через точки (6; 0) и (0; 4). Во-вторых, определим, какая полуплоскость удовлетворяет неравенству. Для этого выбираем любую точку на графике, не принадлежащую прямой, и подставляем ее координаты в неравенство. Если неравенство будет выполняться, то данная точка является допустимым решением и полуплоскость, содержащая точку, удовлетворяет неравенству. Для подстановки в неравенство удобно использовать начало координат. Подставим х { = х 2 = 0 в неравенство 2х, + Зх 2 12. Получим 2 0 + 3 0

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

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

Необходимо помнить, что область допустимых решений удовлетворяет условиям неотрицательности (Xj > 0, j = 1, п). Координаты любой точки, принадлежащей области определения, являются допустимым решением задачи.

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

Этот вектор показывает направление наискорейшего изменения целевой функции. Прямая c [ x l + с 2 х 2 = f(x 0), перпендикулярная вектору-градиенту, является линией уровня целевой функции (рис. 2.2.2). В любой точке линии уровня целевая функция принимает одно и то же значение. Приравняем целевую функцию постоянной величине а. Меняя значение а, получим семейство параллельных прямых, каждая из которых является линией уровня целевой функции.


Рис. 2.2.2.

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

Графический метод решения ЗЛП состоит из четырех этапов:

  • 1. Строится область допустимых решений (ОДР) ЗЛП.
  • 2. Строится вектор-градиент целевой функции (ЦФ) с началом в точке х 0 (0; 0): V = (с, с 2).
  • 3. Линия уровня CjXj + с 2 х 2 = а (а - постоянная величина) - прямая, перпендикулярная вектору-градиенту V, - передвигается в направлении вектора-градиента в случае максимизации целевой функции f(x v х 2) до тех пор, пока не покинет пределов ОДР. При минимизации /(*, х 2) линия уровня перемещается в направлении, противоположном вектору-градиенту. Крайняя точка (или точки) ОДР при этом движении и является точкой максимума (минимума) f(x p jc 2).

Если прямая, соответствующая линии уровня, при своем движении не покидает ОДР, то минимума (максимума) функции f(x р х 2) не существует.

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

4. Определяются координаты точки максимума (минимума). Для этого достаточно решить систему уравнений прямых, дающих в пересечении точку максимума (минимума). Значение f(x { , х 2), найденное в полученной точке, является максимальным (минимальным) значением целевой функции.

Возможные ситуации графического решения ЗЛП представлены в табл. 2.2.1.

Таблица 2.2.1

Вид ОДР

Вид оптимального решения

Ограниченная

Единственное решение

Бесконечное множество решений

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

ЦФ не ограничена снизу

ЦФ не ограничена сверху

Единственное решение

Бесконечное множество решений

Единственное решение

Бесконечное множество решений

Пример 2.2.1. Планирование выпуска продукции пошивочного предприятия (задача о костюмах).

Намечается выпуск двух видов костюмов - мужских и женских. На женский костюм требуется 1 м шерсти, 2 м лавсана и 1 человекодень трудозатрат; на мужской - 3,5 м шерсти, 0,5 м лавсана и 1 человекодень трудозатрат. Всего имеется 350 м шерсти, 240 м лавсана и 150 человекодней трудозатрат.

Требуется определить, сколько костюмов каждого вида необходимо сшить, чтобы обеспечить максимальную прибыль, если прибыль от реализации женского костюма составляет 10 ден. ед., а от мужского - 20 ден. ед. При этом следует иметь в виду, что необходимо сшить не менее 60 мужских костюмов.

Экономико-математическая модель задачи

Переменные : х, - число женских костюмов; х 2 - число мужских костюмов.

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

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

Первое ограничение (по шерсти) имеет вид х { + 3,5х 2 х { + 3,5х 2 = 350 проходит через точки (350; 0) и (0; 100). Второе ограничение (по лавсану) имеет вид 2х { + 0,5х 2 2х х + 0,5х 2 = 240 проходит через точки (120; 0) и (0; 480). Третье ограничение (по труду) имеет вид х у +х 2 150. Прямая х { + х 2 = 150 проходит через точки (150; 0) и (0; 150). Четвертое ограничение (по количеству мужских костюмов) имеет вид х 2 > 60. Решением этого неравенства является полуплоскость, лежащая выше прямой х 2 = 60.

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

На рис. 2.2.3 затенена область допустимых решений (ОДР). Для определения направления движения к оптимуму построим вектор- градиент V, координаты которого являются частными производными целевой функции:

Чтобы построить такой вектор, нужно соединить точку (10; 20) с началом координат. Для удобства можно строить вектор, пропорциональный вектору V. Так, на рис. 2.2.3 изображен вектор (30; 60).

Затем построим линию уровня 10xj + 20х 2 = а. Приравняем целевую функцию постоянной величине а. Меняя значение а , получим семейство параллельных прямых, каждая из которых является линией уровня целевой функции.

Задача. Решить графически задачу линейного программирования, определив экстремальное значение целевой функции:

при ограничениях

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

Построим уравнение 3x 1 +x 2 = 9 по двум точкам .
Для нахождения первой точки приравниваем x 1 = 0. Находим x 2 = 9. Для нахождения второй точки приравниваем x 2 = 0. Находим x 1 = 3. Соединяем точку (0;9) с (3;0) прямой линией. Определим полуплоскость, задаваемую неравенством. Выбрав точку (0; 0), определим знак неравенства в полуплоскости: 3 . 0 + 1 . 0 - 9 ≤ 0, т.е. 3x 1 +x 2 - 9≥ 0 в полуплоскости выше прямой.
Построим уравнение x 1 +2x 2 = 8 по двум точкам .
Для нахождения первой точки приравниваем x 1 = 0. Находим x 2 = 4. Для нахождения второй точки приравниваем x 2 = 0. Находим x 1 = 8. Соединяем точку (0;4) с (8;0) прямой линией. Определим полуплоскость, задаваемую неравенством. Выбрав точку (0; 0), определим знак неравенства в полуплоскости: 1 . 0 + 2 . 0 - 8 ≤ 0, т.е. x 1 +2x 2 - 8≥ 0 в полуплоскости выше прямой.
Построим уравнение x 1 +x 2 = 8 по двум точкам .
Для нахождения первой точки приравниваем x 1 = 0. Находим x 2 = 8. Для нахождения второй точки приравниваем x 2 = 0. Находим x 1 = 8. Соединяем точку (0;8) с (8;0) прямой линией. Определим полуплоскость, задаваемую неравенством. Выбрав точку (0; 0), определим знак неравенства в полуплоскости: 1 . 0 + 1 . 0 - 8 ≤ 0, т.е. x 1 +x 2 - 8≤ 0 в полуплоскости ниже прямой.

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

Проверить правильность построения графиков функций можно с помощью калькулятора

Рассмотрим целевую функцию задачи F = 4x 1 +6x 2 → min.
Построим прямую, отвечающую значению функции F = 0: F = 4x 1 +6x 2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление минимизации F(X). Начало вектора - точка (0; 0), конец - точка (4; 6). Будем двигать эту прямую параллельным образом. Поскольку нас интересует минимальное решение, поэтому двигаем прямую до первого касания обозначенной области. На графике эта прямая обозначена пунктирной линией.

Прямая F(x) = 4x 1 +6x 2 пересекает область в точке B. Так как точка B получена в результате пересечения прямых (1) и (2) , то ее координаты удовлетворяют уравнениям этих прямых:
3x 1 +x 2 =9
x 1 +2x 2 =8

Решив систему уравнений, получим: x 1 = 2, x 2 = 3
Откуда найдем минимальное значение целевой функции:
F(X) = 4*2 + 6*3 = 26

Решение задачи линейного программирования (ЗЛП) графическим методом

Общая постановка злп

Найти значения n переменных x 1 , x 2 , …,x n , доставляющих экстремум (минимум или максимум) линейной функции Z=C 1 x 1 ,+ C 2 x 2+…+ C n x n

и одновременно удовлетворяющих m ограничениям вида

a 1,1 x 1 +a 1,2 x 2 +…+a 1,n x n £ =≥b 1 ,

a 2,1 x 1 +a 2,2 x 2 +…+a 2,n x n £ = ≥b 2 ,

. . . . . . . . . . . . . . . . . . . . . . .,

a m,1 x 1 +a m,2 x 2 +…+a m,n x n £ = ≥b m ,

при заданных a i,j , b i, C j (i=1,2,…,m; j=1,2,…,n). Знак отношения может принимать любое из трех приведенных значений.

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

Рассмотрим следующую задачу. Менеджер предприятия, изготавливающего два вида красок, описал исследователю операций ситуацию, сложившуюся на производстве и рынке сбыта красок. Оказалось, что фабрика изготавливает два вида красок: для внутренних и внешних работ. Обе краски поступают в оптовую продажу. Для производства красок используются два исходных продукта – А и В. Максимально возможные суточные запасы этих продуктов 6 и 8 тонн соответственно. Опыт показал, что суточный спрос на внешнюю краску никогда не превышает спрос на внутреннюю более чем на 1 тонну. Кроме того, установлено, что спрос на внешнюю краску никогда не превышает 2 тонны в сутки. Оптовые цены одной тонны красок сложились следующим образом: 3 тысячи рублей на внешнюю краску и 2 тысячи рублей – на внутреннюю. Какое количество краски каждого вида должна производить фабрика, чтобы доход от реализации был максимальным?

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

При построении математической модели специалист по исследованию операций ставит перед собой три вопроса.

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

Введем переменные:

x 1 – суточный объем производства внешней краски (в тоннах),

x 2 – суточный объем производства внутренней краски (в тоннах).

Учитывая оптовые цены на тонну каждого вида краски, суточный доход от продажи произведенной продукции задается линейной целевой функцией Z = 3x 1 + 2x 2 .

Целью производства является получение максимальной прибыли, значит, необходимо найти значения x 1 и x 2 , которые максимизируют целевую функцию Z.

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

Первый тип ограничений определяется запасами продуктов А и В, из которых производятся краски. Из технологии производства известно, что на производство тонны внешней краски идут две части продукта А, а на тонну внутренней – одна часть. Для продукта В соотношение обратное. Эти технологические условия описываются неравенствами

2x 1 + x 2 £ 6 (на складе 6 тонн продукта А),

x 1 + 2x 2 £ 8 (на складе 8 тонн продукта В).

Последние два ограничения означают очевидное обстоятельство: нельзя использовать для производства красок больше продуктов А и В, чем их имеется фактически на складе.

Ситуация с реализацией красок на рынке приводит к следующим ограничениям: x 1 – x 2 £ 1 (внешней краски реализуется не более, чем на одну тонну больше внутренней), x 1 £ 2 (внешней краски продается не более двух тонн в день).

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

найти ® max{ Z=2× x 1 + 3× x 2 } при следующих ограничениях на значения переменных x 1 и x 2

2 × x 1 + x 2 £ 6 ограничение (1),

X 1 + 2 × x 2 £ 8 ограничение (2),

X 1 - x 2 £ 1 ограничение (3),

X 1 £ 2 ограничение (4)

и требование неотрицательности переменных x 1 ³ 0 (5), x 2 ³ 0 (6).

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

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

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

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

1 этап. Построение области допустимых решений

Цель – построить область, каждая точка которой удовлетворяет всем ограничениям.

Каждое из шести ограничений геометрически задает полуплоскость. Для того, чтобы ее построить, нужно:

  • · заменить в ограничении знак неравенства на равенство (получим уравнение прямой);
  • · построить прямую по двум точкам;
  • · определить, какую полуплоскость задает знак неравенства. Для этого подставить в неравенство какую-нибудь точку (например, начало координат). Если она удовлетворяет неравенству – закрашиваем полуплоскость, ее содержащую.

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

Областью допустимых решений (удовлетворяющей всем ограничениям) является множество точек первого квадранта координатной плоскости (x 1 , x 2), представляющее собой пересечение всех полуплоскостей, определяемых неравенствами ограничений.

Множество точек, удовлетворяющих всем шести ограничениям задачи – многоугольник AFEDCB.

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

Цель - найти в построенном многоугольнике A FEDCB точку, в которой функция цели Z=2x 1 + 3x 2 принимает максимальное значение.

Проведем прямую 2x 1 + 3x 2 = Сonst (линию уровня) так, чтобы она пересекала многоугольник AFEDCB (например, Const=10). Эта линия уровня на рисунке изображена пунктирной линией.

Если рассматривать значения линейной целевой функции Z на множестве точек (x 1 ,x 2), принадлежащих отрезку пунктирной прямой, расположенному внутри шестиугольника, то все они равны одному и тому же значению (Const=10).

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

Сдвиг можно продолжать до тех пор, пока перемещаемая прямая пересекает многоугольник допустимых решений. Последнее положение прямой, когда она имеет одну общую точку с многоугольником AFEDCB (точка С), соответствует максимальному значению целевой функции Z и достигается в точке С с координатами x 1 = 4/3 (» 1.333), x 2 =10/3 (» 3.333). При этом Z = 38/3 (» 12.667).

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

Первое . Область допустимых решений – выпуклый многоугольник (Почему выпуклый? Может ли область допустимых решений представлять собой пустое множество? Точку? Отрезок? Луч? Прямую? Если да, приведите пример системы ограничений ).

Второе . Максимум целевой функции достигается в вершине многоугольника допустимых решений (а может ли быть не единственное решение? Может ли решения не быть? )

Задание 1 (выполнить на занятии, показать преподавателю)

Решить графическим методом

А) F =2 x 1 +3 x 2 è max

При ограничениях

x 1 +3 x 2 ≤ 18

2 x 1 + x 2 ≤ 16

x 2 ≤ 5

3 x 1 ≤ 21

x 1 ≥ 0 x 2 ≥ 0

B ) F =4 x 1 +6 x 2 è min

При ограничениях

3 x 1 + x 2 ≥ 9

x 1 +2 x 2 ≥ 8

x 1 +6x 2 ≥ 12

x 1 ≥ 0 x 2 ≥ 0

C ) F =3 x 1 +3 x 2 è max

При ограничениях

x 1 +x 2 ≤ 8

2x 1 -x 2 ≥ 1

x 1 -2x 2 ≤ 2

x 1 ≥ 0 x 2 ≥ 0

D ) F =2 x 1 -3 x 2 è min

При ограничениях

x 1 +x 2 ≥ 4

2x 1 -x 2 ≥ 1

x 1 -2x 2 ≤ 1

x 1 ≥ 0 x 2 ≥ 0

A) x1=6 x2=4 F=24

B) x1=2 x2=3 F=26

C) x1Î x2=8-x1 F=24

Задание 2 (выполнить на занятии, показать преподавателю)

Ответить на вопросы, выделенные курсивом.

Задание 3 (домашнее)

Написать программу.

Дан текстовый файл вида

2 3 (коэффициенты целевой функции)

4 (количество ограничений)

2 2 12 (ограничения)

1 2 8

4 0 16

0 4 12

Построить прямые так, чтобы многоугольник допустимых решений был целиком на экране (определение масштаба см. в кн. Онегова). Прямые могут быть параллельны осям!

Построить несколько линий уровня целевой функции (нажимаем клавишу – прямая перемещается, отображается значение целевой функции). Отобразить масштаб.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: