Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка САПР.doc
Скачиваний:
144
Добавлен:
30.03.2015
Размер:
4.67 Mб
Скачать

2.7. Линейное программирование

2.7.1. Стандартная форма задач линейного программирования

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

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

максимизировать или минимизировать

при ограничениях

Задачи ЛП в стандартной форме можно записать в компактных матричных обозначениях следующим образом:

максимизировать или минимизировать

при ограничениях

где - матрица размерности,- вектор-столбец размерности,- вектор-столбец размерности, аc - вектор-строка размерности.

Обычно назначается матрицей коэффициентов,- вектором переменных,- вектором ресурсов,- вектором оценок задачи ЛП.

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

  1. При помощи введения дополнительных остаточных или избыточных переменных преобразовать неравенства в равенства.

  2. Для получения неотрицательных переменных задачи неограниченные по знаку переменные заменить разностью двух неотрицательных.

При решении задач ЛП используются следующие основные понятия. Допустимым решением являются неотрицательные значения переменных, для которых выполняются ограничения, а допустимой областью – совокупность допустимых решений. Оптимальным решением называются такие допустимые значения переменных, при которых ЦФ экстремальна, т.е. имеет оптимальное значение. В ряде случаев ЦФ имеет одно оптимальное значение при нескольких комбинациях значений переменных, следовательно, задача обладает неединственностью оптимума. Когда в задаче ЛП нет конечного оптимума, то в этом случае существует неограниченный оптимум.

2.6.2. Основы симплекс–метода

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

Известен классический метод решения систем линейных уравнений, называемый методом Гаусса–Жордана. Основная идея этого метода состоит в сведении системы уравнений снеизвестными к каноническому или ступенчатому виду при помощи элементарных операций над строками. К ним относятся:

  1. умножение любого уравнения системы на положительное или отрицательное число;

  2. прибавление к любому уравнению другого уравнения системы, умноженного на положительное или отрицательное число.

При использовании первых переменных () каноническая система имеет следующий вид:

(2.19)

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

Например, в системе (2.19) одно из базисных решений задаётся как Еслик тому же неотрицательны, то полученное решение называется допустимым базисным решением. В указанной системе для удобства записи в качестве базисных используются первыепеременных. В действительности для получения канонической системы уравнений и базисного решения любыеm из переменных можно выбрать в качестве базисных.

Это означает, что максимальное число базисных решений задачи ЛП с mограничениями иnпеременными, записанной в стандартной форме, конечно и выражается следующим образом:

.

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

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

  1. Выбор начального допустимого базисного решения.

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

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

Рассмотрим шаг 2 симплекс–метода в предположении, что базисное решение, задаваемое системой (2.19), допустимо. Пусть допустимое базисное решение задано в следующем виде:

базисные переменные

небазисные переменные

Множество базисных переменных называется базисом и обозначается через . Вектор коэффициентов при базисных переменных обозначается через. Для начального базиса

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

.

Симплекс–метод даёт возможность проверить существование допустимого базисного решения с большим значением . Для этого сначала проводится проверка оптимальности рассматриваемого решения. Если оно не оптимально, симплекс–метод позволяет перейти к смежному допустимому базисному решению с большим (или, по крайней мере, не меньшим) значением. Оно отличается от рассматриваемого только одной базисной переменной.

Для получения смежного допустимого базисного решения симплекс–метод превращает одну из базисных переменных в небазисную и вводит одну из небазисных переменных в базис. Их необходимо выбрать так, чтобы замена одной из них на другую давала максимальное приращение целевой функции. В любом допустимом базисном решении базисные переменные положительны, а небазисные равны 0. Следовательно, превращение небазисной переменной в базисную приводит к увеличению её значения от 0 до некоторой положительной величины. Вводимая в базис переменная должна давать улучшение значения . Для выбора вводимой в базис переменной следует присвоить небазисной переменной значение, равное единице, и вычислить изменение целевой функции.

Рассмотрим небазисную переменную . Пусть ей присвоено значение, равное единице; исследуем получаемое при этом изменение целевой функции. Следует учесть, что поскольку рассматриваются только смежные допустимые базисные решения, то остальные небазисные переменные по-прежнему равны нулю, поэтому систему (2.19) можно переписать в следующем виде:

(2.20)