КУРСОВОЙ ПРОЕКТ ПО ДИСЦИПЛИНЕ
«ЭКОНОМИКО-МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ»
Тема.
Линейное программирование: постановка задач и графическое решение.
Научный руководитель:
Чернов
Александр Степанович
Исполнитель:
Кудрявцева
Елена Александровна
Г. Мурманск
1998 год
ПЛАН.
Введение.
1. Общая задача линейного программирования.
1.1. Формулировка задачи.
1.2. Геометрическая интерпретация задачи линейного программирования.
2. Графический метод решения задачи линейного программирования.
2.1. Область применения.
2.2. Примеры задач, решаемых графическим методом.
2.3. Обобщение графического метода решения задач линейного программирования.
Литература.
Введение.
Линейное программирование - это наука о методах исследования и отыскания наибольших и наименьших значений линейной функции, на неизвестные которой наложены линейные ограничения. Таким образом, задачи линейного программирования относятся к задачам на условный экстремум функции. Казалось бы, что для исследования линейной функции многих переменных на условный экстремум достаточно применить хорошо разработанные методы математического анализа, однако невозможность их использования можно довольно просто проиллюстрировать.
Действительно, путь необходимо исследовать на экстремум линейную функцию Z= С1
х1
+С2
х2
+... +СN
xN
при линейных ограничениях
a11
x1
+ a22
x2
+ ...+ a1N
ХN
= b1
a21
x1
+ a22
x2
+ ...+ a2N
ХN
= b2
. . . . . . . . . . . . . . .
aМ1
x1
+ aМ2
x2
+ ...+ aМN
ХN
= bМ
Так как Z - линейная функция, то = Сj
(j = 1, 2, ..., n), то все коэффициенты линейной функции не могут быть равны нулю, следовательно, внутри области, образованной системой ограничений, экстремальные точки не существуют. Они могут быть на границе области, но исследовать точки границы невозможно, поскольку частные производные являются константами.
Для решения задач линейного программирования потребовалось создание специальных методов. Особенно широкое распространение линейное программирование получило в экономике, так как исследование зависимостей между величинами, встречающимися во многих экономических задачах, приводит к линейной функции с линейными ограничениями, наложенными на неизвестные.
1.
Общая задача линейного программирования
1.1.
Формулировка задачи.
Даны линейная функция
(1.1) Z= С1
х1
+С2
х2
+... +СN
xN
и система линейных ограничений
a11
x1
+ a22
x2
+ ...+ a1N
ХN
= b1
a21
x1
+ a22
x2
+ ...+ a2N
ХN
= b2
. . . . . . . . . . . . . . .
(1.2) ai1
x1
+ ai2
x2
+ ...+ aiN
ХN
= bi
. . . . . . . . . . . . . . .
aM1
x1
+ aM2
x2
+ ...+ aMN
ХN
= bM
(1.3) xj
0 (j = 1, 2, ... ,n)
где аij
, Ьj
и Сj
- заданные постоянные величины.
Найти такие неотрицательные значениях1
,х2
, ..., хn
, которые удовлетворяют системе ограничений (1.2) и доставляют линейной функции (1.1)минимальное значение.
Общая задача имеет несколько форм записи.
Векторная форма записи.
Минимизировать линейную функцию Z = СХ при ограничениях
(1.4)А1
х1
+ А2
x2
+ ... + АN
xN
= Ао
, X 0
где С = (с1
, с2
, ..., сN
); Х = (х1
, х2
, ..., хN
); СХ - скалярное произведение; векторы
A1
= , A2
= ,..., AN
= , A0
=
состоят соответственно из коэффициентов при неизвестных и свободных членах.
Матричная форма записи
. Минимизировать линейную функцию, Z = СХ при ограничениях АХ = А0
, Х 0, где С = (с1
, с2
, ..., сN
) - матрица-cтрока; А = (аij
) - матрица системы;
Х = - матрица-столбец, А0
= матрица-столбец
Запись с помощью знаков суммирования.
Минимизировать линейную функцию Z = Сj
хj
при ограничениях
0пределение 1.
Планом или допустимым решением задачи линейного программирования называется Х = (х1
, х2
, ..., хN
), удовлетворяющий условиям (1.2) и (1.3).
0пределение 2.
План Х = (х1
, х2
, ..., хN
) называется опорным, если векторы А (i = 1, 2, ..., N), входящие в разложение (1.4) с положительными коэффициентами х , являются линейно независимыми.
Так как векторы А являются N-мерными, то из определения опорного плана следует, что число его положительных компонент не может превышать М.
0пределение 3.
Опорный план называется невырожденным, если он содержит М положительных компонент, в противном случае опорный план называется вырожденным.
0пределение 4
. Оптимальным планом или оптимальным решением задачи линейного программирования называется план, доставляющий наименьшее (наибольшее) значение линейной функции.
В дальнейшем рассмотрено решение задач линейного программирования, связанных с нахождением минимального значения линейной функции. Там, где необходимо найти максимальное значение линейной функции, достаточно заменить на противоположный знак линейной функции и найти минимальное значение последней функции. Заменяя на противоположный знак полученного минимального значения, определяем максимальное значение исходной линейной функции.
1.2
Геометрическая интерпретация задачи линейного программирования.
Рассмотрим задачу линейного программирования, система ограничений которой задана в виде неравенств.
Найти минимальное значение линейной функции
(1.5) Z= С1
х1
+С2
х2
+... +СN
xN
при ограничениях
a11
x1
+ a22
x2
+ ...+ a1N
ХN
b1
a21
x1
+ a22
x2
+ ...+ a2N
ХN
b2
(1.6) . . . . . . . . . . . . . . .
aM1
x1
+ aM2
x2
+ ...+ aMN
ХN
bM
(1.7) xj
0 (j = 1, 2, ... ,n)
Совокупность чисел х1
, х2
, ..., хN
, удовлетворяющих ограничениям (1.6) и (1.7), называется решением. Если система неравенств (1.6) при условии (1.7) имеет хотя бы одно решение, она называется совместной, в противном случае - несовместной.
Рассмотрим на плоскости х1
Ох2
совместную систему линейных неравенств
a11
x1
+ a22
x2
b1
a21
x1
+ a22
x2
b2
. . . . . . . .
aM1
x1
+ aM2
x2
bM
x1
0, x2
0
Это все равно, что в системе (1.6) - (1.7) положить N=2. Каждое неравенство этой системы геометрическиопределяет полуплоскость с граничной прямой
ai1
x1
+ ai2
x2
= bi
,(i = 1, 2, ..., m). Условия неотрицательности определяют полуплоскости соответственно с граничными прямыми х= 0, х = 0. Система совместна, поэтому полуплоскости, как выпуклые множества, пересекаясь, образуют общую часть, которая является выпуклым множеством и представляет собой совокупность точек, координаты каждой из которых являются решением данной системы (рис. 1.1).
Совокупность этих точек (решений) назовем многоугольником решений. Он может быть точкой, отрезком, лучом, много-угольником, неограничен-ной многоугольной облас-тью.
Если в системе ограничений (1.6) - (1.7) n = 3, то каждое нера-венство геометрически представляет полупространство трехмерного пространства, граничная плоскость которого ai1
x1
+ ai2
x2
+ ai3
x3
= bi
,(i = 1, 2, ..., n), а условия неотрицательности – полупрост-ранства с граничными плоскостями соответственно хj
= 0 (j = 1, 2, 3). Если система ограничений совместна, то эти полупространства, как выпуклые множества, пересекаясь, образуют в трехмерном пространстве общую часть, которая называется многогранником решений
. Многогранник решений может быть точкой, отрезком, лучом, многоугольником, многогранником, многогранной неограниченной областью. Пусть в системе ограничений (1.6) - (1.7) n 3; тогда каждое неравенство определяет полупространство n-мерного пространствас граничной гиперплоскостью ai1
x1
+ ai2
x2
+ aiN
xN
= bi
(i = 1, 2, ..., m), а условия неотрицательности – полупространствас граничными гиперплоскостями хj
0 (j = 1, 2, ..., n).
Если система ограничений совместна, то по аналогии с трехмерным пространством она образует общую часть n-мерного пространства, называемую многогранником решений, так как координаты каждой еготочки являются решением.
Таким образом, геометрически задача линейного программированияпредставляет собой отыскание такой точки многогранника решений,координаты которой доставляют линейной функции минимальное значение, причем допустимыми решениями служат все точки многогранника решений.
2. Графический метод решения
задачи линейного программирования.
2.1. Область применения.
Графический метод основан на геометрической интерпретации задачи линейного программирования и применяется в основном при решении задач двумерного пространства и только некоторых задач трехмерного простран6тва, так как довольно трудно построить многогранник решений, который образуется в результате пересечения полупространств. Задачу пространства размерности больше трех изобразить графически вообще невозможно.
Пусть задача линейного программирования задана в двумерном пространстве, т.е. ограничения содержат две переменные.
Найти минимальное значение функции
(2.1) Z= С1
х1
+С2
х2
при
a11
x1
+ a22
x2
b1
(2.2) a21
x1
+ a22
x2
b2
. . . . . . . .
aM1
x1
+ aM2
x2
bM
(2.3) х1
0, х2
0
Допустим, что система (2.2) при условии (2.3) совместна и ее многоугольник решений ограничен. Каждое из неравенств (2.2) и (2.3), как отмечалось выше, определяет полуплоскость с граничными прямыми: ai1
x1
+ ai2
x2
+ ai3
x3
= bi
,(i = 1, 2, ..., n), х1
=0, х2
=0. Линейная функция (2.1) при фиксированных значениях Z является уравнением прямой линии: С1
х1
+ С2
х2
= const. Построим многоугольник решений системы ограничений (2.2) и график линейной функции (2.1) при Z = 0 (рис. 2.1). Тогда поставленной задаче линейного прграммирования можно дать следующую интерпретацию. Найти точкумногоугольника решений, в которой прямая С1
х1
+ С2
х2
= const опорная и функция Z при этом достигает минимума.
Значения Z = С1
х1
+ С2
х2
возрастают в направлении вектора N =(С1
, С2
), поэтому прямую Z = 0передвигаем параллельно самой себе в направлении вектора Х. Из рис. 2.1 следует, что прямая дважды становится опорной по отношению к многоугольнику решений (в точках А и С), причем минимальное значение принимает в точке А. Координаты точки А (х1
, х2
) находим, решая систему уравнений прямых АВ и АЕ.
Если многоугольник решений представляет собой неограниченную многоуголь-ную область, то возможны два случая.
Случай 1.
Прямая С1
х1
+ С2
х2
= const, передвигаясь в направлении вектора N или противоположно ему, постоянно пересекает многоугольник решений и ни в какой точке не является опорной кнему. В этом случае линейная функция не ограничена на многоугольнике решений как сверху, так и снизу (рис. 2.2).
Случай 2.
Прямая, пере-двигаясь, все же становится опорной относительно многоу-гольника решений (рис. 2.2, а – 2.2, в). Тогда в зави-симости от вида области ли-нейная функция может быть ограниченной сверху и неограниченной снизу (рис. 2.2, а), ограниченной снизу и неограниченной сверху (рис. 2.2, б), либо ограниченной как снизу, так и сверху (рис. 2.2, в).
2.1. Примеры задач, решаемых графическим методом.
Решим графическим методом задачи использования сырья и составления рациона.
Задача использования сырья.
Для изготовления двух видов продукции Р1
и Р2
используют три вида сырья: S1
, S2
, S3
. Запасы сырья, количество единиц сырья, затрачиваемых на изготовление единицы продукци, а так же величина прибыли, получаемая от реализации единицы продукции, приведены в таблице 2.1.
Таблица 2.1.
Вид сырья |
Запас сырья |
Количество единиц сырья, идущих на изготовление единицы продукции |
Р1
|
Р2
|
S1
|
20 |
2 |
5 |
S2
|
40 |
8 |
5 |
S3
|
30 |
5 |
6 |
Прибыль от единицы продукции, руб. |
50 |
40 |
Необходимо составить такой план выпуска продукции, чтобы при ее реализации получить максимальную прибыль.
Решение.
Обозначим через х1
количество единиц продукции Р1
, а через х2
– количество единиц продукции Р2
. Тогда, учитывая количество единиц сырья, расходуемое на изготовление продукции, а так же запасы сырья, получим систему ограничений:
2х1
+ 5х2
20
8х1
+ 5х2
40
5х1
+ 6х2
30
которая показывает, что количество сырья, расходуемое на изготовление продукции, не может превысит имеющихся запасов. Если продукция Р1
не выпускается, то х1
=0; в противном случае x1
0. То же самое получаем и для продукции Р2
. Таким образом, на неизвестные х1
и х2
должно быть наложено ограничение неотрицательности: х1
0, х2
0.
Конечную цель решаемой задачи – получение максимальной прибылипри реализации продукции – выразим как функцию двух переменных х1
и х2
. Реализация х1
единиц продукции Р1
и х2
единиц продукции Р2
дает соответственно 50х1
и 40х2
руб. прибыли, суммарная прибыль Z = 50х1
+ 40х2
(руб.)
Условиями не оговорена неделимость единица продукции, поэтому х1
и х2
(план выпуска продукции) могут быть и дробными числами.
Требуется найти такие х1
и х2
, при которых функция Z достинает максимум, т.е. найти максимальное значение линейной функции Z = 50х1
+ 40х2
при ограничениях
2х1
+ 5х2
20
8х1
+ 5х2
40
5х1
+ 6х2
30
х1
0, х2
0.
Построим многоугольник решений (рис. 2.3).
Для этого в системе координат х1
Ох2
на плоскости на плоскости изобразим граничные прямые
2х1
+ 5х2
= 20 (L1
)
8х1
+ 5х2
= 40 (L2
)
5х1
+ 6х2
= 30 (L3
)
х1
= 0, х2
= 0.
Взяв какую-нибудь точку, например, начало координат, установим, какую полуплоскость определяет соответствующее неравенство (эти полуплоскости на рис. 2.3 показаны стрелками). Многоугольником решений данной задачи является ограниченный пятиугольник ОАВСD.
Для построения прямой 50х1
+ 40х2
= 0 строим радиус-вектор N = (50;40) =10(5;4) и через точку O проводим прямую, перпендикулярную ему. Построенную прямую Z = 0 перемещаем параллельно самой себе в направлении вектора N. Из риc. 2.3 следует, что опорной по отношению к многоугольнику решений эта прямая становится в точке С, где функция Z принимает максимальное значение. Точка С лежит на пересечении прямых L1
и L2
. Для определения ее координат решим систему уравнений
8x1
+ 5х2
= 40
5х1
+ 6х2
= 30
Оптимальный план задачи: х1
= 90/23 = 3,9; х2
= 40/23 = 1,7. Подставляя значения х1
и х2
в линейную функцию, получаем Zmax
= 50 3,9 + 40 1,7 = 260,3
Таким образом, для того чтобы получить максимальную прибыль в размере 260,3 руб., необходимо запланировать производство 3,9 ед. продукции Р1
и 1,7 ед. продукции Р2
.
Задача составления рациона.
При откорме каждое животное ежедневно должно получать не менее 9 ед. питательного вещества S1
, не менее 8 ед. вещества S2
и не менее 12 ед. вещества S3
. Для составления рациона используют два вида корма. Содержание количества елиниц питательных веществ в 1 кг каждого вида корма и стоимость 1 кг корма приведены в таблице 2.2.
Таблица 2.2.
Питательные вещества |
Количество единиц питательных веществ
в 1 кг корма.
|
Корм 1 |
Корм 2 |
S1
|
3 |
1 |
S2
|
1 |
2 |
S3
|
1 |
6 |
Стоимость 1 кг корма, коп. |
4 |
6 |
Необходимо составить дневной рацион нужной питательности, причем затраты на него должны быть минимальными.
Решение.
Для составления математической модели обозначим через х1
и х2
соответственно количество килограммов корма 1 и 2 в дневном рационе. Принимая во внимание значения, приведенные в таблице 2.2, и условие, что дневной рацион удовлетворяет требуемой питательности только в случае, если количество единиц питательных веществ не меньше предусмотренного, получаем систему ограничений
3х1
+ х2
9
х1
+ 2х2
8
х1
+ 6х2
12
х1
0, х2
0.
Если корм 1 не используется в рационе, то х1
=0; в противном случае x1
0. Аналогично имеем х2
0. То есть должно выполняться условие неотрицательности переменных: х1
0, х2
0.
Цель данной задачи – добиться минимальных затрат на дневной рацион, поэтому общую стоимость рациона можно выразить в виде линейной функции Z = 4х1
+ 6х2
(коп.)
Требуется найти такие х1
и х2
, при которых функция Z принимает минимальное. Таким образом, необходимо найти минимальное значение линейной функции Z = 4х1
+ 6х2
при ограничениях
3х1
+ х2
9
х1
+ 2х2
8
х1
+ 6х2
12
х1
0, х2
0.
Построим многоугольник решений (рис. 2.4). Для этого в системе координат х1
Ох2
на плоскости изобразим граничные прямые
3х1
+ х2
= 9 (L1
)
х1
+ 2х2
= 8 (L2
)
х1
+ 6х2
= 12 (L3
)
х1
= 0, х2
= 0.
Взяв какую-нибудь точку, например, начало координат, установим, какую полуплоскость определяет соответствующее неравенство (эти полуплоскости на рис. 2.4 показаны стрелками). В результате получим неограниченную многоугольную область с угловыми точками А, В, С, D.
Для построения прямой 4х1
+ 6х2
= 0 строим радиус-вектор N = (4;6) и через точку O проводим прямую, перпендикулярную ему. Построенную прямую Z = 0 перемещаем параллельно самой себе в направлении вектора N. Из риc. 2.4 следует, она впервые коснется многогранника решений и станет опорной по отношению к нему в угловой точе В. Если прямую перемещать дальше в направлении вектора N, то значения линейной функции на многограннике решений возрастут, значит, в точке В линейная функция Z принимает минимальное значение.
Точка В лежит на пересечении прямых L1
и L2
. Для определения ее координат решим систему уравнений
3x1
+ х2
= 9
х1
+ 2х2
= 8
Имеем: х1
= 2; х2
= 3. Подставляя значения х1
и х2
в линейную функцию, получаем Zmin
= 4 2 + 6 3 = 26.
Таким образом, для того, чтобы обеспечить минимум затрат (26 коп. в день), необходимо дневной рацион составить из 2 кг корма 1 и 3 кг корма 2.
2.2.
Обобщение графического метода решения задач линейного программирования.
Вообще, с помощью графического метода может быть ре-шена задача линейного программирования, система ограниче-ний которой содержит n неизвестных и m линейно независи-мых уравнений, если N и M связаны соотношением N – M =2.
Действительно, пусть поставлена задача линейного программирования.
Найти минимальное значение линейной функции Z= С1
х1
+С2
х2
+... +СN
xN
при ограничениях
a11
x1
+ a22
x2
+ ...+ a1N
ХN
= b1
(2.3) a21
x1
+ a22
x2
+ ...+ a2N
ХN
= b2
. . . . . . . . . . . . . . .
aМ1
x1
+ aМ2
x2
+ ...+ aМN
ХN
= bМ
xj
0 (j = 1, 2, ..., N)
где все уравнения линейно независимы и выполняется cоотношение N - M =2.
Используя метод Жордана-Гаусса, производим M исключений, в результате которых базисными неизвестными оказались, например, M первых неизвестных х1
, х2
, ..., хM
, а свободными - два последних: хМ+1
, и хN
, т. е. система ограничений приняла вид
x1
+ a1,М+1
xМ+1
+ a1N
ХN
= b1
(2.4) x2
+ a2,М+1
xМ+1
+ a2N
ХN
= b2
. . . . . . . . . . . .
xМ
+ aМ, М+1
x2
+ aМN
ХN
= bМ
xj
0 (j = 1, 2, ..., N)
С помощью уравнений преобразованной системы выражаем линейную функцию только через свободные неизвестные и, учитывая, что все базисные неизвестные - неотрицательные: хj
0 (j = 1, 2, ..., M), отбрасываем их, переходя к системе ограничений, выраженных в виде неравенств. Таким образом, окончательно получаем следующую задачу.
Найти минимальное значение линейной функции Z= СМ+1
хМ+1
+СN
xN
при ограничениях
a1,М+1
xМ+1
+ a1N
ХN
b1
a2,М+1
xМ+1
+ a2N
ХN
b2
. . . . . . . . . .
aМ,М+1
xМ+1
+ aМN
ХN
bМ
xМ+1
0, хN
0
Преобразованная задача содержит два неизвестных; решая ее графическим методом, находим оптимальные значения xМ+1
и хN
, а затем, подставляя их в (2.4), находим оптимальные значения х1
, х2
, ..., хM.
Пример.
Графическим методом найти оптимальный план задачи ли-нейного программирования, при котором линейная функция Z = 2х1
- х2
+ х3
- 3х4
+ 4х5
достигает максимального значения при ограничениях
х1
- х2
+ 3х3
- 18х4
+ 2х5
= -4
2х1
- х2
+ 4х3
- 21х4
+ 4х5
= 2
3х1
- 2х2
+ 8х3
- 43х4
+ 11х5
= 38
xj
0 (j = 1, 2, ..., 5)
Решение.
Используя метод Жордана-Гаусса, произведем три полных исключения неизвестных х1
, х2
, х3
. В результате приходим к системе
х1
+ х4
- 3х5
= 6
х2
+ 7х4
+ 10х5
= 70
х3
- 4х4
+ 5х5
= 20
Откуда x1
= 6 – х4
+ 3x5
, х2
= 70 – 7х4
-10х5
, х3
= 20 + 4х4
-5х5
.
Подставляя эти значения в функцию и отбрасывая в системе базисные переменные, получаем задачу, выраженную только через свободные переменные х4
и х5
: найти максимальное значение линейной функции Z = 6х4
+ 15х5
– 38 при ограничениях
х4
- х5
6
7х4
+ 10х5
70
- 4х4
+ 5х5
20
х4
0, х5
0.
Построим многогранник решений и линейную функцию в системе координат х4
Ох5
(рис. 2.5). Из рис. 2.5 заключаем, что линейная функция принимает максимальное значение в угловой точке В, которая лежит на пересечении прямых 2 и 3. В результате решения системы
7х4
+ 10х5
= 70
- 4х4
+ 5х5
= 20
-
находим: х4
= 2, х5
= 28/5. Максимальное значение функции Zmax
= -38 + 12 + 84 = 58.
Для отыскания оптимального плана исходной задачи подставляем найденные значения х4
и х5
. Окончательно получаем: х1
= 104/5, х2
= 0, х3
= 0, х4
= 2, х5
= 28/5.
ЛИТЕРАТУРА
1. Математические методы анализа экономики /под ред. А.Я.Боярского. М.,Изд-во Моск. Ун-та, 1983
2. А.И.Ларионов, Т.И.Юрченко “Экономико-математические методы в планировании: Учебник – М.: Высш.школа, 1984
3. Ашманов С.А. “Линейное программирование”,- М.: 1961
|