Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Сепарабельное программирование (СП) и дробно-линейное программированиеСодержание книги
Поиск на нашем сайте В сепарабельном программировании рассматриваются задачи, в которых целевая функция и все функции ограничений сепарабельны. Напомним, что функция многих переменных сепарабельна, если она имеет вид суммы функций отдельных переменных: f (x 1, x 2,..., xn) = Линейные функции всегда сепарабельны и поэтому линейное программирование можно рассматривать как частный случай сепарабельного. Решение задач СП основано на преобразовании в задачи линейного программирования путем аппроксимации нелинейных функций кусочно-линейными. Таким образом, исходная нелинейная задача заменяется аппроксимирующей линейной. Поэтому рассматриваемый метод является приближенным, а точность решения напрямую зависит от точности аппроксимации и теоретически может быть сколь угодно высокой. Существует два основных способа записи аппроксимирующей задачи, отличающихся формой представления исходных переменных: в l- или в d-постановке. L - постановка Предполагается, что переменные, которые входят в модель нелинейно, ограничены снизу и сверху: dj £ xj £ Dj. (8.19) Для кусочно-линейной аппроксимации в этом диапазоне выбираются узловые точки, чаще в той части, где сильнее нелинейность функции. При этом первый узел совпадает с нижней границей, а последний – с верхней: Xj1 = dj, где rj – число интервалов по переменной xj (rj +1 – число узлов). Тогда рассматриваемая переменная xj может быть выражена через новые переменные ljk в виде
Выражение (8.20) называют уравнением сетки. С учетом (8.21) и (8.22) оно представляет переменную xj в диапазоне (8.19) без потери точности. С использованием узловых точек и новых переменных кусочно-линейная функция, аппроксимирующая fj (xj), записывается в виде
где fj (Xjk) – значение функции в узловых точках (рис. 8.5). Очевидно, что
Итак, чтобы построить линейную аппроксимирующую модель, необходимо: 1. для каждой переменной, входящей нелинейно, записать уравнение сетки; 2. во всей модели заменить переменные из п.1, входящие в линейные fj, соответствующими уравнениями сетки; 3. все функции, содержащие нелинейности, представить в виде (8.24); 4. добавить ограничения (8.21), (8.22) для всех новых переменных. Если переменная xj входит нелинейно в несколько функций, узлы сетки выбираются с учетом нелинейности всех таких функций, так как для одной переменной может быть только одно уравнение сетки. Поясним запись ограничений. Пусть имеется исходное ограничение S jij (xj) £ bi со всеми нелинейными jij. Тогда после аппроксимации оно принимает вид
В общем случае левая часть ограничения записывается аналогично (8.24). Хотя аппроксимирующая задача линейная, получаемое на ней решение не всегда является приближением к решению исходной задачи. Дело в том, что одно и то же значение xj можно получить по уравнению сетки при разных ljk, то есть представить через разные пары узлов. Например, некоторое значение xj можно выразить через смежные узлы, в интервале которых находится значение, а можно через любую другую пару узлов, лежащих слева и справа, в том числе через первый и последний узел. Во всех случаях,кроме первого аппроксимация функции будет грубой и тем грубее, чем дальше отстоят узлы от данного значения xj. Отсюда следует правило смежных весов: из одного уравнения сетки отличными от нуля могут быть не более 2-х переменных ljk со смежными значениями k. Если аппроксимирующая задача является задачей выпуклого программирования, то это правило выполняется автоматически и решение находится методом ЛП без каких-либо дополнений. Оптимальное решение аппроксимирующей задачи будет приближением глобального решения исходной задачи. В противном случае алгоритм ЛП должен включать правило ограниченного ввода: если в базисном решении находится ljk, то допустимыми для ввода могут быть только ljk +1 или ljk -1. При этом нельзя утверждать, что получаемое решение является приближением к глобальному оптимуму исходной задачи. Скорее оно будет приближением локального оптимума. Свойства задачи зависят от всех функций модели: 1. Если все ограничения линейные, то для выпуклости задачи достаточно, чтобы были вогнутыми все fj критерия (выпуклы при минимизации 2. При нелинейности критерия и ограничений для выпуклости задачи должны быть вогнуты все fj и выпуклы все jij. 3. Если хотя бы одна fj не вогнута при максимизации и/или одна jij не выпукла, задача не является выпуклой. Заметим, что, если все функции кусочно-линейные, переход к новым переменным не связан с потерей точности и при выполнении условий задач выпуклого программирования получаемое решение является точным и глобальным. Пример 8.3. Задача f = 6 x 1 – x 12+ 7 x 2 à max, 2 x 12 – 5 x 1 + 3 x 22 £ 8, 1 £ x 1 < 4, x 2 ³ 0 является задачей сепарабельного программирования. Здесь f 1(x 1) = 6 x 1 – x 12; f 2(x 2) = 7 x 2; j 11(x 1) = 2 x 12 – 5 x 1; j 12(x 2)=3 x 22. Так как f 1(x 1) и f 2(x 2) – вогнутые, а j 11(x 1) и j 12(x 2) – выпуклые, имеем задачу выпуклого программирования. Обе переменные входят нелинейно, поэтому нужно строить две сетки. Оценим верхний предел x 2: находим min j 11=-3.125, затем из ограничения получаем максимально возможное значение x 2=1.93. Берем D 2=2. Пусть узловыми будут значения по x 1: 1, 2, 3, 4; по x 2: 0, 1, 2. Записываем уравнения сеток: x 1= l 11 +2 l 12+3 l 13+4 l 14, x 2= l 22+2 l 23. В итоге получаем модель аппроксимирующей задачи в виде
-3 l 11-2 l 12+3 l 13+12 l 14 +3 l 22+12 l 23£ 8, l 11 +2 l 12+3 l 13+4 l 14³ 1, l 11 +2 l 12+3 l 13+4 l 14£ 4, l 11 + l 12+ l 13+ l 14=1, l 21 + l 22+ l 23=1, " ljk ³ 0. Эта задача решается любым универсальным методом ЛП без добавления правила ограниченного ввода. D-постановка Построение аппроксимирующей задачи основано так же на кусочно-линейном приближении, но меняется уравнение сетки. По узлам сетки вычисляются расстояния между смежными узлами (длины интервалов) djk = Xjk +1 – Xjk и уравнение сетки записывается в виде xj = dj + 0 £ yjk £ 1, (8.26) где yjk – новые переменные. Из представления переменной в виде (8.25), (8.26) следует: · xj = dj, когда " yjk =0; · xj находится в первом интервале, когда yj 1 Î (0, 1), остальные yjk =0; · xj находится во втором интервале, когда yj 1=1, yj 2 Î (0, 1), остальные yjk =0; · xj находится в k -ом интервале, когда yj 1 = yj 2 =... = yjk -1 = 1, 0 £ yjk £ 1, остальные yjk =0. Таким образом, для правильной аппроксимации должно выполняться установленное соответствие между значениями переменной xj и yjk. Это требование аналогично правилу смежных весов. При ином представлении значения xj будет нарушена кусочно-линейная аппроксимация функции. Для аппроксимации нелинейной составляющей функции критерия вычисляются разности ее значений в смежных узлах D jk = fj (Xjk +1) – fj (Xjk), с помощью которых записывается аппрокимирующая функция
Тогда функция, аппроксимирующая критерий, имеет вид
Аналогично аппроксимируются ограничения jij (xj):
Как и в l-постановке, если имеет место задача выпуклого программирования, то требования к переменным yjk выполняются автоматически и полученное решение будет приближенным глобальным решением исходной задачи. В противном случае, необходимо придерживаться правила ограниченного ввода относительно переменных yjk: если первые k переменных равны единице, вводить можно только yjk +1. При практическом решении сепарабельных задач сначала можно взять малое число узлов и получить приближенное оптимальное решение. Затем в качестве исходных принять интервалы, на которых лежат оптимальные xj, и выполнить аппроксимацию функций только на этих интервалах с малыми расстояниями между узлами. Такой способ снижает размерность решаемых задач и повышает точность получаемого решения. Следует заметить, что в ряде случаев несепарабельная функция может быть преобразована к сепарабельной. Способ преобразования зависит от структуры функции. Например, произведение двух сепарабельных функций S (X)× T (X) можно привести к сепарабельному виду, заменив его перменной v с дополнительными равенствами S (X) = z – y; T (X) = z + y. Тогда v = (z - y)(z + y) = z 2 – y 2 – сепарабельная функция. Так функция f = x 1 + x 2 ×x 32 заменяется на сепарабельную f = x 1 + v с дополнительными сепарабельными ограничениями
Пример 8.4. Покажем, что некоторые стохастические задачи могут сводиться к сепарабельным. Стохастические модели описывают ситуации выбора решения в условиях риска, обусловленного влиянием случайных факторов. Предполагается, что закон распределения случайных величин известен. Пусть зависимости от искомых переменных линейны, но коэффициенты критерия и ограничений зависят от случайной величины w (состояния среды). В этом случае в качестве критерия берется обычно математическое ожидание линейной формы M (L)= M [ C T(w) X ]=
где pi - заданное значение вероятности. выполнения i -го условия. Такое ограничение заменяется эквивалентным детерминированным условием
где В результате детерминированная модель стохастической задачи включает линейный критерий и существенно нелинейные ограничения (*). Очевидно, что она не является сепарабельной. Сделаем простое преобразование. Обозначим
Тогда каждое ограничение (*) заменяется двумя условиями:
Первое из них – линейное, а второе – сепарабельное. Таким образом, стохастическая задача приведена к сепарабельной. Примечание. Если случайным является только вектор ограничений, то, как следует из (*), стохастическая задача сводится к линейной.
|
||
|
Последнее изменение этой страницы: 2016-08-12; просмотров: 1196; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.108 (0.01 с.) |