1k likes | 1.83k Views
Тема «Линейное программирование». Задачей линейного программирования называется задача исследования операций, математическая модель которой имеет вид:
E N D
Тема «Линейное программирование» Задачей линейного программирования называется задача исследования операций, математическая модель которой имеет вид: Система линейных уравнений и неравенств, определяющая допустимое множество решений задачи , называется системой ограничений задачи линейного программирования, а линейная функция называется целевой функцией или критерием оптимальности.
Тема «Линейное программирование» Если математическая модель задачи линейного программирования имеет вид: то говорят, что задача представлена в канонической форме.
Тема «Линейное программирование» Каноническая задача линейного программирования имеет вид: 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. Область допустимых решений – пустая область
Тема «Линейное программирование» Алгоритм графического метода решения задач линейного программирования с двумя переменными: Построить прямые, уравнения которых получаются в результате замены в ограничениях знаков неравенств на знаки равенств. Если область допустимых значений является пустым множеством, то задача не имеет решения ввиду несовместимости системы ограничений. Найти полуплоскости, определяемые каждым из ограничений задачи. Определитьмногоугольникрешений. Построитьвектор. Построить прямую , проходящую через научало координат и перпендикулярную вектору .
Тема «Линейное программирование» Алгоритм графического метода решения задач линейного программирования с двумя переменными: 6. Передвигать прямуюв направлении вектора , в результате чего либо находят точку (точки), в которой целевая функция принимает максимальное значение, либо устанавливают неограниченность функции сверху на множестве планов. 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
Тема «Линейное программирование» Алгоритм симплекс-метода В последней строке симплекс-таблицы находят наименьший положительный элемент, не считая свободного члена. Столбец, соответствующий этому элементу, считается разрешающим. Вычисляют отношение свободных членов к положительным элементам разрешающего столбца (симплекс-отношение). Находят наименьшее из этих отношений, оно соответствует разрешающей строке. На пересечении разрешающей строки и разрешающего столбца находится разрешающий элемент. Если имеется несколько одинаковых по величине симплекс-отношений, то выбирают любое из них. То же самое относится к положительным элементам последней строки симплекс-таблицы.
Тема «Линейное программирование» Алгоритм симплекс-метода После нахождения разрешающего элемента переходят к следующей таблице. Неизвестные переменные, соответствующие разрешающей строке и столбцу, меняют местами. При этом базисная переменная становится свободной переменной и наоборот. Симплекс-таблица преобразована следующим образом: Таблица 3.2
Тема «Линейное программирование» Алгоритм симплекс-метода Элемент табл. 3.2, соответствующий разрешающему элементу табл. 3.1, равен обратной величине разрешающего элемента. Элементы строки табл. 3.2, соответствующие элементам разрешающей строки табл. 3.1, получаются путем деления соответствующих элементов табл. 3.1на разрешающий элемент. Элементы столбца табл. 3.2, соответствующие элементам разрешающего столбца табл. 3.1, получаются путем деления соответствующих элементов табл. 3.1 на разрешающий элемент и берутся с противоположным знаком.
Тема «Линейное программирование» Алгоритм симплекс-метода Элемент табл. 3.2, соответствующий разрешающему элементу табл. 3.1, равен обратной величине разрешающего элемента. Элементы строки табл. 3.2, соответствующие элементам разрешающей строки табл. 3.1, получаются путем деления соответствующих элементов табл. 3.1на разрешающий элемент. Элементы столбца табл. 3.2, соответствующие элементам разрешающего столбца табл. 3.1, получаются путем деления соответствующих элементов табл. 3.1 на разрешающий элемент и берутся с противоположным знаком. Остальные элементы вычисляются по правилу прямоугольника: мысленно вычерчиваем прямоугольник в табл. 3.1, одна вершина которого совпадает с разрешающим элементом, а другая – с элементом, образ которого мы ищем; остальные две вершины определяются однозначно.
Тема «Линейное программирование» Алгоритм симплекс-метода Тогда искомый элемент из табл. 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 переведены в свободные неизвестные. Анализ вариантов решений: Если ,а все yi переведены в свободные переменные, то задача не имеет положительного решения. Если , а часть yiосталась в базисе, то для перевода их в свободные переменные необходимо применять специальные приемы. В симплекс-таблице, соответствующей системе (3.3), после того, как , а все yi – свободные, вычеркивают сроку для и столбцы для yi и решают задачу для исходной линейной формы .
Тема «Транспортные задачи» Математическая модель транспортной задачи Однородный груз сосредоточен у mпоставщиков в объемах а1, а2 , …, аm. Данный груз необходимо доставить n потребителям в объемах b1, b2, …, bn. Известны Сij(i = 1, 2,…m; j = 1, 2, … n) – стоимости перевозки единицы груза от каждого i-го поставщика каждому j-му потребителю. Требуется составить такой план перевозок, при котором запасы всех поставщиков вывозятся полностью, запросы всех потребителей удовлетворяются полностью и суммарные затраты на перевозку всех грузов минимальны. Исходные данные транспортной задачи записываются в таблице вида:
Тема «Транспортные задачи» Математическая модель транспортной задачи Переменными (неизвестными) транспортной задачи являются 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} по этому циклу.
Тема «Транспортные задачи» Особенности решения транспортных задач с неправильным балансом: Если суммарные запасы поставщиков превосходят суммарные запросы потребителей, т.е. то необходимо ввести фиктивного (n + 1)-го потребителя с запросами равными разности суммарных запасов поставщиков и запросов потребителей, и нулевыми стоимостями перевозок единиц груза сi(n+1) = 0.
Тема «Транспортные задачи» Особенности решения транспортных задач с неправильным балансом: Если суммарные запросы потребителей превосходят суммарные запасы поставщиков, т.е. то необходимо ввести фиктивного (m + 1)-го поставщика с запасами равными разности суммарных запросов потребителей и запасов поставщиков, и нулевыми стоимостями перевозок единиц груза с(m+1)j = 0. При составлении начального опорного решения в последнюю очередь следует распределять запасы фиктивного поставщика и удовлетворять запросы фиктивного потребителя, несмотря на то, что им соответствует наименьшая стоимость перевозок, равная нулю.
Тема «Транспортные задачи» Алгоритм решения транспортных задач методом потенциалов: Проверить выполнение необходимого и достаточного условия разрешимости задачи. Если задача имеет неправильный баланс, то вводится фиктивный поставщик или потребитель с недостающими запасами или запросами и нулевыми стоимостями перевозок. Построить начальное опорное решение (методом минимальной стоимости или каким-либо другим методом), проверить правильность его построения по количеству занятых клеток (их должно быть m+n -1) и убедиться в линейной независимости векторов условий (используя метод вычеркивания).
Тема «Транспортные задачи» Алгоритм решения транспортных задач методом потенциалов: Построить систему потенциалов, соответствующих опорному решению. Для этого решают систему уравнений которая имеет бесконечное множество решений. Для нахождения частного решения системы одному из потенциалов (обычно тому, которому соответствует большее число занятых клеток) задают произвольно некоторое значение (чаще нуль). Остальные потенциалы однозначно определяются по формулам если известен потенциал , и , если известен потенциал .
. Тема «Транспортные задачи» Алгоритм решения транспортных задач методом потенциалов: Проверить выполнение условия оптимальности для свободных клеток таблицы. Для этого вычисляют оценки для всех свободных клеток по формулам и те из них, которые больше нуля, записывают в левые нижние углы клеток. Если для всех свободных клеток ≤ 0, то вычисляют значение целевой функции и решение задачи заканчивается, так как полученное решение является оптимальным. Если же имеется хотя бы одна клетка с положительной оценкой, опорное решение не является оптимальным.
. Тема «Транспортные задачи» Алгоритм решения транспортных задач методом потенциалов: Перейти к новому опорному решению, на котором значение целевой функции будет меньше. Для этого находят клетку таблицы задачи, которой соответствует наибольшая положительная оценка Строят цикл, включающий в свой состав данную клетку и часть клеток, занятых опорным решением. В клетках цикла расставляют поочередно знаки «+» и « - » , начиная с «+» в клетке с наибольшей положительной оценкой. Осуществляют сдвиг (перераспределение груза) по циклу на величину θ = 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).