Тема «Линейное программирование» Задачей линейного программирования называется задача исследования операций, математическая модель которой имеет вид: n f ( X ) c j x j max(min) j 1 n a x j 1 n ij a j 1 ij j b, i I I M 1, 2,..., m x j bi , i M x j 0, j J , J N 1, 2,..., n Система линейных уравнений и неравенств, определяющая допустимое множество решений задачи , называется системой ограничений задачи линейного программирования, а линейная функция называется целевой функцией или критерием оптимальности. Тема «Линейное программирование» Если математическая модель задачи линейного программирования имеет вид: n f ( X ) c j x j min j 1 n a j 1 ij x j bi , i 1, m bi 0 x j 0, j 1, n то говорят, что задача представлена в канонической форме. Тема «Линейное программирование» Каноническая задача линейного программирования имеет вид: Z(X) = c1x1 + c2x2 + … + cnxn → (max) min xj≥0, j = 1,2,…,n Тема «Линейное программирование» Графический способ решения задач линейного программирования целесообразно использовать для: • решения задач с двумя переменными, когда ограничения выражены неравенствами; • решения задач со многими переменными при условии, что в их канонической записи содержится не более двух свободных переменных. То есть графический метод используется для решения задач с двумя переменными следующего вида: Z(X) = c1x1 + c2x2 → (min) max X1≥0, X2≥0 Тема «Линейное программирование» Целевая функция определяет на плоскости семейство параллельных прямых, каждой из которых соответствует определенное значение Z. Для нахождения среди допустимых решений оптимального решения используют линии уровня и опорные прямые. Линией уровня называется прямая, на которой целевая функция задачи принимает постоянное значение. Уравнение линии уровня в общем случае имеет вид c1x1 + c2x2 = l, где l – const. Все линии уровня параллельны между собой. Их нормаль Опорной прямой называется линия уровня, которая имеет хотя бы одну общую точку с областью допустимых решений и по отношению к которой эта область находится в одной из полуплоскостей. Вектор с координатами с1 и с2, перпендикулярный к этим прямым, указывает направление наискорейшего возрастания Z, а противоположный вектор – направление убывания Z. Тема «Линейное программирование» Рис. 3.1. Оптимум функции Z достижим в точке А Рис. 3.2. Оптимум функции Z достигается в любой точке Тема «Линейное программирование» Рис. 3.3. Оптимум функции Z не достижим Рис. 3.4. Область допустимых решений – пустая область Тема «Линейное программирование» Алгоритм графического метода решения задач линейного программирования с двумя переменными: 1. Построить прямые, уравнения которых получаются в результате замены в ограничениях знаков неравенств на знаки равенств. Если область допустимых значений является пустым множеством, то задача не имеет решения ввиду несовместимости системы ограничений. 2. Найти полуплоскости, определяемые каждым из ограничений задачи. 3. Определить многоугольник решений. 4. 5. Построить вектор C (c1; c2 ). Построить прямую Z c1 x1 c2 x2 0 , проходящую через научало координат и перпендикулярную вектору . Тема «Линейное программирование» Алгоритм графического метода решения задач линейного программирования с двумя переменными: 6. Передвигать прямую Z c1 x1 c2 x2 в направлении вектора C , в результате чего либо находят точку (точки), в которой целевая функция принимает максимальное значение, либо устанавливают неограниченность функции сверху на множестве планов. 7. Определить координаты точки максимума функции и вычислить значение целевой функции в этой точке. Тема «Линейное программирование» Симплексный метод основывается на следующем: • • • область допустимых значений решений задачи линейного программирования является выпуклым множеством с конечным числом угловых точек, т.е. многогранником или многоугольным множеством; оптимальным решением задачи линейного программирования является одна из угловых точек области допустимых значений; угловые точки области допустимых решений алгебраически представляют собой некоторые базисные (опорные) решения системы ограничений задачи. Тема «Линейное программирование» Симплексный метод состоит в целенаправленном переборе опорных решений задачи линейного программирования. Он позволяет за конечное число шагов расчета либо найти оптимальное решение, либо установить его отсутствие. Основное содержание симплексного метода: • найти начальное опорное решение; • осуществить переход от одного опорного решения к другому, на котором значение целевой функции ближе к оптимальному; • определить критерии завершения процесса решения задачи, позволяющие своевременно прекратить перебор решений на оптимальном решении или сделать заключение об отсутствии решения. Тема «Линейное программирование» Опорным решением задачи линейного программирования называется такое допустимое решение Х = (х10, х20, …, хm0, 0, …), для которого векторы условий (столбцы коэффициентов при неизвестных в системе ограничений) А1, А2, … , m, соответствующие положительным координатам, линейно независимы. Число отличных от нуля координат опорного решения не может быть больше ранга r системы векторов условий (числа линейно независимых уравнений системы ограничений). В дальнейшем будем считать, что система ограничений состоит из линейно независимых уравнений, т.е. r=m. Если число отличных от нуля координат опорного решения равно m, то решение называется невырожденным, в противном случае – вырожденным. Тема «Линейное программирование» Базисом опорного решения называется базис системы векторов условий задачи, включающий в свой состав векторы, соответствующие отличным от нуля координатам опорного решения. Базисное решение находится методом Жордана – Гаусса. При этом разрешающие элементы для преобразований Жордана необходимо выбирать из условия, обеспечивающего неотрицательность правых частей уравнений системы, где k – номер вектора условия Ak, вводимого в базис (номер выбираемого столбца матрицы системы ограничений); l – номер вектора Al, выводимого из базиса (номер строки матрицы системы, в которой следует выбрать разрешающий элемент для преобразований Жордана). Тема «Линейное программирование» Алгоритм симплекс-метода Рассмотрим систему ограничений и линейную форму вида: Zmin= co + c1x1 + c2x2 + … + cnxn xj≥0, j = 1,2,…,n Используя метод Жордана – Гаусса, приведем записанную систему к виду, где выделены базисные переменные. Введем условные обозначения: x1, x2, … xr – базисные переменные; xr+1, xr+2, … xn – свободные переменные. Тема «Линейное программирование» Алгоритм симплекс-метода Данная таблица называется симплекс-таблицей. Все дальнейшие преобразования связаны с изменением содержания этой таблицы. Таблица 3.1 Свободные неизвестные Базисные неизвестные Свободны й член xr+1 xr+2 … xn x1 β1 α1r+1 α1r+2 … α1n x2 β2 α2r+1 α2r+2 … α2n … … … … … xr βr αrr+1 αrr+2 … αrn Zmin γ0 γr+1 γr+2 … γn Тема «Линейное программирование» 1. 2. 3. 4. Алгоритм симплекс-метода В последней строке симплекс-таблицы находят наименьший положительный элемент, не считая свободного члена. Столбец, соответствующий этому элементу, считается разрешающим. Вычисляют отношение свободных членов к положительным элементам разрешающего столбца (симплекс-отношение). Находят наименьшее из этих отношений, оно соответствует разрешающей строке. На пересечении разрешающей строки и разрешающего столбца находится разрешающий элемент. Если имеется несколько одинаковых по величине симплексотношений, то выбирают любое из них. То же самое относится к положительным элементам последней строки симплекс-таблицы. Тема «Линейное программирование» 5. Алгоритм симплекс-метода После нахождения разрешающего элемента переходят к следующей таблице. Неизвестные переменные, соответствующие разрешающей строке и столбцу, меняют местами. При этом базисная переменная становится свободной переменной и наоборот. Симплекс-таблица преобразована следующим образом: Таблица 3.2 Свободные неизвестные Базисные неизвестные Свободн ый член xr+1 x1 … xn xr+2 β1/ α1r+2 α1r+1/ α1r+2 1/α1r+2 … α1n/ α1r+2 -(α2r+2) /α1r+2 … … xr -(αrr+2)/α1r+2 … Zmin -(γr+2) /α1r+2 … x2 … … … … … Тема «Линейное программирование» Алгоритм симплекс-метода 6. 7. 8. Элемент табл. 3.2, соответствующий разрешающему элементу табл. 3.1, равен обратной величине разрешающего элемента. Элементы строки табл. 3.2, соответствующие элементам разрешающей строки табл. 3.1, получаются путем деления соответствующих элементов табл. 3.1на разрешающий элемент. Элементы столбца табл. 3.2, соответствующие элементам разрешающего столбца табл. 3.1, получаются путем деления соответствующих элементов табл. 3.1 на разрешающий элемент и берутся с противоположным знаком. Тема «Линейное программирование» 6. 7. 8. 9. Алгоритм симплекс-метода Элемент табл. 3.2, соответствующий разрешающему элементу табл. 3.1, равен обратной величине разрешающего элемента. Элементы строки табл. 3.2, соответствующие элементам разрешающей строки табл. 3.1, получаются путем деления соответствующих элементов табл. 3.1на разрешающий элемент. Элементы столбца табл. 3.2, соответствующие элементам разрешающего столбца табл. 3.1, получаются путем деления соответствующих элементов табл. 3.1 на разрешающий элемент и берутся с противоположным знаком. Остальные элементы вычисляются по правилу прямоугольника: мысленно вычерчиваем прямоугольник в табл. 3.1, одна вершина которого совпадает с разрешающим элементом, а другая – с элементом, образ которого мы ищем; остальные две вершины определяются однозначно. Тема «Линейное программирование» 10. 11. 12. Алгоритм симплекс-метода Тогда искомый элемент из табл. 3.2 будет равен соответствующему элементу табл. 3.1 минус дробь, в знаменателе которой стоит разрешающий элемент, а в числителе - произведение элементов из двух неиспользованных вершин прямоугольника. Как только получится таблица, в которой в последней строке все элементы отрицательны, считается, что минимум найден. Минимальное значение функции равно свободному члену в строке целевой функции, а оптимальное решение определяется свободными членами при базисных переменных. Все свободные переменные в этом случае равны, нулю. Если в разрешающем столбце все элементы отрицательны, то задача не имеет решений (минимум не достигается). Тема «Линейное программирование» Алгоритм симплекс-метода Алгоритм симплекс-метода можно применять лишь в том случае, если выделено первое допустимое решение, т.е. исходная задача линейного программирования приведена к виду При этом , тогда, положив свободные неизвестные равными нулю, получаем опорное решение Тема «Линейное программирование» Метод нахождения опорного решения, основанный на введении искусственных переменных Запишем задачу линейного программирования в общем виде. Будем рассматривать задачу с числом неизвестных «n» и «r» ограничениями: (3.1) Перепишем систему (3.1) в другом виде. Для этого введем искусственные переменные y1, y2,…, yr так, чтобы был введен базис. Тогда система примет вид: (3.2) Тема «Линейное программирование» Метод нахождения опорного решения, основанный на введении искусственных переменных Системы (3.1) и (3.2) будут эквивалентны в том случае, если все yi, для будут равны 0. Кроме того, мы считаем, что все для В противном случае соответствующие ограничения из системы (3.1) умножим на -1. Для того чтобы yi были равны 0, мы должны преобразовать задачу таким образом, чтобы все искусственные переменные yi перешли в свободные неизвестные. В этом случае система (3.2) после преобразования примет вид (3.3) (3.3) Тема «Линейное программирование» Метод нахождения опорного решения, основанный на введении искусственных переменных От системы (3.2) к системе (3.3) всегда можно перейти шагами симплекс-метода. При таком переходе в качестве линейной формы рассматривают функцию , равную сумме искусственных переменных. Переход заканчивают, когда и все искусственные переменные yi переведены в свободные неизвестные. Анализ вариантов решений: 1. Если ,а все yi переведены в свободные переменные, то задача не имеет положительного решения. Если , а часть yi осталась в базисе, то для перевода их в свободные переменные необходимо применять специальные приемы. В симплекс-таблице, соответствующей системе (3.3), после того, как , а все yi – свободные, вычеркивают сроку для и столбцы для yi и решают задачу для исходной линейной формы . 2. Тема «Транспортные задачи» Математическая модель транспортной задачи Однородный груз сосредоточен у m поставщиков в объемах а1, а2 , …, аm. Данный груз необходимо доставить n потребителям в объемах b1, b2, …, bn. Известны Сij (i = 1, 2,…m; j = 1, 2, … n) – стоимости перевозки единицы груза от каждого i-го поставщика каждому j-му потребителю. Требуется составить такой план перевозок, при котором запасы всех поставщиков вывозятся полностью, запросы всех потребителей удовлетворяются полностью и суммарные затраты на перевозку всех грузов минимальны. Исходные данные транспортной задачи записываются в таблице вида: bj b1 b2 … bn c11 c21 … cm1 c12 c22 … cm2 … … … … c1n c2n … cmn ai a1 a2 … am Тема «Транспортные задачи» Математическая модель транспортной задачи Переменными (неизвестными) транспортной задачи являются xij (i = 1,2, …, m; j = 1,2,…, n) – объемы перевозок от каждого i-го поставщика каждому j-му потребителю. Эти переменные могут быть записаны в виде матрицы перевозок: (3.4) Тема «Транспортные задачи» Математическая модель транспортной задачи Математическая модель транспортной задачи в общем случае имеет вид: (3.5) (3.6) (3.7) (3.8) Тема «Транспортные задачи» Математическая модель транспортной задачи Таким образом, математическая формулировка транспортной задачи состоит в следующем: найти переменные задачи удовлетворяющие системе ограничений (3.5), (3.6), условиям неотрицательности (3.7) и обеспечивающие минимум целевой функции (3.8). В рассмотренной модели транспортной задачи предполагается, что суммарные запасы поставщиков равны суммарным запросам потребителей, т.е. Такая задача называется задачей с правильным балансом, а ее модель - закрытой. Если ж е это равенство не выполняется, то задача называется задачей с неправильным балансом, а ее модель – открытой. Тема «Транспортные задачи» Опорное решение транспортной задачи Опорным решением транспортной задачи называется любое допустимое решение, для которого векторы условий, соответствующие положительным координатам, линейно независимы. Ввиду того что ранг системы векторов условий транспортной задачи равен N = m + n – 1, опорное решение не может иметь отличных от нуля координат больше, чем N. Для проверки линейной независимости векторов условий, соответствующих координатам, допустимого решения, используют циклы. Тема «Транспортные задачи» Опорное решение транспортной задачи Циклом называется такая последовательность клеток таблицы транспортной задачи (i1, j1), (i1, j2), (i2, j2), …(ik, j1), в которой две и только две соседние клетки расположены в одной строке или столбце, причем первая и последняя также находятся в одной строке или столбце. Система векторов условий транспортной задачи линейно независима тогда и только тогда, когда из соответствующих им клеток таблицы нельзя образовать ни одного цикла. Следовательно, допустимое решение транспортной задачи является опорным только в том случае, когда из занятых им клеток таблицы нельзя образовать ни одного цикла. Тема «Транспортные задачи» Опорное решение транспортной задачи Метод вычеркивания используют для проверки возможности образования цикла. Если в строке или столбце таблицы одна занятая клетка, то она не может входить в какой-либо цикл, так как цикл имеет две и только две клетки в каждой строке или в столбце. Следовательно, можно вычеркнуть все строки таблицы, содержащие по одной занятой клетке, затем вычеркнуть все столбцы, содержащие по одной занятой клетке, далее вернуться к строкам и продолжить вычеркивание строк и столбцов. Если в результате вычеркиваний все строки и столбцы будут вычеркнуты, значит, из занятых клеток таблицы нельзя выделить часть, образующую цикл, и система соответствующих векторов условий является линейно независимой, а решение – опорным. Если же после вычеркиваний останется часть клеток, то эти клетки образуют цикл, система соответствующих векторов условий линейно зависима, а решение не является опорным. Тема «Транспортные задачи» Опорное решение транспортной задачи Метод северо-западного угла. Согласно данному методу запасы очередного поставщика используются для обеспечения запросов очередных потребителей до тех пор, пока не будут исчерпаны полностью, после чего используются запасы следующего по номеру поставщика. Заполнение таблицы транспортной задачи начинается с левого верхнего угла и состоит из ряда однотипных шагов. На каждом шаге, исходя из запасов очередного поставщика и запросов очередного потребителя, заполняется только одна клетка и соответственно исключается из рассмотрения один поставщик или потребитель. При этом нулевые перевозки принято заносить в таблицу только в том случае, когда они попадают в клетку (i,j), подлежащую заполнению, т.е. в таблицу заносятся только базисные нули (0*), остальные клетки с нулевыми перевозками остаются пустыми. Тема «Транспортные задачи» Опорное решение транспортной задачи Метод северо-западного угла. Во избежание ошибок после построения начального опорного решения необходимо проверить, что число занятых клеток равно m + n – 1 и векторы условий, соответствующие этим клеткам, линейно независимы. Необходимо иметь в виду, что метод северо-западного угла не учитывает стоимость перевозок, поэтому опорное решение, построенное по данному методу, может быть далеким от оптимального. Метод минимальной стоимости позволяет построить опорное решение, которое достаточно близко к оптимальному, так как использует матрицу стоимостей транспортной задачи Тема «Транспортные задачи» Опорное решение транспортной задачи Метод минимальной стоимости Метод состоит из ряда однотипных шагов, на каждом из которых заполняется только одна клетка таблицы, соответствующая минимальной стоимости , и исключается из рассмотрения только одна строка (поставщик) или один столбец (потребитель). Очередную клетку, соответствующую , заполняют по тем же правилам, что и в методе северо-западного угла. Поставщик исключается из рассмотрения, если его запасы заканчиваются. Потребитель исключается из рассмотрения, если его запросы удовлетворены полностью. На каждом шаге исключается либо один поставщик, либо один потребитель. При этом если поставщик еще не исключен, но его запасы равны нулю, то на том шаге, когда от него требуется поставить груз, в соответствующую клетку таблицы заносится базисный нуль и лишь затем поставщик исключается из рассмотрения. Аналогично поступают с потребителем. Тема «Транспортные задачи» Опорное решение транспортной задачи Метод потенциалов Если допустимое решение транспортной задачи является оптимальным, то существуют потенциалы (числа) поставщиков ui, i = 1, 2, … m и потребителей vj, j = 1,2, …, n, удовлетворяющие следующим условиям: (3.9) (3.10) Группа равенств (3.9) используется как система уравнений для нахождения потенциалов. Данная система уравнений имеет m + n неизвестных ui, i = 1,2,…,m и vj, j = 1,2,…n. Число уравнений системы, как и число отличных от нуля координат невырожденного опорного решения, равно m + n - 1. Так как число неизвестных системы на единицу больше числа уравнений, то одной из них можно задать значение произвольно, а остальные найти из системы. Тема «Транспортные задачи» Опорное решение транспортной задачи Метод потенциалов Если допустимое решение транспортной задачи является оптимальным, то существуют потенциалы (числа) поставщиков ui, i = 1, 2, … m и потребителей vj, j = 1,2, …, n, удовлетворяющие следующим условиям: (3.9) (3.10) Группа равенств (3.9) используется как система уравнений для нахождения потенциалов. Данная система уравнений имеет m + n неизвестных ui, i = 1,2,…,m и vj, j = 1,2,…n. Число уравнений системы, как и число отличных от нуля координат невырожденного опорного решения, равно m + n - 1. Так как число неизвестных системы на единицу больше числа уравнений, то одной из них можно задать значение произвольно, а остальные найти из системы. { Тема «Транспортные задачи» Опорное решение транспортной задачи Метод потенциалов Группа неравенств (3.10) используется для проверки оптимальности опорного решения. Эти неравенства удобнее представить в следующем виде: Числа называются оценками для свободных клеток таблицы (векторов условий) транспортной задачи. Опорное решение является оптимальным, если для всех векторов условий (клеток таблицы) оценки неположительные. Оценки для свободных клеток транспортной таблицы используются при улучшении опорного решения. Для этого находят клетку (l,k) таблицы, соответствующую max{ } = . Если , то решение оптимальное. Если же , то для соответствующей клетки (l,k) строят цикл и улучшают решение, перераспределяя груз θ = min{хij} по этому циклу. Тема «Транспортные задачи» Особенности решения транспортных задач с неправильным балансом: 1. Если суммарные запасы поставщиков превосходят суммарные запросы потребителей, т.е. то необходимо ввести фиктивного (n + 1)-го потребителя с запросами равными разности суммарных запасов поставщиков и запросов потребителей, и нулевыми стоимостями перевозок единиц груза сi(n+1) = 0. Тема «Транспортные задачи» Особенности решения транспортных задач с неправильным балансом: 2. Если суммарные запросы потребителей превосходят суммарные запасы поставщиков, т.е. то необходимо ввести фиктивного (m + 1)-го поставщика с запасами 3. равными разности суммарных запросов потребителей и запасов поставщиков, и нулевыми стоимостями перевозок единиц груза с(m+1)j = 0. При составлении начального опорного решения в последнюю очередь следует распределять запасы фиктивного поставщика и удовлетворять запросы фиктивного потребителя, несмотря на то, что им соответствует наименьшая стоимость перевозок, равная нулю. Тема «Транспортные задачи» Алгоритм решения транспортных задач методом потенциалов: 1. Проверить выполнение необходимого и достаточного условия разрешимости задачи. Если задача имеет неправильный баланс, то вводится фиктивный поставщик или потребитель с недостающими запасами или запросами и нулевыми стоимостями перевозок. 1. Построить начальное опорное решение (методом минимальной стоимости или каким-либо другим методом), проверить правильность его построения по количеству занятых клеток (их должно быть m+n -1) и убедиться в линейной независимости векторов условий (используя метод вычеркивания). Тема «Транспортные задачи» Алгоритм решения транспортных задач методом потенциалов: 3. Построить систему потенциалов, соответствующих опорному решению. Для этого решают систему уравнений которая имеет бесконечное множество решений. Для нахождения частного решения системы одному из потенциалов (обычно тому, которому соответствует большее число занятых клеток) задают произвольно некоторое значение (чаще нуль). Остальные потенциалы однозначно определяются по формулам если известен потенциал , и , если известен потенциал . . Тема «Транспортные задачи» Алгоритм решения транспортных задач методом потенциалов: 4. Проверить выполнение условия оптимальности для свободных клеток таблицы. Для этого вычисляют оценки для всех свободных клеток по формулам и те из них, которые больше нуля, записывают в левые нижние углы клеток. Если для всех свободных клеток ≤ 0, то вычисляют значение целевой функции и решение задачи заканчивается, так как полученное решение является оптимальным. Если же имеется хотя бы одна клетка с положительной оценкой, опорное решение не является оптимальным. . Тема «Транспортные задачи» Алгоритм решения транспортных задач методом потенциалов: 5. Перейти к новому опорному решению, на котором значение целевой функции будет меньше. Для этого находят клетку таблицы задачи, которой соответствует наибольшая положительная оценка Строят цикл, включающий в свой состав данную клетку и часть клеток, занятых опорным решением. В клетках цикла расставляют поочередно знаки «+» и « - » , начиная с «+» в клетке с наибольшей положительной оценкой. Осуществляют сдвиг (перераспределение груза) по циклу на величину θ = min{хij}. Клетка со знаком « - », в которой достигается min{хij}, остается пустой. Если минимум достигается в нескольких клетках, то одна из них остается пустой, а в остальных проставляют базисные нули, чтобы число занятых клеток оставалось равным m+n -1. Далее перейти к пункту 3 данного алгоритма. Тема «Транспортные задачи» Пример решения транспортной задачи Решить транспортную задачу, исходные данные которой таковы: Таблица 3.3 Решение 1. Проверяем выполнение необходимого и достаточного условия разрешимости задачи. Находим суммарные запасы поставщиков и суммарные запросы потребителей: Задача с неправильным балансом. Вводим четвёртого, фиктивного поставщика с запасами и нулевыми стоимостями перевозок единиц груза (табл. 3.4). Тема «Транспортные задачи» Пример решения транспортной задачи 2. Находим начальное опорное решение методом минимальной стоимости (см. табл. 3.4). Полученное решение X1 имеет базисных переменных. Вычисляем значение целевой функции на этом опорном решении: Таблица 3.4 Тема «Транспортные задачи» Пример решения транспортной задачи 3. Для проверки оптимальности опорного решения необходимо найти потенциалы. По признаку оптимальности в каждой занятой опорным решением клетке таблицы транспортной задачи сумма потенциалов равна стоимости . Записываем систему уравнений для нахождения потенциалов и решаем её: Тема «Транспортные задачи» Пример решения транспортной задачи Система состоит из семи уравнений и имеет восемь переменных. Система неопределённая. Одному из потенциалов задаём значение произвольно: пусть . Остальные потенциалы находятся однозначно: Значения потенциалов записываем в таблицу рядом с запасами или запросами соответствующих поставщиков и потребителей (табл. 3.5). Тема «Транспортные задачи» Пример решения транспортной задачи Система уравнений для нахождения потенциалов достаточно проста, обычно её решают устно. Любой неизвестный потенциал, соответствующий занятой клетке, равен находящейся в этой клетке стоимости в минус известный потенциал, соответствующий этой же клетке. Таблица 3.5 Тема «Транспортные задачи» Пример решения транспортной задачи 4. Проверяем опорное решение на оптимальность. С этой целью вычисляем оценки для всех незаполненных клеток таблицы (для всех занятых клеток Положительные оценки записываем в левые нижние углы соответствующих клеток таблицы, вместо отрицательных ставим знак «−». Начальное опорное решение не является оптимальным, так как имеется положительная оценка Тема «Транспортные задачи» Пример решения транспортной задачи Переходим к новому опорному решению. Для клетки (2, 4) с положительной оценкой строим цикл. Ставим в эту клетку знак «+», присоединяем её к занятым клеткам и, применяя метод вычёркивания, находим цикл (2, 4), (3, 4), (3, 2), (2, 2). Цикл изображён в табл. 3.5. В угловых точках цикла расставляем поочерёдно знаки «+» и «−», начиная с «+» в клетке (2, 4). В клетки, отмеченные знаком «+», добавляется груз θ, а из клеток, отмеченных знаком «−», убавляется такой же по величине груз. Определяем величину груза θ, перераспределяемого по циклу. Она равна значению наименьшей из перевозок в клетках цикла, отмеченных знаком «−»: . Осуществляем сдвиг по циклу на величину θ = 100. Получаем второе опорное решение (табл. 3.6). Тема «Транспортные задачи» Пример решения транспортной задачи Таблица 3.6 Тема «Транспортные задачи» Пример решения транспортной задачи Находим для этого решения потенциалы (они приведены в табл. 3.6). Вычисляем оценки: Все оценки неположительные. Следовательно, решение является оптимальным. Вычисляем значение целевой функции на этом решении: Тема «Транспортные задачи» Пример решения транспортной задачи . Тема «Теория игр» Неопределенность - это отсутствие, неполнота, недостаточность информации об объекте, процессе, явлении или неуверенность в достоверности информации. Неопределенность обуславливает появление ситуаций, не имеющих однозначного исхода (решения). Среди различных видов ситуаций, с которыми в процессе производства сталкивается предприятие, особое место занимают ситуации риска. Под риском принято понимать вероятность (угрозу) потери предприятием части своих ресурсов, недополучения доходов или появления дополнительных расходов в результате осуществления определенной хозяйственной деятельности. . Тема «Теория игр» Рисковая ситуация характеризуется: • случайным характером события, который определяет, какой из возможных исходов реализуется на практике; • наличием альтернативных решений; • знанием вероятности исходов событий и ожидаемых результатов; • вероятностью возникновения убытков; • вероятностью получения дополнительной прибыли. В абсолютном выражении риск может определяться величиной возможных потерь в материально-вещественном (физическом) или стоимостном (денежном) выражении, если только ущерб поддается таком измерению. В относительном выражении риск определяется как величина возможных потерь, отнесенная к некоторой базе, в виде которой наиболее удобно принимать либо имущественное состояние предприятия, либо общие затраты ресурсов на данный вид хозяйственной деятельности, либо ожидаемый доход от хозяйственной операции. . Тема «Теория игр» Принятие решений в условиях неопределенности Неопределенность является характеристикой внешней среды (природы), в которой принимается управленческое решение о развитии экономического объекта. Внешняя среда (природа) может находиться в одном из множества возможных состояний. Это множество может быть конечным или бесконечным. Будем считать, что множество состояний конечно. Пусть Si – состояние «природы», при этом , где n – число возможных состояний. Все возможные состояния известны, не известно только, какое состояние будет иметь место в условиях, когда планируется реализация принимаемого управленческого решения. Будем считать, что множество управленческих решений Rj также конечно и равно m. Реализация Rj плана в условиях, когда «природа» находится в Si состоянии, приводит к определенному результату, который можно оценить, введя количественную меру. . Тема «Теория игр» Принятие решений в условиях неопределенности Данные, необходимы для принятия решения в условиях неопределенности, задаются в форме матрицы, строки которой соответствуют возможным действиям (управленческие решения) Rj, а столбцы – возможным состояниям природы Si. Допустим, каждому Rj-ому действию и каждому возможному Si-му состоянию «природы» соответствует результат (исход), определяющий результат (выигрыш, полезность) при выборе j-го действия и реализации i-го состояния, - Vij. S1 S1 … Sn R1 V11 V12 … V1n R1 R1 V21 V22 … V21 R1 … … … … … … Rm Vm1 V12 … Vmn Rm S1 S1 … Sn . Тема «Теория игр» Принятие решений в условиях неопределенности В отдельных задачах рассматривается матрица рисков ||rij||. Риск – мера несоответствия между разными возможными результатами принятия определенных стратегий. Элементы матрицы рисков ||rij|| связаны с элементами платежной матрицы производителя следующим соотношением: Риск – это разность между результатом, который можно получить, если знать действительное состояние внешней среды, и результатом, который будет получен при i-ой стратегии. . Тема «Теория игр» , Принятие решений в условиях неопределенности Для принятия решения в условиях неопределенности используется ряд критериев. Критерий Лапласа опирается на то, что все состояния внешней среды Sj полагаются равновероятными. В соответствии с этим принципом каждому состоянию Sj ставится вероятность qj, определяемая по формуле: qj 1 n где n – количество событий Sj. Для принятия решения для каждого управленческого решения Ri вычисляют среднее арифметическое значение выигрыша: 1 n M i ( R) Vij n j 1 . Тема «Теория игр» , Принятие решений в условиях неопределенности Среди Mi (R) выбирают минимальное значение, которое будет соответствовать оптимальному управленческому решению Ri, если элементы матрицы ||Vij|| - затраты предприятия. 1 n Ri n Vij j 1 min Если элементы матрицы ||Vij|| соответствуют доходу (выигрышу) предприятия, то выбирают максимальное значение Mi (R). Если в исходной задаче матрица возможных результатов представлена матрицей рисков ||rij||, то критерий Лапласа принимает следующий вид: 1 n Ri n rij j 1 min . Тема «Теория игр» , Принятие решений в условиях неопределенности Применение критерия Вальда не требует знания вероятностей наступления события Sj. Этот критерий опирается на принцип наибольшей осторожности и основывается на выборе наилучшей из наихудших стратегий Ri. Если в исходной матрице результат Vij представляет собой затраты предприятия, то при выборе оптимальной стратегии используется минимаксный критерий. Для определения оптимальной стратегии Ri необходимо в каждой строке матрицы результатов найти наибольший элемент max {Vij}, а затем выбирается действие Ri (строка i), которому будет соответствовать наименьший элемент из этих наибольших элементов, т.е. действие, определяющее результат, равный W min max{Vij } i j Если в исходной матрице по условию задачи результат Vij представляет выигрыш предприятия, то при выборе оптимальной стратегии используется максиминный критерий. . Тема «Теория игр» , Принятие решений в условиях неопределенности Критерий Сэвиджа использует матрицу рисков ||rij||. Независимо от того, является ли Vij доходом или затратами, rij определяет величину потерь предприятия и является мерой несоответствия между разными возможными вариантами стратегий. Критерий Сэвиджа рекомендует в условиях неопределенности выбирать то управленческое решение Ri, при котором величина риска принимает наименьшее значение в самой неблагоприятной ситуации (т.е. используется минимаксный критерий). W min max{rij } i j . Тема «Теория игр» , Принятие решений в условиях неопределенности Игра – это совокупность правил, описывающих сущность конфликтной ситуации. Эти правила устанавливают: • выбор образа действия субъектов на каждом этапе игры; • информацию, которой обладает каждый субъект при осуществлении таких выборов; • плату для каждого субъекта после завершения любого этапа игры. Игру можно определить следующим образом: • имеются n конфликтующих сторон (субъектов), принимающих решения, интересы которых, не совпадают; • сформулированы правила выбора допустимых стратегий, известные игрокам; • определен набор возможных конечных состояний игры (например, выигрыш, ничья, проигрыш); • всем игрокам (участникам игры) заранее известны платежи, соответствующие каждому возможному конечному состоянию. . Тема «Теория игр» , Принятие решений в условиях неопределенности Платежи задаются в виде матрицы . В зависимости от числа конфликтующих сторон игры делятся на парные (с двумя субъектами) и множественные (имеющие не менее трех субъектов). Каждый субъект имеет некоторое множество (конечное или бесконечное) возможных выборов, т. е. стратегий. Стратегией игры называется совокупность правил, определяющих поведение субъекта от начала игры до ее завершения. Стратеги каждого субъекта определяют результаты или платежи в игре. Игра называется игрой с нулевой суммой, если проигрыш одного игрока равен выигрышу другого, в противном случае она называется игрой с ненулевой суммой. Игра называется конечной, если у каждого субъекта имеется конечное число стратегий. . Тема «Теория игр» , Принятие решений в условиях неопределенности Если первый субъект имеет m стратегий, а второй - n стратегий, то говорят, что мы имеем дело с игрой m x n. Рассмотрим игру m x n. Пусть заданы множество стратегий: для первого игрока {Аi}, для второго игрока {Bj}, платежная матрица , где aij – выигрыш первого игрока или проигрыш второго игрока при выборе ими стратегий Аi и Bj соответственно. Каждый из игроков выбирает однозначно с вероятностью I некоторую стратегию, т.е. пользуется при выборе решения чистой стратегией. При этом решение игры будет в чистых стратегиях. Поскольку интересы игроков противоположны, то первый игрок стремится максимизировать свой выигрыш, а второй игрок, наоборот, минимизировать свой проигрыш. Решение игры состоит в определении наилучшей стратегии каждым игроком. Выбор наилучшей стратегии одним игроком проводится при полном отсутствии информации о принимаемом решении вторым игроком. . Тема «Теория игр» , Принятие решений в условиях неопределенности Для решения игры двух лиц с нулевой суммой используется критерий мини-макса-максимина. Если первый субъект применяет стратегию Аi, то второй будет стремиться к тому, чтобы выбором соответствующей стратегии Вj свести выигрыш первого игрока к минимуму, что равнозначно сведению своего проигрыша к минимуму. Величина этого минимума Первый субъект будет стремиться найти такую стратегию, при которой обращается в максимум: Величина называется нижней ценой игры. Ей соответствует максиминная стратегия, придерживаясь которой первый субъект при любых стратегиях противника обеспечит себе выигрыш, не меньший. . Тема «Теория игр» , Принятие решений в условиях неопределенности Аналогично определим по каждому столбцу матрицы , найдем минимальное значение : Величина называется верхней ценой игры. Ей соответствует минимаксная стратегия второго игрока. Величина представляет собой гарантированный проигрыш субъекта при любой стратегии первого субъекта. Если верхняя цена равна нижней цене игры, то соответствующие чистые стратегии называются оптимальными, а про игру говорят, что она имеет седловую точку.