Научная литература
booksshare.net -> Добавить материал -> Математика -> Препарата Ф. -> "Вычислительная геометрия: Введение" -> 132

Вычислительная геометрия: Введение - Препарата Ф.

Препарата Ф., Шеймос М. Вычислительная геометрия: Введение. Под редакцией Ю. М. Банковского — М.: Мир, 1989. — 478 c.
ISBN 5-03-001041-6
Скачать (прямая ссылка): vichgeometr.pdf
Предыдущая << 1 .. 126 127 128 129 130 131 < 132 > 133 134 135 136 137 138 .. 180 >> Следующая


Более точно, исходную задачу1)

( минимизировать ах-{-by

\ при условиях atx -f bty 4- ct < 0, t = l, 2, N, ^7'^

можно преобразовать, полагая Y = ax 4- by и X = x, следующим образом (поскольку здесь а и b одновременно не равны

') В данной формулировке предположим без потери общности, что целевую функцию нужно минимизировать.

7.2. Плоские приложения

нулю, предположим без потери общности, что Ь ф 0): ( минимизировать У

1 при условиях atX + р,У -f ct < 0, /=1,2.....N,

(7.7)

где а, = (а,- — (а/Ь)Ы), a Pi = &«•/&. В новой задаче нужно вычислить наименьшее значение У на вершинах выпуклого многоугольника Р (допустимой области), определенного этими ограничениями (рис. 7.20). Чтобы избежать построения всей границы Р, поступим следующим образом. В зависимости от того,

Оптимальная вершина

Рис. 7.20. После преобразования координат нужно i нату в допустимой области.

шменыную орди-

будет ли р,- нулем, отрицательным или положительным числом, разобьем множество индексов {1, Щ на подмножества /0, /-, /+ соответственно. Все ограничения с индексами из /о являются вертикальными прямыми (т. е. параллельными оси У) и определяют допустимый интервал для X следующим образом (рис. 7.21):

щ - max {— с,/а,-: / е /0}, M2 = min{— с,/аг: /е/0}.

С другой стороны, полагая 8,А— (а,-/р\-) и у<А'-чаем, что все ограничения из /+ имеют вид

(с«/Р<), полу-

358

Гл.7. Пересечения

так что они, вместе взятые, определяют кусочно-линейную, выпуклую вверх функцию F+(X) вида

F+ (X) A min (6,Х + yt).

Аналогично ограничения из /_ в совокупности определяют кусочно-линейную, выпуклую вниз функцию F-(X) вида F_ (Х)Атах (6Д + yt).

i е /_

Затем получаем преобразованное ограничение

^F+(X), а поскольку решается задача линейного программи-

У













^—






\
X






и, иг

Рис. 7.21. Иллюстрация функций F-(X), F+(X) и величин ыь иг при переформулировании задачи линейного программирования.

рования на минимум, то F~(X) и является нашей целевой функцией. Задача принимает следующий вид:

(минимизировать F_ (X) при условиях F_№<F+(X),

Эта новая ситуация изображена на рис. 7.21, где показаны связи между «1, «2. F-(X), F+(X) и границей Р.

Элементарной операцией, используемой в этом методе, является вычисление функций F-(X'), F+(X') и их наклонов по обе стороны от заданного значения Х'е! (Обозначим через №{Х') и №(Х') иаклопыгр_(Хг) слева и справа от X' соответственно; аналогично определяются f<?> и f<*).) Покажем теперь, что эту элементарную операцию, названную вычислением функ-

7.2. Плоские приложения

359

ций, можно выполнить за время O(N). Обращаясь для краткости лишь к F-(X), имеем выражение

F_ (X') = max (6,Х' + Y<),

которое можно вычислить за время, пропорциональное |/_| = = О (N). Если существует только одно значение /, равное i0, на котором достигается F_(X'), то /(f> [X') = /(*> (X') = 6io, иначе (если существуют два таких значения /, и г'2), то №(Х') = = min(6tV 6.J и № (Xr) = max (6jV 6(.), поскольку F_ выпукла вниз.

Справедлино утверждение, что для любого X' e[ui, и2] можно получить один из следующих результатов за время O(N):

1. X' недопустимо, а задача не имеет решений;

2. X' недопустимо, но известно, по какую сторону от X' (слева или справа) могут лежать все допустимые значения X;

3. X' допустимо, и известно, по какую сторону от X' лежит минимум F-(X);

4. X' доставляет минимум функции F-(X).

Действительно, если функция H(X) — F-(X)—F+(X) положительна в точке X', то X' недопустимо. Рассматривая наклоны F-(X) и F+{X) при Х = Х', имеем (рис. 7.22): если №(Х')> >f{+)(X'), то Н (X) возрастает в X', и допустимые значения X могут располагаться только слева от X' (рис. 7.22(a), случай 2); если fM(X') < Р?ЦХ'), то аналогично допустимые X могут быть только справа от X' (рис. 7.22(b), случай 2); наконец, если №(Х'ХР{ЧХ') и №(Х')>Г^{Х'), то Н(Х) достигает минимума на X' — задача неразрешима (рис. 7.22(c), случай 1).

Пусть теперь H(X')^L0, т. е. X' допустимо. Оставляем в качестве упражнения вопрос о выборе между случаями 3 и 4 опять на базе информации о четырех наклонах: №(Х'), fW(X'), ff(X'), ff(X').

Теперь стратегия решения начинает проясняться. Нужно пытаться так выбирать абсциссу X', в которой производится вычисление, чтобы если алгоритм и не завершается сразу же, то по крайней мере фиксированную долю а от числа активных в данный момент ограничений можно было «вывести из игры» или отсечь (причем каждое отсекаемое ограничение, наверняка, не должно содержать крайних вершин). Если эта цель достигнута, то после logi/(i_a)JV шагов мощность множества ограничений становится достаточно малой и приемлемой для прямого решения задачи. При таком предположении на г'-м шаге число активных ограничений не превосходит (1 —a)'wW, и требуемая обработка завершится за время, не большее чем К{\ —

Гл. 7. Пересечения

— a)'~lN, где К— некая константа. Поэтому суммарное время работы Т(N) оценивается сверху следующим образом:
Предыдущая << 1 .. 126 127 128 129 130 131 < 132 > 133 134 135 136 137 138 .. 180 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed