Вы находитесь на странице: 1из 84

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ

ФЕДЕРАЦИИ
Российский химико-технологический университет имени Д. И. Менделеева

В. П. Мешалкин, Г. В. Заходякин, С. М. Ходченко

МЕТОДЫ КОМБИНАТОРНОЙ
ОПТИМИЗАЦИИ

МЕТОД ВЕТВЕЙ И ГРАНИЦ В РЕШЕНИИ ЗАДАЧ


ХИМИЧЕСКОЙ ТЕХНОЛОГИИ И ЛОГИСТИКИ

Утверждено Редакционным советом


университета в качестве учебного пособия

Москва
2013
УДК 519 (075)
ББК 22.174:35:65.050.9(2)2я7
М55
Рецензенты:
Доктор технических наук, профессор Российского химико-технологического
университета им. Д. И. Менделеева
Л. С. Гордеев
Доктор технических наук, профессор кафедры информатики Московского
государственного университета инженерной экологии
В. Ф. Корнюшко

Мешалкин В. П.
М55 Методы комбинаторной оптимизации. Метод ветвей и границ в
решении задач химической технологии и логистики: учеб. пособие
/В. П. Мешалкин, Г. В. Заходякин, С. М. Ходченко, – М. : РХТУ им.
Д. И. Менделеева, 2013. – 84 с.
ISBN 978-5-7237-1126-6

Изложены разделы теории графов и комбинаторного анализа, сущность и


применение методов комбинаторной оптимизации на основе одного из широко
распространенных методов комбинаторного поиска оптимальных решений – метода
ветвей и границ для решения прикладных задач в химической технологии,
ресурсоэнергоэффективной инженерно-технической организации сложных химико-
технологических систем и логистике ресурсоэнергосбережения. Указанные задачи
относятся к классу комбинаторных задач неполиномиальной сложности (NP-задач
комбинаторики). Даны практические примеры и задачи, позволяющие успешно
овладеть знаниями в рассматриваемой предметной области.
Предназначается для бакалавриантов и магистрантов, обучающихся по
направлению подготовки 241000 «Энерго- и ресурсосберегающие процессы в
химической технологии, нефтехимии и биотехнологии» и направлению подготовки
080200 «Менеджмент», а также студентов, обучающихся по специальностям 080506
«Логистика и управление цепями поставок», 220701 «Менеджмент высоких
технологий» и рекомендовано в качестве учебного пособия Учёным советом
Международного института логистики ресурсосбережения и технологической
инноватики Российского химико-технологического университета им.
Д. И. Менделеева.

УДК 519 (075)


ББК 22.174:35:65.050.9(2)2я7

ISBN 978-5-7237-1126-6 © Российский химико-технологический


университет им. Д. И. Менделеева, 2013
© Мешалкин В. П., Заходякин Г. В.,
Ходченко С. М., 2013
ОГЛАВЛЕНИЕ
СПИСОК ПРИНЯТЫХ ОСНОВНЫХ СОКРАЩЕНИЙ И УСЛОВНЫХ
ОБОЗНАЧЕНИЙ…………………………………………………………………..…5
ВВЕДЕНИЕ..………………………………………………………………..………..7
1. ЗАДАЧИ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ ТЕХНОЛОГИЧЕСКИХ
И ЛОГИСТИЧЕСКИХ РЕШЕНИЙ………………………………………….….…..9
1.1. Постановка задач комбинаторной оптимизации технологических
решений…………………………………………………………………………..9
1.2. Постановка задач комбинаторной оптимизации логистических
решений…………………………………………………………………………13
1.3. Общая характеристика методов решения задач комбинаторной
оптимизации………………………………………………………….…………15
2. СПОСОБЫ ФОРМАЛЬНОГО ПРЕДСТАВЛЕНИЯ ЗАДАЧ
КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ…………………………………….……18
2.1. Применение топологических моделей для отображения
математической постановки задач комбинаторной оптимизации…………..18
2.1.1. Основные понятия теории графов………………………………….18
2.1.2. Матричное представление графов………………………………….24
2.2. Способы представления множества решений задач комбинаторной
оптимизации…………………………………………………………………….27
2.2.1. Представление множества решений задач в пространстве
состояний…………………………………………………………………...28
2.2.2. Способ сведения задач к подзадачам………………………………29
2.3. Стратегии поиска оптимальных решений на дереве вариантов
решений…………………………………………………………………………34
3. ПРИМЕНЕНИЕ МЕТОДОВ УПОРЯДОЧЕННОГО ОГРАНИЧЕННОГО
ПЕРЕБОРА ДЛЯ РЕШЕНИЯ ЛОГИСТИЧЕСКИХ ЗАДАЧ
КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ……………………………………….…36
3.1. Методы поиска минимального гамильтонова цикла в графе…………..36
3.1.1. Постановка прикладной логистической задачи…………………...36
3.1.2. Решение задачи о коммивояжёре методом «ближайшего
города»………………………………………………………………………39
3.1.3. Дерево вариантов решений задачи о коммивояжёре……………...40
3.1.4. Решение задачи о коммивояжёре методом ветвей и границ…...…41
3.2. Методы поиска оптимального маршрута в транспортной сети………...45
3.2.1 Постановка задачи……………………………………………………45
3.2.2. Метод «ближайшего города»……………………………………….46
3.2.3. Метод ветвей и границ………………………………………………46
3.3. Методы поиска максимального гамильтонова цикла в графе………….47
3.3.1. Постановка задачи…………………………………………………...47
3
3.3.2. Метод ветвей и границ………………………………………………47
3.4. Методы поиска оптимальных решений задач линейного
целочисленного программирования…………………………………………..48
3.4.1. Постановка задачи…………………………………………………...48
3.4.2. Метод ветвей и границ………………………………………………50
3.5. Определение эффективности стратегии поиска решения с
использованием дерева вариантов решений…………….………………. ..…53
3.6. Правила поиска оптимального решения комбинаторных задач
методом ветвей и границ………………………………………………………55
3.7. Основные условные обозначения вершин дерева вариантов решений
при решении задач методом ветвей и границ…………………………… ..…57
4. ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ…………………………………………..57
5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ
В ХИМИЧЕСКОЙ ТЕХНОЛОГИИ И ЛОГИСТИКЕ……………………………59
5.1. Задача поиска минимального цикла переналадки технологической
установки………………………………………………………………………..59
5.2. Задача поиска минимального маршрута в транспортной сети…………63
5.3. Задача поиска максимально эффективного цикла перенастройки
технологической установки……………………………………………………66
5.4. Задача синтеза оптимальной однородной системы ректификации
многокомпонентной смеси…………………………………… ………………68
6. ГЛОССАРИЙ ОСНОВНЫХ ТЕРМИНОВ И ПОНЯТИЙ…………………….73
БИБЛИОГРАФИЧЕСКИЙ СПИСОК……………………………………………..83

4
СПИСОК ПРИНЯТЫХ ОСНОВНЫХ СОКРАЩЕНИЙ И
УСЛОВНЫХ ОБОЗНАЧЕНИЙ

АСР — ациклическая система ректификации


ВГ — верхняя граничная оценка (верхняя граница)
ВТА — вспомогательный теплоагент
ВТПС — внутренняя подсистема
ВХА — вспомогательный хладоагент
ВШПС — внешняя подсистема
ГЗС — граничная задача синтеза
ГРТП — горячий технологический поток
ДВР — дерево вариантов решений
ИЗС — исходная задача синтеза
ИТП — исходный технологический поток
КЭ — критерий эффективности
ЛП — линейное программирование
МВГ — метод ветвей и границ
МКС — многокомпонентная смесь
НГ — нижняя граничная оценка (нижняя граница)
ПК — персональный компьютер
РК — ректификационная колонна
СР — система ректификации
СЦЛП — смешанно-целочисленное линейное программирование
ТА — теплообменный аппарат
ТС — теплообменная система
ХЛТП — холодный технологический поток
ХТС — химико-технологическая система
ХТП — химико-технологический процесс
ЦЛП — целочисленное линейное программирование
ЭВМ — электронно-вычислительная машина
ЭП — эвристическое правило

Условные обозначения
И-вершины — конъюнктивные вершины

5
ИЛИ-вершины — дизъюнктивные вершины
И/ИЛИ-граф — дерево декомпозиции задач комбинаторной оптимизации

Т-З — содержательная (технологическая) постановка задачи


комбинаторной оптимизации в химической технологии;

Л-З — содержательная постановка задачи комбинаторной оптимизации


в логистике

Т — общее время выпуска партии продуктов, включающее время на


непосредственную выработку (Тобр) и время на переналадку технологической
установки (Тпер),: T = Tобр + Тпер..
∅ — пустое множество

E — множество неупорядоченных или упорядоченных пар вершин графа


V — множество вершин в графе
v(G) — число вершин в графе G
[H] — матрица смежности
Сk — теплоёмкость k-го технологического потока
QR — тепловая нагрузка на теплообменный аппарат
gj, — j-ая технологическая операция разделения
P(n) — число перестановок из n элементов (P(n) = n!)
{S х − i / i = 1, n} — множество исходных холодных потоков

{S г − i / i = 1, m} — множество исходных горячих потоков

t kH — начальная температура k-го технологического потока

t kK — требуемая конечная температура k-го технологического потока


о
v k20 — кинематическая вязкость при 20 С k-го технологического потока
о
v k50 — кинематическая вязкость при 50 С k-го технологического потока

Wk — массовый расход k-го технологического потока

6
ВВЕДЕНИЕ
Среди всего многообразия прикладных задач оптимизации в химической
технологии и логистике энергоресурсосбережения можно выделить особый
класс задач, являющихся многомерными как по числу альтернативных
вариантов их решения, так и по объему вычислений критерия эффективности
(КЭ) — (критерия оптимальности, или целевой функции) каждого полученного
решения — и относящихся к классу прикладных задач дискретного
программирования — области математики, занимающейся исследованием и
решением экстремальных задач на конечных множествах (разд. 1.1, 1.2).
Процедура поиска оптимальных решений для указанного класса задач
имеет дискретно-комбинаторный характер и не может быть реализована с
использованием классических методов поиска экстремума функций.
К типичным задачам комбинаторики (комбинаторного анализа), или
задачам комбинаторной оптимизации, относятся задачи поиска среди
множества дискретных объектов (элементов) специальных комбинаций этих
элементов в виде перестановок (перечислений), сочетаний и размещений.
Несмотря на кажущуюся простоту, задачи дискретно-комбинаторной
оптимизации относятся к числу наиболее многомерных и трудоемких
(ресурсозатратных). Эти особенности обусловлены тем, что для нахождения
оптимального решения необходимо рассмотреть каждый возможный вариант,
вычислить для этого варианта величину критерия оптимизации, а затем
выбрать среди всех вариантов то оптимальное решение, для которого критерий
эффективности имеет минимальное или максимальное значение. Объем
вычислений, необходимый для просмотра вариантов, и объем памяти
персонального компьютера (ПК), необходимый для хранения промежуточных
результатов, быстро увеличиваются с ростом размерности исходной задачи и
числа возможных альтернативных решений.
В этом случае говорят, что комбинаторная задача относится к классу NP-
полных задач, или задач неполиномиальной сложности. При этом наблюдается
так называемый «комбинаторный взрыв» — неполиномиальный рост числа
просматриваемых решений при увеличении размерности задачи. Решение
таких задач методом полного перебора вариантов решений уже при
сравнительно небольших значениях n становится практически невозможным.

7
Очевидно, что для решения таких многомерных и трудоемких дискретно-
комбинаторных задач необходимо применять специальные методы,
позволяющие значительно сократить множество просматриваемых
альтернативных вариантов решений, среди которых обязательно должно
находиться оптимальное решение.
В настоящее время существуют две основные группы дискретно-
комбинаторных методов поиска оптимальных технологических и
логистических решений. К первой группе относятся методы упорядоченного
ограниченного перебора решений, в которых множество возможных решений
определенным образом разделяется (декомпозируется), или структурируется, с
целью последующего исключения из рассмотрения заведомо неперспективных
подмножеств решений. Указанные методы гарантируют получение
оптимального решения.
Ко второй группе относятся эвристические методы, которые
существенно сокращают множество просматриваемых решений за счет
применения эвристик — правил, разработанных на основе обобщения опыта
решения однотипных задач оптимизации и с использованием которых
генерируются только рациональные решения. Однако ценой такого сокращения
числа рассматриваемых вариантов решений является возможная потеря
точности решения.
Таким образом, эвристические методы решения дискретно-
комбинаторных задач оптимизации не гарантируют нахождение оптимального
решения, хотя и позволяют сравнительно быстро выделить подмножество
рациональных решений задачи, среди которых находится оптимальное или
близкое к оптимальному решение.
В настоящем пособии подробно излагаются способы формального
представления задач комбинаторной оптимизации и процедур их решений с
использованием специальных топологических моделей (графов) — деревьев
декомпозиции исходных задач оптимизации на подзадачи меньшей
размерности и деревьев вариантов решений (ДВР) (деревьев декомпозиции
множества вариантов решений на подмножества), на которых реализуются
процедуры поиска оптимального решения в виде упорядоченного
(ограниченного) перебора перспективных подмножеств решений задач
оптимизации.

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

1. ЗАДАЧИ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ


ТЕХНОЛОГИЧЕСКИХ И ЛОГИСТИЧЕСКИХ РЕШЕНИЙ
1.1. Постановка задач комбинаторной оптимизации
технологических решений
Одним из важных классов задач комбинаторной оптимизации
технологических решений являются задачи синтеза оптимальных
ресурсоэнергосберегающих однородных химико-технологических систем
(ХТС), к которым относятся системы ректификации (СР) многокомпонентных
смесей (МКС) и теплообменные системы (ТС). Разработка технологической
топологии указанных однородных ХТС (выбор типа конструкций элементов
ХТС (ректификационных колонн — РК или теплообменных аппаратов — ТА) и
структуры технологических связей между ними) носит дискретно-
комбинаторный характер. При этом каждый раз при выборе в соответствии со
стратегией элементарной декомпозиции задач синтеза ХТС (разд. 2.2.2)
очередного элемента ХТС (РК или ТА) необходимо проверить условия
физической реализуемости технологического процесса и рассчитать параметры
выходных технологических потов и конструкционные параметры указанных
элементов ХТС с использованием их математических моделей для оценки
эффективности принимаемых решений.
Постановка исходных задач синтеза оптимальных однородных ХТС
имеет следующий вид.

Т-З.1. Постановка исходных задач синтеза ресурсосберегающих


однородных систем ректификации многокомпонентных смесей.

9
Для заданных значений параметров свойств и состояний исходной
идеальной или неидеальной азеотропной N-компонентной смеси, заданных
простых ректификационных колонн (РК) необходимо определить структуру
технологической схемы (технологическую топологию) ациклической системы
ректификации (АСР), параметры технологических потоков, а также
технологические и конструкционные параметры колонн, которые обеспечивают
выделение N целевых однокомпонентных продуктов требуемого качества при
минимуме приведенных затрат на систему.
При поиске оптимального решения указанной задачи синтеза
оптимальных АСР используются следующие физико-химические и инженерно-
технологические предпосылки:
1) на основе анализа физико-химических свойств компонентов идеальной
или неидеальной азеотропной многокомпонентной смеси (МКС) ранжируют
компоненты в порядке уменьшения их летучести или в порядке увеличения их
температур кипения, что позволяет определить составы верхних и нижних
потоков ректификационной колонны. Изменения давления в колоннах не
приводят к изменению порядка компонентов ранжированного списка
компонентов смеси;
2) каждая точка деления ранжированного списка компонентов смеси
соответствует процессу бинарного разделения некоторой МКС в простой РК,
имеющей один входной и два выходных технологических потока;
З) каждый альтернативный вариант технологической схемы АСР будет
отображаться набором точек деления. Каждая точка деления определяет
процесс бинарного разделения в одной простой РК некоторой азеотропной
смеси на подмножества МКС меньшей размерности и совпадает с номером
легкого ключевого компонента в ранжированном списке компонентов смеси;
4) для синтеза АСР необходимо использовать простые РК с одним
потоком питания.
Множество АСР G определяют как совокупность технологических
операций разделения gj, полученных в результате декомпозиции ИЗС. Каждая
синтезированная АСР характеризуется некоторой величиной критерия
эффективности (КЭ), имеющего аддитивно-сепарабельную форму в виде
суммы приведенных затрат для отдельных РК, определяемых с использованием
модулей расчета колонн. Необходимо синтезировать АСР, соответствующую
минимуму приведенных затрат на всю систему.
10
При поиске оптимальной АСР необходимо учитывать ограничения для
физической реализуемости технологической операции разделения МКС в
каждом аппарате: ограничения на количество примесей в потоках дистиллята D
и кубовой жидкости W; ограничение, определяющее эффективность процесса
ректификации вследствие различной упругости паровой фазы ключевых
компонентов.

Т-З.2. Постановка исходных задач синтеза однородных


ресурсосберегающих теплообменных систем.

Содержательная постановка общей задачи синтеза


ресурсосберегающих теплообменных систем (ТС) имеет следующий вид.
Дано определенное множество исходных горячих технологических потоков
(ГРТП): {S г −i / i = 1, m} , которые должны быть охлаждены, и определенное
множество холодных технологических потоков (ХЛТП): {S х −i / i = 1, n} , которые
необходимо нагреть. Каждый из исходных технологических потоков (ИТП)
может находиться в жидком или газообразном состоянии. Для каждого k-го
ИТП известны его параметры состояния (массовый расход Wk; начальная t kH и
требуемая конечная t kK температуры) и стандартные параметры свойств
(относительная плотность ρ k20 при 20 оС, кинематическая вязкость vk20 и vk50 при
20 и 50 оС; теплоемкость Сk).
Необходимо определить технологическую топологию ТС, состоящей
из совокупности рекуперативных теплообменных аппаратов (ТА),
дополнительных холодильников и (или) нагревателей, использующих
технологические потоки вспомогательных хладо- и теплоагентов (ВХА и
ВТА), а также рассчитать значения тепловых нагрузок QR и поверхностей
теплообмена всех ТА системы, которые обеспечивают достижение ИТП
требуемых значений конечных температур при минимальной величине КЭ в
виде приведенных затрат на ТС с учетом следующих основных предпосылок:
1) используются стандартные двухпоточные кожухотрубчатые ТА
противоточного типа;
2) в процессе теплообмена между технологическими потоками в
каждом ТА может происходить изменение агрегатного состояния потоков;
З) процесс теплообмена между потоками должен быть
термодинамически реализуем;
11
4) в процессе теплообмена между потоками с заданными значениями
их начальных температур в каждом ТА происходит передача максимально
возможного количества тепла Qmax.
Величину QR = Qmax определяют, исходя из значений полных энтальпий
ГРТП Qг и ХЛТП Qх, начальных и конечных температур ИТП, а также из
∆ t min
*
на концах ТА, в результате этого для ТС потребность во
вспомогательных хладо- и теплоагентах, зависящая от величины остаточных
энтальпий ИТП, является минимальной;
5) каждая пара потоков участвует в теплообмене не более одного раза;
6) не допускается разделения массовых расходов потоков на
параллельные части;
7) значение коэффициента теплопередачи hij для процесса теплообмена
между i-м и j-м потоками в каждом ТА вычисляется с необходимой
степенью точности; для этого используются библиотеки модулей расчета
процессов теплообмена;
8) на завершающем этапе генерации технологической схемы ТС
проводят модификацию технологической структуры синтезированной ТС,
заменяя определенные совокупности малых ТА меньшим числом ТА
больших размеров, что обеспечивает снижение капитальных затрат на ТС.
Указанные предпосылки влияют на особенности технологической структуры
синтезируемых ТС (ациклическая или рециклическая) и на мощность
множества решений ИЗС.
При разработке методов решения ИЗС используют два вида
технологических стратегий синтеза ТС: стратегию раздельного и
совместного синтеза внутренней и внешних подсистем теплообмена.
Внутренняя подсистема (ВТПС) состоит из совокупности
рекуперативных ТА, обеспечивающих рекуперацию наибольшей тепловой
энергии QR в процессе теплообмена между ИТП.
Внешняя подсистема (ВШПС) включает дополнительные
холодильники и нагреватели, которые расположены после всех
рекуперативных ТА на периферии ТС.
Стратегия совместного синтеза позволяет получить ТС
комбинированной структуры, в которой холодильники и нагреватели,
использующие внешние теплоносители, расположены между

12
рекуперативными ТА. Эта структура более эффективна, чем
декомпозиционная структура ТС, которая получается в случае применения
стратегии раздельного синтеза. Учет ограничений Т1 — Т8 позволяет резко
сократить размерность множества решений ИЗС и получить наиболее
эффективную ациклическую структуру ТС с минимальной поверхностью
теплообмена, если наряду с этим использовать для организации процесса
теплообмена между потоками эвристическое правило ЭП: для заданной
величины рекуперируемого тепла исходных потоков последовательно
выбирать варианты теплообмена между самым высокотемпературным из
горячих (max t ГK ) и холодных (max t xK ) потоков. Использование указанной
эвристики может дать хорошее инженерное решение, однако при этом может
быть потеряно оптимальное решение, которое возможно найти только с
использованием методов упорядоченного ограниченного перебора вариантов
решений, основанных на идеях метода ветвей и границ.

1.2. Постановка задач комбинаторной оптимизации


логистических решений
Логистика производственных предприятий непосредственно связана с
решением задач планирования и координации материальных потоков в
пространстве и во времени с целью удовлетворения потребителя с
наименьшими общими издержками. Примерами таких задач являются задачи
составления производственных расписаний и задачи поиска оптимальных
маршрутов транспортирования сырья или готовой продукции.
Указанные выше классы задач комбинаторной оптимизации в
химической технологии и логистике имеют схожую математическую
постановку, обладают общими свойствами и могут решаться с применением
одних и тех же методов, относящихся к методам комбинаторной оптимизации,
из которых наиболее эффективным является метод ветвей и границ (МВГ). В
англоязычной литературе для обозначения этого метода применяется термин
branches and bounds method.
Рассмотрим примеры постановки подобных задач оптимизации в
логистике.

13
Л-З.1. Постановка задачи поиска минимального цикла переналадки
технологической установки.

Производственное предприятие использует совмещенную схему


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

Л-З.2. Постановка задачи поиска минимального маршрута в


транспортной сети.

Предприятие рассматривает варианты поставки некоторого сырья от


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

14
1.3. Общая характеристика методов решения задач
комбинаторной оптимизации
При решении приведенных выше технологических и логистических задач
комбинаторной оптимизации требуется выбрать оптимальное решение из
некоторого конечного числа возможных дискретно-комбинаторных вариантов
решений этих задач. При этом найденное оптимальное решение должно
обеспечивать экстремальное значение некоторого критерия оптимизации, или
критерия эффективности.
Метод перебора — это один из методов решения дискретно-
комбинаторных задач. Классические методы поиска экстремума функций,
применяемые в математическом программировании, здесь оказываются
бессильными.
К типичным задачам комбинаторики, или задачам комбинаторной
оптимизации, относятся задачи поиска среди множества дискретных объектов
(элементов) специальных комбинаций этих элементов в виде перестановок,
сочетаний и размещений.
Несмотря на кажущуюся простоту, задачи дискретно-комбинаторной
оптимизации относятся к числу наиболее многомерных и трудоемких
(ресурсозатратных). Эти особенности обусловлены тем, что для нахождения
оптимального решения необходимо рассмотреть каждый возможный вариант,
вычислить для этого варианта величину критерия оптимизации, а затем
выбрать среди всех вариантов то оптимальное решение, для которого критерий
эффективности имеет минимальное или максимальное значение. Объем
вычислений, необходимый для просмотра вариантов, и объем памяти
персонального компьютера (ПК), необходимый для хранения промежуточных
результатов, быстро увеличиваются с ростом размерности исходной задачи и
числа возможных альтернативных решений.
Рассмотрим, например, задачу Л-З.1 об оптимальной последовательности
выпуска продуктов на перенастраиваемой технологической установке. Пусть на
данной установке выпускаются в цикле n различных продуктов {p1, p2, …, pn}.
Фактически, задача поиска наилучшей последовательности выпуска продуктов
связана с решением комбинаторной задачи выбора одной из возможных
перестановок (без повторений) для n элементов, соответствующих номерам
продуктов. Число перестановок из n элементов определяется известной из
комбинаторики формулой: P(n) = n!.
15
Для расчета величины факториала известна приближенная формула

(формула Стирлинга): n!= (2π ⋅ n) ⋅ n n ⋅ e − n . С учетом того, что n —


натуральное число, из формулы Стирлинга следует, что n! с увеличением n
растет быстрее, чем любой полином от n, и быстрее, чем exp(n).
В этом случае говорят, что комбинаторная задача относится к классу NP-
полных задач, или задач неполиномиальной сложности. Решение таких задач
методом полного перебора вариантов решений уже при сравнительно
небольших значениях n становится практически невозможным (рис. 1).
1e+16
1e+12
Число решений
1e+08
1e+04

Экспоненциальный рост
Полиномиальный рост
Час работы компьютера
1e+00

Год работы компьютера

5 10 15 20
n
Рис. 1 «Комбинаторный взрыв» — неполиномиальный рост числа
просматриваемых решений при увеличении размерности задачи

Например, для n=10 нужно просмотреть более 3.5 миллионов (3.629·106)


решений, а для n=20 — 2.433·1018 решений. Это астрономическое число. Если
каждый вариант будет просчитываться на ПК за 10-9 секунды (оценка для
компьютера производительностью 1000 MIPS) и занимать в памяти 5 байт, то
для хранения всего множества альтернативных вариантов решений задачи и
20!⋅5
поиска на этом множестве оптимального решения потребуется 40
≈ 1.1 ⋅ 10 7
2
−9 1
терабайт памяти и 20!⋅10 ⋅ ≈ 77 лет непрерывной работы ПК.
365 ⋅ 24 ⋅ 3600
16
Очевидно, что для решения таких многомерных и трудоемких дискретно-
комбинаторных задач необходимо применять специальные методы,
позволяющие значительно сократить множество просматриваемых
альтернативных вариантов решений, среди которых обязательно должно
находиться оптимальное решение.
В настоящее время существуют две основные группы дискретно-
комбинаторных методов поиска оптимальных технологических и
логистических решений. К первой группе относятся методы упорядоченного
ограниченного перебора решений, в которых множество возможных решений
определенным образом разделяется (декомпозируется), или структурируется, с
целью последующего исключения из рассмотрения заведомо неперспективных
подмножеств решений. Указанные методы гарантируют получение
оптимального решения.
Ко второй группе относятся эвристические методы, которые
существенно сокращают множество просматриваемых решений (иногда до
единственного варианта) за счет применения эвристик — правил, с
использованием которых генерируются только рациональные решения. Эти
эвристические правила могут быть разработаны на основе обобщения опыта
решения однотипных задач оптимизации. Однако ценой такого сокращения
числа рассматриваемых вариантов решений является возможная потеря
точности решения.
Таким образом, эвристические методы решения дискретно-
комбинаторных задач оптимизации не гарантируют нахождение оптимального
решения, хотя и позволяют сравнительно быстро выделить подмножество
рациональных решений задачи, среди которых находится оптимальное или
близкое к оптимальному решение.
Эвристические методы часто дают противоречивые и неоднозначные
результаты. Если задача решается с применением эвристик, то обычно поиск
решения должен проводиться несколько раз и с разными наборами эвристик.
Затем из полученных решений выбирается лучшее. В такую эвристическую
процедуру поиска можно ввести «обратную связь» — присвоить каждой из
имеющихся эвристик некоторый показатель полезности (коэффициент
значимости эвристики), и затем «обучить» процедуру, выполняя пересчет
показателей полезности эвристик в зависимости от результатов, которые были
получены с их помощью. В дальнейшем в процедуре предпочтение отдается
17
наиболее полезным эвристикам. И тем не менее эвристические методы могут
гарантировать получение лишь некоторого хорошего решения.
Прежде чем перейти к рассмотрению конкретных методов решения задач
комбинаторной оптимизации, необходимо ознакомиться со способами
формального представления (отображения) таких задач.

2. СПОСОБЫ ФОРМАЛЬНОГО ПРЕДСТАВЛЕНИЯ ЗАДАЧ


КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ
2.1. Применение топологических моделей для отображения
математической постановки задач комбинаторной оптимизации
2.1.1. Основные понятия теории графов
Часто бывает полезно наглядно отобразить некоторую ситуацию или
объект в виде специальной фигуры, которая состоит из совокупности точек
(вершин, узлов), отображающих основные этапы процесса или элементы
сложного объекта, и линий (ребер, если ориентация этих линий не имеет
значения; дуг, если линии ориентированы), которые соединяют определенные
пары этих вершин и отображают взаимосвязи между ними. Такие фигуры в
дискретной математике называют графами.
Граф как математический объект представляет собой совокупность
G (V , E ) двух множеств — непустого множества вершин V ≠ ∅ и множества Е
неупорядоченных или упорядоченных пар элементов множества вершин V:
G (V , E ) = V , E | V ≠ ∅, E ⊂ V × V .
Такая запись обозначает, что множество E отображает отношение,
заданное на множестве V × V (декартово произведение V на само себя).
В англоязычной литературе для обозначения вершин графа используется
термин «vertex». Присутствие во множестве Е некоторой пары (v1 , v 2 ) означает
наличие связи между вершинами v1 и v2. В зависимости от того, имеет ли
значение порядок вершин в паре, такие связи будут либо направленными
(ориентированными), либо ненаправленными (неориентированными).
Ненаправленная связь называется ребром (edge). Направленная связь — дугой
(arc).
Если граф содержит только ребра, то он называется неориентированным
графом. Если граф содержит только дуги, то он называется ориентированным
18
графом (орграфом). В противном случае граф будет смешанным. Множество
связей E, в принципе, может быть и пустым, т.е. в графе не будет связей между
вершинами. Такой граф называется нуль-графом.
При наглядно-графическом изображении графов вершинам
соответствуют точки, а связям — соединяющие эти точки отрезки
направленных или ненаправленных прямых, ломаных или кривых линий.
Графы являются топологическими фигурами, т.е. их форма и геометрические
размеры не имеют значения. Если один граф можно получить из другого
взаимно однозначным и взаимно непрерывным преобразованием, не меняющим
связность вершин графа, то данные графы являются изоморфными
(эквивалентными). На рис. 2 показаны два изоморфных графа G1 и G2.
«Связность» между собой элементов (вершин и дуг) графа может
означать либо инцидентность (принадлежность), либо смежность
(взаимосвязь). Вершина, являющаяся начальной или конечной точкой ребра или
дуги, называется инцидентной этому ребру (дуге). Две дуги, инцидентные
одной вершине, называются смежными. Две вершины, инцидентные одной
дуге, также называются смежными. На рис. 2 вершина V1 и ребро V1V6
инцидентны. Пара вершин V1 и V6, а также пара ребер V1V6 и V1V4 являются
смежными.
v5
v1 v2 v3 v1 v3

v4 v5 v6 v4 v6
G1 v2 G2

Рис. 2. Изоморфные графы G1 и G2

Различные виды графов могут использоваться как топологические модели


во многих областях знаний под разными прикладными названиями: «деревья» в
программировании; «сети» в электротехнике, теплотехнике, экономике,
менеджменте и логистике; «молекулярные графы» в химии; «социограммы» и
«когнитивные карты» в экономике, социологии и психологии; «транспортные
сети» в логистике; «материальные потоковые графы», «тепловые потоковые

19
графы», «параметрические потоковые графы», «информационно-потоковые
графы» в теории анализа и синтеза химико-технологических систем и т.п.
Постановки задач, рассмотренных в разделах 1.1 и 1.2 настоящего
пособия, процедуры поиска решений указанных задач и варианты их решений
также могут быть наглядно отображены в виде графов. Так, например, на
рис. 3,а представлен полный граф, отображающий одновременно все стратегии
переналадок технологической установки при циклическом выпуске партии из
четырех продуктов. Между любыми двумя вершинами xi и xj этого полного
графа существует прямая связь, отображающая возможную переналадку
установки с выпуска продукта pi на продукт pj.
На рис. 3,б изображен граф некоторой транспортной сети, на котором
показаны все возможные для некоторого предприятия маршруты, или пути,
транспортировки сырья от поставщика А до производственного склада
предприятия I. Возможные перевалочные пункты обозначены латинскими
буквами B–H.
x1

5 1
20
x4 10 x2

2 15

x3

а б

Рис. 3. Наглядно-графическое отображение постановок исходной задачи поиска оптимальной


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

В ряде случаев в графе присутствует какая-либо разметка, т.е. дуги или


вершины оказываются промаркированными. В зависимости от типа задачи дуги
и вершины могут быть обозначены арабскими или латинскими цифрами,
латинскими буквами с индексами; им могут быть приписаны некоторые числа и
даже системы уравнений. В этом случае говорят, что вершинам и/или дугам
назначены веса, а сам граф называется взвешенным (по вершинам и дугам,
соответственно).

20
Задачи комбинаторной оптимизации, математическая постановка которых
может быть отображена в виде графов, сводятся к задачам нахождения
некоторой конфигурации, или компонента графа, в виде некоторого маршрута,
обладающего экстремальным свойством. Маршрут в графе — это
чередующаяся непрерывная последовательность вершин и ребер (дуг).
Например, в графе G3 на рис. 4 возможными маршрутами 1 от V1 к V5
будут направленные последовательности ребер и вершин: V1e1V3e2V2e3V5 и
V1e1V3e4V5. Вершина V1 — начало пути, вершина V6 — конец пути.
Для обычного графа достаточно указать только последовательность
вершин или только последовательность ребер. Для мультиграфов, содержащих
кратные (параллельные) ребра, маршрут однозначно задается только указанием
последовательности ребер.
Если начальная и конечная вершины маршрута совпадают, то маршрут
называется замкнутым, иначе — открытым. На рис. 4 e1e5e6 — замкнутый
маршрут, а e1e5 — открытый.
В неориентированном графе маршрут может быть либо цепью, либо
циклом. В ориентированном графе маршрут может быть либо путем, либо
циклом.
Маршрут, в котором все ребра различны, называют цепью. Если при этом
все вершины цепи различны, то маршрут называют простой цепью. Простая
цепь не пересекает сама себя, т.е. не содержит повторяющихся вершин.
Замкнутая цепь называется циклом, замкнутая простая цепь называется
простым циклом.
v1 v2
e1 e2
e6 e3
v3
v4 e5 e4 v5
G3
Рис. 4. Определение маршрутов в графе G3

Примеры маршрутов, возможных для изображенного на рис. 4 графа:


• V1V3V1V4 — маршрут, но не цепь: ребро V1V3 повторяется.

1
Для обозначения маршрута от вершины V1 к вершине V5 используется запись: V1 ,V5
21
• V1V3V5V2V3V4 — цепь, но не простая цепь, так как вершина V3
повторяется два раза.
• V1V4V3V2V5 — простая цепь.
• V1V3V5V2V3V4V1 — цикл, но не простой (V3 повторяется два раза).
• V1V3V4V1 — простой цикл.
В орграфах цепи называются путями, а циклы (в случае одинаковой
ориентации дуг) — контурами. При этом в пути конец одной дуги является
началом другой. Поскольку контур является замкнутым путем, направления
всех дуг в нем совпадают.
Понятие цикла можно распространить и на орграфы: циклом можно
считать любую замкнутую простую цепь в орграфе, при этом направления дуг,
образующих цикл, не обязательно должны совпадать. В этом состоит отличие
цикла от контура.
Примеры маршрутов, возможных для графа на рис. 5: путь <V1,V2>=e4,e3,
но не e1. Контуры — e2e4 и e1e4e3, цикл — e1,e2,e3. Контур e1e4e3 является
одновременно циклом.
v1 e4

e1 e2

e3 v3
v2
G4
Рис. 5. Пути и контуры в орграфе G4

Простой контур в орграфе, либо простой цикл в ориентированном или


неориентированном графе, который проходит через все вершины графа,
называется гамильтоновым контуром (гамильтоновым циклом), по имени
ирландского математика Вильяма Гамильтона, который впервые исследовал
задачу о нахождении такого контура (цикла) с минимальной суммой весов дуг,
предложив «задачу о кругосветном путешествии».
Гамильтонов контур присутствует не в любом графе. Граф, в котором
можно найти гамильтонов цикл или контур, называется гамильтоновым
графом. Так, граф на рис. 3,б не является гамильтоновым, а на рис. 3,а —

22
является, причем число различных гамильтоновых циклов в нем составляет (4 –
1)!/2 = 3.
В данном случае рассматривается число перестановок из 3 элементов, а
не из 4, поскольку безразлично, из какой вершины начать обход гамильтонова
контура. Любую вершину в контуре (цикле) можно принять за начальную:
длина контура (цикла) от этого не изменится. Каждый цикл содержит 4
вершины, поэтому, приняв любую из них за начальную, можно получить 4
эквивалентных гамильтоновых цикла. Число различных гамильтоновых циклов
оказывается в данном случае в 4 раза меньше числа перестановок из четырех
элементов, равного 4!.
Однако число различных циклов необходимо дополнительно уменьшить
в два раза, поскольку для неориентированного графа не имеет значения и
направление обхода цикла.
Если же рассматривается орграф, то, учитывая, что каждому ребру в
исходном графе будут соответствовать две противоположно направленные дуги
в орграфе, число гамильтоновых контуров будет вдвое больше числа
гамильтоновых циклов и составит: (4 – 1)! = 6.
Рассмотрим граф G5 на рис. 6. Удалением из него любых дуг можно
получить несколько подграфов. Подграфом графа G(V, E) называется граф
G’(V’,E’), включающий только часть вершин и/или дуг исходного графа.
Множество вершин подграфа является подмножеством вершин исходного
графа, и/или множество его ребер является подмножеством ребер исходного
графа. Обозначение подграфа: G’ ⊂ G. G ' (V ' , E ') = V ' , E ' | V ' ⊂ V , E ' ⊂ E
Если V’=V (множество вершин графа и подграфа совпадают), то G’
называется остовным подграфом G.
Если удалить из G5 все дуги, образующие циклы или контуры, то можно
получить ациклический граф (граф, не содержащий циклов). Поскольку мы
можем удалять из G5 любые дуги, то возможно получить несколько
ациклических графов, отличающихся наборами дуг. Одним из таких графов
является ациклический остовный подграф T, также показанный на рис. 6.
Связный граф, не содержащий циклов, имеет большое значение в теории
графов и носит специальное название — дерево. В дереве любая пара вершин
связана только одной простой цепью (при этом в общем случае направленность

23
дуг дерева может быть любой). Ребра или дуги, входящие в дерево, называются
ветвями.

v5 v5
e1 e2 e1 e2
v1 e8 v3 v1 e8 v3
e7 e9
e6 e3 e6 e3

v4 v6 v4 v6
e5 e4
v2 G5 v2 T

Рис. 6. Граф G5 и его остовное дерево T

Если возможно выделить на дереве вершину, из которой ветви только


выходят, а для любой другой вершины дерева существует единственная
входящая ветвь, то говорят о прадереве с корнем (корень соответствует
единственной вершине, у которой нет «предка»). Граф Т на рис. 6 является
прадеревом с корнем в вершине V5.
Остовный подграф T ⊂ G , являющийся деревом, для краткости будем в
дальнейшем называть остовным деревом графа, или просто деревом графа. У
графа может быть несколько деревьев — в зависимости от того, какие ребра
были удалены из исходного графа для получения остовного дерева.
Те ребра, дуги или вершины, которыми подграф G’ ⊂ G, отличается от
исходного, образуют дополнение подграфа. На рис. 6 дополнение подграфа T
образуют ребра e7, e9, e4, e5.

2.1.2. Матричное представление графов


Графы используются при решении многих математических и прикладных
задач, поэтому существует множество эквивалентных способов представления
графов в матричном виде с целью дальнейшей компьютерной обработки
информации, отображаемой графом.
Наиболее простым и экономичным способом представления графа
G(V, E) является перечисление элементов множества E — множества дуг или
ребер графа. Двухстрочная матрица, в которой каждому ребру или каждой дуге

24
соответствует отдельный столбец, причем начало дуги (в случае орграфа)
находится в первой строке этого столбца, называется матрицей дуг графа [L].
Для взвешенных графов удобно дополнить матрицу [L] третьей строкой, в
которой для каждой дуги будет указана разметка, ранг или вес. Размерность
матрицы [L] — 2·eG (либо 3·eG), где eG обозначает число дуг или ребер графа.
Например, матрица дуг для графа на рис. 3,а с учетом весов ребер примет вид
(порядок столбцов или строк в данном случае не важен):
⎡ x1 x2 x3 x4 x1 x2 ⎤
[L] = ⎢⎢ x2 x3 x4 x1 x3 x 4 ⎥⎥
⎢⎣ 1 15 2 5 20 10 ⎥⎦
Имея матрицу дуг, легко решить обратную задачу: построить граф. Для
этого необходимо расположить вершины в произвольном порядке и соединить
их имеющимися в списке ребрами или дугами.
При решении задач оптимизации технологических и логистических
решений более удобным может оказаться еще одно матричное представление
графа — в виде матрицы смежности [H]. Строки и столбцы этой матрицы
соответствуют вершинам графа. Если некоторая дуга направлена из вершины vi
в вершину vj (либо между этими вершинами есть ребро), то на пересечении
строки i и столбца j будет единица (либо для мультиграфов число, равное
кратности дуги vivj, т.е. числу параллельных связей между вершинами vi и vj).
Матрицы смежности для неориентированных графов являются
симметричными. Размерность матрицы [H] — vG·vG, где vG — число вершин
графа. Единица на главной диагонали матрицы соответствует петле (дуге,
инцидентной только одной вершине).
По матрице смежности [H] можно построить граф следующим образом:
необходимо произвольным образом расположить вершины на плоскости
чертежа и соединить их нужным числом ребер (дуг) в соответствии с
элементами матрицы смежности.
Для взвешенных графов без кратных (параллельных) дуг все единицы в
матрице смежности могут быть заменены на веса соответствующих дуг, а все 0
— на +∞. Такая матрица смежности называется взвешенной. Вес дуги, равный
+∞, обозначает, что данные вершины являются несмежными и прямого пути
между ними не существует.

25
Мультиграфы с кратными дугами не встречаются при решении задач
оптимизации, потому что всегда есть возможность выбрать из нескольких
существующих путей между смежными вершинами наиболее
предпочтительный, а остальные исключить из рассмотрения.
Взвешенному графу на рис. 3,а, отображающему различные
последовательности выпуска продуктов, соответствует взвешенная матрица
смежности [H1], представленная на рис. 7,а. Элементы со значением весов ∞ на
главной диагонали «запрещают» переналадки вида xixi (петли).
Транспортная сеть на рис. 3,б, отображаемая ациклическим сетевым
графом, или сетью, однозначно определяется взвешенной матрицей смежности
[H2], представленной на рис. 7,б (в пустых ячейках содержится +∞).
Пользуясь введенными понятиями, можно сформулировать
математическую постановку задачи Л-З.1 поиска оптимального логистического
решения по переналадке технологической установки по выпуску партии N
продуктов с минимальными затратами следующим образом:
«На полном, взвешенном по ребрам графе, отображающем различные
стратегии переналадок технологической установки, найти гамильтонов цикл
с минимальным суммарным весом (минимальный гамильтонов цикл)».

⎡ A B C D E F G H I⎤
⎢A 5 10 15 ⎥
⎢ ⎥
⎢B 12 15 ⎥
⎡ x1 x2 x4 ⎤
x3 ⎢ ⎥
⎢x ∞ 1 20 5 ⎥⎥ ⎢C 5 9 ⎥
⎢ 1 ⎢D 1 4 ⎥
[H1 ] = ⎢ x2 1 ∞ 15 10 ⎥ [H 2 ] = ⎢ ⎥
⎢ ⎥ ⎢E 2 3 ⎥
⎢ x3 20 15 ∞ 2 ⎥ ⎢F ⎥
5 8
⎢⎣ x4 5 10 2 ∞ ⎥⎦ ⎢ ⎥
⎢G 4⎥
⎢H 1⎥
⎢ ⎥
⎢⎣ I ⎥⎦
а б
Рис. 7. Взвешенные матрицы смежностей для графов, определяющих постановку
задач Л-З.1 (а) и Л-З.2 (б) 2

2
См. постановку задач на с.с. 18 и 19
26
Вторая задача З-Л.2 — задача поиска оптимального логистического
решения по выбору оптимального маршрута перевозки груза с минимальными
затратами состоит в нахождении кратчайшего (минимального) пути в
ациклической сети между начальной (A) и конечной (I) вершинами. Обе задачи
относятся к классу NP-полных задач комбинаторной оптимизации.

2.2. Способы представления множества решений задач


комбинаторной оптимизации
При компьютеризации поиска решений задач комбинаторной
оптимизации вопрос представления пространства множества альтернативных
решений задачи в значительной степени определяет успех выбора
оптимального решения. При этом учитываются два обстоятельства: с одной
стороны, представление всего пространства множества решений должно быть
достаточно полным, чтобы результат поиска оптимального решения был
достоверным. С другой стороны, способ представления пространства решений
задач должен быть таким, чтобы программе-решателю было удобно с ним
работать. Поскольку поиск решения задач комбинаторной оптимизации
необходимо автоматизировать, в роли решателя должен выступать компьютер.
Следовательно, представление задачи должно быть пригодно для обработки
ЭВМ.
При поиске оптимального решения задач комбинаторной оптимизации
используются следующие основные предпосылки:
1. Каждая процедура поиска альтернативного решения представляет
собой совокупность конечного множества этапов, начиная от начального
(исходного) этапа и заканчивая целевым (конечным) этапом. Каждый этап
решения можно рассматривать как некоторое «состояние» решения задачи.
2. Оптимальное решение задачи выбирается из конечного множества
альтернативных решений.
Задача, для которой можно описать пространство возможных вариантов
альтернативных решений (пространство состояний), а также способ просмотра
этого пространства с целью поиска конечного состояния (решения задачи),
называют хорошо определенной. Примерами хорошо определенных задач
является доказательство теорем, поиск маршрута на карте, простейшие задачи
планирования производства, различные игры в условиях полной информации.
Однако часто оказывается, что при известном (хотя и очень обширном)
27
пространстве решений ничего неизвестно о целевом состоянии (точнее, о том,
по каким критериям можно выбрать это состояние). Такие задачи называются
некорректно поставленными. Для некоторых задач нет полной информации и о
пространстве возможных решений.
С середины 1950-х годов исследователи в области искусственного
интеллекта А. Ньюэлл и Г. Саймон заинтересовались общими методами
компьютерного представления и решения задач и приступили к созданию
программы GPS (General Problem Solver) — «универсальный решатель задач».
Эта программа разрабатывалась с целью компьютерной имитации процесса
поиска решения задач человеком и базировалась на идеях эвристического
поиска. В этой программе для поиска оптимального решения использовались
эвристические правила, полученные обобщением опыта, которые позволяли
существенно сократить объем перебора в пространстве поиска решений.
Позднее стало ясно, что для решения практически важных задач
комбинаторной оптимизации недостаточно одних общих стратегий поиска
оптимальных решений. Решение прикладных задач возможно только при
наличии хорошо структурированных специальных знаний о предметной
области, т.е. «программа-решатель» должна настраиваться на предметную
область. Дальнейшие исследования в области искусственного интеллекта были
связаны с поиском моделей представления экспертных знаний и способов
обработки этих знаний. Тем не менее, разработанные способы представления
задач, пригодные для компьютерной обработки, а также стратегии поиска
решений оказались полезными и нашли применение во многих практических
областях.
Можно выделить следующие способы представления множества решений
задач: представление множества решений задач в пространстве состояний;
декомпозиционное представление решений исходной задачи в виде множеств
решений подзадач; представление задач в виде теорем. Рассмотрим первые два
способа.

2.2.1. Представление множества решений задач в пространстве состояний


Способ, использующий для представления множества решений задач
пространство состояний, весьма распространен и включает в себя три
необходимых этапа: задание начального исходного состояния задачи; задание

28
целевого (конечного) состояния (или состояний); задание операторов,
преобразующих «предыдущие» состояния в «последующие» состояния задачи.
Решение задачи представляет собой последовательность операторов,
преобразующих начальное состояние задачи в конечное, которое соответствует
полному решению задачи.
Одним из наиболее наглядных примеров использования способа
пространства состояний является поиск оптимального маршрута в некоторой
транспортной сети. Исходный пункт транспортной сети — это начальное
состояние, пункт назначения — конечное. Все возможные узлы маршрута
представляют собой пространство состояний. Данное представление задач
хорошо описывается топологическими моделями (графами). Поиск
оптимального решения задачи с использованием способа пространства
состояний можно отобразить специальным графом — деревом вариантов
решений (ДВР). Вершинам ДВР соответствуют состояния, дугам — операторы,
преобразующие текущие состояния. Представление задач в пространстве
состояний предполагает, что поиск производится в пространстве решений
задачи.

2.2.2. Способ сведения задач к подзадачам


Иной способ представления пространства решений задач основан на
сведении их к совокупности более простых подзадач. Основная идея такого
способа представления состоит в иерархическом разбиении (декомпозиции)
исходной задачи на совокупности связанных подзадач. В свою очередь, каждая
подзадача может также разбиваться на подзадачи — и так до тех пор, пока
образующаяся на некотором шаге декомпозиции подзадача не окажется
тривиальной (т.е. задачей с известным простым решением) либо неразрешимой
задачей.
Процесс разбиения (декомпозиции) задачи на подзадачи называется
редукцией, поэтому представление задачи в виде множества подзадач — это
представление в системе редукций, а поиск решения производится в
пространстве описаний задач.
Пространство подзадач тоже представимо в виде специального
направленного графа — дерева декомпозиции исходных задач — , который
называется графом редукции задачи (либо «комбинированным И/ИЛИ-
графом») (рис. 8).
29
На «графе редукций», или дереве декомпозиции исходных задач,
присутствуют вершины двух типов — конъюнктивные вершины (И-вершины) и
дизъюнктивные вершины (ИЛИ-вершины). Объединенные двумя линиями дуги,
выходящие из некоторой вершины, показывают, что данная вершина —
конъюнктивная. Для разрешения подзадачи, которая отображается
конъюнктивной вершиной, необходимо разрешить одновременно все
подзадачи, соответствующие ее вершинам-потомкам. Для разрешения
подзадачи, отображаемой дизъюнктивной вершиной, достаточно разрешить
любую из подзадач, соответствующих ее вершинам-потомкам. Если какая-либо
из подзадач-потомков И-вершины окажется неразрешимой, то и родительская
вершина будет неразрешимой.
На полностью построенном дереве начальная вершина (корень дерева
редукций) соответствует постановке исходной задачи, а множество висячих
вершин (т.е. вершин, у которых нет исходящих дуг) — множеству тривиальных
либо неразрешимых задач.
В любой момент времени все висячие вершины в графе редукций
представляют собой множество возможных решений исходной задачи.
Важно, чтобы при декомпозиции исходной задачи не терялись решения и
не появлялись «лишние» решения.
Цель поиска на графе редукций — нахождение решающего подграфа. Это
фрагмент дерева редукций с корнем в начальной вершине, у которого все
висячие вершины соответствуют разрешимым задачам, причем эти вершины
являются конъюнктивными.
На рис. 9 показана операторная схема разделения пятикомпонентной
смеси ABCDE в однородной системе ректификации, соответствующая
выделенному (*) на рис. 8 решающему подграфу. Для построения
изображенного на рис. 8 комбинированного И/ИЛИ-графа компоненты смеси
были ранжированы в порядке возрастания их температур кипения (по точкам
кипения, или точкам деления). Для пятикомпонентной смеси число этих точек
равно четырём и соответствует числу граничных задач синтеза (ГЗС)
ректификационной системы 1-го уровня декомпозиции ДВР. На рис.8 показаны
решающие подграфы для ГЗС-1, все варианты решения которой
(технологические схемы системы ректификации) включают обязательный
фрагмент — первую ректификационную колонну, в которой разделение

30
пятикомпонентной смеси осуществляется по первой точке деления
(температуре кипения компонента А).

Рис. 8. Комбинированный И/ИЛИ граф — дерево декомпозиции исходной задачи о


разделении пятикомпонентной смеси на подзадачи:
1, 2, 3 и 4 - точки деления

Рис. 9. Один из вариантов операторной схемы разделения исходной


пятикомпонентной смеси в однородной системе ректификации
31
Декомпозиция исходной задачи эффективна в том случае, если подзадачи
оказываются более простыми по сравнению с исходной задачей. При этом
желательно, чтобы эти подзадачи оказались взаимно независимыми и их можно
было решать независимо друг от друга. В противном случае необходимо
вводить переменные декомпозиции, а оптимальное решение ищется
двухуровневым методом, причем «внутренний» уровень соответствует поиску
оптимального решения подзадачи при заданных граничных условиях, а
«внешний» уровень должен установить такие граничные условия, чтобы из
оптимальных решений подзадач получилось оптимальное решение исходной
задачи. При этом сам процесс редукции становится многовариантным (рис. 10).

p1 p2
Задача

t1 p1 p2
p1 p2 I
I II
t2 t1 t2

II

Рис. 10. Варианты декомпозиции исходной задачи:


p – переменные задачи, t – переменные декомпозиции

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


Во-первых, можно воспользоваться структурой самой задачи. Например, если
задача состоит в организации международной перевозки, то логично выделить
подзадачи по территориальному принципу. В другом случае можно в качестве
основного принципа декомпозиции выбрать некоторое условие, облегчающее
решение подзадач — при этом декомпозируется не постановка задачи, а
множество ее решений.
В том случае, когда при редукции на каждом шаге образуется
дизъюнктивная вершина с двумя подзадачами, одна из которых —
элементарная (тривиальная), нет необходимости строить И/ИЛИ-граф. Дерево
декомпозиции задачи оказывается эквивалентным графу состояний задачи, а
решающий подграф в нем вырождается в путь от корневой вершины к
32
конечной. В частности, граф редукции на рис. 8 содержит только элементарные
подзадачи: известен способ бинарного разделения смеси в любой точке деления
(например, разделение в ректификационной колонне, в которой
поддерживается температура, соответствующая заданной точке кипения).
Такая декомпозиция исходной задачи называется элементарной. В
противоположность этому, при произвольной декомпозиции на некоторых
уровнях декомпозиции образуются подзадачи, не являющиеся элементарными.
Уровень декомпозиции — это множество подзадач, удаленных на одинаковое
расстояние от корня (по числу дуг).
Для элементарной декомпозиции граф редукций можно заменить на более
компактное представление — дерево состояний задачи (в терминологии
способа поиска оптимального решения в пространстве состояний), либо дерево
вариантов решений (ДВР) (рис. 11).

Рис. 11. Фрагмент дерева вариантов решений для задачи о разделении


пятикомпонентной смеси:
1, 2, 3 и 4 — точки деления

Состояниями в задаче о разделении многокомпонентной смеси (МКС)


будут комбинации связанных между собой технологическими потоками
операторов разделения (комбинации фрагментов операторных схем) после
«прохождения» очередной точки разделения смеси. Метки вершин
соответствуют номерам точек деления. На рис. 11 показан подграф дерева
вариантов решений исходной задачи, соответствующий граничной задаче
синтеза системы разделения МКС, для которой первоначально производится
33
разделение смеси по первой точке (ГЗС-1). Указанный подграф будет иметь
один и тот же вид для любого способа бинарного разделения МКС (в
ректификационных колоннах, экстракторах и т.п.)

2.3. Стратегии поиска оптимальных решений на дереве


вариантов решений
Вне зависимости от способа представления множества решений задачи,
стратегии поиска оптимального решения разделяются на две большие группы:
неупорядоченный (слепой) поиск и упорядоченный (направленный) поиск.
Достоинством метода «слепого поиска» является простота его программной
реализации и гарантированное получение решения, если оно существует.
Очевидно, что для нетривиальных задач такой просмотр невозможен из-за
проблемы «комбинаторного взрыва» — неполиномиального расширения
пространства состояний при увеличении размерности задачи, — которая
обсуждалась ранее.
Обычно в поисковых алгоритмах пространство решений задается
имплицитно, то есть, неявно. Вместо того, чтобы хранить в памяти ДВР,
указывается начальное состояние, правила перехода к новым состояниям и
ограничения. В процессе поиска некоторая висячая вершина выбирается в
качестве «активной», т.е. из неё в рассматриваемый момент времени
осуществляется «ветвление» (вершина «раскрывается»).
На ДВР любой путь от начального состояния к целевому представляет
собой одно из возможных решений исходной задачи. В процессе полного
перебора всех состояний и вариантов решений будет получено полное
эксплицитное, т.е. полное, дерево вариантов решений. «Эксплицитное»
представление означает, что вся информация о ДВР задана в явном виде с
помощью матриц. Это дерево образовано всеми возможными вариантами
решений исходной задачи. «Имплицитные» деревья задаются указанием
корневой вершины и некоторой порождающей процедуры, которая позволяет
построить все остальные вершины.
Рассмотрим, например, задачу поиска минимального гамильтонова цикла
в графе, изображенном на рис. 3,а. В нашем случае (рис. 12) корень ДВР будет
соответствовать начальному состоянию, когда определение последовательности
выпуска продуктов ещё не осуществлялось (уровень декомпозиции j = 0).
Каждая вершина первого уровня декомпозиции (j = 1) соответствует продукту,
34
который выпускается первым. Порождающая процедура — «построить для
активной вершины все дочерние вершины, т.е. вершины, в которые можно
попасть из данной и которые при этом еще не были включены в маршрут
переналадки технологической установки. При этом все дочерние вершины по
мере их появления на ДВР получают последовательные номера.
Из какой вершины осуществлять «ветвление» после «раскрытия»
корневой вершины? Другими словами, какую из висячих вершин ДВР выбрать
в качестве активной (висячая вершина ДВР — вершина, из которой еще не
осуществлялось «ветвление»)? Ответ на этот вопрос зависит от выбранной
стратегии упорядоченного полного перебора (генерирования) вершин ДВР:
«ветвление в ширину», «ветвление в глубину» или «смешанное ветвление».
Каждая из указанных стратегий устанавливает определенный порядок выбора
активной вершины.
Если активная вершина выбирается среди всех висячих вершин на любом
уровне декомпозиции ДВР, то получим «ветвление в ширину». На рис. 12
показана одна из модификаций указанной стратегии — «ветвление полным
фронтом», когда вершины на (i+1)-м уровне декомпозиции могут быть
раскрыты только после раскрытия всех вершин на (i)-м уровне декомпозиции.

«Ветвление в ширину» «Ветвление в глубину»

0 0
j =0 j=0

1 2 3 1 2 3
j=1 j =1

6 7 4 5 8 9 4 5 j=2
j=2
11 12

j=3 j=3
12 13 10 11 14 15 16 17 и т.д. 6 7 8 9 10
получено решение

Рис. 12. Фрагменты деревьев вариантов решений для различных стратегий


полного упорядоченного перебора вершин ДВР (номера вершин
соответствуют порядку их генерации)

Способ построения ДВР, при котором всегда раскрываются висячие


вершины последнего рассмотренного уровня декомпозиции, называют
«ветвлением в глубину». Если заканчиваются висячие вершины на последнем
уровне декомпозиции, то выполняется переход на предыдущий уровень (или
35
ближайший снизу, если на предыдущем висячих вершин не оказалось). Затем
вновь раскрываются висячие вершины последнего рассмотренного уровня
декомпозиции до получения очередного решения (рис.12).
Для стратегии «смешанное ветвление» до получения на последнем
уровне декомпозиции ДВР некоторого полного решения исходной задачи
используется стратегия «ветвление в глубину». Это позволяет найти первое
решение довольно быстро. После нахождения полного решения исходной
задачи применяется стратегия «ветвление в ширину», т.е. после получения
полного решения исходной задачи активную вершину можно выбирать из
числа всех имеющихся в данный момент висячих вершин на всех уровнях
декомпозиции ДВР. Как только активная вершина выбрана, вновь применяется
стратегия «ветвление в глубину».
Очевидно, что построенные с помощью различных стратегий полные
эксплицитные ДВР будут различаться только нумерацией вершин, хотя
структурирование пространства состояний (упорядочение перебора вершин
ДВР) позволило последовательно пройти все маршруты, не потеряв ни одного
решения.
Для сокращения множества альтернативных решений необходимо либо
использовать эвристические правила, либо применять методы
упорядоченного ограниченного перебора (генерации) вершин ДВР,
позволяющие отсекать неперспективные решения на основании некоторых
оценок перспективности его подмножеств (разд. 3.1.4).

3. ПРИМЕНЕНИЕ МЕТОДОВ УПОРЯДОЧЕННОГО


ОГРАНИЧЕННОГО ПЕРЕБОРА ДЛЯ РЕШЕНИЯ
ЛОГИСТИЧЕСКИХ ЗАДАЧ КОМБИНАТОРНОЙ
ОПТИМИЗАЦИИ

3.1. Методы поиска минимального гамильтонова цикла в графе


3.1.1. Постановка прикладной логистической задачи
Пусть на некоторой перенастраиваемой технологической установке в
циклическом режиме выпускается партия из n различных готовых продуктов
(рис. 13).
В каждый момент времени на технологической установке вырабатывается
только один продукт, причем этот процесс происходит без прерывания, т.е. к
36
выпуску следующего продукта можно перейти только после окончания
выработки предыдущего продукта. Время переналадки технологической
установки на выпуск нового продукта зависит от того, какой продукт
выпускался до этого, поэтому различные последовательности выпуска готовых
продуктов в партии будут неравнозначными по затратам времени. Необходимо
найти оптимальную стратегию переналадок технологической установки, для
которой длительность производственного цикла выпуска партии требуемых
готовых продуктов будет минимальной.

Рис. 13. Упрощенная блок-схема перенастраиваемой


технологической установки А для выпуска
партии n различных готовых продуктов

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


продукта на другой задается в виде полного взвешенного по ребрам графа
состояний, отображаемого взвешенной матрицей смежности этого графа [H]:
∞ L h1n
[H ] = M O M ,
hn1 L ∞
где элемент hij определяет время на переналадку технологической установки с
выпуска продукта xi на выпуск продукта xj.
Если необходимо определить время переналадки технологической
установки с продукта xi на продукт xj, то следует взять элемент матрицы,
стоящий на пересечении строки i и столбца j.
Знак ∞ на диагонали матрицы означает, что в искомую
последовательность выпуска готовых продуктов любой продукт не может быть
включён два раза подряд, т.е. hij.= ∞ для всех i = j. Таким образом, из
рассмотрения исключаются переналадки вида xi→xi (т.е., например, x2→x2).
Если заранее неизвестно, в каком состоянии технологическая установка
находится до начала выпуска, можно ввести в последовательность фиктивный
«нулевой» продукт, который соответствует исходному состоянию
37
технологической установки. В матрице смежности [H] при этом добавляется
еще одна строка и еще один столбец. Однако в том случае, если матрица
переналадок является симметричной, этого можно не делать: вес найденного
минимального гамильтонова цикла из n продуктов не будет зависеть от того,
какую вершину принять в нем за начальную.
Время выработки на технологической установке разных продуктов также
может различаться: оно определяется технологическим регламентом. Но для
всех последовательностей выпуска суммарное время выработки всех продуктов
будет одним и тем же — независимо от переналадок. Это время можно условно
исключить из длительности производственного цикла и считать, что
оптимальность некоторого производственного цикла определяется только
суммарным временем переналадок технологической установки, которое будет
различаться для разных последовательностей выпуска.
Таким образом, для сравнения различных последовательностей выпуска
можно вместо общего времени выпуска Т, включающего время на
непосредственную выработку (Тобр) и время на переналадку (Тпер),
рассматривать только время переналадки: T = Tобр + Тпер → Тпер.
Для решения этой задачи необходимо найти оптимальную
последовательность выпуска партии n готовых продуктов P*, для которой
суммарное время переналадок минимально:
⎧ ⎛ n −1
[ ]⎞⎫
P * = {x1 ,..., x n } = Arg ⎨min ⎜ ∑ H x q , x q +1 ⎟⎬ .
⎩ P ⎝ q =1 ⎠⎭
Математическая постановка задачи об оптимальной последовательности
выпуска n продуктов на одной переналаживаемой технологической установке
аналогична математической постановке известной классической
комбинаторной задачи — задачи о коммивояжёре, которая также имеет
простое наглядное отображение в виде полного графа: есть n городов,
расстояние между которыми известны (заданы матрицей [H]). Коммивояжёр
должен выехать из некоторого начального города (например, x1) и, объехав все
города ровно по одному разу, вернуться в исходный город. Необходимо
выбрать такой оптимальный маршрут, т.е. указать такую последовательность
посещения городов, для которой суммарная длина пути коммивояжёра будет
наименьшей.

38
Рассмотрим в качестве примера задачу о коммивояжёре с 4 городами
(рис. 14).

x1 x2 x3 x4
x1 ∞ 1 20 5
[ H ] = x2 1 ∞ 15 10
x3 20 15 ∞ 2
x4 5 10 2 ∞

а б
Рис. 14. Гамильтонов граф (а) и взвешенная матрица смежности (б)
для задачи о коммивояжёре с четырьмя городами

Если в матрице [H] для полного графа указаны не расстояния, а,


например, время или затраты на поездку (которые зависят от множества
различных факторов), то значения hij и hji могут отличаться (матрица будет
несимметричной). В этом случае необходимо использовать для отображения
постановки задачи ориентированный граф, тогда между любыми двумя
вершинами в этом графе будут две противоположно направленные дуги. В
общем случае некоторые связи между городами могут отсутствовать.

3.1.2. Решение задачи о коммивояжёре методом «ближайшего города»


Для решения задачи о коммивояжере можно воспользоваться очень
простым эвристическим методом, который называется методом «ближайшего
города». В этом методе предполагается, что коммивояжёр использует
эвристическое правило переезда всегда только в тот город, расстояние до
которого из текущего города минимально.
Например, если в полном графе на рис. 14 начальным городом является
x1, то методом «ближайшего города» сразу можно получить решение —
гамильтонов цикл x1x2x4x3x1 стоимостью 1+10+2+20=33. Это решение не
является оптимальным, хотя и близким к оптимальному. Для задач большой
размерности найденное методом «ближайшего города» эвристическое решение
может быть сколь угодно далеким от оптимального.
Однако число просматриваемых решений можно сократить и за счет
применения методов упорядоченного ограниченного перебора вариантов
39
решений. В отличие от эвристических, эти методы являются строгими и
гарантируют нахождение оптимального решения. Один из методов этой группы
— метод ветвей и границ, рассмотренный ниже (разд. 3.1.4).

3.1.3. Дерево вариантов решений задачи о коммивояжёре


Рассмотрим представление множества решений задачи с использованием
редукционной декомпозиции. На каждом этапе будем выполнять элементарную
декомпозицию исходной задачи.
С целью более компактного отображения поиска воспользуемся не
деревом декомпозиции, а деревом вариантов решений (ДВР), в котором
вершинами будут только граничные задачи. Проще всего воспользоваться для
обозначения этих задач названием очередного города, в который приезжает
коммивояжёр в данном варианте маршрута. Начальному состоянию
(предположим, что коммивояжёр находился в городе x1) соответствует
корневая вершина дерева.
На данном этапе декомпозиции задачи можно принять три варианта
дополнительных условий: a) коммивояжёр сначала поехал в город x2; б) он
поехал в город x3; в) он поехал в город x4. При этом образуются висячие
вершины первого уровня декомпозиции, соединенные дугами с корневой
вершиной.
Аналогично: граничные задачи, образовавшиеся на втором уровне
декомпозиции, тоже можно декомпозировать. Рассмотрим пример для случая
(а): из города x2 коммивояжёр может поехать в x3 или в x4 (в городах x1 и x2 он
уже был). Этот процесс можно продолжать до тех пор, пока висячими
вершинами не станут только тривиальные задачи (имеющие очевидное
решение, когда останется только один возможный вариант продолжения
маршрута) или неразрешимые задачи (таковых в рассматриваемом примере
нет). В нашем случае тривиальные задачи получаются на уровне j=3 (у
коммивояжёра не остается выбора – он должен посетить единственный
оставшийся город и затем вернуться в город x1).
На рис. 15 показано полное ДВР для задачи о коммивояжёре с 4
городами. Подсчитав стоимость каждого пути на этом дереве от корневой
вершины до конечной висячей и сравнив найденные стоимости между собой,
можно определить наилучший возможный маршрут (минимальный
гамильтонов цикл).
40
Рис. 15. Полное дерево вариантов решений исходной задачи (в скобках приведены
решения исходной задачи — полные маршруты коммивояжёра)

Перебор решений стал упорядоченным, но по-прежнему остался полным,


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

3.1.4. Решение задачи о коммивояжёре методом ветвей и границ


Основная идея метода ветвей и границ (branches and bounds method)
состоит в том, чтобы для каждого подмножества решений, полученного на
некотором уровне декомпозиции задачи, найти оценку перспективности
(целесообразности) его дальнейшего рассмотрения. В методе ветвей и границ
(МВГ) эта оценка называется оценочной функцией.
В качестве оценочной функции полученного промежуточного решения в
задаче о коммивояжёре можно использовать значение критерия эффективности
для этого решения — стоимость части маршрута от корневой вершины до
текущей вершины ДВР. При использовании МВГ критерий эффективности
должен иметь аддитивно-сепарабельную форму (от английских слов addition —
сложение, separation — разделение). Для рассматриваемой задачи это условие
выполняется, поскольку расстояние, которое преодолеет коммивояжер,

41
является суммой расстояний между городами. Однако свойством аддитивности
критерии оптимизации обладают не всегда.
Стратегии упорядоченного ограниченного «ветвления» на ДВР при
использовании МВГ основаны на стратегиях, используемых в методах
упорядоченного полного перебора вершин (разд. 2.3) — «ветвление в ширину»,
«ветвление в глубину» и «смешанное ветвление», — но дополнительно
вводятся понятия функции «ветвления», нижней и верхней границ.
Нижняя граница (НГ) для вершины ДВР Pji — это «стоимость» (значение
оценочной функции) промежуточного решения, полученного при образовании
вершины Pji. Нижняя граница (НГ) для некоторой вершины ДВР — оценочная
функция для этой вершины. Длина маршрута от начального города до текущего
определяется суммой весов всех дуг пути из вершины P0 в вершину Pji. НГ в
вершине Pji определяет наименьшую «стоимость» любого маршрута, который
будет включать в качестве обязательного фрагмента путь <P0, Pji>. В самом
деле, веса новых дуг будут только увеличивать эту нижнюю границу. Таким
образом, НГ характеризует подмножество решений исходной задачи,
включающих путь <P0, Pji>.
Верхняя граница (ВГ) — это «стоимость» (значение оценочной функции)
лучшего найденного в данный момент полного решения исходной задачи
(рекорд). При решении задач минимизации вначале принимают значение
ВГ0 = +∞ . При поиске оптимального решения задачи после каждого
найденного полного альтернативного решения задачи значение ВГ может
несколько раз изменяться (ВГ1 → ВГ2 → …→ оптимальное решение).
Происходит это только в том случае, если найдено решение, которое оказалось
лучше текущей ВГ («рекорд» побит).
Знание ВГ позволяет исключить из рассмотрения часть неперспективных,
или нерациональных, решений. Если в какой-либо висячей вершине НГ ≥ ВГ, то
раскрывать ее дальше не имеет смысла, так как любое полное решение задачи
будет заведомо хуже ранее найденного. Это позволяет сократить пространство
поиска решений, сохраняя точность решения.
Функция «ветвления» — это некоторый критерий, который позволяет
выбрать активную вершину (наиболее перспективную для раскрытия, или
декомпозиции, висячую вершину) из подмножества всех висячих вершин,
определённого стратегией «ветвления». В простейшем случае за функцию

42
«ветвления» принимают значение НГ в этих вершинах и в качестве активной
выбирают висячую вершину с наименьшим значением НГ. В некоторых
реализациях процедура «ветвления» может «заглядывать в будущее» на
несколько шагов (уровней декомпозиции) или даже оценивать расстояние от
какой-либо висячей вершины до конечной вершины для полного решения на
основании некоторого эвристического правила (эвристической оценочной
функции).
Стратегия «ветвления» определяет подмножество висячих вершин ДВР,
среди которых ищется активная, а также содержит дополнительное соглашение,
связанное с разрешением конфликтов при «ветвлении» (например, когда
построены несколько висячих вершин с одинаковыми значениями НГ).
Стратегия «ветвления» влияет на программную реализацию процедуры, или
алгоритма МВГ.
При стратегии «волновое ветвление» активная вершина на ДВР ищется
среди всех висячих вершин всех уровней декомпозиции решения задачи и
выбирается вершина с наименьшей НГ.
При стратегии «лучевое ветвление» активная вершина на ДВР ищется
среди всех висячих вершин, образовавшихся на последнем рассмотренном
уровне декомпозиции, и выбирается вершина с наименьшей НГ. Если на
последнем уровне декомпозиции решения задачи больше нет висячих вершин,
то следует перейти на предыдущий уровень (а если висячих вершин нет и там,
то на ближайший снизу уровень).
При стратегии «луче-волновое ветвление» на ДВР до получения первого
решения исходной задачи применяется стратегия «лучевое ветвление», затем,
как при стратегии «волновое ветвление», в качестве активной выбирается
вершина с наименьшей НГ среди всех висячих вершин всех уровней
декомпозиции решений задачи; далее, до получения очередного полного
решения исходной задачи, применяется стратегия «лучевое ветвление».
Критерий прекращения поиска оптимального решения на ДВР для любой
из трех стратегий «ветвления»: на ДВР не осталось ни одной висячей
вершины с НГ<ВГ, т.е. не осталось ни одной висячей вершины, которую можно
раскрыть. Процедура поиска оптимального решения задачи о коммивояжёре с 4
городами (рис. 14) с использованием стратегий «лучевое ветвление» и
«волновое ветвление» на ДВР показана на рис. 16 и 17 соответственно.

43
Рис. 16. Процедура поиска оптимального решения на ДВР задачи
о коммивояжёре с применением стратегии «лучевое ветвление»

Рис. 17. Процедура поиска оптимального решения на ДВР задачи


о коммивояжёре с применением стратегии «волновое ветвление»

Как видно из рис. 16 и 17, в процессе поиска оптимального решения по


стратегиям «лучевое ветвление» и «волновое ветвление» были раскрыты одни и
те же вершины ДВР, однако порядок их раскрытия для разных стратегий
отличался. В общем случае, особенно для задач большой размерности, при
44
использовании указанных стратегий «ветвления» количество и наименование
раскрытых вершин ДВР может существенно отличаться при переходе от одной
стратегии к другой. Следует также отметить, что поскольку взвешенная
матрица смежности [H] (рис. 14) является симметричной относительно
диагонали (hij=hji), то оптимальный маршрут коммивояжёра идентифицируется
двумя цепочками на ДВР. На рис. 16 и 17 эти маршруты выделены.

3.2. Методы поиска оптимального маршрута в транспортной сети


3.2.1. Постановка задачи
Предприятие рассматривает варианты поставки некоторого сырья от
удаленного поставщика на собственный производственный склад. Существует
множество способов организации поставок, что связано с возможностью
использования различных видов транспорта и различных перевалочных
пунктов на маршруте.
Граф транспортной сети и отображающая его взвешенная матрица
смежности [H] показаны на рис. 18.

а
⎡ A B C D E F G H I⎤
⎢A 5 10 15 ⎥
⎢ ⎥
Обозначения вершин графа: ⎢B 12 15 ⎥
⎢ ⎥
A — поставщик; ⎢C 5 9 ⎥
I —производственный склад; ⎢D 1 4 ⎥
[H ] = ⎢ ⎥
B–H —перевалочные пункты. ⎢E 2 3 ⎥
⎢F 5 8 ⎥
⎢ ⎥
Незаполненные элементы в матрице [H] ⎢G 4⎥
равны +∞
⎢H 1⎥
⎢ ⎥
⎢⎣ I ⎥⎦

б
Рис. 18. Транспортная ациклическая сеть (а) и взвешенная матрица
смежности транспортной сети (б)

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

3.2.2. Метод «ближайшего города»


Применение эвристического метода «ближайшего города» для данной
транспортной задачи сразу дает маршрут ABEGI суммарной стоимостью
5+12+2+4=23, который не является оптимальным решением.

3.2.3. Метод ветвей и границ


Результат решения задачи поиска оптимального маршрута в
транспортной сети методом ветвей и границ (МВГ) при использовании
стратегии «луче-волновое ветвление» показан на рис. 19.

0 - (порядковый номер вершины на графе)


j=0
A
0 - НГ

5 10 15
j=1
1 2 3
B C D
5 10 15

12 15 5 9 1 4

j=2
4 5 8 9 12 13
E F E F E F
17 20 15 19 16 19

2+4=6 3+1=4 X 2+4=6 3+1=4 X 2+4=6 3+1=4 X

7 6 10 11 14 15 j=3
GI HI GI HI GI HI
23 21 21 19 22 20
ВГ1 ВГ2

P={A,B,E,G,I} P={A,B,E,H,I} P*={A,C,E,G,I} P*={A,C,E,H,I} P={A,D,E,G,I} P={A,D,E,H,I}

Рис. 19. Поиск оптимального пути в транспортной сети методом ветвей и границ с
использованием стратегии «луче-волновое ветвление»

В процессе поиска оптимального решения осуществлялся пересчет


верхней граничной оценки ВГ1 → ВГ2. При этом был найден оптимальный
маршрут ACEHI. Пунктирной стрелкой показан выбор активной вершины в

46
соответствии со стратегией «волновое ветвление» после получения очередного
полного решения.

3.3. Методы поиска максимального гамильтонова цикла в графе


3.3.1. Постановка задачи
Воспользуемся условием задачи поиска оптимального логистического
решения Л-З.1 (рис. 14), однако найдем не минимальный, а максимальный
гамильтонов цикл в графе (наихудшая стратегия переналадок технологической
установки).

3.3.2. Метод ветвей и границ


Рассмотренная ранее процедура МВГ (см. разд. 3.1.4) не позволяет
сократить перебор вариантов решений при поиске максимального гамильтонова
цикла в графе. Однако задачу поиска максимального цикла в графе можно
свести к задаче минимизации, для которой решение существует. Для этого
требуется преобразовать взвешенную матрицу смежности графа: найти в ней
наибольший (отличный от бесконечности) элемент hmax и составить новую
модифицированную матрицу смежности [H’], каждый элемент которой
вычисляется по формуле: h’ij=hmax-hij. Бесконечности, стоящие на главной
диагонали исходной матрицы, следует оставить без изменения.
Найденный при помощи МВГ минимальный гамильтонов цикл для
преобразованной задачи будет соответствовать максимальному циклу в
исходном графе. Остается только рассчитать вес найденного цикла, сложив
соответствующие этому циклу элементы hij, взятые из исходной
непреобразованной матрицы смежности [H].
На рис. 20 показаны гамильтонов граф, исходная матрица смежности [H]
и модифицированная (преобразованная) матрица смежности [H’], а на
рис. 21 — процедура поиска решения МВГ с использованием стратегии
«лучевое ветвление».
Стоимость найденного цикла должна быть рассчитана исходя из значений
элементов исходной (непреобразованной) матрицы смежности [H]:
P{x1,x3,x2,x4,x1}=20+15+10+5=50.

47
x1 x2 x3 x4 x1 x2 x3 x 4
x1 ∞ 1 20 5 x1 ∞ 19 0 15
[ H ] = x2 1 ∞ 15 10 [ H ' ] = x2 19 ∞ 5 10
x3 20 15 ∞ 2 x3 0 5 ∞ 18
x4 5 10 2 ∞ x 4 15 10 18 ∞

а б в
Рис. 20. Гамильтонов граф (а), исходная [H] (б) и преобразованная [H’] (в) матрицы
смежности для нахождения максимального гамильтонова цикла

Рис. 21. Процедура поиска максимального гамильтонова цикла с использованием


МВГ (стратегия «лучевое ветвление»)

Так как исходная взвешенная матрица смежности [H] и преобразованная


взвешенная матрица смежности [H’] (рис. 14) являются симметричными
относительно диагонали (hij=hji и h’ij=h’ji), то максимальный маршрут
коммивояжёра идентифицируется двумя цепочками на ДВР. На рис. 21 эти
маршруты выделены.

3.4. Методы поиска оптимальных решений задач линейного


целочисленного программирования
3.4.1. Постановка задачи
Еще одной разновидностью задач комбинаторной, или дискретной,
оптимизации, для поиска оптимальных решений которых может применяться

48
МВГ, являются задачи целочисленного линейного программирования (ЦЛП), или
смешанного целочисленного линейного программирования (СЦЛП).
Математическая постановка задачи ЦЛП включает линейное уравнение целевой
функции (критерия эффективности) и систему ограничений в виде линейных
уравнений (неравенств). Однако в отличие от задач линейного
программирования (ЛП), в задаче ЦЛП на все или на часть переменных
решения накладывается дополнительное ограничение — целочисленные
значения переменных. Это существенно затрудняет решение задачи
оптимизации, поскольку широко применяемый для решения задач линейного
ЛП симплекс-метод для дискретной задачи использовать нельзя.
Попытка найти симплекс-методом решение задачи ЦЛП без учета
целочисленности переменных с последующим округлением решения может
дать решение сколь угодно далекое от оптимального либо вообще
недопустимое решение, которое не удовлетворяет системе уравнений
ограничений.
Рассмотрим применение МВГ на примере следующей задачи: требуется
максимизировать целевую функцию F(x)=2x1+3x2 при ограничениях:

⎧ 5 x1 + 7 x 2 ≤ 35
⎪ 4 x + 9 x ≤ 36
⎪ 1 2

⎪ x1 ≥ 0, x 2 ≥ 0
⎪⎩ x1 , x 2 − целые _ числа

Эта задача включает только две оптимизирующие переменные — x1 и x2,


поэтому её можно решать графическим способом. Построим область
допустимых решений задачи и линию уровня целевой функции F(x) (рис. 22).
Целевая функция достигает максимума 14.71 в точке (x1 = 3.71; x2 = 2.35).
Данное решение не является целочисленным. Отбрасывание дробных частей
для значений переменных x1 и x2 дает допустимое целочисленное решение
F(3;2) = 12, которое не является оптимальным решением.
Точками на рис. 22 показаны целочисленные решения, лежащие в области
допустимых (близких к оптимальным) решений (область заштрихована). В
данном случае их немного, поэтому задачу легко решить простым перебором
всех допустимых значений целочисленных решений.

49
5 5x1+7x2≤35

3 X*=(3.71;2.35)
F(X*)=14.47
НГ=-∞
2

1
4x1+9x2≤36

0
1 2 3 4 5 6 7 8 9 10

Рис. 22. Область допустимых решений и линия уровня


целевой функции F(x) для задачи целочисленного
линейного программирования

Однако в практических задачах оптимизации технологических и


логистических решений число переменных решения может достигать
нескольких сотен, поэтому полный перебор невозможен из-за возникновения
комбинаторной проблемы размерности. Для сокращения числа
просматриваемых альтернативных решений для этой задачи можно применить
МВГ.

3.4.2. Метод ветвей и границ


Применение МВГ для задачи ЦЛП основано на релаксации, или
ослаблении, ограничения целочисленности: вначале задача решается как
обычная задача ЛП.
В том случае, если решение оказывается нецелочисленным, проводится
ветвление решения по одной из переменных, оказавшихся нецелочисленными.
При этом всегда образуются две задачи, в системы ограничений которых
введено одно из отсекающих дробное решение неравенств: xi ≥ {xi*} + 1 или
x i≤ {xi*}, где {xi*} — целая часть значения переменной xi в полученном на
предыдущем шаге оптимальном решении.
Некоторые задачи, полученные при очередном ветвлении, могут не иметь
решений, поскольку их область допустимых решений окажется пустым
множеством.
50
Для сокращения пространства поиска решений за счет отсечения
неперспективных подмножеств решений в МВГ применяются граничные
оценки. За верхнюю границу в задаче максимизации принимается значение
целевой функции для задачи без ограничений целочисленности. Никакое
целочисленное решение, принадлежащее области допустимых решений, на
следующем шаге не может быть больше, чем значение этой верхней границы (в
противном случае оно было бы к этому моменту уже найдено). За нижнюю
границу принимается наилучшее найденное на данный момент целочисленное
решение.
Если для некоторой задачи получена верхняя граничная оценка, не
превышающая текущую НГ, то задача исключается из дальнейшего
рассмотрения как неперспективная. Поиск прекращается в том случае, когда не
остается подзадач, для которых ВГ>НГ.
Исходная задача с релаксированным, или ослабленным, ограничением
целочисленности имеет решение F(3.71;2.35)=14.71. Проведем ветвление по
переменной x2 (рис. 23).

Рис. 23. Две задачи, образовавшиеся при ветвлении по переменной x2

На следующем шаге выберем наиболее перспективную задачу со


значением F(4.2;2)=14.4. В этом решении переменная x1 принимает
нецелочисленное значение, по ней необходимо провести ветвление (рис. 24).

51
5 5x1+7x2≤35 5 5x1+7x2≤35

4 4
X*=(4;2)
F(X*)=14
НГ=14
3 3

X*=(5;1.43)
2 2 F(X*)=14.29
НГ=14
1 1
4x1+9x2≤36 4x1+9x2≤36

0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
F=2x1+3x2 F=2x1+3x2

Рис. 24. Задачи, образовавшиеся при ветвлении по переменной x1

Одна из подзадач имеет целочисленное решение F(4;2)=14, которое


принимается за новое значение НГ. На этом этапе можно исключить как
неперспективную вторую подзадачу на рис. 23, поскольку для нее ВГ<НГ, а
именно ВГ=13.5. Вторая подзадача на рис. 24 имеет ВГ=14.29, что больше чем
НГ2. Дерево вариантов решений, отображающее последовательность решения
задачи ЦЛП с использованием МВГ, показано на рис. 25.

Рис. 25. Дерево вариантов решений для задачи целочисленного


линейного программирования

52
Следует учесть, что наилучшее целочисленное решение, которое может
быть найдено при дальнейшем ветвлении из вершины 5, не может превысить
ВГ для этой подзадачи, т.е. наилучшее возможное целочисленное решение для
подзадачи 5 имеет значение НГ2=14. Оно не улучшит уже найденное решение,
поэтому, если найденное целочисленное решение (4;2) является приемлемым,
то можно прекратить дальнейший поиск. В противном случае ветвление
следовало бы продолжить. При этом будет найдено еще одно оптимальное
целочисленное решение исходной задачи со значением целевой функции
F(7;0)=14 (рис. 24).

3.5. Определение эффективности стратегии поиска решения с


использованием дерева вариантов решений
Эффективность стратегии (или процедуры) поиска решения (стратегии
«ветвления») можно определить как долю исключенных из рассмотрения
(неперспективных) вершин ДВР, т.е.
v(G ) − v(G ' )
ψ= ⋅100% ,
v(G )
где v(G) – число вершин в полном ДВР, v(G’) — число вершин в усеченном
ДВР, построенном с использованием МВГ.
Чем больше вершин исключено из рассмотрения, тем выше
эффективность стратегии, или процедуры «ветвления». Корневую вершину
можно не учитывать, так как для ее построения не требовался расчет критерия.
Эффективность той или иной стратегии «ветвления» на ДВР
определяется исключительно размером пространства состояний задачи, и
выбор для каждой конкретной задачи лучшей стратегии при поиске
оптимального решения осуществляется экспериментально.
Число вершин в полном ДВР для задачи о коммивояжёре можно
определить и без построения графа. Число вершин на первом уровне равно
числу городов — для случая, когда начальный город неизвестен. В противном
случае — n – 1. В дальнейшем будем считать, что начальный город неизвестен.
Если это не так, то вместо n в полученную ниже формулу (*) следует
подставить (n – 1).
На втором уровне, или этапе, поиска решения каждая вершина первого
уровня порождает (n – 1) вершин, т.е. общее число вершин составит n·(n – 1).
На третьем уровне число вершин n·(n – 1)·(n – 2) и т.д. Общее число уровней
53
декомпозиции (число этапов решения задачи) равно n. На последнем уровне
декомпозиции будет n·(n – 1)·(n – 2)…(n – n + 1)=n! вершин (рис. 26). Для
четырех городов число вершин составит 4·3·2·1=24=4!, что соответствует
количеству различных решений исходной задачи, определяемому по формуле
P(n)=n!
Для того чтобы получить общее число вершин в ДВР (исключая
корневую вершину), нужно просуммировать количества вершин на каждом из n
уровней декомпозиции. Получится формула:
n
n!
ν (G ) = ∑ (*)
j =1 ( n − j ) !

Рис. 26. К определению числа вершин в полном ДВР — фрагмент полного ДВР для
задачи о коммивояжёре с 5 городами, начальный город неизвестен

При этом предполагается, что на n-м уровне декомпозиции решения


задачи (когда остался один город), вершины, соответствующие этому
последнему городу, были объединены с вершиной, соответствующей
начальному городу (как было сделано, например, на рис. 21). В противном

54
случае появляется еще один, n + 1, уровень декомпозиции, число вершин на
котором n! (как и на n-м уровне). Поэтому число вершин, определенное по
формуле (*), также следует увеличить на n!

3.6. Правила поиска оптимального решения комбинаторных


задач методом ветвей и границ
1. Метод ветвей и границ относится к числу методов упорядоченного
ограниченного перебора вариантов решений. Множество решений задачи
структурируется при помощи дерева вариантов решений (ДВР).
2. Корневой вершиной ДВР является начальное состояние (исходная
постановка задачи). Если начальное состояние неизвестно, то необходимо
ввести дополнительную «фиктивную» вершину, из которой возможен переход в
любое возможное состояние, причем «стоимость» этого перехода — 0.
Фиктивную вершину не обязательно добавлять в том случае, если взвешенная
матрица смежности в постановке задачи симметрична.
3. При поиске оптимального по минимуму целевой функции решения в
качестве активной (раскрываемой) вершины выбирается вершина с
минимальной нижней граничной оценкой из подмножества всех висячих
вершин, определяемого стратегией «ветвления». Нижняя граничная оценка
(НГ) — это сумма стоимостей переходов от начального состояния до висячей
вершины.
Возможно использовать три стратегии «ветвления» на ДВР: «лучевое
ветвление» (на основе стратегии «ветвление в глубину»), «волновое ветвление»
(на основе стратегии «ветвление в ширину») и «луче-волновое ветвление» (на
основе стратегии «смешанное ветвление») (разд. 2.3):
А) При стратегии «волновое ветвление» активная вершина ДВР
выбирается среди всех висячих вершин всех уровней декомпозиции. При
наличии нескольких вершин с одинаковыми НГ можно выбирать любую. При
расчете вручную удобнее брать вершины на более низких уровнях
декомпозиции, поскольку они ближе к конечному решению.
Б) При стратегии «лучевое ветвление» активная вершина ДВР всегда
выбирается среди всех висячих вершин, образовавшихся на последнем
рассмотренном уровне декомпозиции. Переход на более высокий уровень
декомпозиции возможен только в том случае, если не осталось свободных

55
висячих вершин на данном (все они либо раскрыты, либо являются конечными
вершинами, либо исключены как неперспективные).
В) При стратегии «луче-волновое ветвление» до нахождения очередного
полного решения исходной задачи (в вершине последнего уровня
декомпозиции) раскрытие вершин идет, как в стратегии «лучевое ветвление».
Далее, как и при стратегии «волновое ветвление», выбирается вершина с
наименьшей НГ среди всех висячих вершин всех уровней декомпозиции ДВР.
После этого снова проводится «ветвление», как при стратегии «лучевое
ветвление».
4. Выбранное значение верхней границы (ВГ) позволяет исключать
(отсекать) из дальнейшего рассмотрения подмножества неперспективных
решений.
Значение ВГ соответствует «рекорду» — лучшему найденному на данный
момент решению исходной задачи в целом. Если на некотором шаге получено
очередное решение исходной задачи с величиной НГ и оно лучше, чем
предыдущее значение верхней границы, то это значение НГ для решения
принимается в качестве нового значения ВГ. Начальное значение ВГ в задаче
поиска минимума — +∞.
5. Если в некоторой промежуточной вершине ДВР достигается значение
НГ ≥ ВГ, то ветвление этой вершины следует исключить, поскольку все
дальнейшие решения не улучшат уже найденного решения, которое
соответствует ВГ.
6. Процедура поиска решения продолжается до тех пор, пока не
останется ни одной висячей вершины с НГ<ВГ (даже в том случае, если
оптимальное решение уже найдено).
7. При решении задачи поиска максимального маршрута в сетевом графе
требуется преобразовать веса дуг графа состояний: ищется дуга с
максимальным весом hmax. Затем веса всех дуг в графе пересчитываются по
формуле: h’ij=hmax–hij, где h — вес дуги в исходном графе, h’ij —
преобразованный вес дуги. После указанного преобразования задача сводится к
поиску минимального маршрута. Для определения стоимости максимального
маршрута нужно сложить стоимости образующих его дуг в исходном
непреобразованном графе (разд. 3.3).

56
3.7. Основные условные обозначения вершин дерева вариантов
решений при решении задач методом ветвей и границ
Форма представления вершин на ДВР может быть произвольной и
выбирается исходя из соображений наглядности. Однако для каждой вершины
на усеченном ДВР обязательно должны быть указаны 4 числа (рис. 27).

A Вес входящей дуги

Порядковый номер появления вершины на ДВР


(корневой вершине с оответствует 0)
метка верш ины (номер продукта, обозначение
перевалочного пункта и т.п.)
Значение нижней границы в данной вершине(∑)

Рис. 27. Форма представления вершин ДВР,


удобная для расчетов в Excel

Вершины одного j-го уровня декомпозиции должны находиться либо на


одной прямой (чем больше j, тем дальше прямая от корня), либо на одном
расстоянии от корня. В последнем случае вершины различных уровней
декомпозиции будут лежать на различных концентрических окружностях с
центром в корне ДВР и радиусом, пропорциональным j.

4. ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

1. Какие задачи комбинаторной оптимизации решает логистика


промышленных предприятий?
2. Какие задачи комбинаторной оптимизации решаются при инженерно-
технологическом проектировании химико-технологических систем?
3. В чем состоит сложность решения задач комбинаторной (дискретной)
оптимизации?
4. Что такое граф? Какие характеристические свойства графов Вы знаете?
5. Изобразите произвольный граф и укажите на нем составляющие элементы.
Дайте определение понятий «маршрут», «путь», «цикл», «контур», «остов»,
«дерево».
6. Какие матрицы используются для отображения графов? Как составляются
эти матрицы?
7. Что такое декомпозиция исходной задачи на подзадачи? Что такое дерево
вариантов решений?
57
8. Какие методы используются для сокращения пространства решений, или
пространства состояний, задачи? В чем заключаются недостатки и
преимущества этих методов?
9. Что такое стратегия «ветвления» на дереве вариантов решений? В чем
отличие различных стратегий «ветвления»?
10. Что такое граничная оценка при поиске решения задачи? Какие существуют
виды границ? Каким образом вычисляются граничные оценки при поиске
решений задачи?
11. В каком случае можно исключить вершину на ДВР из дальнейшего
рассмотрения при использовании метода ветвей и границ?
12. Когда следует прекратить (или остановить) поиск решений задачи на ДВР?
13. Каким свойством должен обладать критерий оптимальности, или целевая
функция, при поиске оптимального решения задачи с применением метода
ветвей и границ?
14. Как оценить эффективность некоторой стратегии «ветвления» на ДВР при
поиске оптимального решения задачи?
15. Как с помощью метода ветвей и границ решить задачу поиска
максимального маршрута в графе?
16. Как с использованием метода ветвей и границ решить задачу о
коммивояжёре?
17. Дайте содержательную, или организационно-управленческую, постановку
логистической задачи поиска минимального маршрута в транспортной сети.
18. Дайте содержательную, или организационно-управленческую, постановку
задачи оптимальной переналадки технологической установки при выпуске
партии продукции из n продуктов.
19. Дайте содержательную, или инженерно-технологическую, постановку
задачи синтеза оптимальной системы ректификации многокомпонентной
смеси из n компонентов с использованием простых колонн ректификации.
20. Дайте содержательную, или инженерно-технологическую, постановку
задачи синтеза оптимальной теплообменной системы с использованием
противоточных теплообменников типа «труба в трубе».

58
5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ КОМБИНАТОРНОЙ
ОПТИМИЗАЦИИ В ХИМИЧЕСКОЙ ТЕХНОЛОГИИ И
ЛОГИСТИКЕ
5.1. Задача поиска минимального цикла переналадки
технологической установки
Дано. Производственное предприятие использует совмещенную схему
производства N = 5 химических продуктов в некотором фиксированном
технологическом цикле (на одной переналаживаемой установке). В каждый
момент времени технологическая установка может вырабатывать только один
продукт, и этот процесс происходит без прерывания, т.е. следующий продукт
можно начать выпускать только после окончания получения партии
предыдущего продукта после соответствующей переналадки технологической
установки (после выпуска продукта Xi технологическое оборудование должно
быть «перенастроено» на выпуск продукта Xj).
Время, требуемое на «перенастройку», зависит от последовательности
выпуска продуктов (Xi, Xj) и равно hij, причем hij ≠ hji. Поэтому различные
последовательности выпуска химических продуктов будут неравнозначными по
затратам времени на переналадку технологической установки. Ниже приведена
взвешенная матрица смежности [H] времени переналадки технологической
установки с выпуска продукта Xi на выпуск продукта Xj, соответствующая
полному взвешенному по ребрам гамильтонову графу (рис. 28):

Х1 Х2 Х3 Х4 Х5

Х1 ∞ 3 40 21 38

Х2 26 ∞ 5 32 25
[H] =
Х3 42 29 ∞ 10 30

Х4 34 27 16 ∞ 7

Х5 9 13 11 20 ∞

Требуется. С использованием дерева вариантов решений (ДВР) найти


оптимальную стратегию переналадки технологической установки, которая
сводится к выбору такой последовательности выпуска продуктов, чтобы
суммарное время, затраченное на «перенастройку» за цикл, было
59
минимальным; при решении задачи необходимо использовать стратегию
«лучевое ветвление» на ДВР (разд. 3.1.1, 3.1.4, 3.6).
Решение. Построим гамильтонов граф, отображающий разнообразные
последовательности циклического выпуска 5 химических продуктов (рис. 28).

Х1

Х5 Х2

Х4 Х3

Рис. 28. Гамильтонов граф, отображающий


стратегии переналадки технологической
установки

Как видно из заданной матрицы [H], она не является симметричной


относительно диагонали, (hij ≠ hji.). Таким образом, множество всех возможных
решений включает 24 гамильтоновых цикла (24 последовательности выпуска
пяти химических продуктов), которые представлены 24 цепочками на полном
ДВР — дереве вариантов решений (рис.29). Усеченное эксплицитное ДВР,
построенное с использованием стратегии «лучевое ветвление», показано на
рис. 30 (сверху около вершины ДВР указан порядковый номер её появления, а
снизу – соответствующая ей нижняя граничная оценка). Оптимальная стратегия
перенастройки технологической установки отражается следующей
последовательностью выпуска химических продуктов: X1, X2 X3, X4, X5, X1,
которой соответствуют минимальные суммарные затраты времени на
переналадку технологической установки, равные
h12 + h23 + h34 + h45 + h51 = 3+5+10+7+9=34
На рис. 30 найденному оптимальному решению соответствует верхняя
граничная оценка ВГ1 = 34.
Эффективность стратегии «лучевое ветвление»: для n=18; n0=89
ψ = (n0 – n)/n0 х 100 % = ((89-18)/89) х 100% = (71/89) х 100% =79,78 %,

60
X1

X2 X3 X4 X5

X3 X4 X5 X2 X4 X5 X2 X3 X5 X2 X3 X4

X4 X5 X3 X5 X3 X4 X4 X5 X2 X5 X2 X4 X3 X5 X2 X5 X2 X3 X3 X4 X2 X4 X2 X3

X5 X4 X5 X3 X4 X3 X5 X4 X5 X2 X4 X2 X5 X3 X5 X2 X3 X2 X4 X3 X4 X2 X3 X2

X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1 X1

Рис. 29. Полное дерево вариантов решений, отражающее 24 гамильтоновых цикла

61
Рис. 30. Усеченное эксплицитное ДВР, построенное с использованием стратегии «лучевое ветвление»

62
где n0 — число всех возможных вершин на полном ДВР (рис. 29), n —
число появившихся вершин на ДВР в процессе реализации стратегии ветвления
(рис. 30).

5.2. Задача поиска минимального маршрута в транспортной сети


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

Рис. 31. Транспортная сеть:


вершина 1-1 соответствует предприятию-изготовителю, вершина 5-1 - оптовому рынку сбыта,
остальные промежуточные вершины соответствуют промышленным складам

Показатели качества локальных транспортных перевозок (в виде


величины транспортных издержек), осуществляемых между двумя
ближайшими точками маршрута (предприятием-изготовителем,
промышленными складами и оптовым рынком сбыта), представлены в виде
взвешенной матрицы смежности (вершины — вершины) транспортной сети
(рис. 32).
Требуется. Определить оптимальный маршрут организации
транспортных перевозок от предприятия-производителя к рынку сбыта. При
определении указанного оптимального маршрута, соответствующего минимуму
63
транспортных издержек, необходимо построить дерево вариантов решений
(ДВР) и использовать метод ветвей и границ (МВГ).

1-1 2-1 2-2 2-3 3-1 3-2 4-1 4-2 4-3 4-4 5-1
1-1 18 61 15
2-1 16 49
2-2 15 31
2-3 22 15
3-1 22 13 39 23
3-2 23 15 37 19
4-1 12
4-2 13
4-3 18
4-4 14
5-1

Рис. 32. Взвешенная матрица смежности транспортной сети

Для поиска на дереве вариантов решений оптимального решения по


организации транспортных перевозок примените две стратегии упорядоченного
ограниченного поиска на ДВР: «волновое ветвление» и «лучевое ветвление»
(разд. 3.2, 3.6). Сравните эффективность указанных стратегий по критерию
ψ = (n0 – n)/n0 х 100 %,
где n0 — число всех возможных вершин на полном ДВР (общее число
вершин), n — число появившихся вершин на ДВР в процессе реализации
стратегии ветвления.
Вершины ДВР следует обозначить следующим образом:
k
l m n

где k — показатель качества локальных транспортных перевозок между двумя


ближайшими вершинами транспортной сети в виде величины транспортных
издержек, заданных взвешенной матрицей смежности (рис. 32), l — порядковый
номер появления вершины ДВР, m — номер вершины в транспортной сети
(рис.31), n — текущее значение нижней граничной оценки.
Укажите, пожалуйста, на ДВР путь, соответствующий оптимальному
решению.
Решение. а) Усеченное эксплицитное ДВР, построенное с
использованием стратегии «лучевое ветвление», показано на рис. 33.
64
Рис. 33. ДВР, построенное с использованием стратегии «лучевое ветвление»

Эффективность процедуры: для n=27; n0=59


ψ = ((59-27)/59) х 100% = (32/59) х 100% =54,24 %

Оптимальный маршрут организации транспортных перевозок от


предприятия-производителя к рынку сбыта соответствует следующему пути на
ДВР: Р ={1-1;2-3;3-2;4-2;5-1}.

б) Усеченное эксплицитное ДВР, построенное с использованием стратегии


«волновое ветвление», показано на рис. 34.
Эффективность процедуры: для n=27; n0=59
ψ = ((59-27)/59) х 100% = (32/59) х 100% =54,24 %

Оптимальный маршрут организации транспортных перевозок от


предприятия-производителя к рынку сбыта соответствует следующему пути на
ДВР: Р ={1-1;2-3;3-2;4-2;5-1}.

65
Рис. 34. ДВР, построенное с использованием стратегии «волновое ветвление»

Вывод. Для рассматриваемой задачи эффективность стратегий «лучевое


ветвление» и «волновое ветвление» одинакова и равна 54,24 %. В общем случае
эффективность стратегий может быть различна.
В процессе поиска оптимального решения при использовании разных
стратегий «ветвления» были раскрыты одинаковые вершины на ДВР (в общем
случае они могут различаться), но порядок их раскрытия был различен.
С использованием разных стратегий «ветвления» было получено одно и
то же оптимальное решение.

5.3. Задача поиска максимального эффективного цикла


перенастройки технологической установки
Дано. Воспользуемся постановкой задачи, изложенной в разд. 5.1, но в
отличие от задачи поиска минимального по суммарному времени
перенастройки цикла будем искать максимально эффективный цикл,
соответствующий максимальной суммарной эффективности перенастройки
технологической установки.
В этом случае элементы взвешенной матрицы смежности hij будут
отражать эффективность перенастройки технологической установки с выпуска
66
продукта Xi на выпуск продукта Xj. Таким образом, эффективность
«перенастройки» зависит от последовательности выпуска продуктов (Xi, Xj.) и
равна hij, причем hij ≠ hji. Ниже приведена взвешенная [H] матрица смежности:

Х1 Х2 Х3 Х4 Х5
∞ 24 19 18 2
Х1

Х2 28 ∞ 23 13 7
[H] =
Х3 15 21 ∞ 16 26

30 14 12 ∞ 27
Х4

Х5 27 28 17 20 ∞

Требуется. С использованием дерева вариантов решений (ДВР) найти


максимально эффективный цикл перенастройки технологической установки,
соответствующий такой последовательности выпуска продуктов, для которой
суммарная эффективность перенастройки технологической установки была бы
максимальной; при решении задачи необходимо использовать стратегии
«лучевое ветвление» и «волновое ветвление» на ДВР (разд. 3.3, 3.6).
Решение. Для того чтобы ускорить процедуру поиска решения, можно
задачу поиска максимального цикла в графе свести к задаче минимизации,
предварительно преобразовав взвешенную матрицу смежности [H] следующим
образом (разд.3.3.2): найти в ней наибольший (отличный от бесконечности)
элемент hmax и составить новую модифицированную матрицу смежности [H’],
каждый элемент которой вычисляется по формуле: h’ij=hmax-hij. Бесконечности,
стоящие на главной диагонали исходной матрицы, следует оставить без
изменения.
Получим следующую модифицированную матрицу смежности [H’]:

Х1 Х2 Х3 Х4 Х5
Х1 ∞ 6 11 12 28
[Н'] = Х2 2 ∞ 7 17 23
Х3 15 9 ∞ 14 4
Х4 0 16 18 ∞ 3
Х5 3 2 13 10 ∞

67
Рис. 35. Усеченное эксплицитное ДВР, построенное с использованием стратегии «лучевое ветвление»

68
ВГ2

Рис. 36. Усеченное эксплицитное ДВР, построенное с использованием стратегии «волновое ветвление»

69
Усеченное эксплицитное ДВР, построенное с использованием стратегии
«лучевое ветвление», показано на рис. 35, а стратегии «волновое ветвление» –
на рис. 36. Максимальная эффективность цикла перенастройки
технологической установки, найденная с использованием обеих стратегий,
отражается следующей последовательностью выпуска химических продуктов:
X1, X2, X3, X5, X4, X1 и равна:
h12 + h23 + h35 + h54 + h41 = 24+23+26+20+30=123

5.4. Задача синтеза оптимальной однородной системы


ректификации многокомпонентной смеси
Дано. Задана зеотропная многокомпонентная смесь (МКС)
углеводородов, содержащая пять фракций: A – метан-водородную, B – этан-
этиленовую, C – пропан-пропиленовую, D – бутан-бутиленовую, E – гомологи
пентана и гексана (С5-С6).
Приведенные затраты на функционирование каждого оператора
разделения (в рассматриваемом случае – ректификационной колонны) зависят
от того, на каком этапе декомпозиции он будет использоваться. Затраты
считаются известными. Они определяются по формуле: П i ( g i ) = П 0 ⋅ β ij , т.е.
пропорциональны некоторым нормативным затратам П0 с коэффициентом β.
Коэффициенты заданы в виде матрицы:

⎡ j =1 2 3 4⎤
⎢i = 1 3 0.5 1 2⎥⎥

[β ]
ij =⎢ 2 1 4 1 .5 1⎥
⎢ ⎥
⎢ 3 1 3 3 3⎥
⎢⎣ 4 0 .5 4 .5 2 2⎥⎦

Требуется. Синтезировать оптимальную систему ректификации (СР)


заданной МКС для граничной задачи синтеза ГЗС-1 с применением
декомпозиционно-поискового метода синтеза однородных ХТС на основе
метода ветвей и границ (МВГ) с использованием стратегии «лучевое
ветвление» (построить усеченное эксплицитное ДВР); построить дерево
декомпозиции исходной задачи синтеза (ИЗС) СР МКС («комбинированный
И/ИЛИ-граф) (см. разд.2.2, 3.6).

70
Решение. На первом этапе возможно разделение МКС по любой из 4-х
точек деления — каждая точка деления соответствует некоторой граничной
задаче синтеза (ГЗС-{i}), где i – положение точки деления, по которой
осуществляется разделение МКС в первой ректификационной колонне
синтезируемой СР (на первом уровне декомпозиции ИЗС СР МКС).
Рассмотрим решение только ГЗС-1. Воспользуемся МВГ и стратегией
«лучевое ветвление». Дерево вариантов решений (ДВР) для ГЗС-1 представлено
на рис. 37.
Получена оптимальная последовательность точек деления смеси
1 2 3 4
A B C D E: 1-3-4-2. Операторная схема, соответствующая этому варианту,
показана на рис. 38.

Рис. 37. Усеченное эксплицитное дерево вариантов решений для ГЗС-1,


полученное с использованием стратегии «лучевое ветвление»

Дерево декомпозиции решений ГЗС-1 представлено на рис. 8 (см.


разд. 2.2.2, с. 31). Этот граф является объединением дерева декомпозиции ИЗС
и ДВР, поэтому по нему можно определить не только последовательность точек
деления, но и покомпонентный состав потоков (фактически, это условия ГЗС,
которые образуются при дальнейшей декомпозиции множества решений).

71
Вершины дерева декомпозиции бывают двух видов – отображают точки
деления (возможные решения граничных задач синтеза) и составы
промежуточных смесей (постановки исходной и граничных задач синтеза).

Рис. 38. Операторная схема оптимальной системы ректификации для ГЗС-1

Корневая вершина комбинированного И/ИЛИ-графа соответствует


постановке ИЗС: «Необходимо разделить смесь ABCDE»; 4 возможных
варианта ее разделения в первой ректификационной колонне – точки деления 1,
2, 3, 4, т.е. ГЗС-1, ГЗС-2, ГЗС-3, ГЗС-4. Например, для ГЗС-1 условие ИЗС
меняется: «необходимо сначала отделить компонент A, а затем разделить
оставшуюся смесь BCDE». Получаются две задачи меньшей сложности по
сравнению с ИЗС. Задача отделения компонента А тривиальна (для выделения
компонента А нужна только одна колонна). Задача разделения смеси BCDE
требует дальнейшей декомпозиции. При этом для получения решения ИЗС
необходимо решить обе эти задачи одновременно. Поэтому на графе
объединены союзом «И» те дуги, которые выходят из конъюнктивной
вершины, соответствующей ГЗС-1. Для того чтобы получить решение ИЗС,
нужно проводить декомпозицию до тех пор, пока все образующиеся при этом
подзадачи не окажутся тривиальными. Подграф дерева декомпозиции ИЗС, в
котором все висячие вершины соответствуют тривиальным задачам, причем эти
тривиальные задачи в сумме составляют решение ИЗС, называется решающим
подграфом. Разумеется, могло оказаться, что некоторые компоненты
невозможно разделить при помощи ректификации. То есть, некоторым
вершинам решающего подграфа могут соответствовать неразрешимые задачи.
В этом случае решение ИЗС найти нельзя (для решения необходимо
рассмотреть другие технологические процессы разделения смесей).

72
6. ГЛОССАРИЙ ОСНОВНЫХ ТЕРМИНОВ И ПОНЯТИЙ
Анализ ХТС — это операция определения для данной ХТС при заданных
технологической топологии, конструкционных и технологических параметрах
каждого элемента системы, а также при известных входных переменных ХТС
значений промежуточных и выходных переменных, показателей свойств и КЭ
функционирования ХТС.
Анализ ХТС как инженерно-техническая операция — это исследование
структуры ХТС, расчет характеристик и показателей качества
функционирования ХТС, определение влияния параметров ХТС на ее
характеристики.
Активная вершина ДВР — вершина, из которой в рассматриваемый
момент производится «ветвление» (вершина «раскрывается»).
Ациклический граф — граф, не содержащий циклов.
Верхняя граница (ВГ) для вершины ДВР — это «стоимость» (значение
оценочной функции — функции «ветвления») лучшего найденного в данный
момент полного решения исходной задачи методом ветвей и границ (рекорд).
«Ветвление в глубину» — стратегия упорядоченного полного перебора
(генерирования) вершин ДВР, при которой всегда раскрываются висячие
вершины последнего рассмотренного уровня декомпозиции. Если
заканчиваются висячие вершины на последнем уровне декомпозиции, то
выполняется переход на предыдущий уровень (или ближайший снизу, если на
предыдущем висячих вершин не оказалось). Затем вновь раскрываются висячие
вершины последнего рассмотренного уровня декомпозиции до получения
очередного решения.
«Ветвление в ширину» — стратегия упорядоченного полного перебора
(генерирования) вершин ДВР, при которой активная вершина выбирается
среди всех висячих вершин на любом уровне декомпозиции ДВР.
«Ветвление» на ДВР — процесс раскрытия активной вершины,
выбранной в соответствии с некоторой стратегией.
Ветвь — ребро или дуга, входящая в дерево.
Взвешенный по вершинам (дугам) граф — граф, у которого вершинам
(дугам) назначены веса в виде числовых значений или коэффициентов.
Висячая вершина ДВР — вершина, у которой нет исходящих дуг.

73
«Волновое ветвление» — стратегия «ветвления» на ДВР в методе
ветвей и границ, реализующая следующее правило выбора активной вершины:
в качестве активной выбирается вершина с наименьшим значением нижней
граничной оценки (НГ) среди всех висячих вершин всех уровней декомпозиции.
Гамильтонов граф — граф, в котором можно найти гамильтонов цикл
или гамильтонов контур.
Гамильтонов контур — простой контур в орграфе, который проходит
через все вершины графа.
Гамильтонов цикл — простой цикл в неориентированном графе,
который проходит через все вершины графа.
Граф — топологическая фигура, состоящая из совокупности точек
(вершин, узлов), отображающих основные этапы процесса или элементы
сложного объекта, и линий (ребер, если ориентация этих линий не имеет
значения; дуг, если линии ориентированы), которые соединяют определенные
пары этих вершин и отображают взаимосвязи между ними. Граф как
математический объект — совокупность G (V , E ) двух множеств — непустого
множества вершин V ≠ ∅ и множества Е неупорядоченных и/или
упорядоченных пар элементов множества вершин V.
Граф редукции задачи (комбинированный И/ИЛИ-граф) — дерево
декомпозиции исходных задач (пространство подзадач).
Дерево — связный граф, не содержащий циклов. Любое дерево с n
вершинами содержит n-1 ребер для неориентированного графа (ветвей для
ориентированного графа).
Дерево вариантов решений (ДВР) — прадерево с корнем, вершинам
которого соответствуют состояния, а дугам — операторы, преобразующие
текущие состояния.
Дерево декомпозиции исходных задач (пространство подзадач) — граф
редукции задачи (комбинированный И/ИЛИ-граф)
Дискретное программирование — область математики, занимающаяся
исследованием и решением экстремальных задач на конечных множествах.
Дискретный анализ — область математики, занимающаяся изучением
свойств структур финитного (конечного) характера, которые возникают как в
самой математике, так и в области её приложений. К числу таких конечных
структур могут быть отнесены, например, конечные группы, конечные графы

74
Дуга – упорядоченная пара вершин графа (задана направленность связи
между этими вершинами).
Задача о коммивояжёре — классическая комбинаторная задача,
имеющая следующую постановку. Дано: N городов; коммивояжёр должен
выехать из некоторого начального города и, объехав все города только по
одному разу, вернуться в исходный город. Необходимо выбрать такой
оптимальный маршрут, т.е. указать такую последовательность посещения
городов, для которой суммарная длина пути коммивояжёра будет наименьшей.
И-вершины — конъюнктивные вершины дерева декомпозиции задач
комбинаторной оптимизации. Для разрешения подзадачи, соответствующей
конъюнктивной вершине, необходимо разрешить одновременно все подзадачи,
соответствующие ее вершинам-потомкам.
Изоморфные (эквивалентные графы) — два графа являются
изоморфными, если они имеют одинаковое число вершин и одинаковое число
ребер (дуг) и при этом каждой паре вершин, соединенных ребром (дугой), в
одном графе соответствует такая же пара вершин, соединенных ребром (дугой),
в другом графе. Для ориентированных графов для каждой такой пары вершин
ориентация дуг должна быть одинаковой.
И/ИЛИ-граф — дерево декомпозиции исходных задач комбинаторной
оптимизации на подзадачи.
ИЛИ-вершины — дизъюнктивные вершины дерева декомпозиции задач
комбинаторной оптимизации. Для разрешения подзадачи, соответствующей
дизъюнктивной вершине, достаточно разрешить любую из подзадач,
соответствующих ее вершинам-потомкам.
Имплицитное ДВР — дерево вариантов решений, которое задается
указанием корневой вершины и некоторой порождающей процедуры, которая
позволяет построить все остальные вершины ДВР (пространство решений
задано неявно).
Инцидентная ребру (дуге) вершина — начальная или конечная точка
ребра (дуги).
Инцидентность в графе – отношение принадлежности (связи,
соединения) между вершинами и ребрами (дугами) графа. Ребро (дуга) и любая
из его (её) двух вершин называются инцидентными.
Комбинаторика — см. Комбинаторный анализ.
Комбинаторная математика — см. Комбинаторный анализ.
75
Комбинаторная конфигурация — см. Комбинаторный анализ.
Комбинаторная оптимизация — реализация некоторого алгоритма
перечисления комбинаторных конфигураций с целью поиска среди них
оптимальной конфигурации в соответствии с выбранным критерием
эффективности.
Комбинаторные задачи классические – задачи выбора и расположения
элементов конечного множества, имеющие в качестве исходной некоторую
формулировку развлекательного характера типа головоломок (например, задача
о «Кругосветном путешествии», сводящаяся к поиску гамильтоновых циклов в
графе; задача о коммивояжёре (частный случай задачи о «Кругосветном
путешествии»); задача о назначениях; задача о кёнигсбергских мостах и др.).
Комбинаторный анализ (комбинаторная математика,
комбинаторика) — раздел математики, посвящённый решению задач выбора и
расположения элементов некоторого, обычно конечного, множества в
соответствии с заданными правилами. При этом каждое такое правило
определяет способ построения некоторой конструкции из элементов исходного
множества, называемой комбинаторной конфигурацией.
«Комбинаторный взрыв» — неполиномиальное расширение
пространства состояний при увеличении размерности задачи.
Контур простой — маршрут, в котором все дуги различны и имеют
одинаковую направленность.
Критерий оптимизации — см. Критерий эффективности (КЭ).
Критерий эффективности (КЭ) (критерий оптимизации, целевая
функция) — обобщенный показатель и правило выбора лучшего решения.
«Лучевое ветвление» — это стратегия «ветвления» на ДВР в методе
ветвей и границ, реализующая до достижения в процессе «ветвления»
последнего уровня декомпозиции следующее правило выбора активной
вершины: в качестве активной выбирается вершина с наименьшим значением
нижней граничной оценки (НГ) среди всех висячих вершин, образовавшихся на
последнем рассмотренном уровне декомпозиции. Далее активная вершина
ищется на ближайшем снизу уровне, и процедура ветвления повторяется до
достижения последнего уровня декомпозиции.
«Луче-волновое ветвление» — это стратегия «ветвления» на ДВР в
методе ветвей и границ, реализующая правило выбора активной вершины для
стратегии «лучевое ветвление» до достижения в процессе «ветвления»
76
последнего уровня декомпозиции; затем в качестве активной выбирается
вершина с наименьшим значением нижней граничной оценки (НГ) среди всех
висячих вершин всех уровней декомпозиции (в соответствии с правилом
выбора активной вершины для стратегии «волновое ветвление»); далее снова
реализуется правило выбора активной вершины для стратегии «лучевое
ветвление» до достижения последнего уровня декомпозиции.
Маршрут в графе — чередующаяся непрерывная последовательность
вершин и ребер (дуг).
Математика — наука о количественных отношениях и
пространственных формах действительного мира.
Математическая модель ХТС – модель ХТС, в формализованном виде
отображающая не только физико-химическую сущность входящих в систему
химико-технологических процессов (ХТП), но и особенности технологических
взаимосвязей между отдельными ХТП, имеющими каждый в отдельности
разные, а иногда и противоречивые цели функционирования.
Матрица (двухстрочная) дуг [L] некоторого орграфа G (V,U) – это
матрица порядка (2 × е), где е — число дуг в графе, с элементами:
[l1j] = номеру n-й вершины, из которой j–я дуга выходит;
[l2j] = номеру m-й вершины, в которую j–я дуга входит.
Матрица смежности [H] некоторого орграфа G (V,U) — это матрица
порядка (v×v), где v — число вершин в графе, со строками и столбцами,
соответствующими вершинам графа, элементы которой:
]hij] =0, если i–я вершина не связана дугой с j–й вершиной;
]hij] =1, если i–я вершина связана дугой с j–й вершиной; при этом дуга
ориентирована из i-й в j-ю вершину (существует
направленная связь из вершины vi в вершину vj).
Метод — последовательность (совокупность) приемов и операций
теоретического и практического освоения действительности, подчиненных
решению конкретной задачи.
Метод «ближайшего города» — эвристический метод решения задачи о
коммивояжёре, в котором предполагается, что коммивояжёр использует
эвристическое правило переезда всегда только в тот город, расстояние до
которого из текущего города минимально.

77
Метод ветвей и границ (МВГ) — метод дискретного программирования,
позволяющий значительно сократить объем упорядоченного (направленного)
ограниченного перебора вариантов решений (особенно для прикладных задач,
учитывая ряд ограничений), соответствующих вершинам дерева вариантов
решений (ДВР) с использованием функции ветвления, нижней и верхней границ
(НГ и ВГ).
Моделирование — процесс исследования реальной системы,
включающий построение модели, изучение ее свойств и перенос полученных
сведений на моделируемую систему.
Модель — объект, который имеет сходство в некоторых отношениях с
прототипом и служит средством описания и/или объяснения, и/или
прогнозирования поведения прототипа.
Неориентированный (ненаправленный) граф — граф, содержащий
только ребра.
Нижняя граница (НГ) для вершины ДВР — это «стоимость» (значение
оценочной функции — функции «ветвления») промежуточного решения,
полученного при образовании данной вершины в методе ветвей и границ.
Нуль-граф — граф, в котором нет связей между вершинами.
Однородные ХТС — ХТС, состоящие из одного вида элементов, в
которых протекают одинаковые ХТП (реакторные системы, теплообменные
системы, системы ректификации, системы абсорбции, экстракции и т. п.).
Однородные ХТС, как правило, соответствуют технологическим блокам
производств.
Оптимизация — целенаправленная деятельность, обеспечивающая
получение наилучших в определенном смысле результатов при
соответствующих условиях и ограничениях.
Ориентированный (направленный) граф — граф, содержащий только
дуги.
Остовное дерево (остов) графа — подграф исходного графа,
содержащий все его вершины и являющийся деревом.
Остовный подграф — подграф, содержащий все вершины исходного
графа.

78
Произвольная декомпозиция — при декомпозиции задач на подзадачи
(редукции) на каждом шаге образуются дизъюнктивные вершины с двумя
подзадачами, не являющимися элементарными (тривиальными).
Простая цепь — маршрут, в котором все вершины цепи различны.
Простой цикл — замкнутая простая цепь.
Пространство подзадач (дерево декомпозиции исходных задач) — граф
редукции задачи (комбинированный И/ИЛИ-граф).
Пространство состояний — пространство множества возможных
вариантов альтернативных решений задачи.
Пространство состояний ХТС — это вся совокупность наборов
выходных переменных ХТС на некотором интервале времени наблюдения Δτ.
Ребро — неупорядоченная пара вершин графа (задана направленность
связи между этими вершинами).
Редукция — процесс разбиения (декомпозиции) задачи на подзадачи.
Решающий подграф графа редукций — фрагмент дерева редукций с
корнем в начальной вершине, у которого все висячие вершины соответствуют
разрешимым задачам, причем указанные вершины являются конъюнктивными.
Решение задачи в пространстве состояний — последовательность
операторов, преобразующих начальное состояние задачи в конечное, которое
соответствует полному решению задачи.
Синтез ХТС — это операция создания ХТС для производства заданной
химической продукции с учетом определенных требований к
функционированию ХТС, а также различных физико-химических и
технологических ограничений на их выполнение. Эта операция включает выбор
химического способа производства целевых продуктов, разработку
технологической топологии системы (выбор видов ХТП, типа конструкций
каждого элемента, выбор структуры и определение покомпонентного состава
технологических связей между элементами), определение конструкционных и
технологических параметров каждого элемента, обеспечивающих
функционирование ХТС при оптимальной величине критерия эффективности и
оптимальных показателях свойств ХТС.
Синтез ХТС как инженерно-техническая операция — это создание
принципов и способа функционирования ХТС; разработка структуры ХТС,

79
определение параметров и характеристик, входящих в систему ХТП, которые
обеспечивают требуемые цели функционирования ХТС.
Система — совокупность элементов и связей между ними, обладающая
определенной целостностью.
Смежные вершины — две вершины, инцидентные одной дуге.
Смежные дуги — дуги, инцидентные одной вершине (связанные с одной
вершиной).
«Смешанное ветвление» — стратегия упорядоченного полного перебора
(генерирования) вершин ДВР, при которой до получения на последнем уровне
декомпозиции ДВР некоторого полного решения исходной задачи используется
стратегия «ветвление в глубину», затем применяется «ветвление в ширину», т.е.
активную вершину можно выбирать из числа всех имеющихся в данный момент
висячих вершин на всех уровнях декомпозиции ДВР. Как только активная
вершина выбрана, вновь применяется стратегия «ветвление в глубину».
Смешанный граф — граф, содержащий как направленные (дуги), так и
ненаправленные (ребра) связи между вершинами.
Состояние ХТС — это набор выходных переменных ХТС, которые
полностью характеризуют функциональные системы в каждый момент
времени.
Стирлинга формула ( n!= (2π ⋅ n) ⋅ n n ⋅ e − n ) — приближенная формула для
расчета величины факториала, где n — натуральное число.
Стратегия «ветвления» на ДВР — определяет правило выбора
активной вершины на ДВР для ее дальнейшего раскрытия («ветвления»).
Теплообменная система (ТС) — однородная подсистема химико-
технологической системы (ХТС), обеспечивающая нагрев или охлаждение
технологических потоков ХТС до заданных конечных температур с
использованием рекуперативных теплообменников или внешних
энергоносителей.
Технологическая топология ХТС – это строение и внутренняя форма
организации системы, отражающая состав элементов ХТС и характер
взаимосвязей между элементами.
Топологическая фигура — фигура, свойства которой инвариантны
(неизменны) к взаимно однозначному и взаимно непрерывному
преобразованию.

80
Упорядоченного ограниченного перебора (генерации) вершин ДВР
методы — методы, позволяющих отсекать вершины ДВР, соответствующие
неперспективным подмножествам решений, с использованием функции
«ветвления» и некоторых оценок перспективности подмножеств решений —
нижней и верхней границ (НГ и ВГ).
Упорядоченного ограниченного перебора решений методы — методы, в
которых множество возможных решений определенным образом разделяется
(декомпозируется, или структурируется) с целью последующего исключения
заведомо неперспективных подмножеств решений.
Уровень декомпозиции графа редукции задачи (комбинированного
И/ИЛИ-графа) — множество вершин пространства подзадач, удаленных на
одинаковое расстояние от корня (по числу дуг).
Уровень декомпозиции ДВР (дерева вариантов решений) — множество
вершин ДВР, удаленных на одинаковое расстояние от вершины-корня (по
числу дуг).
Функция «ветвления» — это некоторый критерий, который позволяет
выбрать активную вершину ДВР (наиболее перспективную для раскрытия, или
декомпозиции, висячую вершину) из подмножества всех висячих вершин,
определённого выбранной стратегией «ветвления».
Химико-технологическая система (ХТС) — это целенаправленная
совокупность процессов, аппаратов и машин химической технологии, которая
обеспечивает проведение требуемых технологических операций химической и
физической переработки сырья в продукты потребления и в промежуточные
продукты.
Целевая функция – см. Критерий эффективности.
Цепь — маршрут, в котором все ребра различны.
Цикл в орграфе — любая замкнутая простая цепь, при этом направления
дуг, образующих цикл, не обязательно должны совпадать (в этом состоит
отличие цикла от контура).
Эвристика (эвристическое правило) — это правила, которые могут быть
разработаны на основе обобщения опыта решения однотипных задач
оптимизации и позволяющие существенно сократить число просматриваемых
альтернативных вариантов решений за счет генерации только рациональных
решений.

81
Эксплицитное ДВР — дерево вариантов решений, вся информация о
котором задана в явном виде с помощью матриц.
Элементарная декомпозиция — при декомпозиции задач на подзадачи
(редукции) на каждом шаге образуется дизъюнктивная вершина с двумя
подзадачами, одна из которых — элементарная (тривиальная).
Эффективность «стратегии (или процедуры) ветвления» на ДВР —
доля исключенных из рассмотрения (неперспективных) вершин ДВР, т.е.
v(G ) − v(G ' )
ψ = ⋅ 100 % ,
v(G )
где v(G) – число вершин в полном ДВР, v(G’) — число вершин в усеченном
ДВР, построенном с использованием МВГ.
Чем больше вершин исключено из рассмотрения, тем выше
эффективность стратегии, или «процедуры ветвления». Корневую вершину
можно не учитывать, так как для ее построения не требовался расчет критерия.
NP-полная задача (задача неполиномиальной сложности) —
факториал n! (где n — натуральное число) с увеличением n растет быстрее,
чем любой полином от n, и быстрее, чем exp(n). Возникает проблема так
называемого «комбинаторного взрыва» (неполиномиальное расширение
пространства состояний при увеличении размерности задачи).

82
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Кафаров В. В., Мешалкин В. П. Анализ и синтез химико-технологических
систем, — М.: Химия, 1991. — 432 с.
2. Мешалкин В. П. Экспертные системы в химической технологии. Основы
теории, опыт разработки и применения — М.: Химия, 1995. — 368 c.
3. Кофман А. Введение в прикладную комбинаторику — М.: Наука, 1975. —
480 с.
4. Кристофидес Н. Теория графов: алгоритмический подход — М.: Мир,
1978. — 432 с.
5. Андерсон Дж. Дискретная математика и комбинаторика. — Изд-во:
Вильямс, 2003. — 960 с.
6. Бондарев В. Н., Аде Ф. Г. Искусственный интеллект: учеб. пособие для
вузов. — Севастополь: СевНТУ, 2002 — 425 c.
7. Новиков Ф. А. Дискретная математика для программистов — С-Пб.: Питер,
2001. — 367 c.

83
Учебное издание

МЕШАЛКИН Валерий Павлович


ЗАХОДЯКИН Глеб Викторович
ХОДЧЕНКО Светлана Михайловна

МЕТОДЫ КОМБИНАТОРНОЙ
ОПТИМИЗАЦИИ
Метод ветвей и границ в решении
задач химической технологии и логистики

Редактор Р. Г. Чиркова

Подписано в печать 02.09.13 г. Формат 60х84 1/16.


Усл. печ. л. 4,88. Уч.-изд. л. 5,02.
Тираж 300 экз. Заказ 136

Российский химико-технологический университет им. Д. И. Менделеева


Издательский центр
Адрес университета и издательского центра:
125047 Москва, Миусская пл., д. 9

84