Задачи двухуровневого программирования, полиномиально разрешимые методом декомпозиции тема автореферата и диссертации по математике, 01.01.09 ВАК РФ
Плясунов, Александр Владимирович
АВТОР
|
||||
кандидата физико-математических наук
УЧЕНАЯ СТЕПЕНЬ
|
||||
Новосибирск
МЕСТО ЗАЩИТЫ
|
||||
2001
ГОД ЗАЩИТЫ
|
|
01.01.09
КОД ВАК РФ
|
||
|
Введение
Глава 1. Линейные модели.
1.1. Основные определения.
1.2. Задача с линейным ранцем на нижнем уровне.
1.3. Задача с дополнительными ограничениями.
1.4. Задача с многоинвариантным ранцем на нижнем уровне
Глава 2. Нелинейные модели
2.1. Постановка задачи
2.2. Невырожденный случай
2.2.1. Функция возмущения задачи НЗР(?/)
2.2.2. Условия оптимальности для задачи НЗР(?/)
2.2.3. Декомпозиция и полиномиальная разрешимость задачи
2.3. Вырожденный случай
2.3.1. Функция возмущения задачи НЗР (у)
2.3.2. Декомпозиция в вырожденном случае
Глава 3. Частично-целочисленные модели.
3.1. Задача выбора ряда изделий с частичным внешним финансированием
3.2. Сведение к задаче выбора ряда изделий
3.3. Линейная задача.
3.4. Задачи на максимум.
Задачи многоуровневого программирования появились в связи с проблемами управления производственными, экономическими, социальными и другими сложными системами. Традиционное моделирование таких процессов основывается на предположении, что имеется одно лицо, принимающее решение. Подобный подход игнорирует других участников процесса управления, имеющих свои предпочтения и стратегии выбора. Поэтому в разных областях человеческой деятельности все чаще стали появляться схемы принятия решений, позволяющие учесть конфликтные ситуации, характерные для современного общества. Так как теперь априори предполагается наличие разнородных интересов или факторов, плохо поддающихся прямому контролю, то в качестве подходящей математической модели принятия решений могли бы использоваться системы оптимизационных моделей так или иначе связанных друг с другом. Когда рассматриваются схемы принятия решений, согласовывающие противоречивые интересы, то возникают задачи равновесного программирования [2]. В этих задачах в качестве решений используются неподвижные точки или равновесные решения.
Задачи многоуровневого программирования чаще всего возникают при моделировании процессов управления в иерархических системах. Верхний уровень в таких системах (центральное правительство, руководствокорпорации и т.н.) не определяют полностью поведение нижних уровней иерархии (местные органы самоуправления, иногородние филиалы и т.п.). У каждого уровня иерархии имеется возможность только влиять на решения нижних уровней. Цели разных уровней, как правило, не совпадают. Процесс принятия решений в таких системах выглядит следующим образом. Первым принимает решение верхний уровень иерархии. Это решение передается нижестоящим уровням и уже не меняется. Каждый уровень иерархии, получив решения вышестоящих уровней, принимает свое решение. Он преследует свои цели и использует имеющиеся у него возможности и ресурсы. Деятельность всей системы направлена на достижение определенной глобальной цели. Результат деятельности иерархической системы зависит от работы всех уровней иерархии. Задача состоит в том, чтобы найти такое решение верхнего уровня, которое приводит систему к достижению глобальной цели.
Если верхний уровень полностью определяет поведение нижестоящих, то моделирование процессов принятия решений упрощается. В этом случае возникают классические задачи математического программирования, в которых область допустимых значений задается набором равенств и неравенств. Если же верхний уровень может только влиять на работу нижних уровней, то возникает новый класс задач. Область допустимых значений в данном случае задается с помощью вспомогательных (внутренних) задач, моделирующих поведение нижних уровней иерархии. Решения вышестоящих органов выступают в этих задачах в качестве ограничений.
В ряде работ [34, 82], обьединяются задачи многоуровневого и равновесного программирования. В таких постановках верхний уровень обычно рассматривается как арбитр, а нижние уровни как игроки. Под решением понимается равновесное решение, т.е. неподвижная точка. Когда игроки имеют одинаковый статус, то используются двухуровневые постановки. Если игроки подчинены иерархическим отношениям верхний-нижний, то рассматриваются многоуровневые постановки. Когда ограничения, описывающие стратегии игроков, и целевые функции линейны, то в таких задачах существуют равновесные (оптимальные) по Нэшу решения [34]. Методы решения подобных задач предлагаются в уже цитированных работах [34, 82]. Для решения задач равновесного программирования в [2, 37, 38] развиваются алгоритмы градиентного типа.
Впервые задачи многоуровневого программирования в игровой постановке рассматривались Штакельбергом [81]. Как самостоятельное направление, обобщающее математическое программирование, многоуровневое программирование впервые рассматривалось в [52]. В России над этими задачами работали Гермейер и его ученики [6]. Один из первых алгоритмов решения задачи двухуровневого линейного программирования, который является модификацией симплекс-алгоритма, был предложен в [81].
Задачи, в которых рассматриваются только два уровня иерархии, называются задачами двухуровневого программирования. Их область применения чрезвычайно широка:
- задачи стратегического планирования [56];
- анализ динамики регулируемой экономики [52];
- управление ресурсами в децентрализованной фирме [31, 42];
- выбор конфигурации сети дорог в транспортных системах [48, 74];
- производство электроэнергии и тепла [35];
- размещение производства [9, 107 11, 13, 15, 16, 17, 30, 32, 35];.
- численное решение задач механики твердого тела и гидродинамики [71, 72, 73];
- размещение систем вооружения [51] и т.д.
Методология двухуровневого и равновесного программирования использовалась для анализа международных конфликтов [34]. В качестве модели разрешения конфликта предлагается двухуровневая модель, в которой верхний уровень действует как арбитр среди конфликтующих игроков. Полученные результаты использовались для анализа конфликта, возникшего между Индией и Бангладеш за обладание водными ресурсами. Было показано, что обе стороны получают наилучшие условия, если соглашаются на арбитражное управление третьей незаинтересованной стороной.
Понять постановку задач двухуровневого программирования можно на примере следующей игры. В ней участвуют игрок и игровой автомат. Игрок называет автомату п чисел. Автомат вычисляет по ним параметры оптимизационной задачи, находит оптимальное решение и выдает ответ. Если ответ и названные игроком числа удовлетворяют условиям игры, то считается, что игра состоялась. В этом случае под-считывается выигрыш, зависящий от хода игрока и ответа автомата. В противном случае считается, что игра не состоялась. Цель игрока — найти ход (набор п чисел), который приводит к максимальному выигрышу.
Выбирая ход, игрок задает параметры оптимизационной задачи автомата. Условия задачи ему известны. В этом смысле данная игра является игрой с полной информацией. Если оптимизационная задача автомата для любого хода игрока имеет единственное решение, то можно считать, что игрок всегда знает состоится игра или нет, а если состоится, то каков будет выигрыш. В этом случае у него имеется принципиальная возможность найти наилучший ход или убедиться, что игра не состоится ни при каком ходе. Когда оптимальных решений несколько, то следует различать по крайней мере две ситуации. Если выбор из множества оптимальных решений предписан заранее и известен игроку, то ситуация становится такой же как и в предыдущем случае. Если же автомат может предъявить любое из оптимальных решений, выбранное, например, случайным образом, то ситуация меняется. В понятие наилучшего хода игрок может вкладывать разный смысл. Он может назвать оптимальным любой ход, дающий шанс получить максимальный выигрыш с риском не получить ничего или получить выигрыш значительно меньше ожидаемого. Другой подход состоит в том, чтобы считать оптимальным такой ход, который дает наибольший гарантированный выигрыш при любом ответном ходе автомата. Оба этих подхода будут использованы ниже для определения оптимального и наилучшего гарантированных решений.
Приведем математическую формулировку двухуровневых задач и дадим краткий обзор основных результатов их исследования.
Обозначим через х Е В? ход игрока, а через у Е #т - ответный ход автомата. Пусть ЪиЬ2 - вектора, ¡1(х,у), ¡2(х,у),д1(х,у),д2(х,у) - некоторые функции от ж и у. Будем считать, что величины у при заданном х определяются из решения следующей оптимизационной задачи автомата (А(х)): тах{/2(ж,у) | 92(х,у) < Ы
Будем говорить, что игра состоялась, если пара (ж, у) удовлетворяет ограничению дг(х,у) < Ь\. В этом случае величина /1 (х,у) определяет выигрыш игрока. Если же пара (х, у) не удовлетворяет данному ограничению, то считаем, что игра не состоялась и значение выигрыша неопределено. Цель игрока — найти такой ход, который приводил бы к максимальному выигрышу, либо выяснить, что игра не состоится ни при каком ходе. С использованием введенных обозначений задача игрока может быть записана следующим образом: шах/1 (х,у) (0.1)
91{х,у)<Ьи (0.2) где у — оптимальное решение задачи А{х) тах/2(ж,у) (0.3)
92{х,у)<Ъ2. (0.4)
Указанную задачу будем называть задачей двухуровневого программирования (ДП). Напомним определения полудопустимого, допустимого и оптимального решений для этой задачи. Вектор (.х,у) назовем полудопустимым решением задачи ДП, если для него выполняются ограничения верхнего и нижнего уровней. Вектор (ж, у) — допустимое решение задачи ДП, если он является полудопустимым решением и у — оптимальное решение задачи А(х). Тогда оптимальное решение задачи это есть допустимое решение, на котором достигается максимальное значение целевой функции /\(х, у) на множестве всех допустимых решений. Как уже отмечалось выше, если внутренняя оптимизационная задача имеет несколько оптимальных решений, то естественно ввести понятия гарантированного и наилушего гарантированного решений. Допустимое решение (х,у) назовем гарантированным, если для любого оптимального решения у задачи А(х) вектор х,'у) является допустимым решением задачи ДП и /^(х, ?/) < ¡^{х,у). Гарантированное решение называется наилучшим, если на нем достигается максимальное значение целевой функции $\{х,у) на множестве всех гарантированных решений.
Задача ДП называется невырожденной, если любое допустимое решение является гарантированным. В этом случае множество оптимальных решений совпадает с множеством наилучших гарантированных решений. Обычно [47, 78], в качестве достаточного условия невырожденности используется предположение о единственности оптимального решения задачи А{х) при всех ж, для которых эта задача разрешима. В вырожденном случае, когда среди допустимых решений задачи ДП есть негарантированные, множество оптимальных решений может не иметь общих точек с множеством наилучших гарантированных решений.
Предположим, что в качестве внутренней задачи А(х) используется тривиальная задача, имеющая единственное оптимальное решение у = 0 для любого х. Тогда возникает естественное вложение классических задач математического программирования в задачи двухуровневого программирования. В [47] при достаточно общих предположениях приводится сведение двухуровневых задач к нелинейным задачам классического программирования. Это сведение основывается на условиях оптимальности Куна - Таккера для задачи нижнего уровня, которые включаются в ограничения верхнего уровня.
На практике, переход от классических оптимизационных моделей к многоуровневым системам моделей оптимизации сдерживается отсутствием достаточно развитых численных методов их решения. Прогресс в этой области, достигнутый в последние годы, позволяет надеяться на более широкое использование этих моделей.
Методы, используемые для решения задач двухуровневого программирования, можно разбить на следующие группы:
1. Методы, в которых двухуровневая задача сводится к решению нелинейной задачи классического математического программирования. Для линейных задач подобные алгоритмы рассматривались в [44, 62, 65, 70], а для нелинейных задач в [39, 41, 44, 47, 50, 59, 62]. Для двухуровневых частично - целочисленных задач соответствующие алгоритмы рассматривались в [41, 45]
2. Методы, основанные на просмотре множества крайних точек многогранника полудопустимых решений. Такой подход применяется для решения задач двухуровневого линейного и выпуклого программирования [50, 53].
3. Методы штрафов [31, 34, 66, 79, 80, 83]. В [83] для решения линейных задач в качестве штрафа, который вносился в целевую функцию верхнего уровня, используется разность между прямым и двойственным решениями задачи нижнего уровня.
4. Методы покоординатного спуска для задачи верхнего уровня с информацией о градиенте, получаемой разными способами из задачи нижнего уровня [43, 60, 68, 78, 83, 84].
5. Метаэвристики: поиск с запретами [63], имитация отжига [33], генетические алгоритмы [33, 76] и методы, использующие решения, оптимальные по Парето [40].
Перечисленные алгоритмы предназначены для решения общих классов задач двухуровневого нелинейного, выпуклого, линейного и частично-целочисленного программирования. Накопленный вычислительный опыт решения задач математического программирования показывает, что в настоящее время неизвестно эффективных алгоритмов решения достаточно общих классов нелинейных или дискретных экстремальных задач. Так как существует вложение этих классов задач в соответствующие двухуровневые задачи, то трудно ожидать существования эффективных алгоритмов решения и в двухуровневогом случае. Подобные аргументы "не работают"в линейном случае. Последнее связано с тем, что для задачи линейного программирования существуют эффективные алгоритмы решения [29].
В [53] рассматривалась линейная задача ДП без ограничений верхнего уровня. Установлено, что в этом случае допустимая область может быть невыпуклой, но является связной и совпадает с обьединением некоторого множества граней многогранника, который определяется ограничениями нижнего уровня. В общем случае, когда есть линейные ограничения на верхнем уровне, это множество может оказаться дискретным [42]. Поэтому неудивительно, что задачи двухуровневого линейного программирования являются КР-трудными [49]. Несколько позднее, в [65] было доказано, что этот класс задач является КР-трудным в сильном смысле. Наконец, в [17] было установлено, что задача нахождения допустимого решения также является полной в сильном смысле. Отметим также, что проверка локальной оптимальности допустимого решения задачи двухуровневого линейного программирования относится к классу КР-трудных задач [84].
Безусловно трудно дать определение эффективного алгоритма, которым можно было бы воспользоваться, как в непрерывном случае, так и в дискретном. Однако для задач, рассматриваемых в данной работе, достаточно определения эффективного алгоритма как алгоритма, временная сложность которого ограничена сверху некоторым полиномом от длины'записи входной информации задачи. В теории вычислительной сложности, начиная с работ Эдмонса [58], Левина [20], Карпа [14] и Кука [18], широко используется соглашение, согласно которому задача не считается "хорошо решаемой"до тех пор, пока для нее не получен полиномиальный алгоритм. Поэтому задачу называют труд-норешаемой, если для ее решения не существует полиномиального алгоритма. В качестве формального уточнения этого интуитивного понятия для комбинаторных экстремальных задач служит класс ИР-трудных задач [29]. На протяжении десятилетий многие математики безуспешно пытались построить полиномиальные алгоритмы решения задач из этого класса. Это дает основание рассматривать КР-трудные задачи как действительно труднорешаемые. Поэтому маловероятно, что для задач двухуровневого программирования или для достаточно общих подклассов нелинейных, выпуклых, линейных или частично-целочисленных задач удастся получить эффективные алгоритмы решения. В этой ситуации естественно сосредоточить усилия на следующих направлениях:
- выделении полиномиально разрешимых классов задач;
- оценке трудоемкости и точности известных алгоритмов, например, алгоритма покоординатного спуска;
- разработке алгоритмов, использующих особенности конкретных классов задач;
- разработке малотрудоемких приближенных алгоритмов решения с гарантированными оценками точности.
Исследования в этих направлениях только начинаются [9, 10, 11, 13, 15, 73, 19, 28, 30].
Основное содержание диссертационной работы составляют результаты исследований связанных с выделением полиномиально разрешимых классов задач и разработкой малотрудоемких приближенных алгоритмов решения с априорными оценками точности. В основе полученных результатов лежит подход, который оказался полезным при построении полиномиальных алгоритмов решения некоторых задач двухуровневого программирования. Его идея состоит в следующем. Предположим, что имеется разбиение множества допустимых решений на подмножества, в каждом из которых исходная задача ДП сводится к решению более простой задачи. Если число этих подмножеств невелико и на каждом из них соответствующая задача решается эффективным алгоритмом, то получаем малотрудоемкий алгоритм и для исходной задачи ДП. Впервые этот подход был применен к следующей задаче оптимизации состава систем технических средств [16]: тт(Е + Е Е саУа) уУ ш Шз^
Л У и = 1-1 € ^
161
Е РчУч < Ч ~ г € /, №
Щ > 0,2/у > 0, г 6 /,; Е <7, где ¡и — оптимальное решение внутренней задачи: тах V ЩЩ ю ^ 1 1 г£1
О < < г 6 1.
Установлено, что задача полиномиально разрешима в сильном смысле, т.е. трудоемкость алгоритма решения ограничена полиномом от размерности задачи. Там же показано, что задача остается полиномиально разрешимой, если ввести дополнительное ограничение на верхнем уровне ~ где7г >0,У>0. ге/
Это первые нетривиальные классы задач двухуровневого программирования, для которых была доказана полиномиальная разрешимость.
Изложим кратко результаты диссертационной работы, состоящей из введения, трех глав, заключения и списка литературы.
Первая глава посвящена доказательству полиномиальной разрешимости двух классов задач двухуровневого линейного программирования.
В разделе 1.1 содержатся основные определения. Приводятся примеры, иллюстрирующие свойства оптимальных и наилучших гарантированных решений. Показано, что поиск допустимого решения задачи двухуровневого линейного программирования является КР-полной задачей в сильном смысле. Доказательство этого факта основано на псевдополиномиальном сведении задачи о минимальном покрытии к частному случаю рассматриваемой двухуровневой задачи. Так как задача нижнего уровня является невырожденной, то нахождение гарантированного решения также является ЫР-полной задачей в сильном смысле. Следовательно, задачи нахождения оптимального и наилучшего гарантированного решений для двухуровневого линейного программирования являются ЫР-трудными в сильном смысле.
В разделе 1.2 рассматривается задача двухуровневого линейного программирования с ограничениями общего вида на верхнем уровне. На нижнем уровне рассматривается линейная задача о ранце с непрерывными переменными. В невырожденном случае установлено, что задачи нахождения оптимального и наилучшего гарантированного решений полиномиально разрешимы. В вырожденном случае доказано, что можно х полиномиальной трудоемкостью либо найти оптимальное решение и проверить, является ли оно гарантированным, либо установить неразрешимость или неограниченность задачи.
В разделе 1.3 исследуется задача из предыдущего раздела с дополнительными ограничениями на нижнем уровне. Установлено, что задачи нахождения оптимального и наилучшего гарантированного решений в этом случае являются ^-трудными. Доказательство основывается на сведении задачи о рюкзаке с булевыми переменными к частному случаю рассматриваемой задачи.
В разделе 1.4 исследуются свойства задачи, у которой задачей нижнего уровня является модифицированная задача о многовариантном ранце. Показано, что в невырожденном случае задача полиномиально разрешима.
Во второй главе рассматривается задача двухуровневого программирования, в которой ограничения содержат нелинейные слагаемые специального вида, а внутренняя задача является задачей о ранце с билинейной целевой функцией относительно всех переменных.
В разделе 2.1 приводится постановка задачи и необходимые обозначения.
В разделе 2.2 для невырожденного случая приводится описание фунК' ции возмущения внутренней задачи, условий оптимальности и доказывается полиномиальная разрешимость задачи нахождения оптимального и наилучшего гарантированного решений.
В разделе 2.3 рассматривается вырожденный случай. Доказано, что можно с полиномиальной трудоемкостью либо найти оптимальное решение и проверить, является ли оно гарантированным, либо установить неразрешимость или неограниченность задачи.
- В третьей главе исследуются частично-целочисленные задачи двухуровневого программирования, связанные с известной задачей выбора ряда изделий [5, стр. 95].
В разделе 3.1 приводится постановка задачи выбора ряда изделий с частичным внешним финансированием. Доказана полиномиальная сводимость задачи к т классическим задачам выбора ряда изделий. Установлено, что задача полиномиально разрешима, если в ней существует оптимальное решение со связными областями применения.
В разделе 3.2 рассматриваются частные случаи задачи из раздела 3.1, которые полиномиально сводится либо к т простейшим задачам размещения [5, 69], либо к т задачам выбора изделий многоразового применения [5]. Выделены полиномиально разрешимые подклассы.
В разделе 3.3 исследуется максимизационный вариант задачи. Для ее частного случая — простейшей задачи размещения с частичным внешним финансированием предлагается приближенный алгоритм с гарантированной оценкой точности.
В разделе 3.4 установлено, что в вырожденном случае имеют место результаты, полученные в предыдущих параграфах, если под решением задач понимать поиск оптимальных решений. Приводится пример задачи, у которой все оптимальные решения не являются гарантированными.
Основные результаты диссертации опубликованы в работах [16, 17, 21, 22, 23, 24, 25, 26, 67, 77] и докладывались на X Байкальской школе-семинаре (г. Иркутск, 1995), на Симпозиумах по исследованию операций (г. Брауншвейг, 1996 и г. Йена, 1997), на Втором Сибирском
Конгрессе по-Прикладной-и Индустриальной Математике (г. Новосибирск, 1996), на Международной конференции (г. Омск, 1997), на Международной Байкальской конференции (г. Иркутск, 1998, 2001), на Международной конференции "Дискретный анализ и исследование операций"(г. Новосибирск 1998, 2000), на семинарах в Институте математики СО РАН.
Результаты первой и третьей глав получены совместно с Ю.А. Ко-четовым. Автор выражает искренюю признательность своим научным руководителям за постоянное внимание и всестороннюю поддержку при выполнении данной работы.
Заключение
На основе общего подхода - декомпозиции области допустимых решений, исследованы новые классы двухуровневых линейных, нелинейных и частично целочисленных задач.
1. Установлена полиномиальная разрешимость двухуровневой задачи линейного программирования с линейными ограничениями общего вида и задачей о ранце, используемой в качестве внутренней задачи.
Показано, что задача становится МР-трудной, если во внутреннюю задачу вводятся ограничения сверху на значения переменных.
Показано, что полиномиальная разрешимость сохраняется при замене задачи о ранце на линейную задачу о многовариантном ранце.
2. Установлена полиномиальная разрешимость двухуровневой задачи, ограничения которой содержат билинейные слагаемые, а внутренняя задача является задачей о ранце с билинейными целевой функцией и ограничениями.
3. Исследована сложность двухуровневой задачи размещения, у которой в качестве внутренней используется линейная задача о ранце.
Установлено, что задача полиномиально разрешима, если для нее существует оптимальное решение со связными областями применения. Найдены достаточные условия, гарантирующие данное свойство.
Для двухуровневой задачи размещения на максимум построен приближенный полиномиальный алгоритм с гарантированной оценкой точности относительного уклонения.
1. Агеев A.A. Графы, матрицы и прстейшая задача размещения // Модели дискретной оптимизации (Управляемые системы). Новосибирск, 1989. Вып. 29, 3-10.
2. Антипин A.C. Билинейное равновесное программирование (приложение к играм с ненулевой суммой) // Методы оптимизации и их приложения. 12-я Байкальская международная конференция. Иркутск, 2001. 10-24.
3. Береснев B.JI. О задаче выбора оптимальных рядов изделий и комплектующих узлов. I. // Оптимальные процессы (Управляемые системы). Новосибирск, 1977. Вып. 16. 35-46.
4. Береснев B.JI. Алгоритмы минимизации полиномов от булевых переменных. // Проблемы кибернетики. Москва, 1979. Вып. 36. 225-246.
5. Береснев B.JL, Гимади Э.Х., Дементьев В.Т. Экстремальные задачи стандартизации. Новосибирск: Наука, 1978.
6. Гермейер Ю.Б. Игры с непротивоположными интересами. Москва: Наука, 1976.
7. Гимади Э.Х. Эффективный алгоритм решения задачи размещения с областями обслуживания, связными относительно ациклической-сети.//Управляемыесистемы.'Новосибирск, 1983. Вып. 23. 12-23.
8. Гимади Э.Х. Задача стандартизации с данными произвольного знака и связными, квазивыпуклыми и почти квазивыпуклыми матрицами. // Управляемые системы. Новосибирск, 1987. Вып. 27. 3-11.
9. Горбачевская J1.E. Алгоритмы и сложность решения двухуровневых задач стандартизации с коррекцией дохода. // Дискрет, анализ и исслед. операций. Сер. 2. 1998. Т. 5. N 2. С. 20-33.
10. Горбачевская Л.Е., Дементьев В.Т., Шамардин Ю.В. Двухуровневая задача стандартизации с условием единственности оптимального потребительского спроса. // Дискрет, анализ и исслед. операций. Сер. 2. 1999. Т. б. N 2. С. 3-11.
11. Горбачевская Л.Е. Двухуровневые задачи стандартизации при условиях неднозначности оптимального потребительского выбора. // Дискрет, анализ и исслед. операций. Сер. 2. 2000. Т. 7. N 1. С. 35-46.
12. Гэри М., Джонсон Д., Вычислительные машины и труднореша-емые задачи. Москва: Мир, 1982.
13. Дементьев В.Т., Шамардин Ю.В. Трехуровневая модель выбора номенклатуры изделий. //Дискрет, анализ и исслед. операций. Сер. 2. 2001. Т. 8. N 1. С. 40-46.
14. Карп P.M. Сводимость комбинаторных задач. Кибернетический сборник (новая серия). 1975. Москва: Мир. N. 12. С. 123-148.
15. Схрейвер А., Теория линейного и целочисленного программирования. Москва: Мир, 1991.
16. Шамардин Ю.В. О двухуровневой задаче размещения при ограничениях на объем производства. //Дискрет, анализ и исслед. операций. Сер. 2. 2000. Т. 8. N 2. С. 114-118.
17. Aiyoshi Е., Shimizu К. Hierarchical decentralized systems and its new solution by a barrier method. //IEEE Trans, on systems, Man, and Cybernetics. 1981. V. SMC-11. N. 6. P. 444-449.
18. Alexandrov D., Kochetov Y. Siple plant location problem with partial external finance: lower bound, heuristic and exact solution. // Operations Research Proceedings 1996. Berlin: Springer-Verlag. 1997. 90-94.
19. Anandalingam G., Mathieu R., Pittard L., Sinha R. Artificial Intelligence Based Approaches for Hierarchical Optimization. // in Sharda R. et all (eds.). Impact of Recent Computer Advances in Operations Research. New York: North-Holland. 1989.
20. Anandalingam G., Apprey V. Multi-level programming and conflict, resolution. //European Journal of Operational Researh. 1991. V. 51. P. 233-247.
21. Anandalingam G., Friesz T.L. (eds.) Hierarchical optimization: an introduction. //Annals of Operations Researh. 1992. V. 34. P. 281— 292.
22. Antipin A. Equilibrium programming problems: prox-regularization and prox-methods. Recent Advances in Optimization. Lecture notes in Economics and Mathematical Systems.-Berlin: Springer. 1997. P. 1-18.
23. Bard J.F., Falk J.E. An explicit solution to the general multi-level programming problem. //Computers & Operations Research. 1982. V. 9. P. 77-100.
24. Bard J.F. An Efficient Point Algorithm for a Linear Two-Stage Optimization Problem. //Operations Research. 1983. V. 31. N. 4. P. 670-684.
25. Bard J.F. An Algorithm for solving the general bilevel programming program. //Math, of Oper. Res. 1983. V. 8. P. 260-272.
26. Bard J.F. Coordination of a multidivisional firm through two levels of management //Omega. 1983. V. 11. N. 5. P. 457-465.
27. Bard J.F. Convex two-level optimization. //Math. Program. 1988. V. 40. P. 15-27.
28. Bard J.F., Moore J.T. A Branch and Bound Algorithm for the bilevel programming problem //SIAM Journal of Sci. and Statistical Computing. 1990. V. 11. N 2 P. 281-292.
29. Bard J.F., Moore J.T. The mixed integer linear bilevel programming problem. //Operations Research. 1990. V. 38. N. 5. P. 911-921.
30. Bard J.P., Moore J.T. An algorithm for the Discrete bilevel programming problem. //Naval Research Logistics. 1992. V. 39. P. 419-435.
31. Bard J.F. Bilevel practical optimization. Algorithms and Applications. //Netherlands: Kluwer Academic Publishers. 1998.
32. Ben-Ayed 0., Blair C.E., Boyce D.E. A general bilevel linear programmming formulation of the network desisgn problem. //Transportation researh. 1988. V. B22. P. 311-318.
33. Ben-Ayed O., Bilevel linear programming, // Computers and Operations Research. 1993. V. 20. N 5. P. 485-501.
34. Bialas W.F., Karwan M.H. On two-level optimization. //IEEE Trans. Automatic Control. 1982. V. AC-27. N 1. P. 211-214.
35. Bracken J., McGill J.T. Mathematical programs with Optimization problems in the constraints. //Operations researh. 1973. V. 21. N. 1. P. 37-44.
36. Candler W., Norton R. Multi-level programmming and development policy. //Working paper. 1977. N.258. World Bank.
37. Candler W., Townsely R. A linear two-level programming problem. //Computers k Operations Research. 1982. V. 9. N. 1. P. 59-76
38. Cornuejols G., Fisher M., Nemhauser G. Location of bank accounts to optimize float : an analytic study of exact and approximate algorithms. // Management Science. 1977. V. 23. N.8. P. 789-810.
39. Cornuejols G., Fisher M., Nemhauser G. On the uncapacitated location problem. // Annals of Discrete Mathematics. Amsterdam: North-Holland Publishing Company. 1977. V. 1. P. 163-177.
40. Danskin J.M. The theory of max-min with applications. //SIAM J. of Applied Mathematics. 1966. V. 14. N. 4. P. 641-664.
41. Dyer M.E. An 0(n) algoritm for the multiple-choice knapsak linear program. //Math. Program. 1984. V. 29. N. 1. P. 57-63.
42. Edmonds J. Paths, trees and flowers. //Canad. J. Math. 1965. V. 17. P. 449-467.
43. Edmunds T.A., Bard J.F. Algorithm for nonlinear bilevel mathematical programs. //IEEE Trans, on systems, Man, and Cybernetics. 1991. V. 21. P. 83-89.
44. Falk J.E., Liu J. On bilevel programming, Part 1: general nonlinear Cases. //Math. Prog, 1995. V. 70. P. 47-52.
45. Feige U. A threshold of Inn for approximating set cover. //Proc. 28th Ann. ACM Symp. on Theory of Comp. ACM. 1996. P. 314318.
46. Fortuny-Amat J., McCarl B. A representation and economic interpretation of a two-level programming problem. //Journal of the Operational Research Society. 1981. V. 32. P. 783-792.
47. Gendreau M., Marcotte P., Savard G. A Hybrid Tabu-Ascent Algorithm for the Linear Bilevel Programming Problem. //Journal of Global Optimization. 1996. V. 8. N. 3. P. 217-233.
48. Geoffrion A.M. Lagrangian relaxation for Integer Programming. // Math. Prog. Study. 1974. V. 2. P. 82-114.
49. Hansen P., Jaumard B., Savard G., A variable elimination algorithm for bilevel linear programming. //SIAM Journal Scientific and Statistical Computing, 1992. V. 13. P. 1194-1217.
50. Ishizuka Y., Aiyoshi E. Doubly penalty method for bilevel programming problem. //Annals of Operations Research. 1992. V. 34. N 1-4. P. 73-88.
51. Kochetov Y., Plysunov A. Efficient algorithm for a class of bilevel linear programming problems. //Operations Research Proceedings 1996. Berlin: Springer-Verlag. 1997. P. 10-13.
52. Kolstad C.D., Lasdon L.S. Derivative evaluation and computational experience with large bilevel mathematical programs. //J. of Optimization Theory & Appl. 1990. V. 65. P. 485-499.
53. Krarup J., Bilde O. The simple plant location problem: Survey and Synthesis. // European Journal of Operational Research. 1983. V. 12. P. 36-81.
54. Judice J.J., Faustino A.M. A sequential LCP method for bilevel linear programming. //Annals of Operations Research. 1992. V. 34. N 1-4. P. 89-106.
55. Leontiev A. Contact shape optimization: a bilevel programming approach //Structural and Multidiscoplinary Optimization. 2000. V. 20. N 3. P. 214-221.
56. Leontiev A. Mathematical programming approach for unconfined seepage flow problem. //Engineering Analysis with Boundary Elements. 2000. V. 10. P. 1-8.
57. Marcotte P. Network desisgn problem with congestion effects: A case of bilevel programmming. //Math. Program. 1986. V. 34. P. 142-162.
58. Martello S., Toth P. Knapsack problems. Algorithms and computer implementations. //Chichester:John Wiley & Sons, 1990.
59. Mathieu R., Pittard L., Anandalingam G. Genetic Algorithm Based Approach to Bi-Level Linear Programming. //Recherche operationnelle. 1994. V. 28. N 1. P. 1-21.
60. Plyasunov A. A polynomially solvable case of the bilevel nonlinear programming problem. //Symposium on Operations Research 1997. Jena, 1997, P. 33.
61. Savard G., Gauvin J., The steepest descent direction for the nonlinear bilevel programming problem, //Operations Research Letters. 1994. V. 15. N 5. P. 265-272.
62. Shimizu K., Aiyoshi E. New computational method for Stackelberg and min-max problems by use of a penalty method. // IEEE Trans. Automatic Control. 1981. V. AC-26. P. 460-466.