Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ САПРИ 2011.doc
Скачиваний:
11
Добавлен:
23.04.2019
Размер:
1.71 Mб
Скачать

3.3. Линейное программирование в решении конструкторских задач

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

Постановку задачи линейного программирования широко распространены в конструкторской практике. Они позволяют найти опти­мальное решение, если целевая функция описывается линейной комбинацией своих составляющих, кроме того, линейны ограни­чения, а элементы решения — неотрицательны. Постановку задачи линейного программирования рассмотрим а конкретном примере. Предположим, что конструктор распо­лагает тремя видами комплектов проводов П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.