WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

Метод декомпозиции Данцига — Вулфа представляет собой специализированный вариант симплекс-метода.

В 1960 г. Джордж Данциг и Филип Вулфruen разработали метод декомпозиции для решения задач высокой размерности со специальной структурой матрицы ограничений[1].

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

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

Метод генерации столбцов

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

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

Часто такая процедура сводится к решению определенной подзадачи (не обязательно линейного программирования).

Принцип декомпозиции

Лемма Пусть - непустое замкнутое ограниченное множество в евклидовом пространстве и обладает конечным числом крайних точек, которые здесь будут обозначаться . Тогда любая точка множества может быть представлена в виде выпуклой комбинации крайних точек множества R, т.е. для найдутся неотрицательные числа с общей суммой единица ( ) и такие, что

(1) .

Пусть поставлена задача

Максимизировать

(2)

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

(3)

(4)

(5)

Ограничения (3) задают симплекс S, пусть - его крайние точки.

Пусть x – допустимое решение По лемме

Подставим последнее выражение в (2) и (3).

Задача примет вид

Максимизировать (6)

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

(7)

(8) .

Эта задача эквивалентна исходной (2)-(5) и называется координирующей задачей.

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

Алгоритм

Решаем задачу (6)-(8) симплекс-методом с использованием метода генерации столбцов.

Для простоты предположим, что уже известно некоторое допустимое базисное решение.

Обозначим через ограничение (8), тогда двойственные переменные - это вектор .

Для ввода в базис необходимо найти , такой, что

Таким образом достаточно найти m, на котором достигается минимум

(9)

что эквивалентно решению задачи

минимизировать (10)

при ограничениях (4) и (5).

Если найденный минимум не будет больше , задача решена.

В противном случае столбец , соответствующий найденному решению, вводим в базис.

Блочные задачи

Пусть ограничения (4) имеют блочную структуру

Задача (10),(4),(5) распадается на отдельные подзадачи

Найти минимум

(11)

при условиях

(12)

Примечания

  1. George B. Dantzig; Philip Wolfe (1960). “Decomposition Principle for Linear Programs”. Operations Research. 8: 101—111.

Литература

  • Хемди А. Таха. Глава 3. Симплекс-метод // Введение в исследование операций = Operations Research: An Introduction. — 7-е изд. М.: «Вильямс», 2007. — С. 95-141. ISBN 0-13-032374-8.
  • Гольштейн E. Г., Юдин Д. Б. Новые направления в линейном программировании.. М.: Советское радио, 1966.
  • Юдин Д. Б., Гольдштейн Е. Г. Линейное программирование (теория, методы и приложения). М.: Наука, 1969.

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии