Линейное программирование в решении конструкторских задач
Методы линейного программирования широко распространены в конструкторской практике. Они позволяют найти оптимальное решение, если целевая функция описывается линейно комбинацией своих составляющих, кроме того, линейны ограни чения, а элементы решения — неотрицательны
Постановку задачи линейного программирования широко распространены в конструкторской практике. Они позволяют найти оптимальное решение, если целевая функция описывается линейной комбинацией своих составляющих, кроме того, линейны ограничения, а элементы решения — неотрицательны. Постановку задачи линейного программирования рассмотрим а конкретном примере. Предположим, что конструктор располагает тремя видами комплектов проводов П1 П2, П3, имеющих соответственные стоимости С1, С2, С3. Каждый комплект содержит алюминиевые и медные провода, причем в комплекте П1 содержится: a11 — алюминиевых, а21—медных, в комплекте П2 содержится: a12— алюминиевых и a22 — медных проводов, в комплекте П3 содержится: а13—алюминиевых и а2з — медных проводов.
Известно, что на монтаж установки расходуется алюминиевых проводов не менее b1, а медных проводов — не менее b2.
Задача состоит в определении необходимого количества каждого из комплектов с тем, чтобы смонтировать установку и затратить минимальное количество средств па приобретение комплектов.
Обозначим потребление количества комплектов через х1, x2, x3. Пои этом не налагаем условий целочисленности на элементы решения. С учетом известных стоимостей комплектов целевая функция, подлежащая оптимизации, имеет вид
Составим ограничительные уравнения
(3.4)
Первое уравнение описывает потребность в алюминиевых проводах, а второе — в медных.
Требуется найти неотрицательные значения элементов решения минимизирующих целевую функцию с учетом ограничений.
Прежде чем перейти к непосредственному решению задачи, остановимся на некоторых общих вопросах, которые связаны с решением задач линейного программирования.
Прежде всего следует выяснить, всегда ли существует решете для всех неотрицательных xi. Если такое решение существует то при каких условиях оно возможно? Убедившись в существовании решения, можно перейти к отысканию экстремума целевой функции.
Для доказательства существования решения составим матрицу коэффициентов системы ограничительных уравнении
Затем составим расширенную матрицу
.
Решение (3.4.) существует в том случае, если ранг матрицы системы равен рангу расширенной матрицы. Этим определяем совместимость уравнений, входящих в систему [3].
Напомним, что рангом матрицы называют наибольший порядок отличного от нуля определителя, который определяют путем вычеркивания соответствующих столбцов и строк матрицы. В нашем случае
Если определители отличны от нуля, то, найдя (любой) определитель расширенной матрицы, отличный от пуля, убеждаемся, что условие равенства рангов соблюдается. Следовательно, система совместима и имеет решение.
Предположим, что решение существует, тогда, обращаясь к системе уравнений (3.4.), замечаем, что она имеет бесконечное число решений, так как количество неизвестных на единицу больше числа уравнений. Будем решать задачу для случая, когда ограничительные уравнения представлены равенствами. Придадим одной из переменных, например хi значение свободной переменной, а остальные переменные х2 и x3 будем называть базисными. Свободной переменной можно придавать различные произвольные значения.
Выразим базисные переменные через свободную переменную, для чего умножим первое ограничительное уравнение на a22/a12 и вычтем второе ограничительное уравнение, В результате получим
Обозначим коэффициенты при переменных через γ1 и γ3, а свободный член через — D, тогда
Подставим значение х3 во второе уравнение, найдем х2= -γ12x1 + D2, где γ12 — обозначение постоянного коэффициента, полученного в результате преобразования; D2 — обозначение свободного члена.
Подставим значения х2 и x3 в минимизируемую целевую функцию К = C1x1 +D2 — γ12x1 — γ13x1 + D1
Приведем подобные члены К = (С1 —γ12 — γ13)x1 + (D2—D1). Введем новые обозначения для коэффициента при x1 и свободного члена, тогда К =γ1*x1 + D*.
Придавая различные значения свободной переменной х1 будем получать различные значения K. Очевидно, среди значения x1 есть то, которое обращает в минимум целевую функцию. Для •отыскания этого значения свободной переменной (свободных переменных) существует ряд методов, на некоторых из них следует остановиться. Покажем, что всегда можно перейти от ограничений, заданных неравенствами, к равенствам.
Система ограничительных неравенств имеет вид
Введем новые переменные, больше нуля или равные нулюг. тогда можно записать
.
В данном случае к имеющимся переменным прибавились-«добавочные» переменные yi. В общей задаче переменных стало m+n. Для решения задачи поступают аналогично предыдущему случаю, т. е. собирают свободные и базисные переменные, но уже не из числа m, а из m+n.