МИНИСТЕРСТВА ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА АЛМАТЫ
АЛМАТИНСКИЙ КОЛЛЕДЖ УПРАВЛЕНИЯ И РЫНКА
НА ТЕМУ: “ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ И МЕТОДЫ ИХ РЕШЕНИЯ”
ПРОВЕРИЛА: АЙМУХАНБЕТОВА Ш.Е
ВЫПОЛНИЛА: УЧАЩИЕСЯ III КУРСА СПЕЦИАЛЬНОСТИ ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ ВТ И АС
НАБИЕВА А.Б
АЛМАТЫ 2007 Г
СОДЕРЖАНИЕ
- Общая задача линейного программирования
- Элементы линейной алгебры и геометрии выпуклых множеств
- Свойства задачи линейного программирования
- Теоретические основы методов линейного программирования
- Геометрические методы решения задач линейного программирования
- Применение метода Жордана – Гаусса к решению системных линейных уравнений
- Библиографический список
Примеры задач линейного программирования позволяют сформировать общую задачу линейного программирования. Дана система m линейных уравнений и неравенств с n переменными
α 11x1 + α12x2 + …+ α1n xn ≤ b1,
α 21x1 + α22x2 + …+ α2n xn ≤ b2,
………………………………………..
α k1x1 + αk2x2 + …+ αkn xn ≤ bk,
α k +l,l + αk+1,2x2 + …+ αk+1,n xn = bk+1
α k+2,1x1 + αk+2,2x2 + …+ αk+2,n xn = bk+2
…………………………………………
α m1x1 + αm2x2 + …+ αmn xn = bm
и линейная функция
F = c1 x1 + c2 x2 + …+ cn xn
Необходимо найти такое решение системы Х=(x1, x2,…,хj,…, xn), где хj ≥0 (j = 1,2,…, l:l ≤ n), при котором линейная функция F принимает оптимальное значение. Система называется системой ограничений, а функция F – линейной функцией цели. Более кратко общую задачу линейного программирования можно представить в виде:
F = Σcjxj → max (или → min)
при ограничениях:
Σ αijxj ≤ bi(i = 1,2,…,k),
Σ αijxj ≤ bi(i =k + 1, k + 2,…,m),
Xj ≥0 (j = 1,2,…,l;l ≤ n).
Оптимальным решением задачи линейного программирования называется решения Х=(x1, x2,…,хj,…, xn) система ограничений удовлетворяющее условию, при котором линейная функция принимает оптимальное значение. Термины «решение» и «план» – синонимы, однако первый используется чаще, когда речь идет о формальной стороне задачи (ее математическом решении), а второй – о содержательной стороне (экономические интерпретации). При условии, что все переменные неотрицательны (Xj ≥0, j = 1,2,…,n), система ограничений состоит лишь из одних неравенств ,- такая задача линейного программирования называется стандартной, если система ограничений из одних уравнений, та задача называется канонической. Так, в приведенном выше примерах задач линейного программирования задачи 1 и 2 – стандартные, задача 4 – каноническая, а задача, а задача 3 – общая.
Любая задача линейного программирования может быть сведена к канонической, стандартной или общей задаче.
Ранг матрицы. Эквивалентные матрицы. Дана прямоугольная матрица.
α11 α12 … α1n
A = α21 α22… α2n
…………………
αn1αn2….… αnn
выделим в этой матрице к произведенных столбцов и к произведенных строк (k ≤ m, k ≤ n). Определитель которого порядка, составлений из элементов матрицы А, расположенных на пересечении выделенных строк и столбцов, называются минором которого порядка матрицы А. матрица А имеет
С · С миноров которого порядка.
Рассмотрим всевозможные миноры матрицы А, отличные от нуля. Рангом матрицы А называется наибольший порядок минора этой матрицы принимают равным нулю. Всякий отличный от нуля минор матрицы, порядок которого равен рангу этой матрицы называется базисным минором матрицы. Ранг матрицы А будем обозначать через r(A). r(A) = r(B) , матрицы А и В называется эквивалентными. В этом случае записывают А ~ В. ранг матрицы не изменяется от элементарных приобретений. Под элементами преобразованиями понимается:
- замена строк столбцами, α столбцов соответственно строками;
- перестановка строк матрицы;
- вычеркните строки, все элементы которой равны нулю;
- умножение какой – либо строки на число не равно нулю;
- прибавление к матрицам одной строки соответствующих элементов другой строки.
ПРИМЕР 1
Определить ранг матрицы
2 3 4
4 6 8
6 9 12
определитель матрицы второго и третьего порядка.
4 6 1 2
М = = 0; М =
6 9 2 4
все миноры второго и третьего порядка равны нулю, следовательно, ранг матрицы r (A) = 1
ПРИМЕР 2
1 0 0 0 5
0 0 0 0 0
2 0 0 0 11
Вычеркним строки и столбцы с нулевыми элементами, получим матрицу эквивалентностью данной.
1 5
2 11
так как 1 5
= 0 = 1, то ранг матрицы r (A) = 2
2 11
ПРИМЕР 3. Сколько миноров второго порядка имеет матрица
α11 α12 α13
А = α21 α22 α23
α31 α32 α33
С • С = 3·3 = 9 миноров второго порядка
Исследования систем m линейных уравнений с n неизвестными. Дана система m линейной уравнений с n неизвестными.
α11 x1 + α12 x2 +…+ α1nxn = b1
α21 x1 + α22 x2 +…+ α2nxn = b2
……………………………………………………..
α m1 x1 + αm2 x2 +…+ αmnxn = bm
Решением этой системы называется совокупность n чисел
(x1, x2,…, xn), которое при подстановки в уравнения, обращают их в тождества. Система уравнений называется совместный, если она имеет хотя бы одно решение. Если же система не имеет ни одного решения, то она называется несовместной. Совместная система называется определенной, если она имеет больше одного решения.
Матрица
α11 α12 … α1n
А = α21 α22 … α2n
………………….
α31 α32 …α3n
называется матрицей системы. Матрица
α11 α12 … α1n b1
А = α21 α22 … α2n b2
……………………..
αm1 αm2 …αmn bm
называется расширенной матрицей этой системы.
Для совместной системы необходимо и достаточно, чтобы ранг матрицы система равнялся рангу расширенной матрицы этой системы.
r(A) = r(A1) = r
Если b = b2 = … bn = 0, то система линейного уравнения называется однородной. Однородная система уровней всегда совместна. Если ранг совместной системы равен числу неизвестных (т.е. r = n), то система будет определенной. Если же ранг совместимой системы меньших числа неизвестных, то система неопределенная.
Задачи линейного программирования показывает, что любая задача линейного программирования может быть представлена в виде общей, канонической или стандартной задачи. В данном разделе будем рассматривать каноническую задачу, в которой система ограничений есть система уравнений. Для обоснования свойства задачи линейного программирования и методов ее решения целесообразно рассматривать еще два вида записи канонической задачи.
Матричная форма записи:
F = CX → max (min)
при ограничениях
АX = В,
X ≥ 0
где
α11 α12… α1n x1 b1
α11 α11 … α11 x2 b2
С = (с1,с2,…,сn); A = …………… ; X = … B = …
α11 α11 … α11 xn bm
здесь С — матрица – строка, А – матрица систем, Х – матрица – столбец переменных, В – матрица – столбец свободных членов.
Векторная форма записи:
F = CX → max (min)
при ограничениях
p1x1 + p2x2 + …+ pnxn = p
x ≥ 0
где CX – скалярное произведение векторов С = (с1,с2,…,сn) и
X = (x1,x2,…,xn), векторы
α11 α11 α1n b1
P1 = α11 , P2 = α11 , P1= α2n , P1= b1
… … … …
α11 α11 αmn b1
состоят соответственно из коэффициентов при переменных и свободных членов. Векторное неравенство x ≥ 0 означает, что все компоненты вектора неотрицательны, т.е. x j≥ 0, j = 1,2,…,n.
Множества всех допустимых решений систем ограничений задачи линейного программирования является выпуклым. Пусть
Х1=(x1, x2,…, xn) и Х2=(x1, x2,…, xn) – два допустимых решения задачи, заданной в матричной форме. Тогда АХ1 = В и АХ2=В
Рассмотрим выпуклую линейную комбинацию решений Х1 и Х2, т.е. х = α1х1 + α2х2 при α1≥0, α2 ≥0 и α1 + α2 = 1 и покажем, что она также является допустимым решением системы самом деле
AX = A(α1х1+ α2х2) = α1AX1 + (1 — α1) AX2 = α1B + (1 — α1)B = B, т.е. решение Х удовлетворяет систему. Но так как х1≥0, х2 ≥0 , α1 ≥0,
Α2 ≥0, то и х ≥0, т.е решение Х удовлетворяет и условно. Итак, доказано, что множество всех допустимых решений задачи линейного программирования выпуклым, а точнее, представляет выпуклый многогранник или выпуклую многогранную область, которое в дальнейшем будет называть одним термином – многогранником решений. Ответ на вопрос, в какой точке многогранника решений возможно оптимальное решение задачи линейного программирования, дается в следующей фундаментальной теореме. В этом разложении среди значений
F(xj)(j = 1,2,…,p) выберем максимальную. Пусть оно соответствует угловой точке xк (1≤ k ≤ p); обозначим его через M , т.е. F(xк) = М.
Заменим в выражении каждое значение этим максимальным значением М. тогда, учитывая, что αj ≥0, Σ αj = 1,
F(x*) ≤ α1M + α2M + …+ αpM = M Σ αj =M. Под предположению оптимальное решение, поэтому, с одной стороны, F(x*)≥ F(xк) = М,
то с другой стороны, доказано, что F(x*)≤ М, следовательно,
F(x*) = М = F(xк), где xк – угловая точка. Итак, существует угловая точка xк , линейная функция принимает максимальное значение более чем в одной угловой точке, например, в точках
X1, X2,…,Xq 1≤ q ≤p ; F(X1,) = F(X2) = …= F(Xq) = M.
Пусть Х – выпуклая линейная комбинация этих угловых точек, т.е
F(X) = F(α,X1 + α2X2 + …+ αqXq) = α1F(X1) + α2F(X2) + …+ αq F(Xq) = = α1M + α2M + …+ αqM = MΣαj = M,
т.е. линейная функция. F принимает максимальное значение в произвольной точке Х, является выпуклой линейной комбинацией угловых точек Х1,Х2,…,Хq.
Каждому допустимому базисному решению задачи линейного программирования соответствует угловая точке многогранника решений соответствует допустимое базисное решение.
Пусть Х1=(x1, x2,…, xm ;0,0,…,0) – допустимое базисное решение системных ограничений задачи, в котором первые m компонент – основные переменные, а остальные n – m компонент – не основанные переменные, равные нулю в базисном решении (если это не так, то соответствующие переменные можно перенумеровать). Покажем, что Х – угловая точка многогранника решений. Предположим противное, т.е. что Х не является угловой точкой. Точку Х можно представить внутренней точкой отрезка, соединяющего две различные не совпадающие с Х, точки
Х1=(x1, x2,…, xm ;0,0,…,0) и
Х2=(x1, x2,…, xm ;0,0,…,0)
другими словами, — выпуклой линейной комбинацией точек x1 и x2 многогранника решений, т.е
X = α1 X1 + α2 X2
где α1≥0, α2≥0, α1 + α2 = 1 (полагаем, что α1 = 0, α2 = 0, ибо в противном случае точка Х совпадает с точкой X1 или X2)
Запишим векторное равенство в координатной форме:
Х1 = α1 X1 + α2 X2,
……………………..
Х1 = α1 Xm + α2 Xm,
0 = α1 Xm+1 + α2 Xm+1,
………………………
0 = α1 Xn + α2 Xn
Поскольку xj≥0, xj≥0 (j = 1,2,…,n), x1>0, x2>0, то из последних n – m равенств следует, что Xm+1 = 0,…, Xn = 0, Xn = 0, т.е. в решениях x1, x2 и х система уравнений значения n – m компонент равны в данном случае нулю. Эти компоненты можно считать значениями не основных переменных. Но значения не основных переменных однозначно определяют значения основных, следовательно,
x1= x1 = x1,…, xm = xm = x2. Таким образом, все n компонент в решениях х, x1 и x2 совпадают, и значит, точки x1 и x2 сливаются, что противоречит допущению. Следовательно, х – угловая точка многогранника решений. Докажем обратное утверждение. Пусть
Х =(x1, x2,…, xm ;0,0,…,0) угловая точка многогранника решений и первые ее m координат положительны. Покажем, что х – допустимое базисное решение. Если векторы P1, P2,…, Pm линейно независимы, то ранг r матрицы А, составленной из компонент этих векторов, равен m, т.е. определить |А| ≠ 0, следовательно, переменные x1, x2,…, xm является основными, и решение
Х =(x1, x2,…, xm ;0,0,…,0) – базисное, допустимое, т.е. утверждение доказано.
Предположим противное, т.е. векторы P1, P2,…, Pm линейно зависимы, тогда в равенстве α1 P1 + αm Pm +…+ αn Pn = 0
Хотя бы один из коэффициентов α1,…, αm,…, αn отличен от нуля. умножим почтенно равенство на множитель μ >0
μ α1 P1 + …+ μ αm Pm +…+ μ αn Pn = 0
подставив координаты угловой точки Х многогранника решений в системе ограничений, получим
р1 х1 + …+ рm хm +…+ рn хn = 0
Равенство почтенно сложим с равенством, а затем вычтем его из равенства. Получим
P1 (х1 + μ α1) + Pm (хm + μ αm ) + Pn (хn + μ αm )= P
P1 (х1 — μ α1) + Pm (хm — μ αm ) + Pn (хn — μ αm )= P
Сравнивая полученные равенства с равенством, заключаем, что при любом μ система ограничений удовлетворяет решения
х1 = (х1 + μ α1,…, хm + μ αm; 0,0,…,0)
х2 = (х1 — μ α1,…, хm — μ αm; 0,0,…,0)
Поскольку xj≥0 (j = 1,2,…,n), то можно подобрать μ настолько малым, что все компоненты решений х1 и х2 будут неотрицательны.
В результате х1 и х2 будут различными допустимыми решениями задачи. При этом, как легко видеть, решение
½( х1 + х2) = (х1 ,х2,… хm; 0,0,…,0) = x, т.е.векторы Р1 , Р2 ,…, Рm линейно независимы и x – допустимое базисное решение задачи. Из этого непосредственно вытекает важное следствие. Если задача линейного программирования имеет оптимальное решение, то оно совпадают, по крайней мере, с одним из ее допустимым базисных решений. Итак, оптимизм линейной функции задачи линейного программирования следует искать среди конечного числа и допустимых базисных решений.
Выпуклое множества точек определения как множество, которое вместе с любыми своими двумя точками содержит весь отрезок, их соединяющий. Однако в случае n переменных не ясно, что следует понимать под «отрезком» в n – мерном пространстве. Очевидно, надо дать аналитическое определение этого понятия. Начнем с n = 2 (двумерного пространства, плоскости). Пусть
x1 = (x1, x2) и x2 = (x1, x2) – точки плоскости 0x·1X2 а x = (x1, x2) – любая точка отрезка x1x2. Очевидно, что отношение α длин отрезков xx2 и x1x2 удовлетворяет условию 0 ≤ α ≤ 1. Запишем это отношение α через координаты точек.
Получим
α = x1 — x1/ x1 — x1 = x2 – x2/ x2 – x2
откуда
x1 = α x (1) + (1 – α) x1,
x2 = α x 2 + (1 – α) x2
где
0 ≤ α ≤ 1
Пологая
α1 = α и α2 = 1 – α, условия примут вид
x1 = α1x 1 + α2x1 ,
x2 = α1x 2 + α2x2 ,
α1 ≥0, α ≥0, α1 + α2 = 1
понимая, что в нем все операции выполняются покоординатное
(т.е. отдельно по переменной x1 и отдельно по переменной x2). Таким образом, отрезок x1x2 можно определить как множество точек, удовлетворяющих условиям. В случае n – мерного пространства определение отрезка будет таким же – множества точек, удовлетворяющих условиям если под x1 и x2 подразумевать точки n – мерного пространства.
x1 = (x1, x2,…, xn) и x2 = (x1, x2,…, xn)
обобщением понятия отрезка для нескольких точек является их выпуклая линейная комбинация.
Точка Х называется выпуклой линейной комбинацией точек x1, x2,…, xn, если выполнения условия
x = α1x 1 + α2x2 +…+ αnxn-n
αj ≥ 0 (j = 1,2,…,n), Σ αj = 1
Так, например, выражение (1/6) x 1 + (1/2) x 2 + ( 1/3) x 3 есть выпуклая линейная комбинация точек x 1, x 2, x 3, а выражения
(1/3) x 1 + (1/2) x 2 + ( 1/3) x 3 или (1/3) x 1 — (1/2) x 2 + ( 7/6) x 3 является линии, но не выпукление комбинации тех точек (в первом 1/3 + ½ + 1/3 ≠ 1, а во втором α2 = — 1/2 > 0).
Очевидно, что в частном случае при n = 2 выпуклой линейной комбинацией двух точек является соединяющий их отрезок. По этому множество точек является выпуклым, если оно вместе с любыми своими двумя точками содержит их произвольную выпуклую линейную комбинацию. Рассмотрим теорему о представлении выпуклого многогранника.
Теорема. Выпуклый n – мерный многогранник является выпуклой линейной комбинацией своих угловых точек.
Возьмем для простоты n = 2, а в качестве многогранника треугольник x1 x2 x3. Через произвольную точку Х лежит на этом отрезке, то
Х = α1x 1 + α4x4,
α1 ≥ 0, α2 ≥ 0, α1 + α4 =1
Точка x4 лежит на отрезке x2x3, следовательно, x4 = α2x 2 + α3x 3 где α2≥ 0, α2 + α3 =1
X = α1x 1 + α4(α2x 2 + αx 3 = α1x 1 + α2 α 4 x 2 + α3 α4 x .
Обозначим t1 = α1, t2 = α2 α4, t3 = α 3 α4, получим окончательно
X = t 1x 1 + t 2x 2 + t 3x 3 ,
где
t 1 ≥0, t 2 ≥0, t 3 ≥0 и t 1+ t 2+ t 3 = 1
х2
х
х
х х3
Таким образом точка Х есть выпуклая линейная комбинация угловая точек треугольника Х1Х2Х3. Из теоремы следует что выпуклой многогранник порождается своими угловыми точками или вершинами: отрезок – двумя точками, треугольник – тремя, тетраэдр – четырьмя точками множеством, не определяется однозначно своими условиями точками; любую ее точку нельзя представить в виде выпуклой линейной комбинации угловых точек.
Рассмотрим основную задачу линейного программирования в стандартной форме с двумя переменными. К какой форме может быть сведена и каноническая задача, когда число переменных n больше числа уравнений m на 2, т.е n –m = 2. Рассмотрим так называемую линию уровня линейной функции F, т.е. линию, вдоль которой эта функция принимает одно и то же фиксированное значение α , т.е F = α,
или
с1х1 + с2х2 = α
линии уровня широко используется, например, на картах прогнозы погоды, где извилистые линии – так называемые изо термы есть не что иное, как линии уровня температуры Т = с. Еще более простым примером линий уровня является параллель не географический карте. Это линии уровня широты. Предположим, надо найти самую северную точку какой – либо области, например страны или материка. Это будет точка, через которую проходит параллель с самой большой широтой. Именно так и надо поступать при геометрическом решении задач линейного программирования. На многоугольное решение следует найти точку, через которую проходит линия уровня функции F с наибольшим или наименьшим уровнем. Уравнение линии уровня функции есть уравнение прямой линии. При различных уровнях α линии уровня параллельны, так как их угловые коэффициенты определения только соотношением между коэффициентами с1 и с2 и следовательно, равны. Таким образом, линии уровня функции F – это своеобразные «параллели», расположенное обычно под углом к осям координат. Важное свойство линии уровня линейной функции состоит в том, что при параллельном смещении линии в одну сторону уровень только возрастает, а при смещении, в другую сторону – только убывает.
Дана система линейного уравнения
α1х1 + α 12х2 + …+ α 1nхn = b1
α 21х1 + α 22х2 + …+ α 2nхn = b2
……………………………………………………
α1х1 + α 12х2 + …+ α 1nхn = b1
α m1х1 + α m2х2 + …+ α mnхn = bm
В матрице А этой системы выберем отличий от нуля элемент αpq. Этот элемент будет называется разрешающим элементом, р – й столбец разрешающий столбец, а q – я строка – разрешающая строка.
Рассмотрим новую систему уравнений
α1х1 + α 12х2 + …+ α 1n хn = b1
α 21х1 + α 22х2 + …+ α 2n хn = b2
……………………………………………………
α1х1 + α 12х2 + …+ α 1nхn = b1
α m1х1 + α m2х2 + …+ α mnхn = bm
с матрицей А коэффициенты и свободные члены которой определяется по формулам.
αij = αij — αip· αqj / αqp
, i≠q
bi = bi — αip∙ bq / αqp
в частности αip= 0, если i ≠ q. Если же i = q, то принимаем
αqj = αqj, bq = bq. Таким образом q – е уравнение системе и одинаковы, а коэффициенты при хр во всех уравнениях система, кроме q – го уравнения, равны 0. Следует иметь в виду, что система и одновременно совместимы или несовместимы. В случае совместности система и равносильны. Для определения элемента
αij матрицы А полезно иметь в виду так называется «правило прямоугольника». Рассмотрим 4 элемента матрицы А: αij(элемент, подлежащий преобразований) а qр и элементы αip и αqj следует из элементов αij вычесть произведение элементов αip и αqj расположенных в противоположных вершинах прямоугольника, деленное на разрешающих элемент αqp :
αij……………….αip
- •
- ………………………………•
αqj αqp
Аналогичным образом можно преобразовать система, приняв за разрешающий элемент матрицы А элемент asr ≠ 0, s ≠ 0, r ≠ p
После этого преобразования все коэффициенты при хr кроме asr будут равны нужно. Полученная система может быть слова преобразовано. Если r = n, то после ряда преобразований придем к системе уравнений вида:
к1 x 1 = l1,
к2 x 2 = l2,
…………
кn x n = ln
из которой находятся значения неизвестных. Описанный способ решения, основанной на последовательном исключении неизвестных, называется способом Жордана – Гаусса.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- Каракулов А.К., “Математическое моделирование”, — Алматы :
изд. КазАТК им. М. Тынышпаева, 2005 год.
- Ташев А.А., “Информационные системы”, — Алматы:
изд. КазАТК им. М. Тынышпаева, 2005 год.