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

Где удовлетворяет указанным соотношениям.

Рассмотрим следующую прямую задачу геометрического программирования.

Минимизировать при ограничениях.

Двойственная задача имеет следующий вид:

максимизировать при ограничениях:

  1. , система неравенств называется условием неотрицательности;

  2. , данное уравнение называется условием нормализации; следует учесть в дальнейшем, что оно составляется только для позиномов, входящих в ЦФ;

  3. , указанная система уравнений называется условием ортогональности и составляется для всех позиномов; причем коэффициенты - вещественные числа, элементы матрицы экспонент ( или показателей) исходной задачи.

Используя полученные выше неравенства и формулы, можно получить следующие соотношения между прямой и двойственной задачами.

  1. Наличие оптимального решения в двойственной задаче представляет собой достаточное условие существования оптимума в прямой задаче.

  2. Для соответствующих оптимумов

.

  1. Прямое и двойственное оптимальные решения связаны соотношением

или .

  1. Допустимое решение двойственной задачи дает нижнюю границу оптимального значения ЦФ.

В случае ограничений, представленных позиномами, задача усложняется, однако подход остается аналогичным.

2.8.2. Общий случай задачи гп

Для вывода расчетной формулы воспользуемся основным тождеством

.

Оно выполняется, так как по определению

.

Следовательно, .

Рассмотрим k–е ограничение, содержащее, например, два позинома, записанных в общем виде: . Из соотношения пропорциональности:можно получить.

Введя обозначения позиномов - для ЦФ и- для ограничений, а также учитывая, что, из основного тождества получим

,

где n – общее количество позиномов;

c – количество позиномов в целевой функции;

p – количество позиномов в k–м ограничении;

- сумма двойственных переменных в k–м ограничении, она составляется отдельно для каждого ограничения.

Следовательно, .

Задача 1. Пусть требуется минимизировать позином

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

.

Заметим, что в задаче четыре члена и только три переменных.

Двойственная функция этой задачи имеет вид

Условие нормализации представляется уравнением

а условия ортогональности – системой:

Эти условия образуют систему, состоящую из четырех линейных уравнений с четырьмя неизвестными, и имеют единственное решение ():

Значение двойственной функции в точке δ* таково:

Так как δ* является единственной точкой области определения υ(δ), из теоремы двойственности мы заключаем, что минимум функции

Следует обратить внимание на то, что условный минимум функции f(x) был определен до нахождения минимизирующего вектора (). Исходя из смысла двойственной переменной как весового коэффициента позинома, можно записать для ЦФи,

для ограничений и.

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

которая линейна относительно переменных lnx1, lnx2 и lnx3. Она имеет единственное решение (-ln2, 0, 0), а это означает, что f(x) достигает условного минимума в точке (1/2, 1, 1).

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

Если степень трудности равна нулю, то максимизирующий вектор δ* не зависит от коэффициентов позинома. Требование ортогональности, например, трехкомпонентного вектора δ двум векторам–столбцам матрицы показателей полностью определяет вектор на некотором двумерном подпространстве трехмерного пространства. Поэтому условие ортогональности может быть сформулировано следующим образом: вектор решения должен быть ортогонален пространству показателей. Любой нормализованный вектор, ортогональный пространству показателей, называется двойственным вектором. Для его построения используется метод Бранда, который может быть использован к любой матрице показателей.

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

В предыдущей задаче размерность вектора показателей пбыла ровно на единицу больше размерности пространства показателейm, в результате чего условие ортогональности однозначно определяло двойственный вектор без проведения операции нормализации. Однако в общем случаеn > m +1, и поэтому условие ортогональности определяет лишь двойственное пространство. Размерность этого пространства равнаn - m. Очевидно, что произвольныйn-мерный векторvможет быть записан какv=e+δ,

где е—вектор показателей; δ - двойственный вектор.

С целью записи общего выражения для вектора δ, лежащего на гиперплоскости нормализации, вводится понятие вектора невязки. Вектор невязки δ(s) определяется как вектор, удовлетворяющий условию нормализации вида:

.

Затем выбирается произвольный вектор δ, удовлетворяющий данному условию, например b(0). Тогда общее выражение для вектора δ, лежащего на гиперплоскости нормализации, будет иметь вид

.

Здесь d на единицу меньше размерности двойственного подпространства, а именно d=n-(m+1). Ранее величина d была названа степенью трудности задачи. Коэффициенты rs, общее число которых равно d, называются базисными переменными.

Рис. 2.3. Графическая иллюстрация вектора нормализации и невязки

Понятия векторов нормализации и невязки могут быть проиллюстрированы в двумерном случае. На рис.2.3 гиперплоскость нормализации представляет собой прямую. Любой вектор, идущий от начала координат, с концом, лежащим на этой прямой, может быть выбран в качестве вектора нормализации. Любой вектор, лежащий на прямой нормализации, может быть выбран в качестве вектора невязки.

Для демонстрации использования векторов нормализации и невязки рассмотрим задачу минимизации, представленную выражением:

,

при условии .

Ниже для рассматриваемой задачи приведена матрица для пространства показателей и ее двойственное пространство:

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

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