Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы решения задач строительства на ЭВМ..pdf
Скачиваний:
45
Добавлен:
15.11.2022
Размер:
16.27 Mб
Скачать

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

Если говорить о математической стороне дела, то молено отметить, что наибольшее распространение получили методы линейного программирования. Это объясняется широким практическим приложением, а также доступностью и простотой использования программ для ЭВМ, реализующих эти методы. К задачам ЛП удается свести большое количество задач управления и экономики и очень редко - задачи технического проектирования конструкций. Рассмотрим общую постановку задач ЛП, некоторые схемы типичного применения и методы их решения.

8.3.1. Общая постановка задачи ЛП

Задача линейного программирования (ЛП) формулируется следующим образом: требуется найти экстремум (min/max) линейной функции п независимых переменных (проектных

параметров) xIf х2, .., *„[18, 21, 23]:

п

Z min = С1*1 + С2 * 2 + - + С„ Х „ = £ Ci X i

( 8 -5 О

/=1 при ограничениях, наложенных на переменные в виде линейных неравенств, т>п :

«1 1 * 1+ai2x2+.......

A-aUlx„<bi,

а2 \Х\ 22*2 +......

2„*„ —^2>

 

 

(8.52)

Я,„1*1 + «„,2*2 + ..........

+ «„„,*„

£ Ъ т .

*;>(),

/‘ = 1,2,..И.

(8.53)

Линейную функцию (8.51) - функцию цели - принято называть линейной формой задачи ЛП.

Наряду с задачей ЛП (8.51 - 8.53), называемой стандартной или естественной, существуют [17] и другие задачи ЛП, имеющие различные формы записи. Например, система неравенств (8.52) может быть смешанной, т.е. наряду с неравенствами система ограничений может содержать и равенства, или проектные

параметры могут быть не все неотрицательны, т.е. не для всех из них выполняется условие (8.53), и наконец, в ряде случаев требуется найти максимум линейной формы, Z,rax. Любая из них может быть сведена путем несложных математических преобразований к эквивалентной ей задаче любого другого вида [23].

8.3.2. Геометрический смысл системы линейных неравенств с двумя неизвестными

Рассмотрим линейное неравенство с двумя неизвестными xh х2

а хх+ b х2 + с > 0.

(8.54)

Областью решения неравенства (4) является множество точек D , удовлетворяющих этому неравенству, т.е. полуплоскость Р, ограниченная прямой L: а х{+Ь х2+ с = О

Прямая L разбивает всю плоскость на 2-е полуплоскости. Для определения какую из двух полуплоскостей описывает неравенство

(8.54), достаточно выбрать точку М ° ( х х,х2) и проверить,

удовлетворяют ли координаты ее неравенству (8.54).

Пример 8.1. Найти полуплоскость, определяемую неравенством

х} +2 х2 - 2 > 0 .

Рассмотрим прямую

хх+ 2 х2 - 2 = 0, разбивающую всю

плоскость на две полуплоскости. Выбрав точку М(0,0), легко убедиться, что координаты ее не удовлетворяют исходному неравенству, и это значит, что неравенство определяет прямую и полуплоскость, расположенную «выше» этой прямой (рис.8.7).

Рис.8.7. Область решения неравенства

Предположим теперь, что задано не одно неравенство, а

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

 

 

аих\ н- #12-^2

Ь\ ~

 

«21*1 + «2 2 *2

+*2 ^ 0 .

(8.55)

 

 

«,»i*i +ан2х2 +Ьт>0.

Каждое неравенство определяет некоторую полуплоскость Р1У (/=1,2,..,/72). Областью решений системы неравенств (8.55) является область пересечения конечного числа полуплоскостей, описываемых каждым отдельным неравенством. И этой областью является многоугольник.

Область решения системы (8.55) может быть замкнутым

(рис.8.8,а) или неограниченным (рис.8.8,б) многоугольником D , может быть пустой областью (рис.8.8,в), когда система (8.55) противоречива.

Рис.8.8. Область решения системы неравенств

Область допустимых решений D обладает важным свойством - выпуклостью. Понятие выпуклости мы рассмотрим позднее.

Обобщим сказанное на случай большего числа переменных.

При /2=3 система (8.55) имеет вид

 

ai Xj + Ь} х2 + cfxз + di > 0, i = 1,2,..,/я .

(8.55 a)

Каждая плоскость Р( :а( хх +6, х2 + с(х3 + d t =О (г = 1,2,..,т) при

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

Совокупность точек «-мерного пространства, координаты которого удовлетворяют системе (8.52), есть выпуклая многогранная

область D , получающаяся в результате пересечения всех п полупространств, отвечающих неравенствам системы. Если эта область ограничена, мы называем ее выпуклым многогранником.

Опорной прямой (при и=2) называется прямая, которая имеет с областью D , по крайней мере, одну общую точку. При

этом вся область D расположена по одну сторону от этой прямой. Например, на рис.8.9 Ь\ и Ь2 - опорные прямые. L\ проходит через

вершину области D , а Ьг- через одну из сторон D L

L

Рис.8.9. К определению опорной прямой

При п=3 опорная плоскость может проходить через вершину многогранника, или его ребро, или его грань. Понятие опорной плоскости (гиперплоскости) легко обобщить на случай

п>3.

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

Постановка задачи. Пусть задана целевая функция для двух проектных параметров х/ и х2 :

(8.56)

Для определенности положим с2 >0. И пусть задана система линейных неравенств:

а\\Х\ + а12х2 +ЬХ>0,

а2Хх{ + а22х2 +Ь2 >0,

(8.57)

Я»,1*1 + а ,пгХ г + Ь п, ^ °»

х, > 0, х2 >0.

Требуется среди допустимых решений системы неравенств (8.57) найти такое, при котором целевая функция (8.56) принимает минимальное значение.

Порядок решения

1. Область допустимых решений системы (8.57) - это

выпуклая многоугольная область D на плоскости Х\Х2, лежащая в

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

2. Приравняем выражение функции

цели какой-либо

постоянной величине R:

 

С\Х\ + c2xz = R .

(8.58)

Уравнение (8.58) определяет на плоскости прямую, в точках которой функция Z принимает постоянное значение R. Такая прямая называется линией уровня функции цели Z. Изменим постоянную R и получим другую линию уровня с^Ху +с2х2 =Ry, параллельную первой.

Пусть R изменяется от 0 до +°о. Тогда прямая уровня смещается параллельно самой себе, “зачеркивая” целую полуплоскость, границей которой будет СуХ{ + с2х2 = 0. Таким

образом, учитывая, что с2 > 0 прямая линии уровня с ростом R

смещается вверх (рис.8.10, а ).

Рис.8.10. Линии уровня целевой функции

При изменении R от 0 до о прямая линии уровня смещается в противоположную сторону, “зачеркивая” вторую половину полуплоскости (рис.8.10 б). При возрастании R от - о о до +оо линия уровня (8.58), смещаясь параллельно самой себе в одну и ту же сторону, “зачеркивает” всю плоскость.

Вывод:

$ Чтобы найти минимум целевой функции, зависящей от двух параметров, графическим способом, необходимо:

1.Построить область допустимых решений задачи D , описываемую системой ограничений;

2 . Среди всех точек области D найти такую точку, в которой функция цели Z принимает наименьшее значение. Координаты этой точки и дают решение задачи. Причем, это будет первая

точка встречи линии уровня для Zmin с областью D при смещении линии уровня снизу вверх (при возрастании R от -оо до +оо) [3 5 ].

На рис.8.11 эта точка совпадает с началом координат. Для любой другой точки из области D значение функции Zmj„ будет больше, чем в точке (0,0).

Рис.8.11. Графический метод поиска экстремума функции

При решении подобных задач возможны различные случаи:

1. При перемещении линии уровня соприкосновение ее с

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

примере 8.3.

2. Область D является неограниченной фигурой, и прямая уровня Z = R для сколь угодно больших по абсолютной величине

отрицательных R имеет общие точки с областью D В этом случае

минимальное значение функции цели в области D равно -°о. Линия уровня —x=R при всех значениях R ( - co < R < 0) пересекает

область D Следовательно, функция цели в области не ограничена снизу, т.е. z mjn = -о о , иначе говоря, минимум функции не достигается. Такой случай приведен в примере 8.4.

3. Область допустимых решений D пуста, и задача (8.56-8.57) в этом случае не имеет решения.

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

В случае п неизвестных (п > 3) все построения теряют наглядность. Однако геометрическая формулировка задачи в случае п неизвестных остается той же самой, что и в случае двух переменных. Различие состоит в том, что понятие «линия уровня» для /1=2 заменяется понятием «плоскость уровня» для /7=3 и «гиперплоскость» - для п > 3. Рассмотрим несколько примеров.

■ Пример 8.2. Минимизировать целевую функцию

 

*mh. =1 - Х - у

(8.59)

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

х - у +1 > О,

Ъх+2у - 6 > О,

(8.60)

- З х - у + 9>0, х > 0 , у > 0 .

Строим полуплоскости, соответствующие каждому неравенству системы ограничений. Полуплоскость Р} ограничена прямой х-у+\=0 и расположена «снизу» от этой прямой. Аналогично строим полуплоскости Р2 и. Р3. Пересечение полуплоскостей Ph Ръ Р3 и X > 0, у > 0 дает

многоугольник/) (рис.8 .1 2 ).

Записываем прямую линию уровня функции

1- х - у = R

истроим прямые, соответствующие R—1, R=0 и R=1. Из рис.8 .12 видно, что линию уровня нужно “катить” в сторону уменьшения значения R до встречи с точкой М (2,3) в которой функция цели принимает значение

^тах7 = - 4^•

Таким образом, решением задачи является: JC=2, у=3, Zmax=- 4.

Решение данной задачи с использованием электронных таблиц Excel приведено в разделе 8.5.5.

Пример 8.3. Минимизировать целевую функцию

*m in = Х ~ У

( 8 *6 1 )

при ограничениях примера 8 .2 .

Область допустимых решений уже построена в предыдущем примере. Строим линии уровня

х —у = R для R=0 и R=-1.

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

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

Рис.8.13. К примеру 8.3

■ Пример 8.4. Минимизировать функцию цели

(8.62)

^min = ~Х •

Система ограничений имеет вид лг +у-1 > О,

х - у +1 > 0 ,

(8.63)

- х + у +1 > 0 ,

х > 0 , у> 0 .

Построим область допустимых решений, определяемую системой неравенств (8.63), аналогично примеру 8.2 (см. рис.8.14).

Рис.8.14. К примеру 8.4

Строим линии уровня -x=R для R=0, R— 1, R=-2. Очевидно, что

для всех Re[-<o,0] линии уровня пересекают область D Следовательно, функция цели не ограничена снизу, т.е. Zmin = -оо .

Пример 8.5. Рассмотрим предыдущую задачу на максимизацию, т.е. ограничения описываются системой (8.63), а функция цели имеет вид

Zmax=-*-

(8-64)

Из рис.8.14 видно, что максимальное значение функция цели достигает в начале системы координат, т.е. решением задачи является х=0, у=0 и соответственно Z|ШХ=0 .