Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА

Симплексный метод является универсальным экономико-мате­матическим методом. Для его использования условия задачи необходимо представить в виде уравнений и неравенств, количественно описывающих особенности функционирования изучаемого объекта.

Существенным достоинством метода является его универсальность, т. е. возможность использования для решения любых задач, условия которых записаны в виде системы уравнений и неравенств. Наряду с этим симплекс-метод обладает тем достоинством, что при приближении полупространства, выражающего целевую функцию, к экстремальной крайней угловой точке, он позволяет пропускать целый ряд промежуточных крайних угловых точек.

Метод получил свое название из геометрической интерпретации ограничений задачи. Они позволяют получить многогранник решений или симплекс, крайняя угловая точка которого, будучи равна значениям переменных, превращает функцию в максимум или минимум.

Имеется несколько вариантов алгоритма симплекс-метода: обычный, m-метод (искусственного базиса) и др.

Рассмотрим вариант, позволяющий осуществлять наиболее прос-тые вычисления.

Алгоритм симплекс-метода включает несколько этапов:

1) подготовка информации (включает введение переменных и формирование ограничений);

2) преобразование ограничений и запись их в матрицу;

3) поиск опорного решения;

4) поиск оптимального решения.

К примеру, имеем следующую экономико-математическую задачу:

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Преобразование ограничений связано в первую очередь с превращением неравенств в уравнения. Если при этом ограничения приведены к типу «≤», то процедура вычислении значительно упрощается. Для этого ограничения типа «≥» умножим на (–1).

Превращение неравенств в уравнения связано с введением дополнительных переменных. В ограничениях типа «≤» дополнительные переменные обозначают величину недоиспользования ресурсов, в ограничениях типа «≥» – величину превышения ресурсов над минимумом потребности в них.

В уравнения дополнительные переменные не вводятся (или вводятся равными нулю):

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

При этом всякое решение осуществляется из допущения, что

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ,

тогда

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ,

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ,

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ,

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Решение получаем поиском опорного и оптимального решений.

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

При этом переменные, исходя из значений которых начинаем решение, будут базисными.

В первой симплексной таблице (табл. 7) такими базисными будут дополнительные переменные, т. е. вектор дополнительных переменных. Остальные переменные, обозначающие вектор-столбцы, будут небазисными. В табл. 7 небазисными будут основные переменные.

Т а б л и ц а 7.Симплексная таблица № 1

Базисные переменные Свободные члены Небазисные переменные
х1 х2 х3 хn
y1 A1 a11 a12 a13 a1n
y2 A2 a21 a22 a23 a2n
y3 –A3 –a31 –a32 –a33 –a3n
……………………………………………………………………
Am am1 am2 am3 amn
F Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

Если в столбце дополнительных переменных есть нуль, то это сви­детельствует об искаженности базиса, т. е. отсутствии опорного решения. Таким образом, полученная запись при хj = 0 свидетельствует о том, что базисное решение отсутствует по двум признакам, а именно:

– имеются отрицательные свободные члены;

– имеются нуль-значения среди базисных переменных.

Всю информацию при допущении, что хj = 0, заносим в таблицу; табл. 7 содержит т + 2строк (где т – число строк ограничений) и п + 2столбцов (где п – число небазисных переменных).

Коэффициенты целевой функции в табл. 7 записываются с противоположным знаком.

Нахождение опорного решения предполагает замену базисных переменных небазисными или поиск нового базиса. Чтобы исключить нуль с вектора базисных переменных, необходимо в нуль-строке найти такой коэффициент, от деления на который коэффициента Аm получим наименьшее положительное частное. Для этого вектор-столбец свободных членов делим на соответствующие коэффициенты столбцов х1, х2, х3, ..., хп.Допустим, что при делении на коэффициенты первого столбца, т. е. Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , отношение Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru . Это означает, что требование не выполняется. В другом случае (при Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ) Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru . Допустим, что при делении Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru отношение Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru меньше всех других значений.

Тогда коэффициент атп можно принять за разрешающий.

Онуказывает на то, что нуль-значение и коэффициент хп поменяются местами. Эта замена означает, что целевая функция (или полупространство F)переместилась параллельно самой себе и поэтому значение коэффициентов изменяется. Замена значений требует вычислений, которые всегда осуществляются по одним и тем же правилам.

Для записи формул, по которым определяются коэффициенты новой симплексной таблицы (табл. 8), введем условные обозначения, в частности, аij – коэффициент, стоящий в строке i и столбце j. При этом F-строка будет иметь значение i + 1, а столбец свободных членов j = 0.

Т а б л и ц а 8.Симплексная таблица № 2

Базисные переменные Свободные члены Bi Небазисные переменные  
х1 х2 х3  
y1 A/1 a/11 a/12 a/13 a/1n  
y2 A/2 a/21 a/22 a/23 a/2n  
y3 –A/3 a/31 –a/32 a/33 –a/3n  
……………………………………………………………..     ……………………………………………………………………
xn A/m a/m1 a/ m2 a/m3 a/mn  
F Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru  

Допустим, что коэффициент аrk – разрешающий, т. е. стоит в строке r и столбце k при Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru . При делении значений столбца свободных членов на соответствующие коэффициенты столбца k частное от деления Аi на аrk было наименьшим.

Условимся, что коэффициент следующей таблицы будем обозначать со штрихом, т. е. Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru . Элементы новой симплексной таблицы рассчитаем по нижеприведенным правилам.

1. Новый коэффициент (вместо разрешающего) равен обратному от него, т. е. Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , или в данном случае Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

2. Новые коэффициенты столбца разрешающего элемента равны коэффициентам предыдущей таблицы, деленным на разрешающий коэффициент с противоположным значением:

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru (при Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ),

т. е. в данном случае – Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru при Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

3. Новые коэффициенты строки разрешающего элемента равны коэффициентам предыдущей таблицы этой строки, деленным на разрешающий коэффициент:

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru (при Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ), или Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru (при Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ).

4. Остальные коэффициенты, не стоящие в строке и столбце разрешающего элемента, определяются по правилу прямоугольника, т. е. в числителе от произведения коэффициентов главной диагонали, среди которых находится разрешающий, вычитаем произведение побочной диагонали и результат делим на разрешающий коэффициент:

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ,

или Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru (при Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

Перебросив нуль-значения из базисных в небазисные, получим в n-мерном пространстве т независимых векторов. Затем вычеркиваем нуль-столбец, который в дальнейших расчетах участия не принимает. Просматривая столбец свободных членов, находим среди них отрицательные члены. Чтобы получить опорное решение, превращаем отрицательные свободные члены в положительные. Для этого базисные переменные с отрицательными свободными членами необходимо перевести в небазисные. При этом делаем столько шагов (таблиц), сколько имеется отрицательных свободных членов. За основу принимаем любую строку с отрицательным свободным членом. Лучшим вариантом является та строка, среди коэффициентов которой имеется больше единиц или целых чисел. Иногда все свободные члены являются отрицательными и им соответствуют отрицательные коэффициенты в каком-то из столбцов. В этом случае опорное решение можно получить за один шаг, взяв в качестве разрешающего коэффициента отрицательный коэффициент, от деления на который получается наибольшее положительное частное. Таким образом, за один шаг все отрицательные свободные члены будут превращены в положительные.

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

Чтобы найти разрешающий коэффициент, делим значения столбца свободных членов на соответствующие коэффициенты столбцов небазисных переменных.

Если Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , то получим меньшее значение, чем от деления других частных Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Допустим, что в данном случае частное Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru меньше всех других. Следовательно, коэффициент ( Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ) является разрешающим.

Меняем местами x1 и у3,после чего проводим расчеты (табл. 9).

Т а б л и ц а 9.Симплексная таблица № 3

Базисные переменные Свободные члены Небазисные переменные
у3 х2 х3
y1 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru
y2 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru
х1 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru
……………………………………………………………………………………………
xn Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru
F F2 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

В этой таблице содержится опорное решение. Оно получено при следующих значениях переменных:

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

После того как было получено опорное решение (т. е. все ограничения выполняются), находим оптимальное, признаком которого является наличие положительных значений коэффициентов целевой функции при ее решении на максимум и отрицательных – на минимум.

Чтобы найти оптимальное решение, выбираем разрешающий столбец. Им будет тот, в F-строке которого стоит наибольшее по модулю отрицательное значение при решении задачи на максимум и наибольшее положительное – на минимум.

Допустим, что Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru . Следовательно, вектор-столбец Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru является разрешающим. При этом разрешающим элементом является тот коэффициент, от деления свободного члена на который будет получено наименьшее положительное частное, т. е. Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Допустим, что от деления Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru на Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru было получено наименьшее положительное частное. Следовательно, х2и х1меняются местами, и мы находим новое решение по четырем правилам.

Вычисления будем продолжать до тех пор, пока в F-строке неполучим положительные значения (при решении задачи на максимум) или отрицательные (при решении задачи на минимум).

Затем целесообразно проверить выполнение требований каждого изограничений. Для этого переменные подставляются в каждое из ограничений. Если нарушения отсутствуют, то расчеты верны, если присутствуют – имеется ошибка в арифметических действиях.

Рассмотрим пример реализации данного алгоритма.

Пусть необходимо определить минимальный по стоимости (у.е.) состав рациона для головы крупного рогатого скота. Для содержания животного требуется не менее 30 ц к. ед., 3,17 ц переваримого протеина, от 7 до 12 ц концентратов, не менее 10 ц сена, неболее 40 ц сенажа, не более 60 ц зеленого корма.

Неизвестными этой задачи является масса кормов, ц: х1– кон­центраты; х2 – сено; х3 – сенаж; х4 – зеленый корм.

Составим систему уравнений и неравенств, а также целевую функцию, которые в совокупности будут отражать требования к рациону. Требования состоят в том, чтобы, во-первых, содержание питательных веществ в рационе было не менее установленного минимума, во-вторых, масса отдельных кормов не превышала допустимые пределы, в-третьих, стоимость рациона была минимальной.

Следовательно, требуется найти массу отдельных кормов в рационе (х1, х2, х3, х4)при следующих условиях:

1) содержание кормовых единиц в рационе составляет не меньше минимума: 1,2х1 + 0,5х2 + 0,3х3 + 0,2х4≥31;

2) содержание перевариваемого протеина в рационе составляет не меньше минимума: 0,13х1 + 0,05х2 + 0,033х3 + 0,02х4 ≥ 3,17;

3) нижняя граница по массе концентратов х1≥7;

4) верхняя граница по массе концентратов х1 ≤ 12;

5) нижняя граница по массе сена х2 ≥ 10;

6) верхняя граница по массе сенажа х3 ≤ 40;

7) по массе зеленого корма х4 ≤60.

Минимальная стоимость рациона выражается уравнением

F = 12x1 + 4,2x2 + 2,4x3 +1,2x4 → min.

Система неравенств задачи имеет следующий вид:

1) 1,2х1 + 0,5х2 + 0,3х3 + 0,2х4 ≥ 31;

2) 0,13х1 + 0,05х2 + 0,033х3 + 0,02х4 ≥ 3,17;

3) х1 ≥ 7;

4) х1≤ 12; (6)

5) х2 ≥ 10;

6) х3 ≤ 40;

7) х4 ≤ 60;

Fmin= 12х1+ 4,2х2+ 2,4x3 + 1,2x4.

Приводим все ограничения к типу «меньше – равно» (≤). Для этого ограничения типа «≥», т. е. 1, 2, 3, 5, умножаем на –1:

1) –1,2х1 – 0,5х2 – 0,3х0 – 0,2х4 ≤ –31;

2) –0,13х1 – 0,05х2 – 0,033х3 – 0,02х4 ≤ –3,17;

3) –х1≤ –7;

4) х1 ≤ 12; (7)

5) –х2 ≤ –10;

6) х3 ≤ 40;

7) х4 ≤ 60;

F = 12х1+ 4,2х2+ 2,4x3 + 1,2x4 → min.

Превращаем неравенства в уравнения. Для этого вводим допол­нительные переменные уi,где i – номер ограничения. При этом дополнительных переменных вводим столько же, сколько имеется ограничений типа «≤». В нашем случае вводим семь дополнительных переменных:

1) –1,2х1 – 0,5х2 – 0,3х3– 0,2х4 + y1= –31;

2) –0,13х1 – 0,05х2 – 0,033х3 – 0,02х4 + y2= –3,17;

3) –х1+ y3 = –7;

4) х1 + y4 = 12; (8)

5) –х2 + y5= –10;

6) х3 + y6= 40;

7) х4+ y7= 60;

F = 12х1 + 4,2х2+ 2,4x3 + 1,2x4 → min.

С экономической точки зрения дополнительные переменные обозначают величину недоиспользования ресурсов, если исходные ограничения имеют вид «меньше – равно» (≤), или величину превышения минимума, если исходные ограничения имеют вид «больше – равно» (≥).

К примеру, согласно системе неравенств (6) первое ограничение по содержанию кормовых единиц

1,2х1 + 0,5х2 + 0,3х3 + 0,2х4 ≥ 31

имеет вид «больше – равно». Допустим, что сумма произведений переменных левой части данного неравенства на коэффициенты по результатам решения равна 32. В этом случае 32 > 31. В ограничении системы неравенств (7) имеем –32 < –31. Тогда у1в системе (8) равен 1, т. е. –32 + 1 = –31. Поскольку число 31 является минимальной нормой, а 32 – фактически полученной, то у1 = 1 есть величина превышения минимума содержания кормовых единиц.

Решение задачи включает два этапа: поиск опорного, т. е. допустимого, и оптимального решений.

Опорное решение получается при значениях переменных, которые, будучи подставленными в условия (ограничения) задачи, обеспечивают выполнение всех ее условий. Поиск опорного решения начинается с допущения, что искомые переменные (т. е. xj) равны нулю. В нашем случае x1, х2, х3, х4 = 0. Тогда, подставив эти значения в систему уравнений (8), получим: у1= –31, у2 = 3,17, у3 = –7, у5 = –10, у6 = 40, у7 = 60, F = 0.

Признаком наличия опорного решения (т. е. выполнения условий при xi = 0) будут являться положительные свободные члены. При наличии хотя бы одного отрицательного свободного члена (или нуля) опорное решение будет отсутствовать. В нашем случае опорное решение отсутствует. Для его поиска сведем информацию в табл. 10.

Переменные столбца 1, исходя из значений которых начинается поиск оптимального решения, являются базисными. Базисные переменные в случае, когда искомые переменные х1, х2, х3, х4равны нулю, будут равны свободным членам. Их значения заносятся в столбец 2. Остальные переменные (в нашем случае хj,т. е. х1, х2, х3, х4)являются небазисными. Они всегда равны нулю.

Т а б л и ц а 10.Симплексная таблица № 1

Базисные переменные Свободные члены Bi Небазисные переменные Единичный базис
х1 х2 х3 х4 у1 у2 у3 у4 у5 у6 у7
у1 –31 –1,2 –0,5 –0,3 –0,3            
у2 –3,17 –0,13 –0,05 –0,033 –0,024            
у3 –7 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru                  
у4                  
у5 –10   –1                
у6                  
у7                  
Fmin –12 –4,2 –2,4 –1,2

На пересечении базисных и небазисных переменных записываем коэффициенты системы уравнений (8), т. е. в клетку k11 = –1,2; k12 = = –0,5 и т. д. При записи коэффициентов F-строки (т. е. целевой функции) их знаки меняем на противоположные.

Находим опорное решение. Для этого необходимо, чтобы в процессе преобразований отрицательные свободные члены стали положительными, а нули в числе базисных переменных были перемещены в небазисные. При этом для упрощения расчетов и уменьшения размерности матрицы исключим столбцы единичного базиса, т. е. Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Методика определения опорного решения предполагает следующее. Среди отрицательных свободных членов Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru выбирается любой (для упрощения расчетов, особенно когда они выполняются вручную, следует начать решение с отрицательного свободного члена, в строке которого стоят единицы). Допустим, был выбран свободный член В3 = –7. Затем в строке данного отрицательного свободного члена находим первый отрицательный коэффициент. Им будет Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –1. Делим все свободные члены на соответствующие коэффициенты столбца, в котором мы выбрали отрицательный элемент, т. е. делим значения столбца свободных членов на соответствующие коэффициенты столбца х1(при этом соответствующими будем считать коэффициенты, стоящие в одной и той же строке). В нашем случае

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ,

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Коэффициент F-строки и столбца x1, равный –12, принадлежит целевой строке и в расчетах по поиску разрешающего элемента неучаствует.

В случае, если частное от деления на выбранный отрицательный элемент получится наименьшим по сравнению с другими частными, то этот отрицательный коэффициент станет разрешающим элементом. В нашем случае от деления на коэффициент Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –1 получено частное 7,0, которое меньше 25,8; 24,4 и 12,0. Следовательно, элемент Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –1 будет разрешающим.

Разрешающий элемент показывает ту небазисную переменную, которая заменит базисную. В нашем случае базисная переменная у3 заменит небазисную переменную х1. С экономической точки зрения введение х1в число базисных переменных означает, что переменная вошла в решение, т. е. получит не нулевое значение.

Иногда частное от деления на отрицательный элемент не является самым меньшим. Например, пусть от деления свободных членов на коэффициенты вектор-столбца x1 получены значения 25,8; 6,8; 7,0; 12,0. Тогда 7 не будет меньшим положительным числом и, следовательно, коэффициент Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –1 нельзя принимать в качестве разрешающего элемента. В этом случае поступаем следующим образом.

В строке отрицательного свободного члена находим следующий отрицательный элемент и делим свободные члены на соответствующие коэффициенты этого столбца, т. е. столбца с новым отрицательным элементом. Если частное от деления на новый отрицательный коэффициент будет меньшим положительным числом по сравнению с другими, то этот коэффициент примем за разрешающий. Если частное не является наименьшим положительным, то ищем третий отрицательный коэффициент в строке отрицательного свободного члена или производим те же вычисления в строке другого отрицательного свободного члена до тех пор, пока не найдем разрешающий коэффициент. После нахождения разрешающего элемента производим преобразование, т. е. приступаем к заполнению следующей симплексной таблицы (табл. 11). Преобразование выполняем по изложенным ранее правилам.

1. Новый коэффициент вместо разрешающего равен единице, деленной на разрешающий;

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ,

где Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru – новый коэффициент вместо разрешающего;

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru – разрешающий элемент, стоящий в строке r и столбце k при Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ;

i – номер строки, Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ;

j – номер столбца, Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Разрешающий элемент обводим кружком.

Т а б л и ц а 11.Симплексная таблица № 2

Базисные переменные Свободные члены Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Небазисные переменные
y3 х2 x3 x4
y1 –22,6 –1,2 –0,5 –0,3 –0,2
y2 –2,26 –0,13 –0,05 –0,033 –0,02
x1 –1
y4 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru 0
y5 –10  
y6
y7
F min –12 –4,2 –2,4 –1,2

2. Новые коэффициенты строки разрешающего элемента Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru равны предыдущим коэффициентам Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , деленным на разрешающий. В нашем случае Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

3. Новые коэффициенты столбца разрешающего элемента Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru равны предыдущим коэффициентам, деленным на разрешающий элемент с противоположным знаком.

В нашем случае

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

4. Новые коэффициенты, не стоящие в строке и столбце разрешающего элемента ( Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ), равны частному от деления разности произведения коэффициентов главной и побочной диагоналей на разрешающий элемент.

Например, чтобы найти новый коэффициент вместо Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = 12, строим прямоугольник, главная диагональ которого составлена коэффициентом Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = 12 и разрешающим элементом Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , а побочная – Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru и Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

Тогда

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

Аналогично определяем новый коэффициент вместо Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = 0. Прямоугольник для него включает Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

В табл. 11 опорное решение отсутствует, так как три свободных члена имеют отрицательные значения.

По изложенным выше правилам ищем разрешающий элемент в строке отрицательного свободного члена у5.Этим элементом будет Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –1, так как при делении свободных членов на соответствующие коэффициенты столбца х2наименьшее положительное частное получено при делении на коэффициент Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

По данным правилам делаем преобразования, т. е. находим новые коэффициенты симплексной таблицы № 2. При этом базисную переменную у5поменяем местами с небазисной основной переменной х2.Таким образом, получаем симплексную таблицу № 3 (табл. 12).

В столбце х2табл. 11 все коэффициенты имеют отрицательные знаки. И этим коэффициентам в столбце свободных членов со­ответствуют отрицательные значения. В данном случае в качестве разрешающего элемента можно взять коэффициент, от деления на который получили наибольшее положительное частное. При подобном подходе опорное решение получается быстрее, но поскольку такие ситуации бывают нечасто, то его нахождение продолжаем обычным способом.

Т а б л и ц а 12.Симплексная таблица № 3

Базисные переменные Свободные члены Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Небазисные переменные
y3 y5 y3 y4
y1 –17,6 –1,2 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru   –0,3 –0,2
y2 –1,76 –0,13 –0,05 –0,033 –0,02
x1 –1
y4
x2 –1
y6
y7
F 126,0 –12,0 –4,2 –2,4 –1,2

Так как в табл. 12 опорное решение отсутствует, то продолжаем его поиск.

Выбираем любой из двух оставшихся отрицательных свободных членов. Например, –17,6. Первый отрицательный коэффициент в его строке Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –1,2 не является разрешающим, так как от деления на него меньшее положительное частное не получается. Проверка показывает, что Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –0,5. Коэффициент является разрешающим. При этом в равной мере разрешающим может быть также и коэффициент во второй строке ( Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –0, 05 ) , так как полученные частные одинаковы:

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

Заменяем небазисную переменную у5базисной у1и делаем пре­образования (табл. 13).

Т а б л и ц а 13.Симплексная таблица № 4

Базисные переменные Свободные члены, Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Небазисные переменные
y3 y1 х3 x4
y5 35,2 2,4 –2,0 0,6 0,4
y2 0,000 –0,010 –0,100 –0,033 0,000
x1 –1
y4
x2 45,2 2,4 –2,0 0,6 0,4
y6
y7 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru  
F 272,54 –1,92 –8,40 0,12 0,48

Итак, опорное решение (план) получено при следующих значениях основных переменных: x1 = 7,0; х2= 45,2; дополнительных – у5 = 35,2; y2 = 0; у4 = 5; у6 = 40; у7 = 60 и F = 272,54 у.е.

Таким образом, после подстановки значений x1 и х2в систему неравенств (6) все условия будут выполнены.

Поиск оптимального решения. Опорное решение является оптимальным, если коэффициенты целевой функции F-строки будут отрицательными (или нулевыми) при поиске минимума или положительными (или нулевыми) при поиске максимума (за исключением свободного члена F-строки). В данном случае оптимальное решение (минимум функции) отсутствует, так как здесь имеются положительные коэффициенты.

Поиск оптимального решения начинается с определения разре­шающего столбца. Разрешающим столбцом при поиске минимума функции будет являться тот, в строке целевой функции которого находится наибольший положительный коэффициент, а при поиске максимума функции – наибольший по абсолютной величине отрицательный коэффициент.

В данном случае в F-строке для переменной х4 имеется наибольший положительный коэффициент (0,48). Следовательно, столбец х4является разрешающим. Чтобы найти разрешающий элемент, делим столбец свободных членов на соответствующие коэффициенты разрешающего столбца. Разрешающим будет элемент, от деления на который получается меньшее положительное частное. В данном случае таковым будет Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = 1 , так как

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

Меняем местами переменные х4и у7и определяем по изложенным выше правилам новые коэффициенты (табл. 14).

Т а б л и ц а 14.Симплексная таблица № 5

Базисные пе­ременные Свободные чле­ны Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Небазисные переменные
y3 y1 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru х3 y7
y5 11,2 2,4 –2,0     –0,4
y2 0,00 –0,01 –0,10 –0,03 0,00
x1 –1
y4
х2 21,2 2,4 –2,0 0,6 –0,4
y6 40,00 –4,00 3,30 1,00 0,66
х4
F 243,74 –1,92 –8,40 0,12 –0,48

Оптимальное решение здесь отсутствует, так как в F-строке столбца х3 имеется положительный коэффициент. Этот столбец будет разрешающим. По отношению значений столбца свободных членов и соответствующих коэффициентов столбца x3 определяем, что разрешающим будет коэффициент Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = 0,6 .

Заполняем новую таблицу, меняя при этом местами переменные у5 и х3(табл. 15).

Т а б л и ц а 15.Симплексная таблица № 6

Базисные пе­ременные Свободные члены Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Небазисные переменные
y3 y1 y5 y7
x3 18,54 4,00 –3,30 1,70 –0,66
y2 0,050 0,012 –0,010 0,005 –0,002
x1 –1
y4
x2 –1
y6 21,46 –4,00 3,30 –1,70 0,66
x4
F 241,5 –2,4 –8,0 –0,2 –0,4

Таким образом, оптимальное решение получено. Минимум функции составляет 241,50 денежной единицы при значениях переменных x1 = 7, х2 = 10, х3 = 18,54, х4 = 60. Значения дополнительных переменных составили: у3, у1, у5, у7, у6.Подставим значения переменных в систему неравенств (8):

1) –1,2x1 – 0,5x2 – 0,3х3 – 0,2х4+ у1 = –31,

или

–1,2 × 7 – 0,5 × 10 – 0,3 × 18,54 – 0,24 × 60 + y1= –31;

–31 + y1 = –31; y1 = 0.

В табл. 15 имеем то же, а именно: у1 = 0;

2) –0,13 × 7 – 0,05 × 10 – 0,033 × 18,54 – 0,02 × 60 + у2 = –3,17;

–3,22 + y2 = –3,17; y2 = 0,05.

Превышение над минимумом составляет 0,05;

3) –7 + у3 = –7; у3= 0;

4) 7 + у4 = 12; у4 = 5,

что и в симплексной таблице № 6, т. е. ресурс недоиспользован на 5 единиц (ц);

5) –10 + у5 = –10; у5 = 0;

6) 18,54 + у6 = 40; у6 = 21,46,что и в симплексной таблице № 6;

7) 60 + у7 = 60; у7 = 0.

Fmin= 12 × 7 + 10 × 4,2 + 18,54 × 2,4 + 60 × 1,2 = 241,5 денежной единицы. Следовательно, все условия задачи выполнены, решение получено.

В отдельных случаях среди ограничений задачи могут быть уравнения. Допустим, что в данной задаче условие (6) имеет вид х1 = 7.Тогда вводить дополнительную переменную у,как это сделано в системе (8), не требуется. Вместо у3в табл. 10 в числе базисных переменных стоял бы нуль. Свободный член был бы равен 7, а коэффициент a31 = 1. Наличие нуля в базисных переменных (как и отрицательных свободных членов) свидетельствует об отсутствии опорного решения. Для получения опорного решения требуется избавиться от отрицательных свободных членов и переместить нули из базисных переменных в небазисные. Методика переноса нулей состоит в том, что в строке с нулем в базисных переменных находят разрешающий элемент по обычному правилу, т. е. по наименьшему положительному частному от деления свободного члена на коэффициент. В данном случае при делении свободных членов на соответствующие коэффициенты столбца x1 коэффициент a31 = 1 стал бы разрешающим. Выполнив преобразования по изложенным выше правилам, мы имели бы в небазисных переменных вместо хj нуль, а в базисных переменных вместо нуля – х1.После этого следует вычеркнуть весь нуль-столбец и продолжать решение, но с тремя вектор-столбцами небазисных переменных.

Лекция 4. ЭКОНОМИЧЕСКОЕ СОДЕРЖАНИЕ

СИМПЛЕКС-МЕТОДА

Экономическое содержание коэффициентов

Пропорциональности

Выполнение расчетов по симплекс-методу предполагает нахож­дение параметров переменной в какой-то новой крайней угловой точке многогранника решений. Поиск параметров связан с преобра­зованиями, которые сохраняют не только математическую логику, но и смысловое содержание. Чтобы это выяснить, проследим изменения коэффициентов (сравним первую и вторую симплексные таблицы). Для выяснения сущности этих изменений обратимся к примеру.

П р и м е р. Рассчитать размеры отраслей с целью получения мак­симальной прибыли.

1. Ограничение по использованию пашни, га:

х2 + х2+ х3≤ 1000.

2. Ограничение по использованию труда, чел.-дн.:

1 + 22х2 + 8х3 + 20х4 ≤ 20000.

3. Ограничение по использованию фондов, у.е.:

600х1 + 1200х2 + 300х3 + 1500х4 ≤ 1352000.

4. Ограничение по использованию и производству кормов, ц к.ед.:

50х4 ≤ 5000 + 15х1+ 20х2 + 30х3.

Целевая функция

F = 300x1 + 600x2 + 1000х4 → mах,

где х1 – площадь зерновых, га;

х2 – площадь картофеля, га;

х3 – площадь силосных, га;

х4 – поголовье коров, гол.

Сведем эту исходную информацию в табл. 16.

Т а б л и ц а 16.Симплексная таблица № 1

Базисные пе­ременные Свободные члены, Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Небазисные переменные
x1 х2 х3 х4
у1
у2
у3
у4 –15 –20 –30 Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru  
F –300 –600 –1000

Поскольку решаем данную задачу на максимум, то разрешающим будет столбец х4. С экономической точки зрения разрешающий элемент определяется самым лимитированным ресурсом, так как он дает наименьшее положительное частное Полученные преобразованные исходные данные заносим в табл. 17.

Т а б л и ц а 17.Симплексная таблица № 2

Базисные пе­ременные Свободные члены, Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru Небазисные переменные
х1 х2 х3 у4
у1
у2 0,4
у3 –30
х4 –0,3 –0,4 –0,6 0,02
F –600 –1000 –600

С экономической точки зрения новый коэффициент (вместо разрешающего) означает то, сколько единиц переменной х4 можно получить за счет единицы ресурса у4(0,02). При этом

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Новые коэффициенты столбца разрешающего элемента Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru показывают, сколько единиц ресурсов требуется при знаке «плюс» (или сколько их получим при знаке «минус»), если в план или в базис введем небазисные переменные в размере, равном значению нового коэффициента вместо разрешающего (0,02). При этом

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

Новые коэффициенты строки разрешающего элемента Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru показывают, на сколько единиц увеличивается ранее введенная в план переменная, если в план или в базис введем небазисную переменную в размере 1 (увеличивается при знаке «минус» и уменьшается при знаке «плюс»). Например, согласно данным табл. 16 при введении в план х1 в размере 1 требуется: первого ресурса – 1, второго – 9, третьего – 600, а четвертого получим 15 единиц. Согласно табл. 17 за счет 15 единиц четвертого ресурса можно иметь приращение х4 на 0,3 (так как на единицу х4требуется 50 ц к. ед. ресурса у4),при введении х2 = 1 – приращение х4на 0,4 и т. д.

Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru

при Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru .

Согласно данным табл. 16 при введении в базис х1 в размере 1 требуется ресурсов: у1 = 1, у2 = 9, у3 = 600 и получаем ресурс у4 = –15, а значение F ( Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –300) возрастет. Согласно данным табл. 17 при введении х1 = 1 значение х4возрастет на 0,3 ( Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru = –15/50 = –0,3). Логика формирования Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru такова.

При x1 = 1 значения Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru составляют:

y1 = 1; y2= 9; y3= 600; y4 = –15; x4 = 0; F = –300.

В расчете на x4 = –0,3 изменение коэффициентов ( Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru , Лекция 3. АЛГОРИТМ СИМПЛЕКСНОГО МЕТОДА - student2.ru ) составит:

0 × (–0,3); 20 × (–0,3) = –6; 1500 × (–0,3) = –450; х4 = у4; аrk = –0,3;

–1000 × (–0,3) = 300.

Новые значения вектор-столбца в табл. 17 составят:

1 – 0 = 1; 9 – (–6) = 15; 600 – (–450) = 1050; 0 – 0,3 = –0,3;

–300 – (+300) = –600.

Новые коэффициенты, не стоящие в столбце и строке разре­шающего элемента, включают расход (при знаке «+») или поступление (при знаке «–») ресурсов на одну небазисную переменную, а также на величину приращения ранее введенной в план переменной (пример с коэффициентами вектор-столбца x1). В табл. 17 эти коэффициенты включают расход или поступление ресурсов от введения в план х1в размере 1, а также расход и поступление ресурсов в расчете на 0,3х4.

Наши рекомендации