Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Текстовка .doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
270.34 Кб
Скачать

3. Решение задач линейного программирования симплексным методом с искусственным базисом (м – метод)

Задачи линейного программирования решаются с помощью симплексного метода с искусственным базисом в том случае, когда в условиях задачи имеются ограничения типа «≥» и «=». При канонической форме записи таких ограничений дополнительные переменные необходимо вводить со знаком «­–», что противоречит условию неотрицательности переменных. Так как отрицательные дополнительные переменные нельзя вводить в базис, то в этом случае естественного базиса задачи не существует, и ее нельзя решить по алгоритму симплексного метода. Для решения таких задач применяют алгоритм симплексного метода с искусственным базисом. Искусственный базис создается путем введения в левую часть уравнения в канонической форме искусственной переменной «y». Так если по условиям задачи имеется ограничение типа «≥» или «=»:

аi.1х1 + аi.2х2 + … + аi.nхn ≥ bi

в канонической форме записи:

аi.1х1 + аi.2х2 + … + аi.nхn - хn+I = bi (3.1)

с введением искусственной переменной:

аi.1х1 + аi.2х2 + … + аi.nхn - хn+I + yi = bi

Пример:

стандартная форма записи ограничений задачи выглядит следующим образом:

х1 ≤ 1500 - по площади пашни

1 + 50х2 ≤ 12000 - по трудовым ресурсам

-10х1 + 80х2 ≤ 2000 - по кормам

х2 ≤ 110 - по поголовью КРС

х2 ≥10 - по плану производства молока

каноническая форма записи имеет вид:

х1+ х3 =1500

1 + 50х2+ х4 = 12000

-10х1 + 80х2 + х5 = 2000

х2 + х6 = 110

х2 - х7 = 10

с введением искусственной переменной имеем:

х1+ х3 =1500

1 + 50х2+ х4 = 12000

-10х1 + 80х2 + х5 = 2000

х2 + х6 = 110

х2 - х7 + y = 10

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

Z = с1х1 + с2х2 + … + сnхn + 0(- хn+I) ± М yi → max (min) (3.2)

Пример:

Z = 3360х1 + 40000х2 + 0х3 + 0х4 + 0х5 + 0х6 - 0х7 - М y → max

При этом коэффициенту присваивается знак «–», если задача решается на максим, и знак «+» если на минимум. В симплексной таблице дополнительно к индексной строке (m+1) вводится строка (m+2). Значения элементов для обеих индексных строк рассчитывается по формуле 2.3. при этом в строку (m+2) записываются слагаемые, которые содержат величину М. Для столбца bi: формула будет иметь вид:

(3.3)

В связи с этим строку (m+2) называют М-строкой, а сам метод М-метод.

Пример расчета коэффициентов строк (m+1) и (m+2) для столбца bi:

Zj – сj = 0·150+0·12000+0·2000+0·110+0·10-10М = 0 – 10М

3.1. Улучшение неоптимального плана

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

В процессе улучшения планов искусственные переменные «y» будут выведены из базиса и их столбцы вычеркиваются, а коэффициенты строки (m+2) будут равны нулю и в ней отпадает необходимость. В базисе останутся только основные и положительные дополнительные переменные, поэтому дальнейший поиск оптимального плана осуществляется по алгоритму симплексного метода, руководствуясь (m+1) строкой. Общий порядок улучшения в симплексном методе с искусственным базисом мало отличается от обычного симплексного метода. Особенностью улучшения плана в М-методе является то, что при выведении из базиса искусственной переменной «y», весь столбец вычеркивается из дальнейшего рассмотрения (таблица 3.2). Но для получения правильной суммы коэффициентов по строке (столбец 14) и сравнения со значениями в столбце «контроль», необходимо выполнять расчеты коэффициентов аi.j и по этим столбцам (метод конверта). Контроль решения задачи осуществляется аналогично симплексному методу.