/
Текст
ю
с.
. П. ЗАЙЧЕНКО
^АЛЛУМИЛОВА
Исследование
операций
СБОРНИК ЗАДАМ
Ю.П. ЗАЙЧЕНКО
С. А. ШУМИЛОВА
Исследование
операций
СБОРНИК ЗАДАЧ
Допущено
Министерством высшего
и среднего специального
образования УССР
в качестве учебного
пособия
для студентов вузов,
обучающихся
по специальностям
^Автоматизированные
системы обработки
информации
и управления»
и «Прикладная
математика»
2-е издание,
переработанное
и дополненное
КИЕВ
«ВЫЩА ШКОЛА*
199Q
ББК 22.18я73
3-17
УДК 517.93 (076.2)
Р е ц е н з е н т: д-р физ.-мат. наук, проф. Я. Я. Ляшенко
(Киевский государственный университет)
Редакция литературы по информатике и автоматике
Редактор Ж. Л Давиденко
Зайченко Ю. IL, Шумилова С* А<
3-17 Исследование операций: Сборник задач.— 2-е изд.» перераб.
и доп.—К.: Выща шк.» 1990.— 239 с. : ил.
ISBN 5-11-002271-2
Сборник содержит задачи по линейному, нелинейному, дискретному,
динамическому и стохастическому программированию.
Во втором издании (1-е изд.— 1984 г.) значительно расширены и допол-
нены главы, относящиеся к линейному и нелинейному программированию.
В частности, включены задачи и примеры по численным методам оптимиза»
ции, методу штрафных функций, методу возможных направлений. Приве-
дены необходимые теоретические сведения и описание основных методов,
х применение которых иллюстрируется решением конкретных примеров.
Для студентов вузов, обучающихся по специальностям «Автоматизи-
рованные системы обработки информации и управления» и «Прикладная
математика».
о 2402000000-069
3 М211 (04)—90 113*90
ISBN 5-11-002271-2
ББК 22.18я73
© Издательское объединение
«Выща школа», 1984
© Ю.П. Зайченко,
С/А. Шумилова, 1990
2
ОГЛАВЛЕНИЕ
Предисловие ко второму изданию Из предисловия к первому изданию 4
Глава /. Линейное программирование 5
1.1. Содержательные задачи линейного программирования 5
1.2. Общая постановка задачи ЛП и ее свойства 12
1.3. Графический метод решения задачи ЛП 14
1.4. Табличный симплекс-метод 1.5. Решение задачи ЛП с любым видом ограничений с помощью искус- 16
ственных переменных (метод искусственного базиса) 1.6. Двойственность в линейном программировании 1.7. Двойственный симплекс-метод 20 i
1.8. Модифицированный симплекс-метод 41
1.9. Анализ модели на чувствительность 45
1.10. Метод декомпозиции Данцига — Вульфа 52
1,11. Транспортные задачи 66
Глава 2. Дискретное программирование 75
2.1. Метод отсекающих плоскостей 75
2.2. Метод ветвей и границ в задачах ЛЦП 79
Глава 3, Нелинейное программирование 87
3,1. Метод множителей Лагранжа 87
3.2. Теорема Куна — Таккера в нелинейном программировании 91
$.3. Квадратичное программирование 93
3.4. Геометрическое программирование 101
3.5. Методы поиска экстремума без ограничений 113
3.6. Прямые методы поиска 126
3.7. Методы возможных направлений 141
3.8. Me годы штрафных функций 156
Глаза 4. Динамическое программирование 168
4.1. Общая схема метода 168
4.2. Динамические задачи управления запасами 175
4.3. Бесконечно-шаговые задачи динамического программирования 4.4. Динамическая задача управления запасами при бесконечном плано- 178
вом периоде 184
4.5. Динамическое программирование на марковских цепях 194
Глава 5. Стохастическое программирование 204
5.1. Одноэтапные задачи стохастического программирования 204
5.2. Двухэтапные задачи стохастического программирования 211
Ответы 233
Список использованной литературы 239
ПРЕДИСЛОВИЕ КО ВТОРОМУ ИЗДАНИЮ
Настоящий сборник задач является второй книгой из комплек*
са учебной литературы по исследованию операций для специаль*
ностей «Автоматизированные системы обработки информации и уп-
равления» и «Прикладная математика». В сборнике подобраны и
систематизированы задачи и примеры по основным разделам кур-
са — линейному, нелинейному, динамическому и стохастическому
программированию. Каждая глава содержит необходимые теорети-
ческие сведения и описание соответствующих методов и алгоритмов
оптимизации. Материал излагается в соответствии с учебником
Ю. П. Зайченко «Исследование операций» (3-е изд., 1988).
Второе издание (1-е изд., 1984) значительно дополнено нелиней-
ным программированием, включен материал по современным чис-
ленным методам поисковой оптимизации, методу возможных нап-
равлений, проекции градиента, методу штрафных функций. Глава
по линейному программированию дополнена исследованием моделей
задач ЛП на чувствительность. Применение методов иллюстри-
руется числовыми примерами с подробным объяснением решения,
что позволяет использовать сборник для самостоятельной работы.
।
Из предисловия к первому изданию
Идея подготовки и написания настоящей книги обусловлена
потребностью в методическом обеспечении практических занятий,
проводимых по курсу ’’Исследование операций”. Если теоретическая
часть этого курса достаточно полно отражена в монографиях, учеб-
никах и учебных пособиях, то пособия, предназначенные для про-
ведения практических занятий, до сих пор практически отсутствуют.
Известные задачники по математическому программированию, на-
пример [9, 10], охватывают не все разделы курса, в частности не
включают динамическое и стохастическое программирование.
Глава 1
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
I.I. СОДЕРЖАТЕЛЬНЫЕ ЗАДАЧИ ЛИНЕЙНОГО
ПРОГРАММИРОВАНИЯ
Линейное программирование (ЛП) — это раздел математического программи-
рования, в котором рассматриваются методы решения экстремальных задач с ли- t
Нейным функционалом и линейными ограничениями, которым должны удовлетво- !
рять искомые переменные.
Рассмотрим несколько простых примеров содержательной постановки задач
линейного программирования и построим их математические модели. “
Задача об использовании сырья
Предположим, что некоторое предприятие после выполнения
основной производственной программы располагает запасами сэко-
номленного сырья трех видов — sx, s2, з3 соответственно в количе-
ствах blt Ь2, Ь3 условных единиц. Из этого сырья может быть изго-
товлено два вида изделий — Рх и Р2. Известны: ац — количество
единиц S/-ro вида сырья, идущего на изготовление единицы Р,-го
вида изделия, и С/ — доход, получаемый от реализации одной еди-
ницы каждого вида изделия. Все указанные величины представлены
в табл. 1.1.
Задача сводится к тому, чтобы составить такой план выпуска
продукции, при котором доход предприятия от реализации всей
продукции был бы максимальным.
Для построения математической модели данной задачи введем
следующие обозначения: хг — количество единиц изделий вида Ри
х2 — количество единиц изделий вида Р2, которые может выпускать
предприятие.
Зная количество сырья каждого вида, идущее на изготовление
одной единицы изделия, и запасы сырья можем составить систему
ограничений, определяющую область возможных значений хх и х2:
Зхх -f- х2^^21;
2хх + Зх2 30;
2х2^ 16.
Полученная система ограничений устанавливает, что количество
сырья, расходуемое на изготовление всех изделий, не может пре-
высить имеющихся на предприятии запасов. Исходя из физического
смысла, на переменные налагаются дополнительные ограничения,
требующие неотрицательности их значений: хх 0, х2 О (хх и х2
будут равны нулю, если соответствующий вид изделия не вы-
пускается). Тогда доход, получаемый предприятием от реализации
хх единиц изделий Рх и х2 единиц изделий Р2, составит F = Зхх+
+ 2х2.
5
Окончательно задача формулируется следующим образом.
Найти такой вектор X = |хх, х2|, при котором достигается мак-
симум целевой функции F = Зхг 4- 2х2 и выполняется следующая
система ограничений:
3X1“}- х2^2Г,
2хх 4- Зх2 30»
2х2^ 16;
хх >0, х2 > 0.
В общем случае математическая модель такой задачи имеет сле-
дующий вид.
Найти вектор X = ] х1э х2, ...» х„|, максимизирующий функцию
F = cixi + с2хг + ••• + спхп при ограничениях
anXi + а12х2 + »• • + ащхп <
a2ixi + а22х2 -}- ••• +а2пхп^Ь2;
OmlXi 4~ dm2x2 4* • ‘ • 4“ Отпхп Ьт’
xz> 0, / = 1, ..., п. Таблица 1.1
Вид сырья Запас сырья Расход сырья на изделие
Pt Р,
«I 21 (6Х) 3(ап) 1(а12) $2 30 (Ь2) 2 (021) 2 (О22) S3 16 (Ь3) 0 (o3i) 3 (о32)
Примечание. Прибыль от продажи единицы изделия Р± равна 3 руб.{ от
продажи единицы изделия Pt — 2 руб.
Задача об использовании мощностей
Предположим, что предприятие должно за время Т выполнить
или, если это возможно, перевыполнить план производства двух
видов изделий Pt и Р2. Для производства каждого вида изделий
может быть использовано оборудование групп Лх и А2. Производи-
тельность оборудования этих групп различна и определяется вели-
чиной aij, где i — индекс, отмечающий вид оборудования, / — ин-
декс, отмечающий вид продукции. Стоимость единицы времени ра-
боты оборудования при изготовлении одной единицы продукции
выражается величиной bjf, i = 1, 2; / = 1, 2.
Требуется составить оптимальный план работы групп оборудо-
вания, при котором будет выполнен план выпуска продукции с ми-
нимальной себестоимостью и в заданный срок. Плановое количество
изделия Pi составляет штук, а Р2 — N2 штук. Характеристики
процесса производства изделий с помощью оборудования различных
групп представлены в табл. 1.2.
6
Введем следующие переменные: хп — количество единиц машин-
ного времени, в течение которого первая группа оборудования бу-
дет производить первый вид изделий; х1а — количество единиц
машинного времени, в течение которого первая группа оборудова-
Ния будет производить второй вид изделия. Переменные ха1, хи
имеют аналогичный смысл.
Таблица 1,2
Группа обо- рудования Производительность оборудо- вания, шт/усл/ед Цена единицы времени рабо- ты оборудования
Pt РЛ
<*11 а12 Ju ^is
At <*21 ^22
Составим систему ограничений, учитывающую плановый период
Т (условных единиц времени) и плановые задания по каждому виду
йзделий ЛГр М2:
Хц 4* Xjg == У$
ха 4“ хм D У1
аиХц + «21^21
012^12 4" ^22^22 №2*
На переменные хи, х12> х21, х22 налагаются дополнительные
ограничения, требующие неотрицательности их значений, что вы-
текает из физического смысла самих переменных:
Хц 0, Xj2 0. ^21 ^22 0.
Стоимость изготовления продукции можно записать в виде сле-
дующей целевой функции:
F = ЬцХц 4- &12^12 + ^21^21 4” ^22^22-
Тогда окончательно задача сформулируется следующим образом.
Требуется найти такой план X = ||х</|, i = 1, 2, / = 1, 2,
при котором достигается минимум значения целевой функции
F = 6цХц Ь12Х12 4- ^21*21 4" ^22^-22
и выполняются следующие ограничения:
хп 4- х12 = Tj
Х21 4- Х22 == У»
апхн 4~ Я21Х21 ЛГ1»
^12^12 4” ^22^22 №2’
t=l,2, /=1, 2.
Приведенные упрощенные примеры дают определенное представ-
ление о содержательных постановках и математических моделях
задач линейного программирования. Реальные задачи намного
сложнее. В них значительно труднее установить связи между
7
управляемыми и неуправляемыми переменными, число которых до-
стигает сотен и даже тысяч.
В рамках ЛП решаются самые различные задачи оптимизации
из области экономики, управления промышленными объектами, со-
циальными, военными и прочими системами. Размерность таких
задач очень велика и отыскание их решения затруднительно без
применения ЭВМ.
Наиболее распространенным универсальным методом решения
задач ЛП является симплекс-метод. -Существуют в ЛП и специаль-
ные методы, которые учитывают особенности математической моде-
ли задачи.
Записать математические модели следующих задач.
Задача 1. Механический цех может изготовить за смену 600 де-
талей № 1 или 1200 деталей № 2. Производственная мощность
термического цеха, куда эти детали поступают на термообработку
в тот же день, позволяет обработать за смену 1200 деталей № 1 или
800 деталей № 2. Цены на детали одинаковые. Определить ежеднев-
ную производственную программу выпуска деталей, максимизи-
рующую товарную продукцию предприятия, при следующих допол-
нительных условиях:
а) оба цеха работают одну смену;
б) механический цех работает три смены, а термический — две
смены;
в) предприятие работает в две смены, при этом деталей № 1
должно быть изготовлено не более 800 шт. и деталей Яг 2 — не более
1000 шт.
Задача 2. Из пункта А в пункт В ежедневно отправляются пас-
сажирские и скорые поезда. В табл. 1.3 указаны количество ваго-
нов разных типов, из которых ежедневно можно комплектовать
поезда, и число пассажиров, на которое рассчитаны вагоны. Оп-
ределить оптимальное число скорых и пассажирских поездов, при
Котором количество перевозимых пассажиров будет максимальным.
Таблица 1,3
Багов Парк вагонов Поезд Число пасса- жиров
скорый пассажирский
Багажный 12 1 1
Почтовый 18 1 —
Жесткий 89 5 8 58
Купейный 79 6 4 48
Мягкий 35 » 4 2 32
Задача 3. Решить задачу 2 при условии, что пропускная сиособ-
ность дороги ограничивает число пассажирских поездов до шести
в дань.
Задача 4. Три механизма I, II, и III могут выполнять три вида
земляных работ Л, В и в. В табл. 1.4 указаны ресурсы рабочего
8
времени каждого механизма, производительность механизмов при
выполнении различных работ и стоимость одного часа работы ме-
ханизма.
А. Определить максимальную загрузку механизмов при макси-
мальном суммарном объеме выполненных работ.
В. Определить оптимальную загрузку оборудования, обеспечи-
вающую максимальный объем работ при соблюдении условия ком-
плектности а : b : с = 1:2:3.
Таблица 1,4
Механиз- Производительность, м8/ч Удельная стоимость, руб./ч Ресура временй
АВС АВС
I 30 20 40 ? 4 3 400 II 20 30 50 3 2 5 300 П1 00 40 20 5 3 6 230
В. Найти оптимальную загрузку оборудования, минимизирую-
щую суммарные затраты, при объемах работ а = 6000 м®, b =
х 50 000 м®, с = 8000 м®.
Задача 5. Авиакомпания для организации пассажирских пере-
возок между центром Ц и четырьмя городами Г1( Г2, Г3, Г4 распо-
лагает тремя группами самолетов. Первая группа состоит из 10
четырехмоторных, вторая — из 25 двухмоторных самолетов нового
образца и третья — из 40 двухмоторных самолетов старого образ-
ца. Количество пассажиров, перевозимых одним самолетом данного
типа по каждому маршруту за 1 месяц, и связанные с этим эксплуа-
тационные расходы на 1 самолет (тыс. руб.) указаны в табл. 1.5.
Количество пассажиров, которое нужно перевозить по каждому
маршруту в месяц, составляет соответственно 40, 50, 40, 30 тыс.
человек, а стоимость одного билета равна 20, 15, 18 и 30 руб. Рас-
пределить самолеты по маршрутам, исходя из условия достижения
максимальной прибыли авиакомпаний.
Таблица 1.5
Тни само- лета Количество пассажиров/Эксплуатационные расходы
Ц-П Ц-Гв ц-г, ц-г4
I 16/1.2 30/0.8 19/1.5 25/1.6
п 20/1.4 25/1.5 17/2.0 16/2.9
III 25/1.0 18/1.1 20/1.8 20/1.7
Задача 6. Нефтеперерабатывающий завод получает 4 полуфаб-
риката: 400 тыс. л алкилата, 250 тыс. л крекинг-бензина, 350 тыс. л
бензина прямой перегонки и 100 тыс. л изопентана. В результате
смешивания этих четырех компонентов в разных пропорциях об-
разуются три сорта авиационного бензина: бензин А (2 : 3 : 5 : 2),
9
бензин В (3 : 1 : 2 : 1) и бензин С (2 : 2 : 1:3). Стоимость 1 тыс. л
бензина каждого сорта равна 120 руб.» 100 руб. й 150 руб.
А. Определить соотношение компонентов, при котором будет
достигнута максимальная стоимость всей продукции.
Б. Определить оптимальное соотношение, исходя из условия
максимального использования компонентов.
Задача 7. На предприятие поступили две партии фанеры, причем
первая партия содержит 400 листов, а вторая — 250 листов фанеры.
Таблица 1.6
Йервая партия
Количество деталей, шт.
Вторая партия
К
К
Таблица 1J
Производственные фактору Затраты при различных технологиях Лимит
Л Т. 7, Л А
Сырье 15 20 12 14 18 2000
Электроэнергия 0.20 0.30 0.15 0.25 0.30 300
Накладные расхода 4 5 " 6 з ' 2 1000
Зарплата 6 3 4 6 3 1600
Из них изготовляются комплекты, включающие 4 детали 1-го типа.
3 детали 2-го типа и 2 детали 3-го типа. Один лист фанеры каждой
партии может раскраиваться тремя способами Rlt R2 и Ra. Количе-
ство деталей каждого типа, которое получается при раскрое одного
листа по тому или иному способу, представлено в табл. 1.6. Требует-
ся раскроить материал так, чтобы обеспечить изготовление макси-
мального числа комплектов.
Задача 8. Предприятие может работать по пяти технологическим
процессам (7\, Т2, Ts, Т\ и Т5), причем количество единиц выпус-
каемой продукции по разным технологическим процессам за 1 ед.
времени соответственно равно 300, 260, 320, 400 и 450 шт. В про-
цессе производства учитываются следующие производственные фак-
торы: сырье, электроэнергия, зарплата и накладные расходы. За-
траты соответствующих факторов при работе по разным технологи-
ческим процессам в течение 1 ед. времени указаны в табл. 1.7.
Йайти программу максимального выпуска продукции.
[дача 9. механический завод при изготовлении трех разных
деталей L II, III использует токарные, фрезерные и строгальные
станки. При этом обработку каждой детали можно вести тремя
10
различными технологическими способами Тх, Т2 и Т3. В табл. 1.8
указаны нормы времени при обработке детали на соответствующем
станке каждым технологическим способом, а также ресурсы (ста$-
ко-ч) каждой группы станков. Прибыль от продажи каждого вида
изделия составляет соответственно 22, 18 и 30 руб.:
а) составить оптимальный план загрузки производственных мощ-
ностей, обеспечивающий максимальную прибыль;
Таблица
Тип станка Нормы времени на обработку деталей, ч Ресурс времени
I II III
т. т9 т» тЛ 7\ Т, т3
Токарный 1 0.9 1.1 1.2 1.5 — 0.9 — — 200 Фрезерный 0.8 0.8 1.3 0.9 1.1 1.3 1.1 0.8, — 400 Строгаль- ный — 0.7 1.0 0.7 — 1.3 1.3 0.6 — 300
б) считая, что между количеством выпускаемых деталей должно
выполняться соотношение комплектности 1:2:1, определить про-
изводственную программу, обеспечивающую изготовление макси-
мального числа комплектов;
в) решить задачу (А), если число деталей II не должно превы-
шать 100 ед.
Задача 10. Для изготовления сплава из свинца, цинка, олова
определенного состава используется сырье в виде пяти сплавов из тех
же металлов, отличающихся составом и стоимостью 1 кг (табл. 1.9).
А. Определить, какое количество сплава каждого вида нужно
взять, чтобы изготовить при минимальной себестоимости сплав,
содержащий 20 % свинца, 30 % цинка и 50 % олова?
Б. Решить ту же задачу при следующих ограничениях на состав
сплава: олова — от 40 % до 60 % и цинка — от 20 % до 30 %.
В. Решить ту же задачу при следующих ограничениях на состав
сплава: олова — не более 40 % и цинка — не менее 20 %.
Таблица 1.10
Таблица 1.9
Тип сплава Содержание метал- ла, % Удельная стоимость, руб./к г
Сви- нец Цинк Оло- во
Норма времени
обработки
АВС
6. *
°* я
18
1 15 40 45 8
II 10 80 10 17
III 30 30 40 10
IV 40 25 35 12
V 10 70 20 15
I 0.3 0.1 0.2 30 50
II 0.5 0.2 0.4 20 60
III 0.4 0.5 0.3 15 40
Задача 11. Детали А, В и С можно обрабатывать на трех станках
(I, II, III). В табл. J.10 указаны нормы затрат времени на обработку
11
станком соответствующей детали, стоимость 1 ч работы станка 9
предельное время работы станка. Предполагая, что любая деталь
может обрабатываться на любом из станков, определить оптималь»
ную производственную программу по одному из следующих кри-
териев:
1) максимуму товарной продукции (Т);
2) максимуму суммарной прибыли (П);
3) минимуму суммарных затрат на обработку (S) при плане вы-
пуска деталей А 300 шт., В 500 шт., С 100 шт.;
4) максимуму числа комплектов, включающих 3 детали Л, 2
детали В и 1 деталь С;
5) максимум П при заданном ассортименте 3:2: lj
6) максимум П при заданном количестве деталей: А — 200 шт.,
В — 400 шт.» С — оОО шт.;
7) максимум загрузки станков при заданном ассортименте
3:2:1; <
8) максимальное число деталей Л» В, С при одинаковом времени
работы всех станков;
9) максимум П при условии, что каждый станок обрабатывает
только одну деталь и по плану предусмотрен выпуск всех трех де-
талей;
10) максимум суммарной производительности при условиях п. 9
и одинаковом времени работы всех станков.
Задача 11. Используя данные табл. 1.10 и предполагая, что каж-
дая деталь последовательно обрабатывается на каждом станке, со-
ставить производственную программу по одному из следующих
критериев:
1) максимуму П;
2) максимуму Т;
3) максимуму П при условии, что деталей Л — не менее 300 шт.,
деталей В — не более 200 шт.;
4) максимум Т при заданном ассортименте 3:2: 1|
5) минимум S при заданном ассортименте 1:2:3.
1.2. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ЛП И ЕЕ СВОЙСТВА
Задача, в которой требуется обратить в максимум (минимум) целевую
функцию
F(X)=£W (1,2.1)
/-1
при условиях
п
^aijxl<bh
S aijX} ~bt, 1 = s + 1, . . . s+ /; (1.2,2)
/==1
atixj^bi, / = $ + /+!,..,, m)
x/>0, /=1, ...,n (1.2.3)
12
жазырается общей задачей линейного программирования, заданной в произволь-
ной форме.
Эту задачу можно представить в векторной форме:
F (X) = СТХ-> шах (1.2,4)
при
AiXi + A2x2+ ••• +А/Ж/+ ••• +Апхд< (1.2.5)
Где А/ — вектор условий; В — вектор ограничений; С — вектор весовых коэф-
фициентов при переменных в целевой функции; X — вектор переменных.
В матричном виде задача (1.2.1) — (1,2.3) запишется следующим образом:
F (X) = СТХ -> max (min) (1.2,7)
при условиях
АХ g В; (1.2.8)
Х>0, (1,2.9)
где А == J I) — матрица размерности т X п.
Задача, в которой необходимо найти максимум целевой функции (1.2.1) при
условиях (1.2.2), приведенных к равенствам, и условиях (1.2.3), называется за-
дачей ЛП в канонической форме.
Если в задаче ЛП необходимо отыскать минимум целевой функции
п
F (X) = J] CjXj -> min,
то при приведении такой задачи к канонической форме целевая функция
F (X) = — CjXj -> шах.
Система ограничений остается без изменений.
Вектор X = (жх, х2, ...» хп), удовлетворяющий ограничениям задачи ЛП
(1.2.2), называется ее решением либо планом. Если переменные xlt х2.хп удов-
летворяют еще и условиям неотрицательности (1.2.3), то X называется допусти-
мым планом или допустимым решением. Множество R (X) допустимых планов,
представляющее собой область допустимых решений (ОДР) задачи ЛП, является
выпуклым многогранным множеством.
Допустимый план, соответствующий крайней точке множества, является опор-
ным планом, либо допустимым базисным решением задачи ЛП. Допустимый план,
обращающий в максимум (минимум) целевую функцию, называется оптимальным
планом задачи ЛП — Хопт.
• Теорема ЛП. Пусть допустимое множество R задачи линейного программи-
рования (1.2.1) — (1.2.3) является многогранником. Если функция принимает мак-
симальное значение в некоторой точке допустимого множества R, то опа принима-
ет это значение в крайней точке R. Если целевая функция принимает максималь-
ное значение более чем в одной крайней точке, то она принимает это же значение
о любой их выпуклой комбинации.
13
1.3. ГРАФИЧЕСКИЙ МЕТОД РЕШЕНИЯ ЗАДАЧИ ЛП
Графический метод основан на геометрической интерпретации задачи ЛП и
применяется для решения задач двумерного пространства. Задачи трехмерного
пространства решаются очень редко, так как построение их решения неудобно и
Лишено наглядности. Рассмотрим метод на примере двумерной задачи. —
Найти решение X » (jq, х2), удовлетворяющее системе неравенств
"4” х2 21 j
2хх 4“ Зх2 30 j
*1 > 0, х2 > 0,
при котором значение целевой функции
F (X) = Зхг + 2ха
(1.3.1)
(1.3.2)
(1.3.3)
Г
6
5
Ц
3
4
Рис 1.1
достигает максимума.
Построим на плоскости в де-
картовой прямоугольной системе
координат хгОх2 область допусти-
мых решений задачи.
Первым неравенством (1.3.1)
определяются две области на
плоскости (рис. 1.1.). Одна из
них — это область возможных
планов задачи, другая — об-
ласть, где этих плане» нет. Гра-
ницей между ними будет прямая,
которую мы Построим, заменив
неравенство равенством 3xj +
-J-x2=21. По знаку первого
неравенства находим область ре-
шения задачи. Аналогично, за-
менив неравенства равенствами,
строим прямые II, 111 и по зна-
кам неравенств определяем об-
ласть решений задачи.
Неравенства > 0 и ха > &
означают, что область решения
будет расположена справа от оси
ординат и над осью абсцисс. Та-
ким образом, заштрихованная на
рис. 1.1 область OABCD будет об-
ластью допустимых решений, оп-
ределенной ограничениями зада-
чи. Крайние точки полученной
выпуклой многогранной области
будут соответствовать допусти-
мым базисным решениям задачи (1.3.1) — (1.3.3). Значение целевой функции
г (X) » Зх3 + 2х2 можно определить в любой точке X =» (хх, х2) области допу-
стимых решений. Прямая линия, перпендикулярная вектору п = (3, 2), будет
Геометрическим местом точек X = (хь х^), в которых целевая функция принимает
одинаковые фиксированные значения. Так, в точке X' « (3, 2) и в любой точке
прямой, перпендикулярной вектору л и проходящей через точку X', значением
функции будет Г=3’3+2*2=13.
Вектор п показывает направление параллельного перемещения прямой Х'Х\
соответствующее увеличению целевой функции.
Максимального значения целевая функция достигает в крайней точке С мно-
гогранника, являющегося областью допустимых решений задачи. Координаты
точки С будут оптимальным решением задачи Хопт = (х®пт; х™1) и могут быть
14
Г I uu 111 > j i u 11 11111 MH.-illLJ.I'JU UULU LJH“HUIi '1 ' ' I...ПШМШ111ШШНЦШ1Ш1Ш.й»М«<Н>ЫМ.
15
найдены при решении уравнений
3*1+ *2 = 21}
2*1 + Зх^ == 30.
Вычислим
Рис. 1.8
Рис. 1.9
Область допустимых решений системы может быть пустой, если система огра-
ничений несовместна (рис. 1.2), одной точкой (рис. 1.3), выпуклым многогран-
ником (рис. 1.4) и неограниченной выпуклой многогранной областью (рис. 1.5).
Для вариантов, представленных на рисунках ограниченной областью до-
пустимых решений, могут встретиться два случая:
максимум целевой функции достигается в единственной точке (рис. 1.6);
максимальное значение целевой функции иметь место в двух вершинах А и
В и, следовательно, в любой точке отрезка АВ (рис. 1.7).
В случае, когда область допустимых решений является неограниченной, мо-
гут встретиться варианты:
целевая функция иметь экстремум (рис. 1.8);
функция не ограничена сверху и снизу, т. е. Fmax = оо, Fmin = — оо
{рис. 1.9).
1.4. ТАБЛИЧНЫЙ СИМПЛЕКС-МЕТОД
Симплекс-метод является наиболее распространенным универсальным вы-
числительным методом, который может быть применен для решения любых задач
линейного программирования как вручную, так и с помощью ЭВМ.
Идея метода состоит в последовательном продвижении по базисам опорных
планов задачи, т. е. в последовательном улучшении планов задачи по определен-
ному критерию, до тех пор, пока не будет получено оптимальное решение.
Рассмотрим последовательно процесс подготовки исходных данных и алго-
ритм решения задачи ЛП табличным симплекс-методом.
Для решения задачи ЛП, представленной в форме
F (X) = СТХ -> max (min) (1.4.1)
36
при условиях
АХ § В; (1.4.2)
Х>0, (1.4.3)
необходимо предварительно выполнить следующие процедуры:
привести математическую модель задач к каноническому виду;
определить начальное допустимое базисное решение задачи;
ввести в исходную симплекс-таблицу следующие параметры, соответствующие
начальному базисному решению:
весовые коэффициенты при переменных х/ в целевой функции (строка с/); пе-
ременные, которые входят в текущий базис х/ (столбец Вх); значения базисных пе-
ременных — Xi = я/0 (столбец Ао); элементы || ||, i = 1,..., /п, j = 1, ...» л, мат-
рицы условий задачи AmXn (столбцы Аь А2, Ал); оценки Д/, / = 1, л, со-
ответствующие векторам Alf А2, ..., Ал (последняя индексная строка).
Оценки Д/ определяются по формуле
д/ = г/ — с/, ./=£ Cialt, 1=1...........п. (1.4.4)
Весовые коэффициенты ci при базисных переменных проставляются в левый
столбец таблицы.
Значение целевой функции при текущем базисе
т
До =2^,0. (1.4.S)
заносится в последнюю строку столбца Ао.
Алгоритм симплекс-метода
1. Заполняется исходная симплекс-таблица по указанным выше правилам.
2. Если Д/ > 0 для всех j = 1, ..., л, то данный план является оптимальным.
3. Если имеются Д* < 0 и в столбце А^ все элементы alk < 0, то функция
не ограничена сверху на ОДР.
4. Если имеются Д/ < 0 и в столбцах А/, соответствующих этим отрицатель-
ным оценкам, существует хотя бы один элемент а/у>0, то возможен переход
к новому, лучшему плану, связанному с большим значением целевой функции.
5. Вектор Afc, который необходимо ввести в базис для улучшения плана,
определяется по наименьшей отрицательной оценке Д/. Столбец, содержащий эту
оценку, называется направляющим.
6. Вектор, который нужно вывести из базиса, определяется по отношению
{0/0 1 дг0
—-----—. Из базиса выводится вектор Аг, на котором до-
aik‘aik > ark
стирается минимум 0. Строка г (в таблице помечена стрелкой) называется направ-
ляющей.
Элемент ark, который стоит на пересечении направляющей строки и столбца,
называется направляющим.
7. Заполняется таблица, соответствующая новому базисному решению.
Все элементы таблицы определяются по следующему рекуррентному со-
отношению:
a{f
1 ari l
ац— -7Tatk
urk
— ! - при I = r,
a'k
(1.4.6)
где 1=1,2, 3......m + I; / “ 0, 1, n; I — номер итерации.
2 9-4063
1»
Значение Д/ можно определить двумя способами: а) как каждый элемент тав«
лицы по выражению (1.4.6), б) по формуле (1.4.4).
Процесс вычисления заканчивается, когда найдено оптимальное решение
(пункт 2), либо когда функция будет неограниченной на ОДР (пункт 3).
Пример 1.1. Найти максимум функции
F = 3xt4-2x2 (1-4.7)
при ограничениях
2, /. . о\
2хх + х2<6;
Xj^O, х2^0. (1.4.9)
Приведем заданную модель к каноническому виду, введя свобод-
ные переменные х3 и х4, превращающие неравенства (1.4.8) в равен-
ства:
Найти максимум
F 3xi 4- 2ха
при ограничениях
Ах А2 А3 А4 Ад
Xj — х2 4- х8 4- 0 • х4 = 2;
2хх 4- -*2 4- 0 • х8 4- х4 = 6»
X/ > 0.
Обозначим векторы условий задачи через Ах — А4, а вектор
ограничений Ао.
Таблица 1.11
с/ 0 3 2 0 0
вх Ао А1 Лг Аз А4
0 *3 2 гп -1 1 0
0 Х4 6 2 1 0 1
д 0 -3 -2 0 0
♦
В задачах такого вида о положительными свободными перемен-
ными начальное допустимое базисное решение легко определяется,
если взять в качестве начальных векторы А3 и А4, составляющие
единичную подматрицу размерности т. Начальное допустимое ба-
висное решение имеет вид X = (0, 0, 2, 6). Заносим в исходную
табл. 1.11 все необходимые данные. Элементы строки Д рассчиты-
ваем по формуле (1.4.4):
2
Дх = J} ctan — Ci = 0« 14*0*2 — 3 = — 3?
£=1
2
Д2 = 2 0(0(2 — в3 и 0 ’ (— 1) 4* 0 • 1 — 2 “ — 2t
Дз — £ — С3 = 0 ♦ 1 -}* О’О — 0 = 01
i=1
2
Д4 = S с{ац — с4 = 0 • 0 + 0 • 1 — 0 = 0.
£=1
Если начальный базис состоит из свободных переменных, для
которых ct = 0, имеем Д/ = —С/. Значение функции для данного
начального базиса будет равно нулю:
2
F = 2 ci^io = 0 • 2 4- 0 • 9 = 0.
<=1
Так как в индексной строке табл. 1.11 имеются Д/ < 0 (п. 4)
приступаем к улучшению плана.
Первая итерация. В базис вводим вектор Ап которому соответ-
ствует минимальное значение Д/. Из базиса выводим вектор А*
так' как минимальное значение 0 достигается при i = 3.
© = min U* ; = min U- ♦ 4-) = 2.
I a31 J v 1 2 j
Таким образом, элемент а31 будет направляющим.
Заполняем табл. 1.12, соответствующую новому опорному пла-
ну, пользуясь рекуррентным соотношением (1.4.6).
Таблица 1.12
<7 0 3 2 0 0
- Ао А1 А2 Аз Ад
3 Х1 2 1 -1 1 0
0 Х4 2 0 ГТ] -2 1
д 6 0 -5 3 0
t
Приведем расчет нескольких элементов табл. 1.12:
дСОдП) О о
„<2> _ 3041 _ С 2- 2 _ 9.
$40 — ^40 (j) О “*— । — Z»
а31
_(2) _ „<0 _ 33g41 _ п 2 • 1 _ 9
&43 ^*43 до) U । — 2.
в31
После заполнения табл. 1.12 переходим к п. 2 алгоритма. Тая
как в строке оценок полученного нового плана имеются отрицатель-
ные значения Д/, приступаем ко второй итерации, продолжая улуч-
шать план.
Результаты второй и третьей итерации приводятся в табл. 1.13
Поскольку все Д/^0, то план, представленный в табл. 1.14»
будет оптимальным ХОпт = (0, 6, 8, 0), Fmax — 12.
Таблица /. 13
<7 0 3 2 0 0
Вх Ао А1 А2 Аз А4
3 Х1 22/3 1 0 I 1/31 1/3
2 Х2 2/3 0 1 -2/3 1/3
д 91/3 0 0 -1/3 5/3
Таблица 1.14
С1 0 3 2 0 0
Ао А1 А2 Аз А4
0 *2 8 3 0 1 1
2 х3 6 2 1 0 1
д 12 1 0 0 2
Если требуется отыскать минимальное значение целевой функции, можно пе-
рейти к задаче на максимум, записав Fmax = (—1) Fmln, и решать ее по приведен^
ному алгоритму. Однако такая процедура не обязательна, так как описанный ал-
горитм позволяет решать и задачу минимизации. В этом случае оптимальный план
будет получен тогда, когда все Д/ 0. Следовательно, если среди оценок началь-
ного опорного плана (либо плана, полученного на /-й итерации) имеются Д/ > 0 и
в соответствующих им столбцах есть положительные элементы > 0, то такой
план можно улучшить. Если несколько векторов имеют Д/ > 0, в базис вводится
тот, у которого оценка больше. Затем выполняем пп. 6, 7 алгоритма и проверяем
полученный план на оптимальность.
1.5. РЕШЕНИЕ ЗАДАЧИ ЛП С ЛЮБЫМ ВИДОМ ОГРАНИЧЕНИЙ
С ПОМОЩЬЮ ИСКУССТВЕННЫХ ПЕРЕМЕННЫХ
(МЕТОД ИСКУССТВЕННОГО БАЗИСА)
Если система ограничений представлена неравенствами вида > либо равен-
ствами, начальный опорный план не может быть найден так же просто, как в рас-
смотренном примере. В таких случаях начальный опорный план отыскивают с
помощью искусственных переменных.
Пример 1.2. Найти максимум функции
F == 2хх + Зх2 — 5х3
при ограничениях
2%1 + х2 — хз > 7;
Xi + 2ха + х3 > 6;
xi + 4х3 = 8;
0, / = 1, 3.
(1.5.1)
(1.5.2)
(1.5.3)
20
Приведем задачу к каноническому виду:
Fmax = 2X1 Ч" Зх2 — 5х2 (1.5.4)
при ограничениях
2xi + — xs — х4 = 7;
Xi + 2x2 + xs — х5 = 6; (1.5.5)
Xi + 4х2 = 8;
Х/>0, / = ТГЗ. (1.5.6)
Так как система (1.5.5) не решена относительно положительного
единичного базиса, введем в нее три искусственные переменные хв)
Таблица 1.15
ci 0 2 3 -5 0 0 -м -м —/И
вх Ао А1 А2 Аз А4 А5 А6 А7 а8
-м х6 7 2 1 -1 -1 0 1 0 0
-м Х7 6 1 2 1 0 -1 0 1 0
-М Х8 8 1 | 4 | 0 0 0 0 0 1
д -2W 1с I I § со I I м м 0 0 0
Таблица 1.16
ci 0 2 3 -5 0 0 -м -м
Вх А0 А1 А2 Аз А4 А5 А6 А7
-м х6 5 | 7/4 | 0 -1 -1 0 1 0
-м Х7 2 1/2 0 1 0 -1 0 1
3 х2 2 1/4 1 0 0 0 0 0
Д -7Л4+6 -9М/4 -3/2 0 М + 5 м м 0 0
х7, х8, не имеющие никакого отношения к содержательной постанов-
ке задачи, но позволяющие получить начальный допустимый базис.
Для исключения из базиса этих переменных последние вводятся
в целевую функцию (1.5.4) с большими отрицательными коэффи-
циентами М (в задаче минимизации — с положительными Л4). Та-
ким образом из исходной получается новая Л4-задача.
В общем случае, если задача ЛП имеет вид (1.4.1) — (1.4.3),
после приведения модели к каноническому виду искусственные пере-
менные вводятся лишь в те ограничения, где в исходной системе (1.5.2)
были знаки =, при всех положительных компонентах вектора В.
21
Итак, введя искусственные переменные, представим задачу
(1.5.4) — (1.5.6) в виде М-задачи:
F = 2хг+ Зх2 — 5х3 — Мхв — Мх, — Л4х8->тах (1.5.7)
при ограничениях
2xj + хг — х3 — х4 • х4 + 0 • х8 4- хв 4- 0 • х7 + 0 • х8 = 7;
Xi 4- 2х3 4- х3 4- 0 • х4— х6 4- 0 • х8 4**7 4- О • х8 = 6; (1.5.8)
Xi 4" 4х2 4~ О х3 4* О 4" О х3 4~ О • х3 4* О я7 4* х3 =
Х/>0, j = TT8. (1.5.9)
Выбрав в качестве начального базиса векторы Ав, А7, А3, решаем
полученную Л4-задачу с помощью табличного симплекс-метода.
Если в оптимальном решении М. -задачи нет искусственных пере-
менных, это решение есть оптимальное решение Исходной задачи.
Если же в оптимальном решении М-задачи хоть одна из искусствен-
ных переменных будет отлична от нуля, то система ограничений
исходной задачи несовместна и исходная задача не разрешима.
Таблица 1.17
<ч 0 2 3 -5 0 0 -м
вх Ао А1 А2 Аз а4 А5 А6
2 Х1 20/7 1 0 -4/7 -4/7 0 0
-/и Х7 4/7 0 0 | 9/7 2/7 -1 1
3 Х2 9/7 0 1 1/7 1/7 0 0
д -4М/7 + 67/7 0 0 -9/W/7+30/7 2М/7-5/7 м 0
Таблица 1.18
ci 0 2 3 -5 0 0
вх Ао А1 А2 Аз А4 А5
2 Х1 31Z9 1 0 0 0 -4/9
—5 *з 4/9 0 0 1 2/9 -7/9
3, Х2 ^/9 0 1 0 -1/9 1/9
д у2/з 0 0 0 23/9 30/9
Решение задачи (1.5.7) — (1.5.9) представлено в табл. 1.15—1.18.
Столбцы, соответствующие искусственным переменным, по мере вы-
вода из базиса из расчета исключаются. Найдено оптимальное ре-
шение Хопт = (Зх/в, 12/в, 4/в, 0) И Лпах= 72/3.
22
Задачи и упражнения
Решить графически и методом симплекс-таблиц следующие е*>
дачи ЛП:
1.1. F = 7хх + 6х2 -> max;
2хх + 5х2^ 10,
5хх + 2х2 10,
х2< 6,
х2^ 5;
хх, x2i>0.
1,8. F = 5хх — Зх2 -> min;
3xi + 2х2 6,
2xj — Зх2 - 6,
хг — х2 4,
4%1 + 7х2 28;
хх, х2 0.
1,8. F = 7хх — 2х2 -* max;
5Xj — 2х2 3,
Хх -)- х2 1,
— 3X1 4“ Х2 3,
2хх + х2 гС 4;
хх, х2 0.
1Л. Р =» 2xi + 2х2 -> maxi
3xi — 2х2 — 6,
хх + х2 > 3,
Xi< 3,
х2<5;
ХХ< Х2 > 0.
1.9. Р « хх + 2х2 -> max;
5хх — 2х2 4,
хх — 2ха — 4,
хх 4* ха>4;
хх, ха 0.
1,2, F « Зхх — 2ха -> maxi
2хх+ Ха<11,
— Зхх4~ 2х2 10,
Зхх 4* 4ха 20;
Xi, х2 > 0.
1.4. F = Xi 4- 2х2-> max;
— Зхх 4* 2х2 9,
Зхх 4- 4х2 27,
2xi 4- х2 14;
хХ) х2> 0.
1.6. F = 2хх 4- х2 —* max;
хх— 2х2^4,
5хх + 2х2 10,
4хх — Зх2 12,
7хх 4- 4х2 < 28;
хх, х2 0.
1.8. F = 2хх — 4х2 -> max;
8хх — 5х2 16,
хх -|- Зх2 2,
2хх + 7х2 9;
xlt х2 > 0.
1.10. Р = Зхх + Зх2 -> maxi
хх — 4х2 < 4,
Зхх + 2х2 6,
— хх + х2 < 7,
хх + 2х2 > 2;
хх, ха 0.
।
lUl.F = 2xx— Хг->шах|
Хх —т Х2
6хх + 7х2 42,
2хх Зх2 6,
xi + х2 4|
«*» ««>0.
1(12. Р = 5хх + х2 ->min;
хх -j- 7х2 7,
— 2хх 4- хг < 6,
2хх 4- 5х2 > 10,
5хх 4- 2х2 > 10,
7хх4* х2^7/
Xi 6,
ха<7;
хх, ха>0.
23
++ lrt+A\
* X X X X
сою
II
.5 , ...о
g 00 СО 00 М
fAAV/'j
« « « CM X
X X X X -
см о
+++ I Л\
X X X X X
со
II
CD
X о
§^22^Л\
t AAV/V/ *
CM « « « « -
X X X X 40
+1+1+л
X X X X X X
СМ Ь*
II
об
++++W
.5
Ё 66 со об
t V/V/A\o
х"х х^А
СМ см
++++*
И н Н Н
X X X X х
см см 00
II
X
S ,о ... .
« 00 оо CM о
t AV/V/AA
.?• CM CM CM CM см
X X X X X X
Ю CM
lt+ 11 Д
* X X X XX
I 00
II 1
E об in in
t AA AV/V/
cm cm cm co r-f ем
X X X X X X
!+tt°°
X x X X
Г- Ю
H
Cb.
G I об об in Д
tAAVAGr
CM CM cm .4 CM
X X X X x .
CM CM О
+ I + A
* *
1 И
s-rood? A
tAV/AV/«
ч и H Ч И -
ю о
+++++A
th tH »H f4
x XX X X X
.s . _o
goo co 00 Д
t V/A\A\^
4* X1 X x .
00 О
++++A
x X X X X
CM CM 00
I
H
00
1.27. F=-—3xt + x2—>min;
Xi + 2x2> 10;
3xi + x2 16;
Xi < 8;
Xi, x2 0.
1.29. F = Xi + 2x2-> max;
Xi -j- x2 4;
3Xi “I” ^2 4j
Xi + 5x2 > 4,
0 < Xi < 3,
0 < x2 < 3.
1.31. F = 2xx — x2->max;
Xi — x2 — 3,
6xx + 7x2 42;
3xx — 2x2 6;
xx, x2>0.
1.28. F = 2xi + 2x2 ->max;
3xi — 2x2 — 6;
*i + x3 3;
0 < xx < 9;
0 x2 6.
1.30. F = Xi + 2x2 -> max;
5xi — 2x2 4;
xx — 2x2 >= — 4;
*1+ *2>4;
xi> x2 0.
1.32. F = 2xi — 4x2-> min;
8xi —5x2< 16;
Xi + 3x2 ^2;
2xi + 7x2^9;
Xi, x2 > 0.
1.6. ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ
Каждой задаче линейного программирования со смешанными ограничениями
вида
п
F~ с/Х/-> max (1.6.1)
/=1
при ограничениях
Д//Х/^^/, i = 1, 2, ., . mit (1.6.2)
п
а{/х/=Ь<, l^mt + 1, mf + 2, r m| (1.6.3)
X/ > 0, / — 1, 2, ,. . , tii<n
можно поставить в соответствие другую задачу, которая называется двой-
ственной по отношению к первой
т F « 2 Ь(Ус -> min м прм ограничениях (1.6.4)
т Д ацУ1 / = 1, 2, ... , «1, «1 < п» (1.6.5)
т 'fcanyi’^Ch / = П14-1, «1 + 2, ... , щ м (1.6.6)
/«1,2,..,, /П£, пц /п. •
Совместное рассмотрение таких пар задач позволяет исследовать влияние из-
менения управляемых и неуправляемых переменных системы на значение целевой
функции, проводить экономический анализ результатов расчетов.
Сопоставляя формы записи прямой и двойственной задач, можно установить
следующие взаимосвязи:
25
1) если прямая задача является задачей максимизации, то двойственная будет
задачей минимизации, и наоборот;
2) коэффициенты целевой функции прямой задачи становятся свободными
членами ограничений двойственной задачи;
3) свободные члены ограничений прямой задачи b^t bit bm становятся ко»
эффициентами целевой функции двойственной задачи;
4) матрица ограничений двойственной задачи получается транспонирова-
нием матрицы ограничений прямой задачи;
5) число переменных двойственной задачи равно числу ограничений прямой^
а число ограничений двойственной равно числу переменных прямой задачи, и на-
оборот;
6) взаимно однозначное соответствие между переменными исходной задачи и
ограничениями двойственной удовлетворяет следующему положению: /-е ограни-
чение двойственной задачи будет неравенством, если на /-ю переменную исход-
ной задачи наложено требование неотрицательности, если же /-я переменная на
ограничена в знаке, /-е ограничение будет равенством.
Пример 1.3
F (X) = хг — 10х2 + 2х3 — + 7х5 -> шах
яри ограничениях
2^ —х2 <1;
Х1 — ха + 2хз — + х5 > 4;
х, + ха — х4 = 0;
*1 — х2 + 2хв > 3;
Xi 0, х3 0.
Чтобы записать задачу, двойственную к данной, приведем си-
стему ограничений к виду
2хх— ха 1;
—хх + х, —2х8 +х4— хв< —4;
ха + xs~ *4 =0;
— xi + хз — 2х6< —3;
х, 0, х, 0.
Задача, двойственная к данной, будет иметь вид:
£ (Г) = У! — 4уа — Зу4 min;
2^1— Уг — 1/1 >1;
—1/1 + Уз + У» = — Ю;
— %У» + У»+ У4>^
У а —Уз = —I;
— у3 — 2yt = 7;
f/i>0, !/,>0, у4>0.
Пара задач может быть несимметричной и симметричной. В симметричных за-
дачах система ограничений задается в виде неравенств и на переменные наложено
условие неотрицательности.
26
. .uuui.uij MHiij.ru И И1.11.И1Ч1 ... dj!, ,!ИЛ1и||111|||||ПШ|ШЩШШШШЩШШОШ
В несимметричных задачах система ограничений прямой задачи задается ра-
венствами, а в двойственной — неравенствами, причем в последней переменные
могут быть и отрицательные.
Так как систему неравенств при помощи дополнительных переменных можно
свести к системе равенств, то всякую пару симметричных задач можно представить
в виде пары несимметричных.
Приведем в матричном виде математические модели симметричных и несим-
метричных пар задач.
Симметричные задачи
I. Прямая
F (X) = СТХmax;
АХ<В;
Х>0.
II. Прямая
F (X) = СТХmin;
АХ> В;
Х>0.
Двойственная
F(Y) =BTY-»min;
ATY > С;
Y>0.
Двойственная
F (Y) = BTY-► max;
ATY<C;
Y>0.
Несимметричные задачи
III. Прямая
F(X) = CTX->man;
AX = B;
X>0.
Двойственная
F (Y) = BTY -> min;
ATY>C.
IV. Прямая
F (X) = CTX -> min;
AX = B;
X>0
Двойственная
F (Y) = BTYmax;
ATY<C.
Связь между математическими моделями прямой и двойствен-
ной задач позволяет на основании теорем двойственности устано-
вить зависимость между оптимальным решением прямой задачи и
оптимальными значениями переменных двойственной задачи, и на-
оборот.
Пример 1.4. Найти
Fmin = 3Xj + 2х,
при ограничениях
х, — 2х2 3;
2хт — х2 10;
Зхг — х2 — 5;
— Xj -f- х2 3;
Xi^O, х2^0.
Так как система ограничений задана в виде неравенств, можно
рассматривать в данном случае симметричную пару задач. Приве-
27
дем математическую модель прямой задачи к виду I
F' — — Зхх — 2хг -> max;
— 2х2 3;
2хг — х2^ 10;
— 3xj -1- л2 5;
~~ х2 3;
хх 0, х2 0.
Двойственная задача будет иметь вид
Fmin — 3z/j 4* 1 Оуz 5г/3 — 34/$;
Hi + 2 г/2 — Зу3 4- уt — 3;
-24/14- 4/2 + Уз —У4> — 2;
4/1 > о, i = 1, 4.
Таблица 1.19
ci 0 -3 -2 0 0 с 0 -м
Вх Ао А1 А2 Аз А 4 А5 А6 А7
0 *3 3 1 -2 1 0 0 0 0
0 Х4 10 2 1 0 1 0- 0 0
0 Х5 5 -3 1 0 0 1 0 0
~м Х7 3 -1 1 0 0 0 — 1 1
Д -ЗЛ4 М+3 -М+2 0 0 0 м 0
Таблица 1.20
Ci 0 -3 —2 0 0 0 0
sx Ао А1 А2 Аз А4 Аб А6
0 Х3 9 -1 0 1 0 0 -2
0 Х4 7 3 0 0 1 0 1
0 Х5 2 —2 0 0 0 1 1
-2 Х2 3 -1 1 0 0 0 -1
д -6 5 0 0 0 0 2
В табл. 1.19, 1.20 представлено решение прямой задачи, в
табл. 1.21, 1.22 — решение двойственной задачи.
Прямая задача состояла в отыскании минимального значения
функции F = 3xj 4* 2х2. В индексной строке табл. 1.20 представ-
лено значение Fmax = —6, следовательно, Frain=6. Оптималь-
ные значения переменных прямой задачи х°пт = 0, Х2ПТ =3.
28
Из табл. 1.22 двойственной задачи Fmin= —6 при у± = у2 =
““ Уз = 0> Hi ~ 2.
Решив одну из пары симметричных задач, можно по значениям
в индексной строке оптимальной таблицы получать значения пере-
менных оптимального плана другой задачи. Обозначим значение
Д/ оценок, соответствующих каждому из векторов, через ао/. Тогда
Таблица 1.21
с/ 0 3 10 5 -3 0 0
ВУ ро Р1 Р2 рз Р4 Р5 р6
0 Уб 3 -1 -2 3 -1 1 0
0 2 2 - 1 -1 1 0 1
д 0 -3 -10 -5 3 0 0
Таблица 1.22
С1 0 3 10 5 -3 0 0
ВУ ро Р1 ₽2 рз Р4 Р5 р6
0 у5 5 1 -3 2 0 1 1
-3 Ул 2 2 -1 -1 1 0 1
д -6 -9 -7 -2 0 0 -3
из табл. 1.20 находим значение переменных двойственной задачи,
пользуясь следующим соотношением:
1/Г = ао(р«+о, (1.6.7)
где п = 2 — число переменных прямой задачи,
г/°пт — ао(Р+1) = а0з = 0; — Доа+г» = а0* = Ф
УЗПТ = й0(2+3) = а0Е> — 0» У°™ = аоВ+4) = лов = 0;
уГ = а$+5) = а07 = 5 — (по циклу переноса).
Аналогично из индексной строки, соответствующей оптималь-
ному плану двойственной задачи, отыскиваем переменные оптималь-
ного плана прямой задачи:
Х/ПТ = — ао(т+л!
хГ-------а§в5 = 0; (1.6.8)
„.опт ДВ Q
Х% — — #06 —
где т = 4 — число переменных двойственной задачи.
Если в оптимальном решении прямой задачи i-e ограничение
выполняется как строгое неравенство, i-я переменная двойственной
29
задачи, на основании второй теоремы двойственности» будет равна
нулю.
Если i-я переменная двойственной задачи отлична от нуля, то
ее значением определяется приращение значения целевой функции
при изменении bfi
Ы^^у^. (1.6.9)
При рассмотрении несимметричной пары задач на основании
теорем двойственности также устанавливается соотношение, позво-
Таблица 1.23
ci 0 3 4 1 6 0
Вх . Ао А1 а2 Аз А4 А5
1 хз 3 3 -1 1 3 0
0 Х5 5 1 СИ 0 -1 1
д 3 -1 -5 0 -3 0
I
ляющее по оптимальной таблице прямой задачи найти значение оп-
тимальных переменных двойственной задачи. Оно имеет вид:
Yonr = соптА-д (1.6.10)
где А71 — матрица, обратная матрице, составленной из компонен-
тов векторов, входящих в последний базис, при котором получен
оптимальный план. Если прямая задача приведена к единичному
базису при неотрицательных свободных членах уравнений, вычис-
ление обратной матрицы не требуется, так как А71 будет состоять
из столбцов оптимальной симплекс-таблицы, полученных на месте
единичных столбцов исходной таблицы; Сопт — вектор-строка ко-
эффициентов целевой функции при базисных переменных, элементы
которой располагаются в той же последовательности, что и базис-
ные переменные в столбце Вх симплекс-таблицы.
Пользуясь формулой (1.6.10), можно найти значения двойствен-
ных переменных на любой итерации решения прямой задачи.
Пример 1.5.
Прямая задача
F (X) = 3*! + 4х2 + х3 + 6х4-* max’, (1.6.11)
— х2 4- Хд + Зхц = 3;
хг + Зх2— х4<5; (1.6.12)
х/>0, /-1,4. (1.6.13)
Двойственная задача
F (Y) = Зух -J- 6yt (1.6.14)
80
,lrll „ ..... 111Н11Ш111П111Ш11»11.ШИ1..1И.
л—I
3t/i -}• у* 3;
— У1 + Зу2 4; .
уг >1; (1.6.15>
ЗУ1~ >6;
у2 > 0. (1.6.16>
Решение прямой задачи дано в табл. 1.23—1.25. Из табл. 1.25-
•птимальный план: Хопт = (0, ®/4, 0, 7/4); F = 78/4. Данные этой
Таблица 1.24
С1 0 3 4 1 6 0
Вх Ао А1 А2 Аз а4 А5
1 *3 14/3 10/3 0 1 ( 8/3 | 1/3
4 *2 6/3 1/3 1 .0 -1/3 1/3
д 34/3 5/3 0 0 -14/3 5/3
I
Таблица 1.25
С1 0 3 4 1 6 0
«X Ао Ai А2 Аз а4 А5
6 Х4 7/4 5/4 0 3/8 1 1/8
4 Х2 9/4 3/4 1 1/8 0 3/8
д 78/4 15/2 0 7/4 0 9/4
же таблицы используются для определения по соотношению
(1.6.10)—оптимального решения двойственной задачи.
Вектор Сопт = (с4, с2) = (6, 4); матрица Ах состоит из векто-
ров А4А2, взятых из (1.6.12):
а обратная матрица Аж 1 — из компонентов векторов Аа и А*
(табл. 1.25):
Тогда
YonT = (6, 4).|’/’ з/’| = (и/4. 9/<)1
Fmfn = 3 •-j-+ 5 •=-у-.
Существует и другая, вытекающая из выражения (1.6.10), законо-
мерность, позволяющая определить оптимальные значения двой-
ственных переменных по табл. 1.25.
Оптимальное значение Z-й двойственной переменной равно сумме
оптимальной оценки вектора, входящего в первоначальный базис,
и взятого из целевой функции (1.6.11) коэффициента при переменной
е тем же индексом, что и у вектора;
ОПТ Л опт I „ 1 . 1 11 .
t/i = А3 + с3 = — + 1 = —;
опт .ОПТ . „ 9 . п 9
У2 = А5 + Сь = — 4- 0 = .
Соотношение решений прямой и двойственной задач позволяет
установить еще одну закономерность.
Для оптимального решения и решения на любой итерации
значения оценок А/, / = 1, п, прямой задачи будут равны разности
между значением левой и правой частей соответствующего /-го
ограничения двойственной задачи.
т ____
ajiyi — Cj, j = 1, п. (1.6.17)
1=1 I
Продемонстрируем это на примере 1.5 для оптимального плана,
представленного в табл. 1.25:
Л 15
Д1 = —,
+ //2^3,
3
-LL _j_ 3 . 9 _ 4 = о;
4 1 4
Да — 0, — J/i + 3z/2 4,
И ’т. Д.
Дз----4* > У1 1 >
и__1=2
4 4
Задачи и упражнения
Записать задачу двойственную к данной, решить одну из пары
задач и отыскать оптимальное решение второй
1.33.
F = хх + х2->тах;
— 4~ 2х2 1,
хг 4- 2х2^ 14,
2xj 4“ х2 13,
3xi — х2 12,
к, > 0, j — 1, 2.
1.35. F = 3xj 4- Зх2 ->• min;
xt 4- 4х2 > 4,
4Xi 4- х2 4,
xz>0, j = 172?
1.34. F = 3xj 4- хг -*• mini
3xj 4“ 5x2 15,
5xi + 3x2^> 15,
Xii> 1,
x2 1,
X; ^0, j — 1,
1.36. F = 6xi — 5x2->max;
2xi 4- 5x2^ 10,
5xi 4- 2x2^ 10,
X/ >0, / = 1, 2.
32
CM
*
се . J *
goo -
v/41
><*««*
CM CM X X 00 О
4- I +++ A
*
II I
x - ~
ЕЙЯ°
twv/
* *£ *
Tf 00
.2
g
tV/V/Ao
X x X x A\
CM CM CM «
L Ltt -
и * к ц ц
ю ।
,11
tAV/V/ |«
>? >? И 54 J-T
CM CM CM CM ..
++ I +V/I
еч с* еч сч сч
***** „
CM 00 oo о
++NJ A
*****
00 CM oo co
II
KXm
X Г4
св „ ж J *
Ё Tf Tf CO
t V/V/V/.II
N Л M N *''-»
* * *♦* „
CM о
+ lrt++ A'
* * * *
00
II I
fti,
x" x x X M
-J СЧ СЧ <N
N « OJ «
И * * *
++++ A
x 25 x x x"
oo
. - 1см
g 2 2 2 I-
tAAA .«
X x x X . *7
oo ю CM — о
++++AA
x н x x x >T
CM 00 CM
u<
.5
g со ci
t AV/o
XX X A
t V/AA« «
* * x” x^V/V/
co Ю
CO
II
oo
rr
•
00 CO
E ю co co cm 1
t V/V/ AAA®
>Гх Xя X X x”A
CM 00 «
I + I ++ I *
* 54 * ,* * * *
O- CM co
II
<<
5?
3 9-4063
1.49. F = 6xx — x2 -> min;
Xi -I* x2 3,
4xi — Xg 4,
3*1 — 2x2 24,
x2< 6,
Xi, x2 > 0.
1.60. F = — 3xi — 2x2 -* maxi
Xi — 2x2 — 3,
2xx+ *2^10»
3Xi ^2 5,
— Xi + x2 ^5- 3,
Xi, x2>0.
1.51.
F = 2xx + Xg — 3x8 -* max;
Xi + 3x2 — 2x8^ 4,
— 5xi+ —12,
— 2xi + x2 — 3x8^ — 4,
X/>0; / = TT“3?
1.52.
F = Xi — 2x8 -> maxi
5xi + *2> 1,
— 3xi + Xg 3,
3xi + 3x2 2,
Xi, x2^»0.
Определить является ли предполагаемая пара векторов опти-
мальным решением прямой и двойственной к ней задач.
1.53. Х = {0, 5};
1.54. X = {6, 0, 0};
0, 0 ;
F = 3X1 — 2х2 + х3 -> maxi
2xi— х2 + Зх8^12,
Xi + 2х2 — х3^ 16,
X/ 0, / = 1, 3.
1.55. х = {4-; -у-};
У = {4-, 0, о}1
F = Xi + 2х2 -> max;
2xi + Зх2< 15,
Xi + 2х2 6,
х2 + *з<8,
1.56. X = {6, 0};
У = {0, О, О, 5, 0};
F = 5xi — 2х2 -* maxi
5xi + 2х2 10,
2xi + 5х 10,
— 2xi + х2 < 4,
Xi 6,
х2<6,
Xi, х2^0.
1.57. X = (8, 0};
У = {0, 0, 0, 5, 0};
F = oxi — 2х2 -*• max;
5xi + Зх2^ 10,
2xi + 6х2^> 12,
— 2xi + х. < 4,
0<Xi<8,
0<х2<6.
1.58. Х = {1, 3};
У = {0, 0, 3, 0}
F = 3xi + Зх2 -> maxi
Xi + х2+^ 4,
3xi + Xg 4,
0 < Xi < 3.
0<ха<3.
1.60.
*={+•> г-{+ + .о.о}>
2 = 5^1 + 6//2 — 2//3 + 3^4 -> min;
У1 — 2г/2 — Зу3—
У1 — Зу2— уа+ yg> — 2|
^>0, 1=1,4.
34
ШШ 11ШШ111,, ,, .............
1.61. Х = {3, 1}; V = {3, О, О, О, О};
Z = 4t/i — 4у2 — 4г/3 + Зг/4 + 3ys -> min;
У1 — 3i/2— i/4^3;
У1 — Уг — бг/8+ Уъ > 3;
У( О, i=l,5.
1.62. Х = {4-. -г}: г={°’4; 4-
2 = 3^ + 42у2 + 6«/3 — 4t/4 -> min;
— У1+ 6z/2 + 2z/3 —4i/4>2;
Ух + 7Уг — Зу3— !/4>1;
^>0; i = 1, 4.
о, о);
1.7. ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОД
Идея метода основана на связи между решениями прямой и двойственной (со-
пряженной) задач. В двойственном симплекс-методе осуществляется движение йе
сопряженным базисам и соответствующим решениям прямой задачи (которые на-
зываются псевдопланами) до тех пор, пока не выполнится некоторый признак он-
тимальности.
Рассмотрим задачу ЛП, представленную в канонической форме
F (X) = £ Clxf-+ max; (1.7.1)
/=1
(1.7.2)
/=1 _____________
*>0, /= 1, п, (1.7,3)
и задачу, двойственную к ней
т
А (Г) = £ ft/min; (1.7.4)
S ацУ1>сь i=TTh. (1.7.5)
i=l
Очевидно, (1.7.1) — (1.7.3) и (1.7.4) — (1.7.5) — несимметричная пара задач
(модель III). Пусть Y =* (ylt у2, ..., ут) — опорный план задачи (1.7.4), (1.7.5),
Введем некоторые определения.
Базисом опорного плана задачи (1.7.4), (1.7.5) либо сопряженным базисом*
называется произвольная система т линейно независимых векторов условий {Аь
А2, Ат} задачи (1.7.1) — (1.7.3), для которых не более т ограничений (1.7.5)
выполняются как строгие равенства и найденное решение удовлетворяет всем не-
равенствам (1.7.5).
Свяжем с каждым сопряженным базисом Б^ == {Ах, А2, ..., Ат} т-мерный век-
тор X = (хь х2, ..., хт), компоненты которого удовлетворяют условиям (1.7.2) ис-
ходной задачи.
Вектор X = (xlf х2, ...» хт), компоненты которого равны коэффициентам раз-
ложения вектора В = (^, Ь2, ...» bm) по системе Б» = {А,, А2, ...,( Ат}, называет-
ся псевдопланом задачи (1.7.1) — (1.7.3).
Признак оптимальности. Если среди базисных компонентов псевдоплана
X = (х12 х2, ..., хт) нет отрицательных, т. е. все х£0 > 0, t = 1, m, то псевдоплая
X — решение задачи (1.7.1) — (1.7.3),
Свяжем с каждым сопряженным базисом Б^ = (А1э А2,..., Ат} матрицу || х^|
*5=5 1, т, j = 1, п, элементы которой совпадают с коэффициентами разложение
векторов условий А/ задачи (1.7.1) — (1.7,3) по системе Бу.
3*
33
Пусть среди базисных компонентов псевдоплана X = (xj, х2, хт) имеются
отрицательные. Если среди компонентов xt-0 < 0 найдется хотя бы один, для кото-
рого все xtj > 0, то целевая функция задачи (1.7.4), (1.7.5) не ограничена снизу
на множестве ее планов, а прямая задача (1.7.1) — (1.7.3) не разрешима.
Если среди базисных компонентов X найдется хотя бы один, для которого су-
ществует х^ < 0, то псевдоплан можно улучшить.
Для того, чтобы получить базис нового псевдоплана X1, нужно вывести из ба-
аиса псевдоплана X вектор А, (хг0 < 0).
Если х{0 < 0 при нескольких значениях г, из базиса нужно вывести вектор с
min хг0. Для определения вектора, который нужно ввести в базис, необходимо на-
йти номер k, на котором достигается минимум отношения
06 = min <--~!xri < 0
/ ( xrf
xrk
В базис вводится вектор А& и определяются параметры следующей итерации
по формуле:
Полученный план проверяется на оптимальность.
Если исходная задача не вырождена, за конечное число шагов определяется
«торный план задачи, являющийся ее решением.
Пример 1.6.
Найти F = 8хх 4- 6х2 -> max (1.7.6)
ори ограничениях
2хх 4- 5хг <11; 4хх 4- х2<10; (1.7.7)
Xi, х2>0. (1.7.8)
Представим задачу (1.7.6) — (1.7.8) в виде 1
F = 8xj 4- 6х2 max; (1.7.9)
Al А2 As А4 Ао 2хх 4“ 6х2 -J- 1 х2 4“ 0х4 =; 11; (1.7.10)
4хх 4“ 1х2 4- 0х2 4- 1х4 = 10.
Запишем двойственную к ней задачу:
F = 11 z/i 4- Юг/2 -> min; (1.7.11)
2^i 4- 4у2 > 8, АЛ; 5^14-1^2 >6, Аа; (1.7.12)
Уг 0, А3; Ул 0-
М
Возьмем в качестве сопряженного базиса вектора Аь А3 и из
системы
2У1 + 4г/2 = 8;
4/1 = 0,
найдем значение опорного плана двойственной задачи:
у~1 = 0, Уг = 2.
Данный базис не может быть взят в качестве сопряженного, так
как при 1/1 = 0, у2 = 2 второе ограничение не выполняется (2 > 6).
Таблица 1.26
С1 0 8 6 0 0
вх Ао . А1 а2 Аз А4
6 Х2 10 4 1 0 1
0 хз -39 [-18J 0 1 -Б
Д 60 16 0 0 6
0 —- 16/18 — — 6/6
I
Попробуем взять сопряженным базисом векторы А3, А3. Из си-
стемы
&У1 + 4/2 = 6,
4/1 = 0;
находим значения ух = 0, у2 = 6.
Неравенство 2уг + 4z/2 >= 8 при этих значениях yt и у2 выпол-
няется и, следовательно, система {А2, А3} является сопряженным
базисом.
Определяем коэффициенты разложения небазисных векторов по
векторам базиса и находим псевдоплан исходной задачи!
" А9 — А2х20 -}• А3х30
111 Г5‘
10 = 1
*20 +
*30 >
Г51
Г
0.
*20 ~ *зо ==
Ai = А2х21 -р А3х31
Г21
4 j ^21 "I” о
*21=4, х31 = —18;
А4 = А2х24 4~ А3х34
*24 = 1» *34 = “~5,
47
Так как среди компонентов разложения вектора Ао по сопря-
женному базису имеются отрицательные, заполняем табл. 1.26 и
ириступаем к первой итерации.
Результаты итерации представлены в табл. 1.27. В столбце Ао
нет отрицательных компонентов, значит, получен оптимальный
алан задачи:
Fmax = 254-, 4пт = 2-|-. хГ=1-у-
Количество операций, необходимое для выполнения одной ите-
рации в симплекс-методе и двойственном симплекс-методе, соизме-
пользовать при решении таких ЛП задач, в которых нахождение
начального ДБР затруднительно (приходится вводить искусствен-
ные переменные), а начальный псевдоплан определяется автомати-
чески. Проиллюстрируем это на следующем примере.
Пример 1.7.
Найти Fmin = Зхг + 2х2 + 5х3
яри ограничениях
2хх— Зх2 + 10;
4хг + х2 + 2х3 15;
0, / = 1, 3.
Представим задачу в виде, необходимом для применения ме'
года
Ртах. =—Зхх—2х2 — 5х3 (1.7.16)
нри ограничениях
2хх—Зх2+ х3 — = 10; (1.7.17)
4хх+ х24-2х3 — х6=15; (1.7.18)
Сопряженную задачу запишем следующим образом:
(1.7.13)
(1.7.14)
(1.7.15)
F = Ю//1+ 15//2 -> min (1.7.19)
2^/1 + 4у2 — 3, Af,
— 4~ У2^—2, А2,
У1 4- 2//2 — 5, А3, (1.7.20)
38
~~ У1 О, А4;
— Уг О> Ав.
В качестве векторов базиса опорного плана Y сопряженной за-
дачи (1.7.19), (1.7.20) может быть взята система {А4, А6}, так как
при значениях ух = 0, у2 — 0, полученных из последних двух ра-
Таблица 1.28
<7 0 -3 — 2 -5 0 0
»х Ао А1 А2 Аз а4 А5
0 Х4 -10 —2 3 -1 1 0
0 *5 -15 -4 -1 — 2 0 1
Д 0 3 2 5 0 0
0 — 3/4 2 5/2 — —
венств, первое, второе и третье ограничения сопряженной задачи
удовлетвор яются.
Таким образом, базис исходного псевдоплана состоит из единич-
ных векторов {А4, А6}, и базисные компоненты псевдоплана X,
(1.7.16) — (1.7.18), совпадают с соответствующими составляющими
вектора ограничений, взятыми с обратным знаком, а элементы хц
столбцов А/ равны и противоположны по знаку элементам соответ-
ствующих столбцов матрицы условий ||а^ || (1.7.17).
. Заполняем исходную табл. 1.28. В строке Д/ записываем зна-
чения — с/. Далее отыскиваем решение по изложенному алгоритму.
Задачи и упражнения
Решить следующие задачи
двойственным симплекс-методом!
1.63. F — хх + 2ха -> max;
2х4 4" Зх2 8,
2хх 4- ха < 6,
*1+ х2>1,
Хх, ха 0.
1,64. F =
—2хх + xa->min;
2хх 4- х2 < 8,
Хх + Зх2 > 6,
Зхх 4* ха 3,
х1( х2 0.
1.65. F= 6хх4- 4xa->min;
2хх 4- х2 3,
Хх— х2^1,
—Хх 4- 2ха> 1,
х1( х2 0.
1.67. F = Хх 4* Зх2 -> max;
Хх 4- ха 3,
бхх 4- х2 42,
2хх — Зх2 6,
0.
Хх,
х2
1.66. F = 4хх 4- Зх2 -> max;
5хх 4- 2х2 20,
Хх 4- Зх2< 15,
х1( ха > 0.
1.68.
F = хх — 2ха -> max;
5хх — 2ха <1 3,
Хх 4“ х2^1,
— Зхх 4* х2 3,
Хх, х2 > 0.
39
и r'-Sias-'' -
s? CO В CO НО co О tV/WV/A N N N л, *, X X * X X X t^coco + + + + + * x x x X X to CM 1 IO II 1 •1 X GJ л _ E Tf co CO t V/AAV/V/ н и* ч >Г ч к co m ttttv/v/ X X x x о о co co Й °°* GJ । В LO co 1 О t v/v/a\a\ дГх x * x CM co Lt Lt 2^ * x * b* CM 00 .E g —< co co о f AAV/\VA м см CM <M CM ©J X X X X X CM +++++ . T-< т-1 т-1 X X X X X X b- Ю co CM II co w* и e2SJ • tA\V/A\ * >Г Ц Ц CM Ц £ * н CM co II u. 00 Is* .s E Tf о t V/V/A\A\ C<1 CM ©1 ©1 01 Ч Ч ц Ч Ц CM CM CM 1 1 Ч Ц Ц Ч Ц |Ю ! II X e22o tV/V/A CM CM CM ©M 4 X * X CM X 4 >? II CM V) « c w ~ ‘go CM . P . о tAV/A .CM CM CM CM H Ц X CO CM co * * * x cm m II CXJm
<=> •> CM •1 CM* - 00 VM 00 4 00 •)
•w* c ~ ~ •g Tf o CM 2??^ X co g co oT— о tV/A\A\A\ X —< GJ ~ 1 1 g Tf I IO t V/A\A\A\ Г-* wt
c« л S Tf CO О tv/v/v/A CM ©J CM CM ©1 e22®„-d' t АЛЛАХА « N « N ©1 t V/A\V/V/A\ CM CM CM • ®’ CM <N X * *25 * CM CM CO Tf 0Q co co co CO Ц X CO CM d CM M СЧ ©J v> ц к co CM л1 j" H 4 CO CM 4 ©1 E co cm т-T о t A\V/A\A\ CM ©1 ©M CM ©1 4J> 4> c -CM . e§ I 2d t V/AAA x S - -o . И OO ~ о t V/AV/A
CM + 1 i—l iH X X X X X co io CM ++++ 1 ++ 1 + x4 x x4 x x CM LfWb* w * <S *s *> *s ++++ . <v 4^ K\ CO + + + + 4? C? £ 4> Tt< CM CM + + | + sS"1 iH 4^ . CM CM Ч Ц Ц CM CM CM + 11 + XXX* CM + + + + X
X X 00 II «< XXX 1 X X X X X X CM CO CM II ft. 1 II >< *> Ю CM co II ’S CM II LO CM 1 *s co CM co II Um X и 4 II10 tti X X X x X II (N X*
Cb co • W4 co r* IO • <£ •) 00 •1 00 oo
. । чшши
UUUUiii|)h>H
A—I
1.8B. F = Xj + 2x2 -► max;
2xi+ x2<J8,
X! + 2x22> 14,
xx — 2x2<Z 10,
xlt x2 0.
1.86.
F = Xi + x2-*min;
2xi + x2 8,
Xi + 3x2 6,
xx, x2 > 0.
1.87. F = 3xi + 2х2 -*• max;
3xi + Зх2 21,
2хх + Зх2 < 30,
2xi 16,
xx, x2 > 0.
1.88. F = 7xi + x2->min;
*i+ x2>3,
5xx + x2 5,
xx -j- 5x2 5,
Xi, x2 0.
1.89.
F = xi + 2x2 -> max;
6xx + 2x2 6,
3xx — 2x2 6,
3xi 3,
2xi + 2x2^ 16,
Xi, x2 0.
1.90. F = 15xi + 33x2 ->-min;
3xi + 2x2^ 6,
6xi + x2 6,
x2> 1,
xx, x2 0.
1.91« ,F = 2xi— x2->min;
5xx + 9x2 45,
6xi + 6x2 18,
—Xi + 2xa>2,
Xi, x2 0.
1.92. F = xx + 4x2 ->max;
2xi — x2 6,
xx x2 ““2|
Xi + x2^10,
Xi, x2 0.
1.8. МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД
В литературе этот метод встречается также под названием метода обратной
матрицы.
При решении задач ЛП, в которых п существенно больше т, модифицирован-
ный симплекс-метод требует по сравнению с другими значительно меньшего коли-
чества вычислительных операций и объема памяти ЭВМ.
В модифицированном симплекс-методе реализуется та же идея, что и в обыч-
ном симплекс-методе, но здесь на каждой итерации пересчитывается не вся мат-
рица условий задачи А, а лишь матрица А~*.
В модифицированном симплекс-методе, как и в обычном, признаком оптималь-
ности является условие Д/ > 0, / = 1, п. Однако величины Д/ определяются дру-
гим образом, а именно:
Д^АА/ —с,; (1.8.1) ,
А = СХА~*, (1.8.2)
где А”1 — матрица, обратная к базисной на текущей итерации; Сх — вектор
коэффициентов целевой функции, отвечающих базисным переменным на текущей
итерации; А/ — /-й вектор; / = 1, п\ q — коэффициент целевой функции при /-й
переменной.
Рассмотрим последовательно процесс подготовки данных, предшествующий
применению алгоритма метода.
На нулевом этапе заполняем вспомогательную и основную таблицы. Во вспо-
могательную таблицу заносим следующие данные задачи ЛП, решенной относи-
тельно какого-то начального опорного плана X: ____
а) базисные компоненты начального опорного плана X — xi0, i = 1, /п;
41
б) элементы || atj |!yZ-p“T ~ коэффициенты разложения векторов А/ по векто-
рам базиса;
в) компоненты базисных векторов, составляющих матрицу Ах;
г) компоненты вектора С — строка с/;
д) величины оценок Л/, определяемые по формуле (1.8.1).
В главную часть основной таблицы заносятся следующие данные:
а) в столбец Сх — значения весовых коэффициентов базисных переменных из
целевой функции;
б) в столбец Вх — номера базисных векторов; ____
в) в столбец е0 — значения базисных переменных et«0,1 = 1, т eQ=
= xiQ’ ___
г) в столбцы е1э е2, ..., ет — элементы Ц itp—* матрицы А”1;
д) в последнюю строку — компоненты X/ вектора Л, которые рассчитываются
по формуле (1.8.2).
В дополнительный столбец таблицы, если задача не решена, записывается
вектор А^, который будет вводиться в базис,
Описание алгоритма
1. Заполняем т + 1 строку вспомогательной таблицы и т строк
главной части основной таблицы.
2. Рассчитываем вектор Л (1.8.2) и заносим его в (tn + 1)-ю
строку основной таблицы.
3. Рассчитываем оценки Д/ (выражение 1.8.1) и заносим в (т +
+ 2)-ю строку вспомогательной таблицы.
4. Если все Д/ 0, задача решена, найден оптимальный план.
Если есть отрицательные оценки Д/, приступаем к улучшению плана.
5. В базис вводим вектор Аа, для которого ДЛ = min Д/. Ком-
поненты вектора основной таблицы определяем по формуле
АГн = А7,АГпо“. (1.8.3)
где А“спо“ — вектор Aft, взятый из вспомогательной таблицы.
6. Если все aik 0, задача не разрешима из-за неограниченно-
сти целевой функции на ОДР.
7. Если есть положительные элементы aik, определяем вектор,
который будем выводить из базиса, по величине
0r = min >0|. (1.8.4)
i I aik J
Пусть таким вектором будет вектор Аг, тогда ark — направляю-
щий элемент.
8. Заполняем вторую (либо (/ + 1)-ю) основную таблицу, рас-
считывая ее элементы по следующему рекуррентному соотношению:
ez 6/7 И~~аГ ‘ Z+1 _ ark “ е1 Ч ark i = 1, tn, j alik, при t=£r; (1.8.5) при i = r, = I, n.
42
9. Во вспомогательной таблице заполняем вторую (либо (Z 4-
+ 1)-ю) строку оценок Д/ и возвращаемся к п. 4.
При мер 1.8. Решим модифицированным симплекс-методом при-
мер 1.4:
Зх! + 2х2 -► шах;
— х2 2!
2Xi + х2 6;
%! > О, х2 > 0.
Таблица 1.29
В Ао А1 А2 Аз А4
Аз 2 1 -1 1 0 ,
а4 6 2 1 0 1
ci — 3 2 0 0
1 д/ -3 -2 0 0
II д/ 0 -5 3 0
III д/ 0 0 -1/3 5/3
IV д/ 1 0 0 2
Таблица 1.30
ci «X е0 е1 «2 Ai е
0 А3 2 1 0 1 2
0 Ад 6 0 1 2 3
Л 0 0 0 -3 —
Приводим систему ограничений к расширенной форме. В каче-
стве начального допустимого базиса выбираем векторы А3, А4 и
заполняем вспомогательную таблицу (табл. 1.29). Затем заполняем
основную таблицу (табл. 1.30). Так как базис составляют векторы
А3, А4,
0
1
то Ах
Г1 01
Р — Д-1 двспом _
е® — Л — q
01Г21 Г2'
1 1б = 6 •
На пересечении третьей строки и столбца е0 находится значение
функции при данном базисе, а на пересечении этой же строки со
43
столбцами ej и е2 — компоненты 'к1 и Л2 вектора Л, определяемого
» выражению (1.8.2): Л = (0, 0) — (0, 0).
Рассчитываем А/ для вспомогательной таблицы:
Д, = ЛАх — ct = (0, 0) (1, 2)т — 3 - — 3;
Д2 = ЛА2 —с2= (0, 0)(—1, 1)г — 2 = — 2;
Д8 = ЛА3 —с3 = (0, 0) (1, 0)г —0= 0;
Д4 = ЛА4 — с4 = (0, 0) (0, 1)г — 0 = 0.
Таблица 1.31
с/ вх е0 е1 е2 а2 0
3 ^1 2 1 0 -1
0 а4 2 -2 1 | 3 ] 2/3
6 3 0 -5
I
Таблица 1.32
<7 В* % е1 е2 А3 0
3 А1 22'3 1/3 1/3 I 1/3 | 8
2 а2 2/3 -2/3 1/3 -2/3 —
Л 91/3 -1/3 5/3 - 1/3 -
I
Заносим эти значения в первую Д-строку вспомогательной
таблицы.
Первая итерация. По значениям Д/ видим, что план, представ- ленный в первой основной таблице, не будет оптимальным. Мини- мальное значение Д/ соответствует век- Таблица 1.33 ТОру следовательно, его нужно вво-
Вх ®0 е1 е2 дить в базис. Рассчитываем значение А! для основной таблицы по формуле (1.8.3): дОСН д—1 дВСПОМ 1 1 1 Al -Ах Al -j^ 1J[2J [2]’ Заносим Ах в столбец основной
0 8 1 1
2 6 0 1
Л 12 0 2
табл. 1.30. Устанавливаем, что выво-
дить из базиса следует вектор А3. Направляющим элементом будет
^31 = 1.
Заполняем вторую основную таблицу (табл. 1.31), пользуясь
выражением (1.8.5). В табл. 1.29 записываем вторую строку оце-
44
нок Д/ уже для нового плана, представленного в табл. 1.31. Рас-
чет Д/ приводится ниже:
Дх = ЛАХ — Сх = (3, 0)(1, 2)г —3 = 0;
Д2 = ЛА2 —с2 = (3, 0)(—1, 1)г —2 = —5;
Д3 = ЛА3 — с3 = (3, 0) (1, 0)г — 0 = 3;
Д4 = ЛА4 — с4 = (3, 0) (0,1)г — 0 = 0.
Так как имеется отрицательная оценка Д2 = —5, приступаем
ко второй итерации.
Вторая итерация. Определяем вводимый в базис вектор
А ОСН * — 1 дВСПОМ
2 — Ах Аг =
и дописываем его в табл. 1.31. Без дополнительных пояснений рас-
считываем новый план и заносим его в табл. 1.32. Заполняем в
табл. 1.29 третью строку оценок Д/ плана, представленного в основ-
ной табл. 1.32.
0] Г—11
— Г
3 ’
дописываем его в табл. 1.32 и находим новый план (табл. 1.33).
Для этого плана определяем оценки Д; и заносим их в четвертую
строку табл. 1.29. Так как все Д/ 0, полученный на третьей ите-
рации план будет оптимальным; Хопт = (0; 6); Fmax= 12.
1.9. АНАЛИЗ МОДЕЛИ НА ЧУВСТВИТЕЛЬНОСТЬ
При решении задач ЛП пользователя интересует не только ста-
тическая информация об оптимальных значениях управляемых
переменных, но и возможные изменения полученного оптимального
решения в результате изменения исходной модели. Ответ на такой
вопрос дает анализ модели на чувствительность.
Рассмотрим потенциальные возможности анализа модели на чув-
ствительность на примере, для которого приведем содержательную
постановку [20].
Предприятие выпускает два вида красок, для производства ко-
торых используется сырье А и В. Известен спрос на краски, удель-
ные расходы сырья на производство краски каждого вида, запасы
сырья и прибыль предприятия от продажи тонны каждой краски.
Цель предприятия — максимизировать прибыль от реализации
продукции.
Математическая модель задачи имеет вид:
максимизировать Z = Зхх + 2ха (прибыль) (1.9.1)
при ограничениях
45
Х1 + 2х2$ (ограничение на сырье А); (1.9.2)
2xj + х2^ $8 (ограничение на сырье В); (1.9.3)
— *i + х2^ ; 1 (ограничение на спрос); (1.9.4)
х2 ;2 (ограничение на спрос); (1.9.5)
хъ х22 г»0 (объем производства), (1.9.6)
где xlt х2 — объемы производства красок 1- и 2-го видов. Третье
ограничение устанавливает то, что спрос на краску 1-го вида никог-
да не превышает спроса на краску 2-го вида более чем на 1 т. Чет-
вертое ограничение — спрос на краску 2-го вида не превышает 2 т.
Получив оптимальное решение для исходных условий, руковод-
ство предприятия интересует, изменится ли оно, и если да, то какое
будет новое в следующих ситуациях:
изменяются запасы сырья А и В;
изменяется спрос на краски;
изменяются нормы расхода сырья А и В на тонну краски;
налажен выпуск краски еще одного вида;
и так далее.
Каждая из перечисленных ситуаций может повлиять на преды-
дущее оптимальное решение. Оно может быть: а) недопустимым;
б) неоптимальным; в) недопустимым и неоптимальным.
Анализ влияния перечисленных ситуаций можно провести, ба-
зируясь на вычислениях, использующих соотношение двойствен-
ности в ЛП в следующей последовательности.
Ш а г 1. Решить исходную задачу ЛП табличным симплекс-ме-
тодом.
Шаг 2. Применительно к рассматриваемым изменениям моде-
ли найти новые значения элементов симплекс-таблицы, используя
соотношения двойственности.
Ш а г 3. Если решение, представленное в новой симплекс-таб-
лице неоптимальное, перейти к шагу 4. Если это решение недопу-
стимое, перейти к шагу 5. Если же полученное решение оптималь-
ное, процесс вычисления закончен.
Ш а г 4. С помощью симплекс-метода получить новое допустимое
решение или показать, что оно неограниченное. Закончить вычис-
ления.
Шаг 5. С помощью двойственного симплекс-метода получить
допустимое решение или показать, что такового не имеется. Закон-
чить вычисления.
Для проведения конкретного анализа по задаче (1.9.1) — (1.9.6)
запишем двойственную к ней, оптимальную симплекс-таблицу пря-
мой задачи (табл. 1.3.4) и оптимальное переменное двойственной
Z = 6yi + 8у2 + уа 4- 2д/4 -> min;
У1 + 2//а — ys 3;
2f/i + Уз + Уз + У4 2;
Уъ Уз» Уз> У4>^
(1.9.7)
(1.9.8)
(1.9.9)
(1.9.10)
46
Векторы А4 — Ав соответствуют матрице обратной базисной
на текущей итерации — А71.
Оптимальные значения переменных двойственной задачи опре-
деляем из табл. 1.34 по формуле 1.6.7i
У1 = А3 = -3- > у% — Д4 = -3- > ' Уз = Д3 = О’, yi = Дв = 0.
К недопустимости приводят два случаяг
1. Изменения запасов ресурсов;
2. Введение новых ограничений.
Таблица 1.34
С1 3 2 0 0 0 0
Вх Аз А1 а2 Аз А4 А5 А6
2 х2 4/3 0 1 2/3 -1/3 0 0
3 Х1 10/3 1 0 -1/3 2/3 0 0
0 Х5 3 0 0 -1 1 1 0
0 Х6 2/3 0 0 -2/3 1/3 0 1
д 38/3 0 0 1/3 4/3 0 0
1. Анализируя найденное оптимальное решение прямой и двой-
ственной задачи, видим, что увеличение количества ресурсов сырья
и первого, и второго видов выгодно, особенно второго, так как это
приводит к большому увеличению целевой функции:
Zmax — %тах 4" AZ, Д2 = yi\b(. (1.6.9)-
Так, увеличение на 1 ед. ресурса А:
Д2\ = -д- • 1 = “g- > Zmax = Zmax 4* AZj = —g--1—3- = 13,
ресурса В:
Таким образом, если имеется возможность, постараемся увели-
чить ресурсы. Допустим, что увеличили второй вид ресурсов до
9 единиц и новый вектор Ао = (6, 9, 1, 2)т. Найдем значения пере-
менных для нового условия, воспользовавшись (1.8.3):
~х2~ % -v8 0 0" "6“ -Г
Xi Х6 = А* Аонов — -Ч 2/3 о о — 1 110 • 9 1 = 4 4
-•/, V, 0 1_ _2_ _1_
4Г
Решение осталось допустимым, при этом Zmax = 14.
Допустим, ситуация изменилась так, что первый ресурс мы уве-
личили до 7, а второй вынуждены снизить до 4. Каким будет новое
решение и будет ли оно допустимым? Имеем
* * * * 05 сл н » = Г % — х/8 0 0-1 х/8 а/8 0 0 — 1 110 _-!/3 V, 0 1. • 7 4 1 2 = 1 1 to 00 со со
Решение стало недопустимым, так как х5 = —2, хл = —4/3.
Переходим к шагу 5. Заполняем с учетом нового вектбра симплеко-
таблицу 1.35.
Таблица 1.35
ci 3 2 0 0 0 0
Ао А1 А2 Аз А4 А5 А6
2 Х2 10/3 1 0 2/3 -1/3 0 0
3 Х1 1/3 0 1 -1/3 2/3 0 0
0 Х5 -2 0 0 - 1 1 1 0
0 Х6 — 4/3 0 0 -2/3 1/3 0 1
д 23/3 0 0 1/3 4/3 0 0
За одну итерацию мы получим новое оптимальное решение хх =
= 1, Х% — 2, Zmax = 7.
2. Добавление нового ограничения может привести к двум си-
туациям: а) новое ограничение избыточное, и потому решение не
изменяется; б) новое ограничение связывающее.
Пусть введено новое ограничение хх 4. Очевидно, что при най-
денном оптимальном решении хх = 10/3, это ограничение выпол-
няется и будет избыточным.
Допустим введено х7 3. При оптимальном решении хх =
оно не выполняется. Поэтому необходимо с учетом
хх 3, хх + х7 = 3, х7 > 0
найти новое оптимальное решение.
Так как хх в найденном оптимальном решении является базис-
ной переменной, выразим ее в вводимом ограничении через небазис-
ные. Из оптимальной симплекс-таблицы 1.34
Xi — 1/8Х8 + 2/3Х4 =* 10/8.
Тогда
10/34" ^З^З-2/з^4 Н” Я7 = 3,
или
VaXg —2/8х4 + х7 = —V8. (1.9.11)
48
Вводим дополнительное ограничение в виде (1.9.11) в симплекс-
таблицу 1.34, приняв в качестве еще одной базисной переменной
х7. Выполняем шаг 5 и за одну итерацию получаем новое оптималь-
ное решение: хх = 3, xt = 8/а, Zmax = 12.
К нарушению оптимальности уже найденного решения могут
привести: 1) изменение коэффициентов целевой функции, 2) изме-
нение удельных расходов ресурсов, 3) добавление нового вида про-
дукции и так далее.
1. Изменяться могут коэффициенты целевой функции, соответ-
ствующие как базисным переменным, так и небазисным.
Проверим, остается ли план оптимальным, если изменить ко-
эффициенты при базисных переменных.
Пусть функция Z = 6хх + 4х2. Найдем значения переменных
двойственной задачи по формуле (1.6.10) и, используя их, опреде-
лим новые оценки А/.
Г 2/з
YonT = (4, 6, 0, 0)
т. е. yt = 2/3, у2 = 8/8, у8 = 0, t/4 = 0.
Проверяем оценки Д/( воспользовавшись (1.6.17):
Дх: У1 + 2«/8 — Уз >6; Дх = 2/8— 2 • ®/8 — 0 — 6=0;
2У1 + Уз + Уз + Уз>Ь Д2 = 28/8 + 8/з + 04-0-4 = 0;
Д8: ух>0, Д8=а/8 —0 = 2/8; Д4: t/2>0, Д4 = 8/s-0 = -J- J
Д»’ ^з>0, Д5 = 0 — 0 = 0; Дв: ^4>0, Дв = 0 — 0 = 0.
Все значения оценок положительные, следовательно, план хх =
—у-; х8 = -у остался оптимальным. Изменилась только вели-
чина Zmax — 6хх 4- 4х2 = 242/8.
Замечание. Значения оценок для базисных переменных всегда
остаются равными нулю. Поэтому необходимо заново вычислять
только оценки Д/ для небазисных переменных.
Рассмотрим ситуацию, приводящую к нарушению признака оп-
тимальности. Пусть целевая функция в рассматриваемой задаче
станет Z = 4хх + х2.
Тогда
Г ‘2/з
YonT= (1, 4, 0, 0)
-V8 0
% о
1 1
0"1
0 = (-%; о, 0),
ч, о I
т. е.
2 7
У1 = — —; Уз = —г/з = о; у4 = о.
Определим оценки Д/, воспользовавшись соотношением (1.6.7).
Для первых двух базисных переменных хх и ха оценки равны Дх =
4 в-4оез
49
= О, Д2 = 0 и далее: уг = Д3, у2 = Д4, у3= Д5, yt = Д,; Д8 = —
Д4 = 7/3, Д8 = О, Дв = О.
Следовательно, план, представленный в табл. 1.34, с новыми
коэффициентами целевой функции стал неоптимальным.
Ао А1 А2 Аз а4 А5 А6
• • • • • • • * • • • •
д/ 44/3 0 0 -2/3 7/3 0 0
Выполняем шаг 4. Запишем новую симплекс-таблицу, изменив
в табл. 1.34 значения индексной строки Д/ и сг — 4, с2 = 1. На
следующей итерации получаем оптимальный план (табл. 1.36)..
Таблица 1.36
ci 4 1 0 0 0 0
Вх Ао А1 А2 Аз А4 А5 Ав
0 хз 2 0 3/2 1 -1/2 0 о
4 Х1 4 1 1/2 • 0 1/2 0 0
0 Х5 5 0 3/2 0 1/2 1 0
0 *6 2 0 1 0 0 0 1
* д 16 0 1 0 2 0 0
Исследование случая изменения значений коэффициентов целе-
вой функции при небазисных переменных выполняется с помощью
аналогичных вычислений.
2. При рассмотрении вопроса о влиянии изменения удельных
расходов ресурсов на оптимальное решение ограничимся коэффи-
циентами при небазисных переменных. Исследование изменений
при базисных переменных довольно сложно, проще решить задачу
с новыми условиями заново.
Рассмотрим исследуемую задачу при целевой функции Z —
= 4xj + х2 и ограничениях (1.9.2) — (1.9.6), оптимальное решение
которой представлено в табл. 1.36. Изменим потребление ресурсов
А и В для производства тонны краски второго вида. Вместо 2 и 1
при х2 зададим коэффициенты 5 и 3. Ограничение двойственной за-
дачи, соответствующее х2, принимает вид:
5^1 + Зу2 4- Уз + 1*
Определяем из табл. 1.36 значения уъ у2, у3, Уз и затем новую
оценку Д8.
У1 = Д8 = 0; Уз = Д4 = 2: Уз = Д8 = 0; у3 — Дв — 0;
Д2 = 5у! 4- Зу2 4- t/3 + у3 — 1 = 5.
so
Поскольку Д2 неотрицательна, указанные изменения не нару-
шают оптимальности решения табл. 1.36. Если бы оценка получи-
лась отрицательной, необходимо было бы выполнить шаг 4.
3. Добавление еще одного вида деятельности — выпуск краски
третьего вида. Обозначим объем краски третьего вида через х7.
Тогда задача запишется следующим образом!
Z = Зхх + 2х2 + 2х7 ->тах; (1.9.11)
Xi 4- 2х2 4- х7 < :б;
2хх 4- х2 4- 8/4Х7: —хх4- ха—х7< С 8; 1; (1.9.12)
X2sg :2;
Xi, х2, х7 > : 0. (1.9.13)
Добавление нового вида производственной деятельности экви-
валентно одновременному изменению целевой функции и коэффи-
циентов в ограничениях. 5
Предположим, что переменная х7 ранее присутствовала в задаче
(1.9.1) — (1.9.6) с нулевыми коэффициентами, а в модифицирован-
ной модели коэффициенты приняли соответствующие (1.9.11) —
(1.9.13) значения. Такой подход позволяет считать переменную
х7 для оптимального решения (табл. 1.34) небазисной. Найдем оцен-
ку Л7 по формуле (1.6.17) и проверим оптимальность новой задачи.
Из табл. 1.34 определяем:
г/1 = Д8 = 1/8; #2 = Д4 = 4/8; у3 = дб = о; y1 + a/iya — f/8>2;
Д7=1/8 + 1-2 = -%.
Следовательно, введением в базис новой переменной х7 план
может быть улучшен.
Приступаем к шагу 4. В симплекс-таблицу, представленную
в табл. 1.34 добавляем столбец, ассоциированный с переменной х7,
Д7 = -g- и с7 2
За одну итерацию получаем новое оптимальное решение!
хх —»«/»; х2 = 0; х7 = “/5; Z-14%.
Задачи и упражнения
Привести постоптимальный анализ следующих задач ЛП.
1.93. При изготовлении трех видов изделий применяются три
технологические операции. Максимальное время использования
станков по каждой из трех операций составляет 430. 460, 420 мин
4»
5!
в сутки. Прибыль от продажи одного изделия каждого вида состав-
ляет 3, 2 и 5. Известны пооперационные затраты времени на изго-
товление каждого изделия. Определить план, при котором пред-
приятие будет иметь максимальную прибыль.
Модель задачи будет иметь вид:
Максимизировать F = Зх2 4- 2х2 4- 5х3 (величина прибыли
за сутки)
при ограничениях
операция 1: 1хх 4- 2х2 4- 1х3 430;
операция 2: Зх2 4- 0х2 4- 2х3 460;
операция 3: хг 4- 4ха 4* 0х3 420;
х/ 0, / = 1, 3.
1. Решить задачу и определить выпуск каких изделий выгоден.
2. На сколько нужно сократить время второй операции, чтобы
сделать производство первого изделия выгодным?
3. Определить время сокращения операции 1, при котором про-
изводство детали первого вида станет рентабельным, если время
выполнения операции 2 можно уменьшить до 1,75 мин.
4. Определить, как влияет на оптимальный план изменение ре-
сурса времени станков .в следующих случаях:
а) по первой операции время уменьшилось с 430 до 380 мин}
б) по второй операции — уменьшилось с 460 до 400 мин;
в) по третьей операции — уменьшилось до 400 и затем увели-
чилось до 450 мин.
5. Как изменится план, если в производство включен выпуск
четвертого изделия с пооперационными временными затратами со-
ответственно 2 мин, 3 мин, 1 мин, С4 = 4?
6. Как изменится оптимальное решение, если целевая функция
будет иметь следующий вид:
a) F = 4хх 4- 2х2 4- х3-> max; б) F = Зх2 4- 4х2 4- 2х3-> max;
в) F = 2хх 4- 2х2 4- 8х3 -> max; г) F = 5х2 4- 2ха 4- 5х3 max.
7. Определить для задачи с исходными данными увеличение
прибыли для изделия первого вида, обеспечивающее рентабель-
ность его производства.
1.10. МЕТОД ДЕКОМПОЗИЦИИ ДАНЦИГА - ВУЛЬФА
Этот специальный метод был разработан для решения задач ЛП, имеющих
блочно-диагональную структуру. По сравнению с общими методами он позволяет
значительно сократить объем памяти для хранения пересчитываемой на каждой
итерации информации.
Метод оказывается особенно эффективным при решении реальных задач ЛП
большой размерности.
Идея метода состоит в том, что решение большой исходной задачи сводится к
решению связанных между собой подзадач меньшей размерности.
52
Задача ЛП с блочно-диагональной структурой имеет следующий вид:
найти max f == c^i + с2х2 + '• • ♦ + спх„ (1.10.1)
при ограничениях
AiXx -f- А2х2 + • • • + Алхл = Ьо блок-связка; (1.10.2)
Bixi = bi блок 1; (1.10,8)
В2х2 = Ь2 блок 2; (1.10.4)
ВрХр = Ьр блок р; (1.10,6)
ху>0, / = Т7”п- (1.10.6)
Наряду с ограничениями общего вида (1.10.2), содержащими все переменные
(блок-связка), в задачу входят группы ограничений (1.10.3) — (1.10.5), содержа-
щие только определенную часть переменных (блоки 1,2, ..., р). Количеством диа-
гональных блоков определяется в общем случае количество подзадач, которые не-
обходимо решить на каждой итерации решения так называемой главной или ко-
ординирующей задачи.
По сравнению с исходной координирующая задача имеет небольшое число
строк и большое число столбцов. Однако существенным для метода является то,
что для решения координирующей задачи не требуется’ задания всех столбцов в
явном виде. По мере необходимости последние генерируются в процессе решения.
Частным случаем является задача с одним диагональным блоком:
найти max f == СТХ (1.10.7)
при ограничениях
Ахх = Ьх — блок-связка; (1.10.8)
А2х = Ь2 — блок 1; (1.10.9)
Х>0. (1.10.10)
Блок-связка (1.10.8) имеет т± строк, блок (1.10.9) — т2 строк.
Пусть S — множество допустимых решений задачи ЛП (1.10.7) — (1.10.10);
So — множество решений системы (1.10.8), (1.10.10); Si — множество решений
системы (1.10.9), (1.10.10). Отсюда S = So П Sx. Предположим, что Sx — ограни-
ченное замкнутое множество (выпуклый многогранник) и X/, / = 1, г,— его край-
ние точки. Тогда любая точка X С Si может быть представлена в виде выпуклой
линейной комбинации крайних точек множества т. е.
х = £6/х/>’/=1............... 6z>0, S8/ = 1-
/=1 к /“1
где г — число вершин многогранника.
Базируясь на этом, приходим к следующему выводу: чтобы получить множе-
ство S, являющееся пересечением множеств So и Sx, следует рассмотреть лишь та-
г
кие наборы коэффициентов б/ >0, б/ = 1, которые определяют точки, принад-
/=1
лежащие множеству So, т. е. при которых удовлетворяются ограничения:
AjX - А, £ б,Х • = £ (АД,) б, . Ьх.
/=1 /=1
.Тогда задача (1.10,7) — (1.10.10) принимает вид:
найти max f = 2 (СтХу) бу (1.10.11)
/
53
при ограничениях
' - (AtXz)«, — (1.10.12)
. £6/ = !; (1.10.13)
6,>0. (1.10.14)
Введем обозначения: АхХ/= Р/ и СТХ/= а/. Тогда задача (1.10.7) —
(1.10.10) превратится в задачу с новыми переменными бу:
найти max У о;бу (1.10.15)
при ограничениях
^Р;.6;. = ь15 (1.10.16)
£бу = 1; (1.10.17)
6,>0. (1.10.18)
Задача (1.10.15) — (1.10.18) эквивалентна исходной (1.10.7) — (1.10.10) и
называется координирующей. Она имеет (/Wj + 1) строку (против т1 + /п2 строк
исходной задачи) и число столбцов, равное количеству крайних точек множества
St. Если 6» = (6° б°...6?) — оптимальное решение задачи (1.10.15) — (1.10.18),
г
го Х° = У X/б® — оптимальное решение задачи (1.10.7) — (1.10.10).
/==1
Для решения координирующей задачи используем модифицированный симп-
лекс-метод.
Если известно, что векторы Рп, Р^2, ...» Р;(т-|-1) составляют базис опорного
решения задачи (1.10.15) — (1.10.18), то для проверки этого решения на опти-
мальность надо знать знаки оценок Д/ всех небазисных векторов
Az = A^/j — at. (1.10.19)
Представим вектор Л в виде Л = (%х, Ло), где Хх соответствует ограничению
г (1.10.16), а — ограничению (1.10.17). Используя введенные обозначения для
Ру и О/, получаем:
Д/= (АЛ — С)т Х? + Хе. (1.10.20)
Каждая оценка Ду соответствует /-му вектору и, следовательно, у-й вершине
многогранника Sx. Если в какой-то вершине многогранника Sx, где значение функ-
ции (AiXj — С)ТХ/ минимально, сумма (AjXx — С)тХу + — Ду — величина
неотрицательная, то можно утверждать, что во всех остальных вершинах тем более
Ду > 0, и проверяемый базис координирующей задачи будет оптимален. Если же
для этой вершины Д/ < 0, то базис не оптимален и определена наименьшая из от-
рицательных оценок, допустим Д5, соответствующая вектору Р8.
Таким образом, проверка базиса задачи (1.10.7) — (1.10.10) сводится к отыс-
канию минимального значения функции (А^ — С)тХу на множестве всех вершин
многогранника $х, определяемого диагональным блоком, т. е, к решению подза-
дачи вида:
найти min (АЛ — С)т X; (1.10.21)
при ограничениях
А2Х = Ь2; (1.10.22)
Х>0. (1.10.23)
54
Если X* —оптимальное решение задачи (1.10.21) — (1.10.23) и (XiAr —
— С) X* + 0, то проверяемый базис оптимален; если (А^ — С)ТХ * + 5^
< 0, то не оптимален, и полученная А/ — наименьшая из отрицательных оценок
векторов Ру. Пусть min А; = As, тогда в базис к90рдинирующей задачи следует
ввести вектор
(1.10.24)
Нумерация переменных координирующей задачи совпадает с нумерацией вер-
шин многогранника Slt а последняя зависит от нашего выбора. Поэтому можно
принять, что вершина X* = Xs — следующая за всеми ранее рассмотренными
вершинами многогранника. Коэффициент в целевой функции, соответствующий
этому вектору,
os = CX*. (1.10.25)
Вектор, который будем выводить из базиса, определяется, как обычно, по
минимальному отношению Ао к Ps. Далее для решения задачи используем моди-
фицированный симплекс-метод.
Новый базис снова проверяем на оптимальность, построив и решив для него
подзадачу, соответствующую диагональному блоку. Через конечное число ите-
раций получим оптимальное решение координирующей задачи, а затем и опти-
мальное решение исходной задачи.
Пример 1.9.
Найти iriax f — хх + х2 + 2х3 + х4 (1.10.26)
при ограничениях
хх + 2ха + х3 — х4 < 10 — блок-связка;
2xi + х2 < 4
хх + 2х, 6
х3 + xt < 5
— 2х3 4- Зх4^6
— блок 1;
— блок 2;
ху>0,' /= 1, 4.
(1.10.27)
(1.10.28)
(1.10.29)
(1.10.30)
Области допустимых решений (1.10.28) и (1.10.29) Sx и S, пред-
ставлены на рис. 1.10, 1.11.
Пусть X = (хх, x<j) и Y = (рх, у£ — допустимые решения нера-
венств (1.10.28) и (1.10.29), где для удобства изложения рх, уа со-
ответствуют Хд и х4 рассматриваемого примера. Тогда справедливы
55
соотношения X = У a*Xt, Y = У B/Yh где Х{, Уг — крайние точ-
t t
ки множеств и Sa. Целевую функцию представим в векторном
виде:
найти max / = CfX 4- C2Y,
а связывающее ограничение так:
аТх 4- ajY + I = 10,
где €? = (!, 1); С? = (2, 1); а[ = (1, 2); а2т = (1, — 1); I > 0.
Запишем координирующую задачу:
4 4
найти max f = £ (C[Xt) at 4- £ (CjYO ₽< (1.10.31)
i==l
при условиях
S (a?X/) a( 4- S (Я2 Y,) P, 4* I = 10;
£ a(= 1;
i-1
SP: = U
<=i
05/ 0, Р/ 0.
(1.10.32)
(1.10.33)
(1.10.34)
(1.10.35)
Для данной координирующей задачи можно определить суммар-
ное количество переменных, входящих в нее. Множество Sx имеет
4 крайние точки и, следовательно, с ним связаны 4 переменные а,.
Множество S2 также имеет 4 крайние точки, а количество перемен-
ных р{ равно 4.
Таким образом, с учетом свободной переменной I в задаче
(1.10.31) —(1.10.35) будет 9 переменных и, следовательно, 9 век-
торов-коэффициентов при этих переменных в условии задачи.
Выше описан общий принцип определения всех векторов. Од-
нако на практике все векторы знать не обязательно. В нашей задаче
нужно знать лишь три вектора, которые составляют начальное
допустимое базисное решение. Необходимые в процессе решения
другие векторы будут генерироваться в соответствии с выражением
(1.10.24). Если рассмотреть в качестве начальных точки Xi = (0,0)
из Sj и Yx = (0, 0) из S2, то пользуясь (1.10.24), (1.10.25) можно
определить векторы при переменной а1( рх:
56
Коэффициенты при аг и рх в целевой функции
<ух — СТХХ = [1, 1] [О, 0]т = 0;
= cJyx = [2, 1] [О, О]т = О.
Тогда координирующая задача будет иметь вид
найти maxf = 0-ai+ ••• + 00! + ••• 4-0-Z (1.10.36)
при ограничениях
0• otj• • • 4"0• Pi4- ** 4- = 10;
«14- а» 4- “з 4- а« = 1;
а1а1а2а 1. (1-Ю.37)
Pi 4- Ра 4- Ре + ₽4 = 1>
az>0, 0<>О.
Первая большая итерация. Из системы (1.10.37) видно, что
очень просто получается следующее допустимое-базисное решение:
/=10; a1=l; ₽i = l.
Решаем координирующую задачу модифицированным симплекс-
методом. Так как базисные векторы составляют единичную подмат-
рицу, то матрица, обратная к базисной, совпадает с ней.
Заполняем основную таблицу для начального ДБР (табл. 1.37).
Таблица 1.37
8 баз Sx e0 e1 e2 e3
' 0 t 10 1 0 0
0 , °1 1 0 1 0
0 01 1 0 0 1
— A 0 0 0 0
Определяем и заносим в последнюю строку табл. 1.37 значения Л:
т. е. — 0; Xqi — 0.
Для того, чтобы определить, является ли базис, представленный
в табл. 1.37, оптимальным, составляем и решаем две подзадачи.
Подзадача 1.
Найти min zx = (l^ — Ct)T X
при ограничениях XCSV
Подзадача 2.
Найти min za = СЦа2 — С2)т Y
при ограничениях Y Q S2.
57
Подставляя в функции zx и г2 значения Хх = О, ах, a,, Cj, Cj,
получаем
подзадачу!
найти min гх = — хх — х2,
X = (хХ) хг) Sx;
подзадачу 2
найти min z2 = —2х3 — х41
Y — (Xg, Х4) £ Sg.
Таблица 1.38
$ баз Вх е0 е1 е2 е3 ^2
0 i 10 1 0 0 5
0 «1 1 0 1 0 0
0 01 1 0 0 1 1
— Л 0 0 0 0 -10
Оптимальное решение этих подзадач легко найти графически
(см. рис. 1.10, 1.11):
у _ Г 2 8 '
Ла — , —
Найдем минимальные оценки стобцов:
у-; у2 = [5, 0]; z2° = —10.
Z? =
Д/ (ai) = Z1 + ^01 —---------о-
A/(₽g) = Z20+^ = -lp.
Следовательно, базисное решение, представленное в табл. 1.37,
не оптимально, и для его улучшения необходимо вводить в базив
переменные 02 и а2.
Вторая большая итерация. Определим векторы, которые бу-
дем вводить в базис:
ajY2 = (l, —1)(5, 0)т = 5;
58
Коэффициенты соответствующих переменных в целевой функции:
о2 = clY, = (2, 1) (5, 0)т « 10.
В базис вводим вектор Р2, соответствующий переменной р2.
Этот вектор определяем по соотношению = А7*Р2 и запол-
няем основную табл. 1.38.
Таблица 1.39
$баз вх е0 •1 е2 е3 “2
0 i 5 1 0 -5 6
0 «1 1 0 1 0 1
10 02 1 0 0 1 0
•— Л 10 0 0 10 -10/3
Выводим из базиса переменную рх. Новое базисное решение за-
носим в табл. 1.39. Затем в новый базис вводим переменную (век-
тор Р2) и выводим I.
Следующее базисное решение представлено в табл. 1.40: <Xim
— Х/в> а2 = 6/в, р2 = 1. При ЭТОМ
X = ajXj 4- а2Х2 = -1- (0, 0) + 4 4
Y = p2Y2 = 1 (5. 0) = (5, 0).
7
Значение целевой функции равно 12-^-.
Таблица 1.40
$баз Вх «0 е1 е2 ез
10/3 "г 5/6 1/6 0 -5/6
0 в1 1/6 -1/6 1 5/6
10 02 1 0 0 1
— л 127/9 5/9 0 7*9
• Далее необходимо проверить, будет ли новое базисное решение
оптийальным. Из последней строки табл. 1.40 находим
Л = [4, 0, 7-(-] •
L * J
59
Используем к для формирования подзадач.
Подзадача 1.
Найти min (Хл — Сх)т X = min (1, 2) — (1, l)j X —
= g- Хх 4---------------g- X2i (Xj, Xj) £ Sx.
Подзадача 2.
Найти min^a, —C2)tY = {-|-(1, —1) —(2, 1)}y =
“ --------- ~g~ *3 g- Xb> Y = (x8, X4) € Sj.
Решив эти подзадачи, получим оптимальные решения»
Х8 = (2, 0); z? =-1- (подзадача 1);
v Г9 16 1,о „ 26 , о.
Y« = [т.’ т]5 22 = ~7 "4Г (подзадача 2).
Определяем минимальные оценки столбцов:
Д, (а8) = 2? + Х01 = - А + 0 = - 4-;
Д/Фз)=*2+х02—7^-+74-=-44.
Так как оценки отрицательные, план координирующей задачу
(табл. 1.40) не оптимален.
Третья большая итерация. Генерируем столбцы, которые
должны быть введены в базис координирующей задачи»
а?Х8 = (1,2) (2, 0)т = 2;
a3 = CjY3 = (2, l)C7s,le/6)T = 84/6-
Переносим базисное решение из табл. 1.40 в табл. 1.41 и дописы-
ваем в нее столбец, соответствующий переменной а8, которую бу-
60
дем вводить в базис на первом шаге,
Росн Л—In
з = Ах Р8
Ч о
-1/. 1
о о
-5/Л Г21
% . 1
oj до.
РЯ
.0.
Выводим из базиса переменную ах. Новое базисное решение пред-
ставлено в табл. 1.42.
Таблица 1.41
$баз вх е0 е1 е2 е3 аз
10/3 °2 5/6 1/6 6 -5/6 1/3
0 «Л 1/6 -1/6 1 5/6 2/3
10 *2 1 0 0 1 0
Л 127/9 5/9 0 12/9 -8/9
Таблица 1.42
$баз вх • е0 в1 е2 е3
10/3 а2 3/4 1/4 -1/2 -5/4
2 °3 1/4 -1/4 2/3 5/4
10 *2 1 0 0 1
Л 13 1/3 4/3 81/3
На следующем шаге в базис следовало бы ввести вектор Р„
для которого Д/ (р3) = —Ц-. Однако, прежде чем это сделать,
целесообразно проверить, не стала ли оценка этого вектора в новом
базисном решении (табл. 1.42) положительной:
д/(Рз) = лр3-;8=(4-, 4.84-)(—Г' °’ = 1ту-
Так как Д/(Р3) > 0, вектор Р3 в базис вводить не будем.
Проверяем, является ли базисное решение координирующей
задачи, представленное в табл. 1.42, оптимальным.
Формируем и решаем две подзадачи.
Подзадача 1.
Найти C1)TX = jy(l, 2) — (1, 1)} X =
в----Xi-----
61
Подзадача 2.
Найти min (Mi — С2)т Y = Ц- (1, — 1) — (2, 1)] Y -
= — “з~ Х3 Х4, (Xg, Х4) £ Sg.
Решение
X4 = (2, 0),' z?= —Y4 = (5, 0), z£ =--------
Определяем минимальные оценки столбцов, не входящих в базис!
А/ (а«) = г° + ^oi = —~ = О‘>
А/ (₽4) = г2 + хо2 = - + 8 4 - о.
Так как обе оценки неотрицательны, то базисное решение, пред-
ставленное в табл. 1.42, является оптимальным решением коорди-
нирующей задачи.
Тогда оптимальное решение исходной задачи будет
Хопт = а2Х2 + ос8Х3 = 3/4 (2/3, з/8) + V4 (2, 0) = (1,2);
YonT=p2Y2 = 1 . (5,0) = (5,0).
Итак, окончательно получим: х°т =1; х2пт = 2; хзпт = 5; х?" =
= 0, max f = 13.
Задачи и упражнения
Решить модифицированным симплекс-методом и методом деком-
позиции.
1.94. F = (—2х3 + 2х4 + х5) -> шах;
хг — 2х3 + 2х4 + хв = 4,
х2 + Зх3 — х4 + 2х6 = 2,
х7>0, /=1, 5.
1.95. F = (х2 + х2 + 2х3 + 8x4) ->• min;
2х4 — Xi “1“ Зх3 2х4 === 3,
— хх + Зх2 —4х3 + 4х4 = 1;
Х/^ 0, / = 1, 4.
1.96. F = (70х2 + 21х3 — 12х5 4- 6х7 4- 17х8 + 10х») max;
Хд + х4 — 8х6 + 2х7 — х8 — Зх, = 33,
6х2 — х8 + х6 4- хв — 2х7 4- 4х3 = 27,
хх 4- 4х2 4- Х3 — 5х6 4- х8 4- х, = 86,
х/>0, /= 1, 9.
1,97. F — (Xi 4- х2 4- 2х3 4- 8х4) -► min;
2Xi — х2 4- Зх3 — 2х4 = 3,
— Хх 4- Зх2 — 4х34- 4х* = 1,
*/>0, /-1,4.
е
ts
2х
сч сч оо сч
++V/V/
СЧ 00 я-м -М о
t+t+w+A
>? н Н Ч X н ч >Г
СЧ
++
Н* КОО
CD СЧ »—•
++V
«# «
ц * ч
оо
+1+ 1^
00 п оо ж ~ I *
X Ц X О СЧ I’"4
tJ* СЧ СО ’—1 ||
+++V/V/I
N N « « ®
X И к к *
СЧ СЧ СЧ о
+++++Л
Н н н >л й
II
й.
1
1,118, F = (%! + 2xa + x3 4- 3x4 — 2x6 + x7 — x8) -* max;
Xi -j- 7x3 — x8 -j- 7x4 — 8x5 -j- 2xe — 3x, — x8 = 9,
x2 4* 8x3 4- 9x4 4- 7x6 — 2x7 — 2x8 = 25,
x8 4- xt+ x8 —— xe 4- x7 4- x8 = 3,
X/>0, / = 1, 5.
1.114. F = (xi — 2x2 4- x9 4- 2x4 4* x6 — 2x8 4- x7 — x7) ->max|
X14- x8—2x8-j- x5 4-6xe 4-2x7 — x8 = 9,
Зх7 4- Зх, — x8 4- 5x4 -j- x8 4* 6x8 4* 3x7 4~ %x3 — 3Q,
2xx 4- 2x2 4- xt + 5x4 -j- хь 4* 6xe 4* 4x7 — 3x8 = 22,
X/>0, j — 1, 8.
1.115. F = (x4 4- 2x2 4- 2xs 4- x4 4- 2x6 4- xe 4- 9x7 — 8x8) -> maxj
Xi+ x2+ x8 4-x4-j-2xB 4-3xe — 5x74-3x8= 15,
Xi + x2 4- xs 4- x4 4- xe — 5x7 4- 3x8 = 9,
Xi 4- x2 — x8-j- x4 4- 2x6 4- 3x6 4- 3x7 — x8 » 7,
X/>0, /==1.8.
1.116. F = (2xj4- x2— xs— x4— x5— xe)->max|
2xx -j- x2 4- x8 4- 3x4 — 2x6 4- 3x8 = 15,
xx — 2x2 4- Xg 4- 2x4 — x6 — xe = 0,
Xi 4- x2 4- 3x84- 4х4 4- 4x5 4- 2x« = 22,
X/ > 0, j = 1, 6.
1.117. F = (xj 4- 2x2 4- 3x8 4- x4 4- x5) -> maxi
Xi4- x24- 4x3—x44-x5 = 1,
Xi 4- x2 — 2хя 4- xg 4- xg = 1,
— Xj4- x8 — 6x8 4-x4 4-xB = 1,
х^ 0, / = 1, 5.
1.118. F = (— xt — 3x2 4- x84- x4 4-5xg)-► mini
Xi — x2 4* 2x3 4- Xg 4- 5х5 = 5, '
2x7 4* x2 4- х8 4“ Xg 4* 5xg = 5,
Xi 4- х2 4- 2x44~ 6x5 = 6,
xz>0, /= 1, 5.
1.119. F= (Xg 4“ x2 4" x8 4* x^-^-max;
Xg 4* x2 — Xg 4- 3x4 4* 2х8 = 3,
Xi4-Xg —xs4- x4= 1,
xt — x2 4- x8 4- xg 4- Xg = 1,
X/>0, /= 1, 5.
1,120, F= (xx4-x24- xs4- х4+ х6 4-хв)maxi
Xi 4- x2 + 2xs 4- 3x4 4- 6хв = 9,
x2 4- x3 4- Xg 4- хв «в 3,
x8 4- Xg — xg 4- 2xe = 1,
x4 4* Xg = 1, ~
к/>о, / = 175.
в g-4068
1.121. F = (xx4-2x24* x8 + Зх4 — 2x5) -*• max;
xx + 7xa — x8 + 7x4 — 8x5) = 9,
x2 + Sx8 4- 9x4 + 7x6 = 25,
*3+ xi + хь — 3»
X/>0. / = 1, 5.
1.122. F = (xx 4- x8— x8+ x4— 2x5)->max;
3xx + x2 + x8 4- x4 — 2xB = 10,
6xx -j- x2 + 2x8 + 3x4 — 4x6 — 20,
10xx 4~ x2 4~ 3x8 4- 6x4““ 7x6 = 30,
X/ ^0, / = 1, 5.
1.11. ТРАНСПОРТНЫЕ ЗАДАЧИ
Транспортные задачи составляют класс задач линейного программирования,
специфика математической модели которых позволяет применять для их решения
наряду с общими методами ЛП специальные методы, значительно сокращающие
процесс вычислений. Простейшая постановка транспортной задачи (Т-задачи) по
критерию стоимости следующая.
В т пунктах производства Д2, Ат имеются запасы какого-то однород-
ного продукта в количествах а2, единиц. Необходимость в этом продукте
в пунктах потребления В2, •••> &п выражается соответственно величинами
...» Ьп. Из каждого пункта производства возможна транспортировка продукт^
в любой пункт потребления. Транспортные издержки на перевозку единицы про-
дукции (груза) из пункта 4/ в В/ заданы и составляют С = II ct7 0, i = 1.т,
i = I.......
Задача состоит в отыскании такого плана перевозок, при котором весь продукт
из пунктов производства будет вывезен, запросы потребителей полностью удовле-
творены и суммарные транспортные издержки минимальны.
Условия Т-задачи представим в виде
1С11 *12 *13 • • • *1Л
*21 *22 *23 • • • *2п
ет1 Ст2 стЗ • • • стп
Ь3 Ь3 . . . бт.
а£
«1
а2
ат
Для составления математической модели задачи введем переменные Хц 0,
i ® 1, ..., т, j — 1, ..., п, обозначающие количество груза, перевозимого из 7-го
пункта производства в пункт потребления.
Требуется найти множество переменных х1 - 0, минимизирующих функцию
т п
£е=Ё S сихи
i=i /=1
и удовлетворяющих условиям
п
S *г/ = й£. 1=1, ...» rnj
7=1
т
S xu=sb}’ i=l- ••• •
(1.11.1)
(1.11.2)
(1.11.3)
66
Т-задача представляет собой задачу ЛП с числом переменных т X п и числом
ограничений-равенств т + л.
Набор переменных {х^}. удовлетворяющий условиям (1.11.2) и (1.11.3}, за-
писывают в виде матрицы
хХ1 х12 ... х1п
Х21 Х22 • • • Х2п
Хт1 хт2 • • • хтп
Матрицу X называют планом перевозок Т-задачи, а переменные х^ — пере-
возками. План Хопт, при котором значение целевой функции минимально, назы-
вается оптимальным. Матрица С = || ctj ||, i = 1, ...» /и, / = 1, ..., л, называется
матрицей транспортных издержек.
Условие (1.11.2) гарантирует полный вывоз продукта из всех пунктов произ-
водства, а условие (1.11.3) означает полное удовлетворение спроса.
На практике существуют как задачи, где выполняется равенство между сум-
марными ресурсами и суммарными потребностями (условие баланса)
т п
= (1-11.4)
Z=1 /=1
так и задачи, где
т п
'£ai*'£b/- (1.11.5)
1=1
Задача (1.11.1) — (1.11.3) при условии (1.11.4) называется закрытой моделью,
а при условии (1.11.5) — открытой моделью. Равенство (1.11.4) является необхо-
димым и достаточным условием совместности системы уравнений (1.11.2) — (1.11.3)
в области допустимых решений, и, следовательно, разрешимости задачи. Если
задача представляет собой открытую модель, то она должна быть сведена к закры-
той транспортной модели.
т tn
При at > J] bj необходимо ввести дополнительный пункт потребления,
t=i /=1
в котором потребность
т п
Ьп±\ ~ X ai X bi9
1=1 /=1
п т
а если S */>£«<. то вводится дополнительный пункт производства. После
/=1 £=1
этого можно приступать к решению задачи.
Существуют ручные и машинные методы решения Т-задачи. К ручным отно-
сятся распределительный метод, метод потенциалов. К машинным — венгерский
метод, метод дифференциальных рент.
Решение Т-задачи с помощью ручных методов состоит из следующих основ-
ных этапов: определение исходного опорного плана задачи; оценка этого плана;
переход к следующему, лучшему плану путем замены одной из базисных пе-
ременных на свободную.
Методы определения начального опорного плана
Как и в других задачах ЛП, итерационный процесс отыскания оптимального
плана транспортной задачи начинается с какого-либо опорного плана. Опорный
йлан Т-задачи строим в виде матрицы размером т X п. Заполненные позиции мат-
рицы, т. е. такие, в которых У= О, соответствуют базисным неизвестным. Для
5*
67
невырожденного опорного плана их количество равно r= т-j- п — 1, где г —
ранг матрицы системы ограничений (1.11.2), (1.11.3).
Начальный опорный план может быть построен методом северо-западного
угла.
Определяем элементы матрицы ХтХп, начиная с верхнего левого угла. На-
ходим величину х1Х “ min {о^, bt}. Если bt < <zlt тохы = bJt и первый столбец за-
крыт для расчета остальных элементов, т. е. хп = 0, i = 2,3, .... т. Если > aj,
то xu = aj и Xjy = 0 для / = 2, 3..п.
Затем вычисляем х12 = min {аг — хи, bt] при а2 > blf хг1 = min {<%,
bi—xn] при ах < др
Этот процесс продолжается до тех пор, пока на каком-то этапе не исчерпаются
ресурсы ат и не удовлетворятся потребности Ьп.
Пример 1.10. Даны: матрица' транспортных издержек С =
= |с(/Ц, i — tn, j = 1, п, объемы производства а(. Объемы
потребления Ьр
-
1 2 9 7 60
' 3 4 1 5 55
С = 6 4 8 3 40
2 3 3 1 35
bt 70 5 45 70.
т п
Проверяем условие баланса £ а i = S fy: 190 = 190. Строим
i=i /=1
сходный опорный план Хо:
60 0 0 0
10 5 40 0
ло = о 0 5 35
0 0 0 35
Хц — min {60; 70} = 60;
х21 = min {55; 70— 60} = 10;
х22 = min {5; 55— 10} = 5;
*23 = min {45; 55— 10 — 5} = 40;
хю = min {40; 45—40} = 5;
*34 = min {70; 40 — 5) = 35;
хи — 35.
Полученный план невырожденный, так как г = 4 + 4 — 1 =7.
Начальный опорный план может быть найден также методом
минимального элемента. Этот метод позволяет получить опорный
План с учетом матрицы стоимости перевозок С — J сц ||. План
•троим таким образом, чтобы перевозки хц выполнялись, по воз-
можности, по маршрутам с минимальной стоимостью. Для этого
68
элементы матрицы С
С =
Ь/
1 2
3 4
6 4
2 3
70 5
at
60
55
40
3 1 35
45 70
нумеруем, начиная от минимального в порядке возрастания, а
тем в этом же порядке определяем элементы матрицы Xi
xn = min {60, 70} = 60;
х23 = min {55, 45} = 45;
х44 = min {35, 70} = 35;
* 12 = 0;
* 41 =
х21 = min {55, 70 — 60} = 10;
* 42
* 43 0»
х34 == min {40, 70 — 35} = 35;
* 22 0;
х32 — min {40— 35, 5} = 5.
Элементы матрицы X, соответствующие с24) сзп с14, с33, г13* не
рассматриваются, так как исчерпаны все ресурсы и удовлетворены
Ёсе потребности.
Строим опорный план Хо, заполняя хц в порядке полученной
нумерации:
Построенный план вырожденный, поскольку количество нену-
левых элементов хц =/= 0 равно 6, а г = т + п — 1=7.
Метод потенциалов
Идея метода состоит в следующем. Сначала строится начальный опорный
план, а затем осуществляется его улучшение до тех пор, пока не будет удовлетво-
ряться признак оптимальности плана.
Алгоритм метода потенциалов решения Т-задачи состоит из предварительного
втапа и конечного числа итераций.
На предварительном этапе строят начальный опорный план Хо. Затем для это-
го плана рассчитывают оценочную матрицу
С1=0^/ —(«/-«<) llmxn- (1.11.6J
где Vi и tii — потенциалы пунктов отправления At и пунктов назначения В/.
Предварительные потенциалы выбирают таким образом, чтобы для связан-
ных коммуникациями пар пунктов, для которых в плане Хо, х^ =£ 0, разность
6»
9 7
1 5
8 3
потенциалов была равна ctf.
— (1.11,7)
Если матрица Сх не содержит отрицательных элементов, то Хо — оптималь-
ный план. В противном случае XQ — неоптимальный план и его можно улучшить.
Описание алгоритма
Предварительный этап. 1. Определяем начальный опорный план Хо одним из
описанных способов.
2. Вычисляем оценочную матрицу Ct. Для расчета элементов матрицы не-
обходимо первоначально определить все потенциалы и/ и Строим схему перево-
зок, соответствующую начальному опорному плану л0, т. е. соединяем коммуни-
кациями пункты отправления и назначения, для которых х^ Ф 0. Пользуясь со-
отношением (1.11.7), определяем последовательно все потенциалы пунктов отправ-
ления и назначения, принимая для удобства = 0. Затем по (1.11.6) находим
элементы матрицы Cv Очевидно, позиции матрицы Clf отвечающие базисным эле-
ментам плана Хо, будут заняты нулями.
(к + 1)-я итерация, 1. Если в оценочной матрице все элементы поло-
жительны, план — оптимальный, в противном случае следует приступить к
его улучшению.
2. Выбираем наибольший по модулю отрицательный элемент оценочной
матрицы и, начиная с соответствующего ему элемента xst, в матрице Х(^
строим замкнутую цепочку, в которую входят элементы х^ Ф 0.
Затем определяем 0 — минимальный элемент среди всех нечетных по порядку
расположения в цепочке, считая первым следующий за xs/ элемент.
3. Строим новый план прибавляя 0 ко всем четным элементам цепоч-
ки и вычитая из нечетных. Элементы матрицы Х(^, не входящие в цепочку, пере-
носятся в матрицу 6е3 изменения.
4. С помощью эквивалентных преобразований матрицы находим оценоч-
ную матрицу €(&_]_!) для нового плана Х(Л+1). Для этого подчеркиваем в матрице
C(Q все элементы, соответствующие ненулевым элементам матрицы Х^^ (они
обязательно равны 0). В матрице зачеркиваем строку, содержащую элемент
Если в этой строке имеются подчеркнутые элементы, то зачеркиваем соответ-
ствующие этим элементам столбцы. Если в каждом зачеркнутом столбце имеются
подчеркнутые элементы, зачеркиваем соответствующие им строки, и так до тех
пор, пока описанная процедура выполнима. После этого ко всем элементам зачерк-
нутых строк прибавляем | cs/1, а от элементов зачеркнутых столбцов вычитаем
| |. Получаем новую оценочную матрицу. Если в матрице нет отрицатель-
ных элементов, то план — оптимальный, иначе переходим к следующей ите.
рации.
На этом итерация завершается.
Рассмотрим работу алгоритма на примере 1.10. Решение начи-
наем с проверки выполнения условия баланса, т. е. условия раз-
решимости задачи;
4 4
Е at = S bj = 190.
/=1
Строим начальный опорный план по методу северо-западного угла!
60 0 0 0
10 5 40 0
Хо — 0 0 5 35
0 0 0 35
70
Для удобства вычисления потенциалов ut и щ представим гра-
фически план перевозок, соответствующий начальному опорному
плану (рис. 1.12)..'
По соответствующим маршрутам указываем стоимость перевозки
сц единицы груза из t-го пункта в f-й. Принимаем и( = 0 (можно
взять любое число) и, пользуясь соотношением (1.11.7), определяем
потенциалы!
и т. д.
их = 0;
сц = 1, = си, Vj = 1;
^21 “ 3, Vx Wg ^21, W2 “ 2*
С22 = 4, 1>2 — «2 = «22. »2 = 2
Рассчитываем элементы оценочной матрицы по соотношению
(1.11.6):
с}/ = сц — (V/ — «,);
ср = Ci2 — v2 + “1 = 2 — 2 + 0 = 0;
ср = Схз — va + ui= 4* 1 — 0 = 10;
Ch == Сц — -|“ их = 7 6 — 0=== 13;
и т. д.
Таким образом
0 0 10 13
0 0 0 9
Ci = — 4 — 7 0 0
— 6 — 6 — 3 0
Поскольку в Ci имеются отрицательные элементы, план Хо не
является оптимальным.
Первая итерация. В матрице Хо> начиная с элемента х82, соот-
ветствующего в оценочной матрице наибольшему отрицательному
элементу, строим цепочку. Изменяя элементы, входящие в цепочку,
на величину в = min {5, 5} — 5 строим новый план Хх:
во 0 0 0
10 5-^ 40 0
II о И 0 t 1 0^—5 35
0 0 0 35
60 0 0 0
Xi == 10 </>&. 45 0
1 0 5 0 35
0 0 0 35
71
Полученный план является вырожденным. Поскольку в даль-
нейших расчетах оперируем невырожденным планом, один из ну-
лей цепочки заменяем величиной ё 0. В случае вырожденности
при построении начального опорного плана вводим = е по той
коммуникации, которая необходима для определения потенциалов
Ut И V/.
Выполняем преобразования в матрице Clt предварительно от-
метив в ней нули, соответствующие базисным переменным хц 0
плана Хъ и строим оценочную матрицу Ga;
о о ю
ООО
3 0 7
1 1 4
8
1
о
о
В оценочной матрице С2 нет отрицательных элементов, следо-
вательно, план Хх является оптимальным. Стоимость перевозок
в условных единицах
т п
L = 2 2 cijXij = 60 . 1 4- 10.3 + 40 • 1 4- б . 4 ч-
i=i /=1
4- 35.3 4- 35 . 1 = 290.
Задачи и упражнения
Решить следующие Т-задачи.
1.123. 1.124.
at
18 2 3 30 2 6 3 4 8 40
с = 4 7 5 1 50 С = 1 5 6 9 7 30
5 3 4 4 20 3 4 1 6 10 35
Ь, 15 15 40 30 Ь/ 20 34 16 10 15
1.125.
1.126.
С =
2
2
3
4 5 1
3 9 4
4 22 5
60
70
20
Ь, 40 30 30 50
4 1 3
6 5 4
7 9 5
2 2 7
at
30
20
40
50
bj 35 20 55 30
72
1.127.
1.128.
4 6 5
8 7 5
9 6 4
3 2 9
bt 140 130 90 140
1.129.
2
G= 2
3
4 5 1
3 9 4
4 2 5
bj 40 30 30 50
1.131.
3 2
2 3
1 5
Of
100
120
150
130
at
60
70
20
a(
60
65
70
b/ 40 60 70 25
1.133. at
13 2 4 1 50
G = 2 3 1 5 40
h 2 7 4 20
bt 30 25 35 20
1
5
6
7
3 3
2 7
4 8
1 5
4
5
2
7
b, 40 30 35 15
1.130.
1
C = 3
5
2 6 4
1 3 2
7 5 1
b, 30 25 18 20
1.132.
C =
10
7
6
15
1.134.
5 7
4 9
14 8
40 30
8 12
7 5
9 4
5 3
4
15
6
2
af
50
20
30
20
at
40
30
20
4
10
7
15
9
3
12
6
at
40
25
35
10
6
7
4
at
60
40
100
50
bt 30 80 65 35 40
1.135.
at
12 8 6 8 2 10| 130
8 1 2 3 5 6 90
7 4 4 1 4 81 100
2 8 5 1 3 б| 140
bj 110 50 30 80 100 90
1.136.
18 2
G= 30 4
6 4
9
1
8
7
55
3
2 3 8 16
a{
68
55
40
73
1.138.
1.187.
12 9 7
3 40 15 5
€= 6 4 83
124 3 3 1
bj 70 5 45 70
60
55
40
35
20
16
14
11
1.139.
3 7
7 5
6 4
3 1
1 5
8 6
8 3
7 4
4
3
2
2
b, 10 35 15 25 35
1.141.
C =
3 3 8
6 2 6
7 3 8
2 4 5
a,
20
20
40
45
bf 16 18 12 15
1.140.
. bf 25 30 40 15
1.143.
C= 3
16
7
8
3
2
4
5
5
3
40
30
50
bf 20
18
44
75
1.145.
C =
3
6
2
9
1
8
3
7
5
3
2
5
4
3
at
30
40
70
60
bf 35
80
25
70
74
at
30
5
45
70
6 =
4
10
4
5 6 8
3 2 3
10 5 1
101
15
16J
b, 110 30 50 80 90
1.142.
2
C= 6
3
5 3 4
1 2 5
4 3 8
at
45
35
70
bf 20 60 55 45
1.144.
2
C= 9
5
bf 10
1.146
C =
8
4
5
bt 25
7
4
7
3
5
6
6
7
2
ai.
30
70
50
40
20
60
3
6
7
2
3
2
7
4
8
6
3
5
a,
10
20
35
45
30
40
15
a{
130
90
40
1.147.
1.148.
5 2 2 1 6
6 2 4 3 3
10 4 5 6 8
3 7 9 1 2
bj 30 40 55 80 45 10
100
15
90
55
а.
3 5 6 12 7 8 105
4 4 2 10 9 5 30
с = 7 6 9 5 4 8 80
12 10 4 3 9 6 20
5 3 8 4 2 7 20
bi 80 43 10 17 50 30
Глава 2
ДИСКРЕТНОЕ ПРОГРАММИРОВАНИЕ
2.1, МЕТОД ОТСЕКАЮЩИХ ПЛОСКОСТЕЙ *
Многие задачи исследования операций из области экономики и управления
описываются математическими моделями дискретного программирования (ДП).
Методы решения задачи ДП делятся на 3 группы: 1) отсекающих плоскостей,
2) ветвей и границ, 3) случайного поиска и эвристические методы.
Метод отсекающих плоскостей предназначен для решения частного случая
задач дискретного программирования — задач линейного целочисленного про-
граммирования (ЛЦП).
Метод состоит в следующем. Временно отбросив условия целочисленности,
отыскиваем оптимальный опорный план. Если окажется, что он не удовлетворяет
условию целочисленности, то формируем дополнительное ограничение, называ-
емое правильным отсечением, которому заведомо удовлетворяет любое целочис-
ленное и не удовлетворяет найденное оптимальное нецелочисленное решение.
Решим задачу ЛЦП.
Найти максимум
п
F(X) = ^clXj (2.1.1)
при условиях
Е а^х. S b(, i= 1, ... , т\ (2.1.2)
7=1
«/>0, /=1, (2.1.3)
Ху —целые, /= 1, .... п. (2.1.4)
Если исходная система ограничений совместна и функция ограничена на мно-
жестве решений, отыскиваем оптимальное решение, отбросив условие целочислен-
ности.
Допустим, что найденный оптимальный план не является целочисленным.
Тогда для Z-й переменной, имеющей нецелочисленное значение, формируем допол-
нительное ограничение, которое имеет вид
Е Viixi> (2-1-5)
/=т-М
где уц — дробная часть значения коэффициента x{j разложения небазисной /-й
переменной по t-й базисной; — дробная часть значения f-й базисной перемен-
ной х,0; ylf = xtj — [xf/], причем xtj Хх,,], yl0 = х10 — [х,0]. х{0 > [х,ц] значит,
1 и L
* В литературе этот метод встречается также под названиями; метод отсечения, или
метод Гомори.
75
Минуя рассуждения, которые привели к выражению (2.1.5), укажем на его
особенность.
Нецелочисленный план Хопт не удовлетворяет неравенству (2.1.5), так как
у/0 > 0, а левая часть неравенства равна нулю, поскольку небазйсные перемей*
ные х/ равны нулю. В то же время любой целочисленный план удовлетворяет вы-
ражению (2.1.5) как строгому равенству, так как у£0 = 0 для всех i.
Таким образом, дополнив исходную систему ограничения (2.1.2), (2.1.3) пра-
вильным отсечением (2.1.5), отыскиваем оптимальное решение новой задачи ЛП.
Если дополнительное ограничение сформулировано правильно, через несколькд
итераций будет найдено искомое решение задачи ЛЦП, либо мы установим ее не-
разрешимость.
Двойственный симплекс-метод позволяет отыскать оптимальный целочислен-
ный план, добавляя дополнительное ограничение (2.1.5) не к исходной системе
(2.1.2), (2.1.3), а к полученному оптимальному Нецелочисленному решению. Длй
этого запишем (2.1.5) как равенство
п
S ?</*/“ X«+1 = V«- (2.1.6)
/==/71—$—1
Введением ограничения (2.1.6) мы увеличили размер базиса на единицу. Возь-
мем в качестве дополнительной базисной переменной хп^ й ЗаНШпем (2.1.6) в виде
п
— Vi0 = *п+1 - S (2-1 -7>
Сформируем в оптимальной симплекс-таблице дополнительную строку, в ко-
торую запишем величины у;о и у^, соответствующие (2.1.7). Получим некоторый
псевдоплан с базисными компонентами xiQ и новой составляющей ~ —Y/q.
Используя двойственный симплекс-метод, находим оптимальный план. Если в этом
плане все компоненты xiQ — целые числа, задача решена, если нет — формируем
следующее правильное отсечение по той переменной, значение которой нецело-
численное и т. д., до получения полностью целочисленного плана.
Для того чтобы иметь право после формирования правильного отсечения поль-
зоваться двойственным симплекс-методом, исходную задачу необходимо привести
к задаче на максимум. Это связано с тем, что двойственный симплекс-метод при-
меним, если оценки в индексной строке положительны.
Пример 2.1.
Найти max F (х) = хх + 4ха
при условиях 2xi + 4х2 7;
10хх -{• Зх2 15}
хХ) х2 0;
хХ) х2 — целые.
Отбрасывая условия целочисленности, находим оптимальное
решение симплекс-методом (табл. 2.1 и 2.2). Из табл. 2.2 получий
оптимальное решение Хопт = {о, -у|, Fmax = 7.
Данное решение не удовлетворяет условию целочисленности,
поэтому формируем правильное отсечение:
Tfo = Хю — [х(-о], у20 = Х20 — [Х20]}
7/4 — 1 — 3/4) у20 = ®/4;
?</ = хг/ —[х0], у2Х = >/2 —0 = х/2) у23 = х/4 — 0 = V4.
76
Таблица 2.7
ci 0 1 4 0 0
Вх Ао А1 А2 Аз А4
0 х3 7 2 |~4 | 1 0
0 Х4 15 10 3 0 1
д 0 - 1 -4 0 0
f
Таблица 2.2
с/ 0 1 4 0 0
Вх Ао Al А2 А3 а4
4 *2 7/4 1/2 1 1/4 0
0 Х4 39/4 34/4 0 -3/4 1
д 7 1 0 1 0
Таблица 2.3
С1 0 1 4 0 0 _ 0
Вх Ао А1 а2 Аз а4 Аб
4 Х2 7/4 1/2 1 1/4 0 0
0 х4 39/4 34/4 0 -3/4 1 0
0 Х5 -3/4 I -V2 I 0 -1/4 0 1
д 7 1 0 1 0 0
0 — 2 ' — 4 — —
t
Таблица 2.4
чс/ 0 1 4 0 0 0
Вх Ао Al а2 А3 а4 А5
4 Х2 1 0 1 0 0 1
0 Х4 -3 0 0 1 17
1 Х1 3/2 1 0 1/2 0 -2
д 11/2 0 0 1/2 0 2
0 — — — 1/10 — —
т
Таблица 2.В
С1 0 1 4 0 0 0
®х Ао А1 А2 Аз А4 а5
4 х2 1 0 1 0 0 1
0 х3 3/5 0 О 1 -1/5 —17/5
1 *1 12/10 1 0 0 1/10 -3/10
д 62/10 0 0 0 1/10 37/10
Таблица 2.6
ci 0 1 4 0 0 0 0
Ао А1 А2 Аз А4 А5 А6
4 Х2 1 0 1 0 0 1 0
0 Х3 3/5 0 0 1 -1/5 -17/5 0
1 Х1 12/10 1 0 0 1/10 -3/10 0
0 х6 -2/10 0 0 0 |-1/10| -7/10 1
д 52/10 0 0 0 1/10 37/10 0
— — — — 1 37/7 —
Таблица 2.7
<7 0 1 4 0 0
Вх А1 А2 Аз А4
4 Х2 1 0 1 0 0
0 Х3 1 0 0 1 0
1 Х1 1 1 0 0 0
0 Х4 2 0 0 0 1
А б 0 0 0 0
Запишем правильное отсечение------1- = х6----------j-x8 и,
сформировав дополнительную строку, запишем все результаты в
табл. 2.3.
В табл. 2.4 и 2.6 приводятся результаты отыскания плана задачи
с помощью двойственного симплекс-метода. В табл. 2.5 представлен
новый оптимальный план, в котором опять один компонент не
78
является целым. По строке хг формируем новое правильное отсе-
чение:
Yio = ^io “ f^io] 12Ло “ 1 2/ 1о» Тю = 2/ю»
714 = %i4 [^н] = *Ао — 0 = V i0, у14 = *710;
Th ~ х1ъ t~ — 8/ю (— 0 = 7/ю» Yu = 7/Ю*
2 17
Запишем правильное отсечение!----io“=x«-----------ИГ*8,
и, сформировав дополнительную строку, получим табл. 2.6.
Ё табл. 2.7 приводится искомое решение;
Хопт=(1; 1}; Л™ = 5.
2.2. МЕТОД ВЕТВЕЙ И ГРАНИЦ В ЗАДАЧАХ ЛЦП
Реализация этого метода состоит в последовательном ветвлении исходного,
множества решений на дерево подмножеств с нахождением решений на всех под-
множествах, пока не получим искомое.
Пусть необходимо отыскать максимум
FW = ^c,x. (2.2.1)
/=1
при ограничениях
EfyX/Sfy (2.2.2)
Х/>0, (2.2.3)
х, — целые, / = 1.......п (2.2.4)
Искомое решение задачи (2.2.1) — (2.2.4) будет найдено на множестве, соот-
ветствующем висячей вершине с максимально возможной оценкой. Уточним, что
множество, на котором получено оптимальное целочисленное решение, ветвлению
не подлежит. Ему соответствует концевая, или висячая вершина дерева решений.
Как в методе отсекающих плоскостей, процесс начинается с решения непре-
рывной задачи ЛП. Если полученный план Хопт не удовлетворяет условию (2.2.4),
то значение целевой функции == F (Хопт) дает верхнюю оценку искомого ре-
шения на множестве G(0\ определенном условиями (2.2.2), (2.2.3). Если некоторая
переменная не получила целочисленного значения, то в целочисленном плане ее
следует либо уменьшить до либо увеличить до [xi0] + 1-
Таким образом исходное множество G<® разбиваем на два непересекающихся
подмножества:
G(0) = Gf> U <4°;
G<>' = {XIX € G<0). xt < [х(.0П; (2.2.8)
= {XIX £ G(0). \ > Ofo] + 1}. (2.2.6)
Находим решения и оценки на множествах (2.2.5) и (2.2.6). Если решения,
полученные на G?> и О'1’, целочисленные, то оптимальным будет то, у которого
оценка § — большая. Если же, допустим, на множестве получено целочислен-
ное решение, а на G^ — нецелочисленное, но £ (G^) > 5 (G^), продолжаем ветв-
ление множества G^\ так как на следующем этапе мы можем получить целочис-
ленное решение, оценка которого будет больше, чем оценка & (G^).
7ft
Построение дерева решений продолжается до тех пор, пока не будет найдено
решение задачи (2.2.1) — (2.2.4), полученное на множестве, соответствующем ви-
сячей вершине с максимально возможной оценкой.
Пример 2.2.
Найти max F (X) = 2хх + Зх2 (2.2.7)
лри условиях
Х1 + 4х2<14; (2.2.8)
2хх + Зх2< 12; (2.2.9)
хъ х2 О,
хх, х2— целые. (2.2.1®)
Таблица 2.8
0 2 3 0 0
Ао А1. а2 Аз А4
3 *2 16/5 0 1 2/5 -1/5
2 Х1 6/5 1 0 -3/5 4/5
д 12 0 0 0 1
Ш а г 0. Отбрасывая условие целочисленности, любым методом
«отыскиваем оптимальное решение на исходном множестве G<0), оп-
ределяемом (2.2.8), (2.2.9).
В табл. 2.8 представлено решение. Верхняя оценка на множе-
стве G<0> равна £ (G(0)) = 12. Так как решение нецелочисленное,
приступаем к первому шагу.
Ш а г 1. Разбиваем исходное мно-
жество G<0) на 2 подмножества
(рис. 2.1)г
G’i0 = G G®. х,
G? = \х/Х € G(0), х» > [Цр] +1}
и находим решение и оценки на этих
множествах.
Для отыскания решения на мно-
жествах ОГ> и GP дописываем ог-
раничения х2^Зих2>4 к реше-
нию, найденному на множестве G<e).
Для этого дополнительные ограничения представим в расширенной
форме!
х2 3 -► х2 4- х5 = 3; (2.2.11)
ха > 4 -> х2 — Хе = 4 — х2 + xs = — 4 (2.2.12)
80
Таблица 2.9
ci ' 0 2 3 0 0 0
Вх Ао А1 А 2 Аз А4 а5
3 Х2 16/5 0 1 2/5 -1/5 0
2 Х1 6/5 1 6 —3/5 4/5 0
д 12 0 0 0 1 0
Х5 3 6 1 0 0 1
Х5 -1/5 0 0 | -2/5 1/5 1
0 — — — 0 — —
f
Таблица 2.10
<7 0 2 3 0 0 0
«х Ао А1 Аз а4 А5
3 Х2 16/5 0 1 2/3 -1/5 6
2 Х1 6/5 1 0 -3/5 4/5 0
д 12 0 6 0 1 . 0
Х5 -4 0 -1 0 0 1
Х5 -4/5 0 0 2/5 1
0 — — — — 5 —-
Таблица 2.11
ci 0 2 3 0 0 0
Вх Ао А1 А2 Аз А4 А5
3 Х2 3 0 1 0 6 1
2 Х1 3/2 1 0 0 1/2 —3/2
0 хз 1/2 0 6 1 -1/2 —5/2
—' д 12 0 0 0 1 0
< 0—4063
8f
Таблица 2.12
<7 0 2 3 0 0 0
бХ А) А1 а2 Аз А4 А5
3 Х2 4 0 1 0 0 1
2 Х1 -2 1 0 0 0 5
0 Х4 4 0 0 -2 1 -5
д 8 0 0 0 0 13
Таблица 2.13
С1 0 2 3 0 0 0 0
Ао А1 Аз а4 а5 А6
3 х2 3 0 1 0 0 1 0
2 Х1 3/2 1 0 0 1/2 -3/2 0
0 *3 1/2 , 0 6 1 -1/2 —5/2 0
Д 12 0 6 0 1 0 0
Х6 1 1 0 0 0 0 1
*6 -1/2 0 0 0 -1/2 3/2 1
0 — — — — 2 — —
Таблица 2.14
ci 0 2 3 0 0 0 0
вх Ао А1 'Ч Аз А4 А5 А6
3 Х2 3 0 1 0 0 1 0
2 Х1 3/2 1 0 0 1/2 1 6
0 х3 1/2 0 0 1 -1/2 -3/2 0
д 12 6 0 0 1 -5/2 0
х6 -2 — 1 0 0 0 0 1
ъ -1/2 0 0 0 1/2 -3/2 1
е — — — — — 5/3 —
82
Эти ограничения дописываем к множеству G(0) в виде строки,
используя в качестве еще одной базисной переменной х6 или х$,
и заполняем табл. 2.9 и 2.10 соответственно. Вследствие введения
строки х6 переменная х2 перестала быть базисной, поэтому вместо
хъ записываем строку х6, представляющую собой линейную комби-
нацию строки х2 и строки х6. В результате этого хг сохраняется в
базисе, и для дальнейшего решения мы имеем возможность исполь-
зовать двойственный симплекс-метод.
Таблица 2.15
ci 0 2 3 0 0
Ао А1 Лз Аз А4
3 Х2 3 0 1 0 0
2 *1 1 1 0 0 0
0 хз 1 0 6 1 0
0 *4 1 0 0 0 1
д 11 0 0 0 0
В табл. 2.9 из строки х5 вычли строку х2 и получили строку
х6, а в табл. 2.10 соответственно складываем строких2 и Xs и записы-
ваем новую строку Х5.
Решения на множестве GV* и Ог1’ представлены соответственно
в табл. 2.11 и 2.12. Множество G^ оказалось пустым и оценка
| (Сг1*) = оо. Оценка | (Gi1*) = 12. На этом первый шаг заканчи-
вается.
Шаг 2. Разбиваем множество Gj1’ на два подмножества!
Gf)={X/X€G$1), хх<[’/2]};
G2® = {X/XCG11’, Xi > [’/,]+!}.
Далее, поступив так, как на первом шаге, дописываем
хх < 1 -> Xi 4- хв = 1
и
хх > 2 -> хх — х6 = 2 -> — хх + хв = — 2
к множеству Gi° и заполняем соответственно табл. 2.13 и 2.14.
Решения, полученные на множествах G® и G®( представлены соот-
ветственно в табл. 2.15 и 2.16.
Решение на множестве G® удовлетворяет условию целочислен-
ности. Оценка | (G}2)) = 11. Решение, полученное, на множестве
не является целочисленным, но оценка I (G?>) = 12 и 6(0^ >
6*
83
> £ (Gi2)), поэтому будем разбивать множество Gp дальше, так как
можно получить решение с оценкой большей, чем £ (G®).
Ш а г 3. Разбиваем G® на два подмножества:
Gi3’= {x/XGG^,
$3’ = \х!Х е G®, х2 > [-|-1 + 1} .
Таблица 2.16
С/ 0 2 3 0 0 0 0 0
®х Ао А1 А2 Аз А4 А5 А6 А7
3 Х2 8/3 6 1 6 1/3 0 2/3 0
2 Х1 2 1 0 0 0 0 -1 0
0 *3 4/3 0 0 1 -4/3 0 -5/3 0
0 Х5 1/3 0 0 0 -1/3 1 -2/3 0
д 12 0 0 0 1 0 0 0
Х7 2 0 0 0 0 0 0 1
-2/3 0 1 0 -1/3 0 1
0 — — — — 3 — 0 —
Таблица 2.17
С1 0 2 3 0
»х Ао А1 А2 Аз
3 Х2 2 0 1 0
2 Х1 3 1 0 0
0 *3 3 0 0 1
0 Х5 1 0 0 0
0 Х6 1 0 0 0
д 12 0 0 0
Дописываем ограничение х2 <1 2 ->• х2 4- х7 в табл. 2.16 и най-
дем решение на множестве G*3>. Решение представлено в табл. 2.17.
На множестве Gj3’ получено целочисленное решение и I (Gi3>) =
= 12. Дальнейшие вычисления прекращаются, так как не может
быть решения с лучшей оценкой, ибо J (G(0>) £ (G(ift)),a g (G(<*) =
= 12. Итак, задача решена: Хопт = {3, 2}, = 12.
84
Задачи и упражнения
Найти решение следующих задач линейного целочисленного
программирования.
2.1. F = хг + 4ха -> max; 2хх -|- 4ха 17, 10X1 4- Зха^ 15, 2.2. F = 2X1 4- х2 ->• max; Xi 4- 2ха^ 16, Xi 4- 2х8 > 2, 2xi + х2 16, Xi, ха > 0; Xi, х2 — целые.
Xi, X2^s0, Xi, х2 — целые.
2.3. F — Хх 4- 2ха -> max; 2xi + 2ха 7, 4xi — 5ха 9, хх, ха 0, хх, х2 — целые. 2.4. F = 8xi 4- 6х2 -► max; 3xi 4- 5ха^ И, 4X14- ха<8, Xi, ха 0, Xi, ха — целые.
2.5. F = 8xi 4- 6х2 ->• max; 2xi + 5ха^ 12, 4xi + *а С Ю, хх, х2 >= 0, Xi, х2 — целые. 2.6. F = Xi 4- 4ха-> max; 2xi + 4х8 7, 10X1 4~ Зх2 15, Xi, ха 0, Xi, х2 — целые.
2.7. F = Xi 4- 2ха -► max; 5xi “I- 7 х2 21, — хх 4- Зх2 8, xlt х2 > 0, Xi, х2 — целые. 2.8. F = 5xi 4- 6х2 4- 6х3-> min; 2xi 4- 4ха > 10, 2xi + 2ха 4* 2х3 10, Xi, х2, х3>0, Xi, ха, х3 —целые.
2.9. F = Xi 4- х2 -> max; 6X1 + 5ха 20, 2xi + Зх2< 10, хъ х2 0; *1, х2 — целые. 2.10. F = Xi 4- 2ха-> min; 2xi + 9ха 36, Xi 4- х2 < 7, Xi, х2 0; Xi, х2 — целые.
2.11 . F = 8xi 4- Оха -* max; 2xi + 5х2 1 Г, 4xi 4- *а^а Ю, Xi, ха > 0; Xi, х2 — целые. 2.12. F = хх 4- х2 -► max; 2xi4- х2<18, Xi 4- 2ха^ 16, Хх, ха > 0; Xi, ха — целые.
2.13.
F =» Xi + х2 -*• max;
хг 4- 2x2<i 10,
Xi + 2^а > 2,
2xi + Ха5^ Ю,
хь х2 > 0;
2.14. F = 5xt 4- 6ха + 6х8 -> min;
2xi + 4ха > Ю,
3xj 4* 2ха 2х8 8,
хх, х2, х, 0,
хх, ха, х8 — целые.
хх, Ха— целые.
85
«со 3
g - I ... §
E co I я
t A\A\V/A\ I
4 R* К Н 4 R
co CM 00
i + L L - -
ЮС0СЧ
II
о
СЧ
целые. xlt x$ — целые,
НН - >?
оо CM 00 о
+ I V/V/A\ .
00 CO CM * *
I + I +
И Ц * н ц
.. CM Tf co
H I
U. 1
целые.
>< 00*
E m co cm Io
tV/V/A\A\A\ I
£ ц £ 41 ц >Г ц
CM co
I + I + I
и1 x и x >T >T н
b* CM co
II
I*.
2.29. F — 6xx 4- 4x2 -> min;
2xx -j* X2
Xi— x2^l,
Xi, x2 > 0;
Xi, x2 — целые.
2.31. F = 8xx 4- 2x2 -> max;
Xi — 4x2 4,
— 4xj4- x2<4,
xx 4- x2 6,
Xi, x2 > 0
Xi, x2 — целые.
2.30. F — 2xi 4- х2 -♦ шах;
7xi 4- 4х2 < :28,
— Xi 4- 2х2 < 14,
5xi 4- 2ха Ю,
4xi — Зх2 12,
Х1, х2 > 0, •
Хъ х2 — целые.
2.32. F = 2xi4-3x2->min:
Xi 4- 2x2 16,
2xi + x2 16,
Xi, x2 0;
xi> x2 — целые.
Глава 3
НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
3.1. МЕТОД МНОЖИТЕЛЕЙ ЛАГРАНЖА
Нелинейное программирование — это математический аппарат для поиска
экстремума нелинейных функций при наличии ограничений.
Задача нелинейного программирования (НП) в общем виде записывается так:
найти max/(*i, х2, t . . , хп) (3.1 Л)
при условиях
gi (xlt х2, ... , хп) 0;
ga(xltx....хв)>о; ,, 1О.
gm(Xl. Xt, ... , Xe)>0,
где f (*1, х2..х„) и/или ограничения Rtix-x. х2, —, *п) — нелинейные функции
переменных х12 х2, хп. В отличие от линейного программирования в нелиней-
ном программировании отсутствуют универсальные методы решения типа сим-
плекс-метода. Это связано с тем, что допустимое множество решений R (xlt х?, ...
...» хп), определяемое условиями (3.1.2), в общем случае не является выпуклым,
а, кроме того, даже в случае выпуклости R (xlt х2.хп) множество его крайних
точек не будет конечным.
В связи с указанными обстоятельствами методы НП разрабатываются лишь
под специальные классы задач.
Метод множителей Лагранжа позволяет отыскивать максимум или минимум
функции f (х12 х2...xrt) при ограничениях-равенствах. Основная идея метода
заключается в переходе от задачи на условный экстремум к задаче отыскания без-
условного экстремума некоторой специально построенной функции Лагранжа.
Пусть требуется найти
min f (xlt х2, ... , хп) (3.1.3)
при ограничениях
gi(Xi, X.......... (3.1.4)
gm (Xi, хг, ... , хя) = 0.
87
EEE
Предположим, что функции /, g^, g2, ...» gm дифференцируемы. Введем набор
переменных Хп Х2, ..., кт по числу ограничений, которые называются множителя-
ми Лагранжа, и составим так называемую функцию Лагранжа следующего вида:
Ь (Xi, х2, ... у хп\ Xj, Х2, ... , Хот) =
= f (Xi, Xt, , xe) + £ k{g{ (xlt хг......х„). (3.1.5)
г=1
Для того чтобы вектор Хо = {х^}, j = 1~, являлся решением задачи (3.1.3) —
(3.1.4), необходимо существование такого вектора Ло == {Xj, Х2, Х^}, чтобы
пара векторов (Хо, Ло) удовлетворяла системе уравнений
Ао) = 0, / =Т7п; (3.1.6)
oxj
dL(^’ Ло) = g{ (Хо) = 0, < =Т'т- (3.1.7)
Таким образом, метод множителей Лагранжа состоит из следующих шагов,
а г 1. Составляем функцию Лагранжа вида (3.1.5).
аг 2. Составляем систему нелинейных уравнений (3.1.6) — (3.1.7).
а г 3. Находим ее решения (X*, Л*) и исследуем функцию f (X) в окрестности
точек Xs на максимум (минимум).
Пример 3.1. Найти условный экстремум следующей НП-задачи
min — 2)2 + (ха — З)2 при условии хг + х2 = 7.
Составим функцию Лагранжа
L (хь х2, Л) == (xi — 2)2 + (ха — З)2 + X (7 — Xi — ха).
Уравнения (3.1.5) — (3.1.7) в данном случае принимают вид:.
= 2 (хх — 2) — X = 0;
OX j
-dL{X1’ х„ Ч =2(ха —3) —X =0;
ОХ2
-££- = 7 —хх —ха = 0
дк 4
Решая эту систему, легко находим ее корни: х? = 3, х° = 4,
X® = 2. Далее исследуем характер функции f (xlt х2) в окрестности
точки (х? = 3, х° = 4).
Находим
а7(Х»)
дх2
f <У7(Х°) _
‘п дх2
_f -f -л
dxtdxt - Ги - - u-
/11 f12
f21 f22
Так как fu (X®) > 0 и
в точке X® имеем абсолютный минимум.
>0, то функция выпукла, и
88
Пример 3.2. Найти условный экстремум функции / (X) методом,
множителей Лагранжа для следующей задачи:
f (X) = XXX2Xg
при условиях
xi + 4" хз — 6;
xYx2 + ххх3 + х2х3 = 12.
Составляем функцию Лагранжа
L (X, А) = f (хХ1 х2, х3) + Хх (6 — хх — х2 — х8) 4-
+ Х2 (12 — ххх2 — ххх3 — х2х3).
Составляем систему уравнений:
= х2х3 — Хх —12 (х2 4- хз) = 0*> (3.1 -8>
= х1хз — — ^2 (xi 4- хз) = 0> (3.1.9)
= ххх2 — Хх — Х2 (хх 4~ хг) = 0» (3.1.10)
=6 — (хх 4* хг 4” хз) = 0; (3.1.11)
=12 — (ххх2 4- ххх3 4- х2х3) = 0. (3.1.12)
Сложив первые три уравнения с учетом (3.1.11) и (3.1.12), по-
лучим
•^1-^2 “F + Я1Л2 ~ — 2Х2 (я* “Ь -^2 *з) 5=5
или
12 — 3%! — 12Х2 0;
Xi -|- 4%2 =
%8=4-(4-м.
Умножим первое уравнение на хХ1 второе на х2, а третье на х»
и получим:
хх = ххх2х3 — Лххх — Х2 (ххх2 4- ххх3)) = 0;
х2 = ххх2х3 — Лхх2 — Х2 (ххх2 4- х2х3) = 0;
х3 = ххх2х3 — Ххх3 — Х2 (х3хх + х3х2) = 0;
~ ^Х1 ^14—&х^ хз 4 фх* хз = Зххх2х3 Хх (хх + х2 4~ х3)
— 2Х2 (Xj%2 “Ь* -j" ^1^з) = Зх^Хг^з — 24^2 == 0,
89
XgXgXg 8X2 — 0,
XjX2Xg = 2 (Xj 4- 4Xj) = 8.
Итак, получаем следующую систему:
XgX2x3 == 8, (3.1.13)
Xi + xa + x3 = 6; (3.1.14)
xrx2 + XiXg 4- x2x3 = 12. (3.1.15)
Ее вещественное решение x? — x°-= x° = 2. Определим характер
функции / (хг, х2, Xg) в окрестности Хо = (2; 2; 2):
Исследуем f (хх, х2, х8) на выпуклость-вогнутость
-R- = 0, dx. Д2 — /и fax fl2 = C 2 I 2 ! 0 4< 0;
fll fl2 /хз 0 2 2
Ag : = /21 /22 ^28 = 2 0 2 =
fai fs2 /3З 2 2 0
2 2 2 2
= 0 -2 o . 4-^ = 1 6>0.
2 0 0 2
Так как знаки определителей чередуются, то функция f (x}
х2, х8) вогнута, и в точке Хо (х? = 2; х° = 2; х° = 2) — максимум.
Решить задачи нелинейного программирования методом множи-
телей Лагранжа.
3.1. Определить условные экстремумы функций в следующих
задачах методом Лагранжа, сопроводив решение графической ил-
люстрацией:
1) z = х2 4- yz
2) z = 3x24-2z/2 —3x4- 1
3) z = 2(x — I)2 4-3 (у -З)2
4) z = х2 — у*
5) z = (x—*3)2 4-(^ —5)2
при x 4- у = 1;
при x2 4- У2 = 4;
в области х 4-10 при
х4-у = 6, х>0, у>0;
при х — у = 4;
при у — 2х = 5.
3.2. Методом множителей Лагранжа определить стационарные
точки функции z = f (х2, х2, ..., х„) и исследовать их характер:
1) г = х2 4- ха 4- Xg
2) z=J-4-J-
Х1 X2
d) Z = X1X2X3X4
4) z = 2xi 4" 3x2 хз
ПРИ T” +
*1 *2 *3
1 , 1 -
при V + 11
xi .
при Xi 4- x2 4- x3x4 = 4;
при Xt 4- x2 4- x3 = 8 и
Xj 0, Xg >= 0, X3 >= 0.
90
3.2. ТЕОРЕМА КУНА - ТАККЕРА В НЕЛИНЕЙНОМ
ПРОГРАММИРОВАНИИ
Имеется задача НП в общем случае ограничений-неравенств:
minf(X) (3.2.1)
при условиях
^(Х)<0, f = (3.2.2)
Допустим, что функция / (X) и все gj (X), i = 17m выпуклы по X. Такая за-
дача носит название задачи выпуклого программирования и множество решений
R (X), определяемое условиями (3.2.2), является выпуклым. Для задачи (3.2.1) —
(3.2.2) справедлива следующая теорема Куна — Таккера [7].
Теорема 3.1. Пусть f, gf (X), i = 1, т обладают непрерывными частными
производными на некотором открытом множестве Rn, содержащем X*. Если X*
является точкой минимума f (X) при ограничениях gi (X) 0, i = 1, mt удовлет-
воряющих некоторому дополнительному условию регулярности, то существуют
такие неотрицательные множители Лагранжа 12, ..., для которых выпол-
няются следующие условия:
т
V/(X*) + S \Vg,(x*) = °: (3.2.3)
i=l
т
S Mi(X*)=0, (3.2.4)
_ i=l
где (3.2.4) — условие дополняющей нежесткости.
Если функции f (X) и gt (X) — выпуклы по X, то условия оптимальности
(3.2.3)и (3.2.4) будут не только необходимыми, но и достаточными [71. В этом случае
условие существования решения X и А, удовлетворяющего (3.2.3) и (3.2.4), кото-
рое называют условием регулярности, примет вид
ЭХ, g (X) <0, для всех i = 1, т.
Пользуясь теоремой Куна — Таккера, задачу НП решают так:
т
Ш а г 1. Составляют функцию Лагранжа L (X, А) = f (X) + J] (X).
i=i
Ш а г 2. Составляют систему уравнений вида (3.2.3) — (3.2.4).
Ш аг 3. Находят ее решение (X*, А*). Заметим, что в отличие от задачи с огра-
ничениями-равенствами вектор А* должен в этом случае удовлетворять условию
неотрицательности.
Применение теоремы Куна — Таккера для задач
выпуклого и вогнутого программирования
Выше была рассмотрена НП-задача (3.2.1) — (3.2.2), когда на переменные
{xfi не накладывались условия неотрицательности. Часто в задачах исследования
операций приходится решать задачи, в которых переменные х/ должны удовлет-
ворять условию Xj 0 для всех / = 1, п.
Основные положения теории могут быть легко распространены на этот слу-
чай. Действительно, пусть НП-задача записана в виде:
при условиях
найти min/(X)
^(Х)^0, ^ = Г7п;
Ху > 0, / = 1, л.
(3.2.5)
(3.2.6)
(3.2.7)
91
Введем обозначения xj = —hj (X).
Тогда ограничения (3.2.7) можно записать в общем виде:
(X) СО, / = 177.
Задача теперь оказывается заданной в каноническом виде (3.2.1) — (3.2.2).
Применим к ней теорему Куна — Таккера, для чего составим функцию Лагранжа
т п
L (X, A, U) = f (X) + \ё{ (X) + £ ufa (X), (3.2.8)
i=l /—1
где Uj 0 множители, связанные с ограничениями (3.2.7). Условия теоремы Ку-
на — Таккера для (3.2.8) выглядят так:
т п
VL(X,A, U)=Vf(X)+S + S «/?/«/(Х)=0 (3.2.9)
или
dL(X.A.U) 5f(X) , ,
----аГ----= ~ЗГ" +1, Ki
I I 1=1
dg, (X) _____
——----------«/ = 0, /=1,л; (3,2.10)
UjX. = 0, «^>0, /=1,п; (3.2.11)
Х^.(Х) = 0. \>0, 1 = ГГй7 (3.2.12)
Условия (3.2.10) и (3.2.11) можно записать. в следующей эквивалентной
форме:
3L(X,A) , df £ . W)
dxf------W+&1~’ (3-2, 3)
' */"°, /“Г-"- (3.2.14)
Нетрудно увидеть, что условия (3.2.14) представляют собой условия дополня-
ющей нежесткости для ограничений неотрицательности. Таким образом, получили
необходимые условия для оптимального решения задачи НП вида (3.2.1— 3.2.2),
которые могут быть сформулированы в следующей теореме.
Теорема 3.2. Пусть НП-зодача имеет вид (3.2.5) — (3.2.7), а функции f (X)
u gi (X), ..., gm (X) дифференцируемы и выпуклы по X. Вектор Хо > 0 является
оптимальным решением задачи тогда и только тогда, когда существует такой
вектор Л° 0, что пара (Х°, А0) является седловой точкой функции Лагранжа
L (X, Л), т. е. выполняются следующие условия:
/-Т7ТГ; (3.2..5)
<3.^)
^А-е,(Х)«>; (3.2.17)
k.gi (Х°) = 0, i = TTtfL (3.2.18)
Задача (3.2.5) — (3.2.7) при условии, что / (X) и все#, (X) — выпуклые функ-
ции, является задачей выпуклого программирования. Ограничения gl (X) С 0,
i = 1, /и, определяют выпуклое множество, и требуется найти минимум выпуклой
функции / (X) на выпуклом множестве решений R (X) = {X : X > 0; gi (X) С 0»
i = 1, т}.
92
Рассмотрим задачу так называемого вогнутого программирования.
Найти maxf(X) (3.2.19)
при условиях
gi (X) >0;
£m(X)>0; (3.2.20)
X = [xlt r2, ...» xn} >0, (3.2.21)
где функция f (X) и все gi (X) вогнуты по X. Покажем ее эквивалентность задаче
выпуклого программирования (3.2.15) — (3.2.17). Для этого обозначим /' (X) =
= — f (X), g'i (X) — —gi (X), и так как max f (X) ~ min {— f (X)}, то мы прихо-
дим к задаче
minf(X) (3.2.22)
при условиях
gf'(X)<0, 1 = ГГт? (3.2.23)
*/>0, / = 1, п- (3.2.24)
Заметим, что все функции /' (X), gt (X) будут выпуклы по X, а потому задача
(3.2.22) — (3.2.24) — это задача выпуклого программирования. Итак, эквивалент-
ность задач (3.2.19—3.2.21) и (3.2.5) — (3.2.7) установлена.
Нетрудно получить соответствующие условия оптимальности для задачи во-
гнутого программирования, аналогичные условиям (3.2.15) — (3.2.18). Они фор-
мулируются следующим образом.
Пусть НП-задача имеет вид (3.2.19) — (3.2.21), функции f (X), gi (X), i =
= 1, т,— дифференцируемы. Для того чтобы Хо являлся оптимальным решением
этой задачи, необходимо существование такого вектора Л° 0, для которого вы-
полняются условия:
I-—. (3.2.23)
(3.2.26)
8£<а.Л0) (3.2.2Т)
Л‘> к;-О, (-T7S (3.2.28)
Если функции f (X) и gi (X) вогнуты, то эти условия (3.2.25) — (3.2.28) ока-
зываются и достаточными.
Таким образом, для решения задачи вогнутого программирования необходимо
найти совместное решение (Х°, А0) системы уравнений (3.2.26), (3.2.28) и нера-
венств (3.2.25), (3.2.27).
3.3. КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ
Частным случаем нелинейного программирования является квадратичное
программирование, которое предназначено для решения специального класса за-
дач НП, в которых целевая функция квадратичная, а все ограничения линейны.
В матричном виде эта задача записывается так:
найти max/ (X) = ВТХ +-i-ХТСХ= £ S Ci/V/ (3-31)
/-1 /Ш1
93
при ограничениях АХ Ао, или Ао — АХ > 0, (3.3.2), где С = || ||, t, / = 1, п
симметричная, отрицательно определенная матрица,
Заметим, что если С — отрицательно определенная матрица, то квадратичная
форма ХТСХ вогнута, и, следовательно, задача (3.3.1) — (3.3.2) является зада-
чей вогнутого программирования.
Применив к задаче (3.3.1) — (3.3.2) теорему Куна — Таккера для вогнутого
программирования, получим необходимые и достаточные условия оптимальности
в виде следующей теоремы [7].
Вектор X > 0 является оптимальным решением задачи квадратичного про-
граммирования тогда и только тогда, когда существуют такие т-мерные векторы
Л, W > о и п-мерный вектор V О, что выполняются следующие условия:
В + СХ — АТА + V = 0; (3.3.3)
Ао —АХ —W = 0; (3.3.4)
VTX = 0; (3.3.5)
WTA = 0. (3.3.6)
Условия (3.3.3) — (3.3.4) образуют систему из п + т линейных уравнений
с 2 (п + т) неизвесными (векторы X, А, V, W). Условия (3.3.5) — (3.3.6) — это
условия дополняющей нежесткости, которые накладывают дополнительные огра-
ничения на переменные X, Л, V, W, а именно: если х® > 0, то и® — 0; и наоборот,
если X® = 0, то V® > 0; если > 0, то = 0, Z = 1, /и, и наоборот.
В силу этих условий искомое решение системы (3.3.3) — (3.3.4) должно быть
одним из допустимых базисных, и для его отыскания можно применить любой из
известных методов ЛП, в частности метод искусственных переменных.
С этой целью запишем систему (3.3.3) — (3.3.4) в виде
СХ —ATA4-V = —В;
АХ + W = Ао. <3-3>7)
Введем искусственные переменные z = {zj, z2,4..., zn},Y = {ylt ...,ут} в
ограничения (3.3.7), выбрав их одинакового знака со знаком соответствующих
свободных членов — В и Ао, и составим псевдоцелевую функцию
при условиях
Zy-> min (3.3.8)
I I
CX —ATA +V + Z = —B;
AX + W + Y = Ao.
(3.3.9)
Решаем задачу (3.3.8) при условии (3.3.9) и выводим из базиса все искусствен-
ные переменные {yi} и {z/J, а вводим X, А, V и W. Если найденное ДВР Хо, Ао, Va
и Wo удовлетворяет условиям XqV0 = 0, AjW0 = 0, то оно и будет оптимальным.
В противном случае, если некоторое условие дополняющей нежесткости оказы-
вается нарушенным, например Хд ^0, то необходимо перейти к следующе-
му ДБР, выведя из базиса одну из переменных или (для чего выполнить ите-
рацию симплекс-метода).
Пример 3.3. Решить следующую задачу на отыскание условного
экстремума:
найти
max f (xlf х2) =« max (32хх + 120xf — 4х* — 15х|)
94
при условиях
2xt 4- 5х2 20)
2хх — х2 = 8 J
Xi о, х2 0.
Решение. Поскольку =
WL
— 8<0,
—8 0
О —30
fll /12 _
fzi /22
то f (х1( х2) вогнута и имеется задача квадратичного программиро-
вания. Составляем функцию Лагранжа
L (хх, х2, Хх, Х2) = (32хх 4* 120х2 — 4х% — 15х| 4~
+ Хх (20 — (2хх + 5х2)) + Х2 (8 — (2хх — х2)).
Применив теорему Куна — Таккера, получим следующие усло-
вия для оптимального решения:
= 32 — 8Xi — 2Хх — 2Х2 < 0;
120 — 30х2 — 5Xi + Х2^0;
0'^2
= 20 —2xx —5х2>0;
-gj-_8-2x, + x,-0.
(3.3.10)
А.
-ч Xi — О,
дхг 1
w1--0-
(3.3.11)
Введя в систему (3.3.10) свободные переменные о1( t>2, о»1( получим
следующую систему;
32 *— 8хх ~- 2Хх -J- ^i ==
120 — 30ха —5X14-Х2 4-v2 = 0; (3.3.12)
20 — 2хх — 5х2 — и»х = 0;
8 — 2хх 4- х2 = 0
и условия дополняющей нежесткости
ХхРх=0; x2i>2 = 0; Xxt«x = O- (3.3.13)
Поскольку второе ограничение исходной задачи выполняется
как строгое равенство, то на переменную Х2 нет ограничения на
95
знак. Так как симплекс-метод позволяет отыскивать лишь неотри-
цательные базисные решения, то сделаем следующую замену пере-
менных: Х2 = Х3 — Х4, где Х3 0 и Х4 0.
Запишем систему (3.3.12) в эквивалентном виде
8х4 -f- 2Xj 2Л.3 — 2Л4 — = 32;
30х2 5А.4 — -1- Х4 —— v2 = 120»
2х4 -|- 5х2 -|- = 20, (3.3.14)
2хг — х2 = 8.
Таблица 3.1
ci — 0 0 0 м м м
Вх Ао Х1 Х2 Х3 л v2 W1 Уз У' У2
0 20 2 5 0 0 0 0 6 1 0 0 0
м уз 8 2 -1 0 0 0 0 0 1 0 0
м у. 32 8 0 2 2 -2 -1 0 0 0 1 0
м У2 120 0 I 30 | 5 -1 1 0 -1 0 0 0 1
д 160/И 10М 29М 1М М -М -м -м 0 0 0 0
Таблица 3.2
с/ 0 0 0 0 0 0 0 0 м м
0 Вх Ао *1 х2 *3 Х4 л V2 *1 Уз У\
0 W1 0 0 -5/6 1/6. -1/6 0 1 6 1 0 0
м Уз 12 2 0 1/6 _dL 30 1 30 0 1 ”5о 0 1 0
м /1 32 8 0 2 2 ~2 -1 0 0 0 1
0 Х2 4 0 1 1/6 __L 30 __L 30 0 0 0
д 44М юл/ 0 2-4-/W 6 1^М . wU 30 0 0 0
Необходимо найти ДБР системы (3.3.14), удовлетворяющее до-
полнительно всем условиям (3.3.13).
Для этого применим метод искусственных переменных, введя
искусственные переменные уъ у2ъ у3 в первое, второе и четвертое
ограничения. В результате приходим к следующей ЛП-задаче:
Найти min М (у± + у* + у3) (3.3.15)
при условиях
8xi 4~ 2X1 4" 2Хд — 2Х4— Н- у3 = 32;
30ха + 5X1 Xg 4" Х4 Vg 4~ у= 120»
2xi 4“ 5ха 4~ = 20; (3.3.16)
2хх — xt 4-У1 = 8.
*96
1
Таблица 3.3
cl M M
Bx Ao X1 x2 X1 X3 X4 v2 W1 уз y\
0 X1 0 1 0 - 5/12 1/2 —1/2 0 1/12 1/2 0 0
M уз 12 0 0 1 -1/5 1/5 0 -1/5 —1 1 0
M h 32 0 0 16/31 4/3 -4/3 -1 -2/3 -4 0 1
0 *2 4 0 1 1/6 -1/30 1/30 0 -1/30 0 0 0
Д 44/Vf 0 0 19/И/3 17M/15 -17/W/15 -13M/15 -5/W 0 0
Таблица 3.4
cl M
Bx Ao *1 x2 X1 *3 X4 v2 % *3
0 *1 Б/2 1 0 0 3/16 -3/16 -5/64 1/32 зле e
M Уз 6 0 0 1 -9/20 | 9/20 | 3/16 -3/40 -1/4 1
0 X1 6 0 0 1 1/4 -1/4 -3/16 -1/8 -3/4 0
0 X2 3 0 1 0 -3/40 3/40 1/32 -1/80 1/8 0
Д Ш 0 0 0 -9M/20 9/И/20 3/16 -3M/40 -M/4 0
Таблица .3,5
. C! 0 0 0 0 0 0 0 0
Bx Ao X1 X2 X1 X3 X4 V2
0 X1 5 1 0 0 0 0 0 0 1/12
0 X4 40/3 0 0 0 -1 1 5/12 -1/6 -5/9
0 X1 28/3 0 0 1 0 0 -1/12 -1/6 -8/9
0 X2 2 0 1 0 0 0 0 0 0
Д 0 0 0 0 0 0 0 0 0
Решаем задачу (3.3.15) — (3.3.16) симплекс-методом при допол-
нительном ограничении (3.3.13) на выбор базиса.
Результаты последовательных итераций приведены в табл. 3.1—
3.5. После четвертой итерации получаем оптимальное решение,
удовлетворяющее условиям дополняющей нежесткости: х? = 5,
х°2 = 2; X? = 28/3; - —40/3; max f (xlt х2) - 240.
7 9-4063
97
Задачи и упражнения
Решить следующие задачи квадратичного программирования.
3.3, z = — Xi — 2ха 4- xi -* min;
4~ 2х2 6;
хх + 2ха 4;
хх О, ха 0.
ЗЛ. z = xi + xi — 8xj — 10ха “► min;
3xi + 2ха + х3 = 6;
Xj, ха, х3>0.
3.5. a) z = 3xi — Зха — х^ — Зх|-> max;
3xi + х2 + х3 + х4 = 16;
— Xi -j- Зха — х3 — х4 = 4;
Xi > 0, ха > 0, х3 > 0, х4 > 0.
б) 2 = 2xiXa — xi — х| -> max;
2хх — ха 6;
хх + 2ха<^ 10;
Xi>0, ха>0.
3.6. z = 2xjxa — xi — х| -* max;
2xi — ха 6;
Xj 4- 2ха^ 10;
Xi^O, ха2>0.
3.7.
В пятиугольнике с вершинами О (0, 0), А (0, 6J, В (б, 8),
Д (0, 4) и Е (8, 0) найти экстремумы следующих функций;
а) г = xi 4- *2 — 6X1 — 4ха->- min;
б) г = 18xi + 16ха — 3xj — ххха — 5х22 -*• max;
в) 2 = 20xi 4- 16ха — xj — х2 -> max;
г) г = ххха -> max;
д) г = 2xf 4- Зх| — 40X1 — 48ха min;
е) г = 2х^ — 2ххха 4- min.
3.8« z = xj 4- х| 4- xf—2xi 4- хг т’п»
Xj 4- 2ха 4- Зх, 12;
2xi + ха 4- хз < 6.
3.8. г = Xj — х| 4- 2ххха max;
Xi 4- ха = 8;
Xi -j- ха = 4.
3.10. г = (xi 4- ха 4- хг)* -» min;
Xi^2, ха^4, х3^6.
98
co
CO
to
00
hi
0
bi
bi
bi
2$.
*
to ел
* и *
*
CO
to to bo
X ><
* H
*
со
И * J5 >t
to to
\\ /ьэ to to
V/Л I
to p
*
toco to
* H
ел »—
*
to
V II /Л
to
*
*
СЛ
OOO'-
*
54
to » to to
VV/A I
o p? to К
W
V
*
*
&
CO
В
к
В
Й
в
3
03
X
co
co
co
co
co
to
СЛ
bl
bl
bl
bi
X *
><
* * 4
X.
to
* *
V/A /Л
V/A/A I
to x
olo
*
* 1? *.
В
0»
. GO CO
*
\v+
в
о ьо
* X
toco ьо
* * *<
ьо to Ю ЬЭЬЭ
CD co
>< >c
a l«A k«i k*i
VV/A I
N
П
*
*
VMx J?
V
В
g
В
5’
В
В’
3
5’,
§
GO
СО
ND
СО
ND
00
со
«
ND
оа
ND
Од
CD
ND
СЛ
со
№
ND
СО
»
ND
со
ND
ND
nd
<ч
м
ы
еч
14
м
V+++
Х/Л/Л+
ЬЭ — I—
W"
><
7Л
К
CO ND
* £ Л
ND ЬО
* * blk
* *
V
p\V ll
СЛ I-
*’5? 3
S'
сл
*
CD
в
*
* 5?
ND
*
X
-
^/AV^
V 5»
ND
J?
*
g
5’
к со сл
X * * *
О to * po
* X M
*//\_ I
VoH1^
*
><
*
з
ЙЭ
со
\V+ I
*
ND 00
*
* *
00
*
ND ND СО
*
V И /а
°г;“ и
• кэ
W Н- to
сл
К
3
£
V++ +
* * *
V++ +
ND
•?
* *
ND ><
р"’А
*
СО
00
V/AV I
О ND 00
ND к
* *
и
сл 5?
ND
со
*
ND
И
в
Со
X
*
сл
*
ND
к
V
СЛ
*
Д*
\v++ +
* » >4 X
Лл"1
V» • »—‘ ND
b? л=
*
ND
wk
I
3
D3
X
3
со
X
о
3
&э
X
S
S'
8.4. ГЕОМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Достаточно широкий и интересный с практической точки зрения класс задач
исследования операций составляют задачи геометрического программирования
Задача ГП в общем виде записывается следующим образом:
Найти ming0(/t, tt, , tm) (3.4.Р
при ограничениях
Ч, ... , /„XI; (3.4.2/
gP(‘i. (3.4.3)
*i>0............/m>0; (3.4.4)
Sk (h, tt. .... tm) = f ^Жет‘> (3.4.5)
... . fe = 0, 1............y, (3.4.6)
m0 = 1, m! =n0+ 1, mk = nk_{ + 1, ... , np = n;
> 0.
Функция gk (/3, /8, tm) вида (3.4.5) называется позиномом, ограничения
(3.4.2) — вынужденными ограничениями, а ограничения (3.4.4) — условиями не-
отрицательности.
Матрица А « Ц называется матрицей экспонент. Задача (3.4.1—
3.4.6) является прямой задачей ГП. Двойственная задача, соответствующая ей»
формулируется следующим образом:
Л / с р
Найти max v (6,. 6.........«„) _ П (I П Ч (•)**** (8.4.7)
\ О. / я
i=l \ I / k=l
при условиях
£ 5,-1, (3.4.8)
Г€/[0]
atfi( -.0, /«=1,2........т\ (3.4.9)
51 > 0, 6, > 0........5„ > 0, (3.4.10^
где
s (3.4.Н)
<€/[*]
а множества индексов I [Л) определяются согласно (3.4.6).
Функция v (dj, 62, . .., 6Г) называется двойственной функцией, переменные
61э 62, ..., 6Л — двойственными переменными, условие (3.4.8) —условием норма-
лизации, а (3.4.9) — условием ортогональности.
Путем сопоставления форм записи прямой задачи (3.4.1) — (3.4.6) и двойст-
венной ей (3.4.7) — (3.4.11) можно установить между ними следующие соответ-
ствия.
1. Каждому члену позиномов прямой задачи и/= соответ-
ствует одна двойственная переменная 6;, и наоборот.
2. Каждый множитель вида (6)*^ функции v (6) определяется вынужден-
ным ограничением gk (/) < 1.
3. Условие нормализации (3.4.8) — это единственное условие, по которому
различаются целевая функция g0 (/) и позиномы-ограничения g^ (f).
101
В основе теории геометрического программирования лежат обобщенное гео-
метрическое неравенство и теорема Куна — Таккера для задач выпуклого про-
граммирования. Отметим, что функции-позиномы gk (ilt t9, ..., tm) являются вы-
пуклыми и потому задача является задачей выпуклого программирования.
Связь между оптимальными решениями прямой и двойственной задач геомет-
рического программирования устанавливается в следующей теореме.
Теорема 3.3. Пусть прямая задача А совместна и существует решение t та-
кое, что gk (t) < 1, k — 1, р, а также оптимальное решение. Тогда:
1. Соответствующая двойственная задача совместна и существует точка,
удовлетворяющая двойственным ограничениям, в которой достигается условный
максимум двойственной функции и (б).
2. Максимальное значение целевой функции двойственной задачи равно мини-
мальному значению целевой функции прямой задачи, т. е.
nring0(t) = max и (6). (3.4.12)
t б
3. Если t* = (/*, •••> О — минимизирующая точка прямой задачи, то
существуют такие неотрицательные множители Лагранжа k = 1, р, что
функция Лагранжа обладает тем свойством, что
р
L (t. Л») - go (!) + Д н* te* (О - 11. (3.4.13)
L (t*, ц) < L (f, ц*) < L (t, Ц»), (3.4.14)
для произвольных > 0 и > 0, т, е. пара (ц*, t*) является седловой точкой функ-
ции Лагранжа.
4. Существует максимизирующий вектор б* двойственной задачи с компонен-
тами, определяемыми из условий
---ст—
<-/[0];
(3.4.15)
и г tatm
J rti" (3.4.16)
Sa IV
где t = t* и ц = р,*.
Кроме того,
‘.'••’-СТ’Г’ (3-4Л”
5. Если 6* — максимизирующая точка двойственной задачи В, то любая ми-
нимизирующая точка t* прямой задачи удовлетворяет системе уравнений
с firn _ cfl ‘2 • • • ‘m — ' V(6*), <£/[01; (3418) таг- <€/[*!. (3.4.19)
V А*(6*) "
где k пробегает все положительные целочисленные значения, для которых
W)>0.
Пользуясь результатами этой теоремы и зная решение прямой задачи, можно
на основании соотношений (3.4.16) определить максимизирующий вектор двой-
ственной задачи б* Наоборот, если известно решение двойственной задачи 6*,
то, используя формулы (3.4.18), можно определить оптимальное решение прямой
задачи t*.
Таким образом, для нахождения решений пары двойственных задач (t*, б*)
достаточно найти решение одной из них.
Рассмотрим двойственную задачу. Ее ограничения линейны и допустимое
множество решений образует выпуклый многогранник (многогранное множество).
102
Заметим, что задача содержит п переменных б1? 62... дп и т + 1 — огра-
ничение. Назовем величину d = п — т — 1 степенью трудности задачи ГП, она
!>авна числу свободных (небазисных) переменных в ограничениях задачи (3.4.8) —
3.4.9).
Для еадачи ГП с нулевой степенью трудности двойственная область содержит
не более одной точки 6 — 6Р. Для задачи с положительной степенью трудности d
можно определить такие (базисные) свободные векторы Ь(1), Ь(2\ b(d), что об-
щее решение двойственных ограничений будет иметь вид
d
6 = b<°> + £ г]№ > 0, (3.4.20)
/—1
где г/ — произвольные вещественные числа, удовлетворяющие условиям неотри-
цательности
d
«,-^ + 2 Г^>О. (3.4.21)
/«•1
Вектор Ь<°>, удовлетворяющий условиям нормализации
п®
S bQc == 1 (3.4.22)
i=i
п ______
и условиям ортогональности atjb^= 0, j= i.m, (3.4.23) называется векто-
i=i
ром нормализации.
Векторы Ь^, / = 1, d образуют базис пространства решений линейной одно-
родной системы уравнений
2 = о. 2 аа = °> i=‘П«- <3-4 -24>
7€/[0] /«1
Векторы Ь<» называются базисными векторами, а переменные гу, связанные с
Ь(Л, — базисными переменными. Выразив все б; через базисные переменные и под-
ставив значения б/ fry] в двойственную функцию, получим
v (бх, . . . , 6rt) = v (rx, г2.rrf), (3.4.25)
и далее необходимо найти max v (гх, г2, •••• fd), причем на вектор г = (гх, г2, •••» I'd)
наложены условия неотрицательности
d ___
(г) = + 2 >0. i = 1 • «• (3.4.26)
7=1
Для нахождения max v (г) по переменным гх, ..., rd используется тот факт,
что функция In v (г) вогнута по г.
Для отыскания оптимального решения двойственной задачи v (6) = v (г) по
переменном г = (г,, г2, ...» rd) используётся следующая теорема.
Теорема 3.4. Если б удовлетворяет ограничениям двойственной задачи В и все
компоненты 6 положительны, то б является максимизирующей точкой двойствен-
ной задачи тогда и только тогда, когда
К. = П 6( (г)ь1ф п («(r))-XftW), / =Vd, (3.4.27)
где
/С=П^(/), /=Г7. (3.4.26)
м
103
При этом, если б удовлетворяет соотношениям (3.4.27), то
V (6) = Ко ( п б/'® (г)) П X* (г)**®. (3.4.89)
V-1 / £=1
Уравнения (3.4.27) называются максимизирующими. Они образуют систему, со-
стоящую из d нелинейных уравнений относительно базисных переменных г/, / «
= 1, d.
Решив эту систему, можно определить максимизирующую точку двойственной
задачи В. Формула (3.4.29) определяет максимальное значение двойственной за-
дачи В для такой точки. Заметим, что базисные постоянные Л/ и двойственные пе-
ременные входят в разные части максимизирующих уравнении и такое разделение
переменных и постоянных облегчает исследование зависимости оптимальных ре-
шений прямой и двойственной задач от коэффициентов С{.
Пусть прямая задача ГП записана в виде (3.4.1) — (3.4.6).
Описание алгоритма. Алгоритм решения состоит из следующих этапов.
1. Составляем задачу (3.4.7) — (3.4.11), двойственную к задаче (3.4.1) —
(3.4.6).
2. Находим решение ограничений ортогональности (3.4.8) и нормализации
(3.4.9) б*. Если степень трудности задачи d = п — т — 1, то это решение един-
ственно. ___
3. Тогда используя значение 6* == {б*}, i » 1, п, составляем систему уравне-
ний (3.4.18) — (3.4.19), которую решаем относительно неизвестных t* =
При этом для искомого решения v (б*) » g (t*). Конец.
4. Если же степень трудности d > 0, то общее решение системы уравнений
(3.4.8) — (3.4.9) будет иметь вид
6£ (г) = Ь° + £ г,ъТ > 0, i =Т"п,
/-1
где г — вектор произвольных параметров.
5. Используя условия оптимальности (3.4.27), составляем и решаем систему
нелинейных уравнений относительно неизвестных г/, j » 1, d. Найдя ее решение
г* и подставляя в (3.4.26), определяем оптимальные значения двойственных пере-
менных б* = 6t- (г*), а подставляя б* в (3.4.29), определим оптимальное значение
целевой функции двойственной задачи о (б*) == max v.
6. Переходим к прямой задаче, используя соотношения (3.4.18), решаем си-
стему уравнений относительно искомых значений £2, ..., при уже найденных
значениях переменных {6*} г = 1, л.
Пример 3.4. Пусть требуется минимизировать позином
£0(9 = 40^ + 20^, (3.4.30)
при ограничениях
s (9=4- к'1*'1'+4 <1 • <3-4-31>
Заметим, что в данной задаче число членов п = 4, а число пере-
менных т = 3. Следовательно, степень трудности задачи d = 0.
Таким образом, решение двойственных ограничений единственно.
Двойственная задача к задаче (3.4.30) — (3.4.31) запишется
в виде
пах , (6) = ( « )* ( » f (А.)* (ЧЛ- (5, + 8^+“ (3.4.32)
\ 01 / \ о, / \ О, / \ О4 )
104
ори условиях
+ б2 = 1; (3.4.33)
61-б8=0;
бх + 6, — V268 — 64 = 0; (3.4.34)
62 —2/864 = 0;
61 > 0, 62>0, 68>0, 64>0. (3.4.35)
Условия (3.4.33) — (3.4.34) образуют систему из четырех урав-
нений с четырьмя неизвестными и имеют единственное решение:
в; = 1/8, 62‘ = 1/2, 6з* = 1/>, 61 = »/4.
Из выражения для g (t) видно, что выполнены условия теоремы
8.3 и прямая задача совместна. Применим эту теорему для нахожде-
ния искомого решения t*. Находим значение двойственной функ-
ЦИИ' v («*) = v (V2; V2; Ч2, 4J = 40.
Следовательно, по теореме двойственности
£о(*;л‘.ф = 40.
Используя четвертое утверждение теоремы 3.3 и соотношение
(8.4.18), составим следующую систему уравнений:
40^4 = 61» (6*) » V2 • 40; (3.4.36)
20/^3 = б3*и (6*) = V2 • 40; (3.4.37)
= (3.4.38)
—А; -<зл'39>
Для решения этой системы прологарифмируем обе части со-
отношений (3.4.36) — (3.4.39). Получим систему линейных уравне-
ний относительно In tlt In t2, In t3. Она имеет единственное решение:
In /j = —In 2, In ta = 0, In ts = 0. Откуда искомое решение имеет
вид: t\ — 4t, t2 = 1, tl = 1.
Нетрудно убедиться непосредственно, что g (х/2; 1; 1) — 40.
Пример 3.5. Пусть требуется минимизировать позином
g0 (t) = 40/Г1^1/‘/Г* + 20/Л +-20^3 (3.4.40)
при условии
i(t) = WP/#641.
Соответствующая этой задаче двойственная задача состоит в мак-
симизации
/х\ ( 40 V* ( 20 I 20 )ба ( Чз \6‘ ( */3 \6‘ /XIX Л4А
max о (6)-^ (б4 + б6) +
(3.4.41)
105
Таблица 3.6
81 «2 «3 «4 85 А0;
1 1 0 0 1
-1 1 1 -2 0 0
—1/2 0 1 -2 1/2 0
-1 1 1 0 -1 0
Таблица 3.7
«1 «2 83 «4 8б А-0
1 1 1 0 0 1
0 □ 2 —2 0 1
0 1/2 11/2 -2 1/2 1/2
0 2 2 0 -1 1
Таблица 3.8
«1 82 «3 «4 85 Ао
1 0 0 1 0 1/2
0 1 1 -1 0 1/2
0 0 1 -3/2 ы 1/4
0 0 0 2 -1 0
Таблица 3.9
81 «2 83 «4 «5 Ао
1 0 0 1 0 .1/2
0 1 1 —1 0 1/2
0 0 2 -3 1 1/2
0 0 0 -1 0 1/2
Таблица 3.10
81 62 83 «4 8В Ао
1 0 0 1 0 1/2
0 1 0 -1/2 ’ 0 1/4
0 0 0 -2 1 0
О 0 1 -1/2 0 1/4
при ограничениях
Si + 62 + 63 = 1;
-61+ 634-б8-264 = 0;
_1/а61 + б,_2б4 + 1/.д = о;
(3.4.42)
— 61 + ба + 63 - 65 = 0; (3.4.43)
6Х > 0, 62>0, 83>0, 64>0, 85>0. (3.4.44)
Степень трудности задачи равна: п — т — 1 = d = 5 — 3 —
— 1 = 1.
1. Решаем систему методом Гаусса и результаты последователь-
ных итераций приведем в табл. 3.6—3.10, откуда получаем следую-
щее базисное решение системы (3.4.42) — (3.4.43):
61 = */а; 6г = х/4; 6з = х/4; = 0; 85 = 0.
106
Полное множество решений этой системы равно (при 64 = г):
бГ>=1/2 -г;
fi2(r)=14 + V2r;
68(0 = 1/4 + %G (3.4.45)
64(r)=r;
b6(r) = 2r.
Из этих уравнений, используя условия неотрицательности,
получаем, что г должно удовлетворять неравенству
0<г^х/2. (3.4.46)
2. Записав общее решение системы в виде 6 = Ь<0) 4- rb(1), оп-
ределяем, что
Ь(Щ = [1/2 х/4 х/4 О 0J; (3.4.47)
Ь(1) = [—1 % х4 1 2]. (3.4.48)
3. Используя условия оптимальности (3.4.27) теоремы 3.4, опре-
деляем искомое значение г*, при котором о (6 (г*)) = max v (г).
Г
Имеем: / — d =? 1.
Вычисляем Ki = П ?/(1) = 40—1 . (20v*). f/з)1 . (4/3)2 = (20/40) X
х е/3) • (1в/9) = 8С
Но в силу (3.4.27), с учетом / « lift « 1, получим
= п (г) %! (г)-х1”, (3.4.49)
/=3=1
где 6( (г) определяется из (3.4.45); &Р — из (3.4.48);
(г) = S4 (г) 4- 65 (г) = г + 2г = Зг;
(1) = 4- &5 ’ = 1 4- 2 = 3.
Подставляя эти значения в (3.4.42), получим
= (% - Г)-1 (х/4 4- W71 е/4 4- 4J)*'* (г)1 (2г)2 (г 4-
4-2г)-3 = 8/„. (3.4.50)
Стеюда • или
1/44-1V = 2(1/2-r). (3.4.51)
Из (3.4.50) определяем искомое значение г* = 0.3. Заметим,
что это значение удовлетворяет неравенству (3.4.46). Подставляя
г* = 0.3 в (3.4.45), находим оптимальные значения двойственных
переменных:
6; = х/2 — г* = 0.2; 62’ = % 4- XV = 0.4;
6з = 62* = 0.4; 6* = 0.3; 65 = 0.6.
107
Тогда максимум двойственной функции будет равен:
Ш3 Ш" • <»’)“ -
- 200°’2 • (5О)ол • (5О)ол • (-у-)0’’ • • (0.9)09 = 100. (3.4.52)
Итак, о(6*) = 100.
Теперь используя соотношения (3.4.18) из теоремы двойственно-
сти, нетрудно составить уравнения относительно неизвестных пря-
мой задачи tlt tit ts:
40/Г V’^r1 = б’v (6») = 0.2 - 100 = 20; (3.4.53)
20/^ = 62’о (6*) = 0.4 • 100 = 40; (3.4.54)
20/х^з = 6з*о (6) = 0.4 • 100 = 40; (3.4.55)
V = таг = <3-4-66)
4 1 5
Умножив уравнение (3.4.54) на (3.4.53), получим 4 = W/M —
“ 1. Подставляя fe‘ = 1 в (3.4.56), получим х/8 • С2 = х/#, от-
куда 4=1.
Наконец, подставив 4 = 1 в (3.4.53), находим 4 = 2.
Итак, мы нашли следующее оптимальное решение прямой за-
дачи: 4 = 1,4 = 1, 4 = 2, g (t*) = v (6*) = 100.
Задачи и упражнения
Найти и исследовать решения следующих задач геометрического
программирования.
3.31. Допустим, требуется построить каркас прямоугольного
ящика объемом в 100 м8. Каркас должен быть построен из брусков
дерева шириной 0,1 м. Стоимость брусков дерева, из которых из-
готавливается каркас, равна 10 руб/м. Какими необходимо выбрать
размеры ящика, чтобы стоимость каркаса была минимальной?
Указания.
1. Составить математическую модель задачи.
2. Определить степень ее трудности.
3. Сформулировать двойственную к ней задачу.
4. Выписать матрицу экспонент А = || ац ||.
5. Найти полное множество решений ограничений двойствен-
ной задачи. Определить вектор нормализации и векторы не-
вязки Ь(1), Ь<2>.
6. Записать общее решение системы в виде
6(r) = b<0) + r1b<1) + r8b<2>;
6, = ^ + ^» + ^.
7. Составить систему нелинейных максимизирующих уравнений
вида (3.4.27) и найти ее решение г\, г2.
108
8. Определить 6( =* бг (г*) и оптимальное значение целевой
функции двойственной задачи v (8*) = max v.
9. Используя соотношения (3.4.18), составить и решить систему
уравнений относительно искомых значений переменных прямой
задачи: х, у, г.
3.3 2. Минимизировать функцию U (х, у) — А (х3 + у3)*'* +
где А > О, В > 0.
Указания: а) ввести переменное & х3 4- у3 и свести задачу
минимизации к стандартной задаче ГП;
б) определить степень трудности этой задачи;
в) определить относительные вклады первого и второго слага-
емых в минимальное значение U;
г) найти минимальное значение U.
3.3 3. Исследовать функцию
U = А (х + у~1)‘/г 4- (х£у)г -> min,
где Л > 0, В > 0 — произвольные положительные константы.
Указания: а) ввести 2 новые переменные:
+ — У
и привести задачу минимизации U к стандартной задаче ГП;
б) определить степень трудности этой задачи;
в) выписать матрицу экспонент А — | ац Ц;
г) из этой матрицы найти общее решение двойственных ограни-
чений 6 = Ь(0> + Ь(1)г;
д) найти значение базисной переменной г, которое максимизиру-
ет двойственную функцию;
е) определить максимальное значение двойственной функции
для значений Л = 20, В = б.
3.3 4.
Найти min g0 (0 - 4О0“1*Г‘/‘£’1 + 20/^3 4- 2О0^8
при условии
Si (О = “j" 0 20 2 + -у" tz'ti 1 1 •
Указание. Составить двойственную задачу, определить
степень ее трудности, найти ее решение.
3.3 5.
Найти минимум G (0 = 4- /’/‘/У* 4- t'l'fz11'.
Указание. Привести эту задачу к эквивалентной задаче ГП,
для чего ввести вспомогательную переменную /0 из условия
1 2 I
W tz + “5* I3!•
109
3.36.
_ JL _J_
Найти g9 (0 = 2Wi 2 + 30*T%2 -> min,
при ограничении
х^б*,+4^2<1-
3.37. He решая прямой задачи, определить минимум g9 (/)',
а также вклад каждого позинома в значение целевой функции:
1 1
ming0(/) = 40/1Л’1/32 + 10/rW +2О/1/2*Г2.
В каждом из следующих примеров определить степень трудности
прямой задачи ГП, составить задачу, двойственную к данной,
найти оптимальное решение двойственной задачи i = 1, т,
найти решение прямой задачи и определить вклад каждого позино*
ма щ (/) в значение целевой функции g9 (/).
3.38.
Найти min (20Л*а 4- 40ЛЛ + 30/2/з)
при условиях
•у *1*2 1 + — Л '*3 1»
Л>0.
Найти min (5Л4 + 10/а*я)
при условиях
(4 + 4- V) < 1.
*1» *2>
3.40.
Найти min (ЮЛ2 Л"1 + бЛ2/?1 + ЮЛ2^1)
при условиях
(тг^+тг'М^1*
*1» *2» *з 0.
3.41.
Найти min (20ЛЛ + 30/Г% + 50/,ф
при условиях
4 4- 4 <L
h, ta, *>> 0.
110
8.42.
! I
Найти min (5f,21/3 4- 10&32 + гО/Г*^1)
при условиях
^2» ^3^ 15, tif t2f ^3^0.
3.43.
Найти min (20/Г1^^3 + 40^)
при условиях
"§“^2 Н---з~^2^3^ 1> 119 ^29 ^8^0.
3.44.
Найти min (ЗОГ1^1 + W%)
при условиях
4- hh+гчс4 < 1. /1. tit t„ > о.
3.45.
Найти min (5/х/в^3 4- 10/2^8)
при условиях
4- я-1^2+4 <!>*!• *« > о.
3.46.
Найти min (20/х//з + 30/2Q
при условиях
4 ti 4—g- ^з I» 4>0, ^«^0,
8.47.
1 1
Найти min (5/,2 t2f3 4- Ю/7%2 4- гО/Г1^1)
при условиях
1 > ^1» ^2> ^3 0.
3.48.
Найти min (ЗО^^^з 4- 20^'^Г1)
при условиях
-у /Г2^”3 4~ 4 6 ,^”2 1 ^з> ^з 0.
3.49.
Найти min (10^, 4- 2bfrV 4- ЗО/Г’^Г3)
при условиях
15^з4<1, 4,/„/з>0-
111
3.50.
Найти min + Ю/Лг2 + 20/2f8)
при условиях
4- ^v3+4 <1.4 > о-
3.51.
Найти min (10/J2/3 + 20fi"V2)
при условиях
4/i/8 + 4cV + 4^3<l, ^>0, /з>0, /8>0.
3.52.
_ 1
Найти min (20/Г % 2 /Г1 + 40^3 + 10^)
при условиях
1
4^v+4/22^1<1’ zi>°- f«>°’ *з>о.
3.53.
— 1
Найти min (4/^^ 4-3)
при условиях
“g~^3 Ч 5”^3 1, ^2» ^3^0"
3.54.
Найти min (20^/а^-1 + 10/2/3)
при условиях
4^ #з + 4 < 1, /1 > 0 J2 > 0 J8 > 0.
8.55.
Найти min(5^8+ Ю/Г'/^з)
при условиях
4 ^’^Г2 + 4 < 1, ti > 0, /2 > 0,t3 > о:
8.56.
Найти т!п(5/1/2/3+ 10/il2/4+ IS/r’frJr1)
при условиях
4 'з + 4 < 1 - > О ,<з > О J, > 0.
ш
I
8.57.
Найти min (5/i % % 4. Ю/2/8 4- 20/ifT3)
при условиях
4- w4+4 <Г’^з < 1, *i > 0, /2 > 0, /8 > 0.
3.58.
1
Найти min (5tjt3t3 4- 20/х/22 /Г2)
при условиях
-д-Л+т**’2^1’ °> Z2>°> #з>0-
3.59.
Найти min 4-
при условиях
4 +4 < 1. ч > о, t2 > о, t3 > 0.
8.60.
Найти min (10^14- б/?1^2)
при условиях
4 ~^3+4+4 < ь > о, /2 > о, #3 > о.
8.6. МЕТОДЫ ПОИСКА ЭКСТРЕМУМА БЕЗ ОГРАНИЧЕНИЙ
Известные методы отыскания экстремумов нелинейных функций в зависимости
от используемой информации для получения следующей точки можно разбить на
три группы.
1. Прямые методы, которые используют только значения функций.
2. Методы первого порядка, использующие дополнительно и значения пер-
вых производных.
3. Методы второго порядка, которые требуют знания и вторых производных.
Заметим, что производные могут вычисляться как аналитически (если функция
задана аналитически), так и численно.
Методы поиска экстремума первого порядка
Градиентные методы
Градиентные методы представляют собой одну из наиболее многочисленных
групп методов поиска экстремума, и все они используют значения градиента функ-
ции f (X).
Обозначим вектор-градиент / (X) в точке через V/ (Х^):
\df(Xk) df(Xk) df(Xk)l
у/(Ха)=Ч-^Г_’-^Г’...........
дхг
a e-4oes
118
Тогда движение представляющей точки в градиентном методе описывается
уравнением
X^+i = Xfe-AfeVf(Xfe), (3.5.1)
где %* — величина шага на fc-й итерации (kk > 0).
В различных вариантах градиентного метода используются различные спосо-
бы выбора скаляра %. Этот выбор может зависеть также и от степени близости Х&
к X*. В том случае, если величина шага 1 определяется из условия
1* = min f (Xfe — Isfc), (3.5.2)
x>o
то соответствующий метод называется методом найскорейшего спуска (он был
предложен еще Коши).
Согласно этому методу в качестве Х^ выбирается такая точка, расположен-
ная в направлении s^, в которой функция f (X) принимает минимальное значение.
Затем определяется новое значение градиента V/ в точке Х^ и процедура
повторяется вновь. Метод наискорейшего спуска еще называют полношаговым ме-
тодом.
Заметим, что метод наискорейшего спуска в общем случае не обладает каки-
ми-то оптимальными свойствами, например способностью отыскивать искомую
точку X* за минимальное число шагов или при минимальном объеме вычислений.
Это можно проиллюстрировать на примере минимизации квадратичной функции.
Найти
min / (X) = -L ХТНХ, (3.5.3)
где матрица Н — положительно-определенная. В этом случае / (X) > 0 для всех
X Ф 0 и f (0) = 0 и, следовательно, f (X) достигает минимума при X* = 0.
Так как
Vf(X) = HX = s, (3.5.4)
то в соответствии с методом наискорейшего спуска нужно найти
min f (X — Xs) = min Хг (H — 2Л.Н2 + VH3) X. (3.5.5)
Беря производные в выражении (3.5.5) по X, получим оптимальную величину
шага
Если обратиться к геометрической интерпретации (рис. 3.1), то станет ясно,
что луч X — Xs = X—Х\7 ЦХ), X >• 0, исходящий из точки X в направлении
VJ (X), не проходит через точку минимума X* = 0. Следовательно, за один шаг
точки X* нельзя достигнуть, если только Хо не оказывается лежащей на одной
из полуосей эллипса, задаваемого функцией ХГНХ. Направление, вдоль которого
114
должен производиться поиск точки минимума,— это направление, соединяющее
точку X с началом координат Н—1 \7К (X). Если мы ведем поиск по направлению
Н—1 V f (X), то начало может быть достигнуто за один шаг при Л* = 1, так как
f (X - H“rVf (X)) = f (X — Н^НХ) = f (0) = 0. (3.5.7)
Таким образом, в данном случае метод наискорейшего спуска оказывается
хуже, чем метод, согласно которому поиск производится в направлении Н"”1 х
X V f (X). При методе наискорейшего спуска приближение к точке минимума про-
исходит зигзагообразно. Введем вектор = X^j — X*. Тогда вектор-градиент
Vf (Х^) ортогонален к вектору Р&, поскольку Х^ был выбран путем миними-
зации/ (Х£ — Isfc). Таким образом, последовательность точек Хг, Х2, Х^, вы-
рабатываемых методом наискорейшего спуска, зигзагообразно приближается к
точке X* (рис. 3.2). Заметим, что на рис. 3.2. вектор Ро параллелен Р2, Р8 парал-
лелен Pj и т. д.
Описание алгоритма найскорейшего спуска
Начальный этап. Пусть & > 0 — константа остановки. Выбрать начальную
точку Хь положить k « 1 и перейти к основному этапу.
Основной этап. Если || y/f (X*) || < е, то нужно остановиться, в противном
случае положить = —\7 f (Х^) и найти — оптимальное решение задачи мини-
мизации f (\k + %s^) при X > 0. Положить Х^+1 = ХЛ + 1^, заменить k на
k + 1 и повторить основной этап.
Пример 3.6. Рассмотрим следующую задачу:
минимизировать (xt — 2)4 + (хг — 2х2)2.
Будем решать ее методом наискорейшего спуска при начальной
точке Хо = [0.00; 3.00]т. В табл. 3.11 приведены результаты вы-
числений. После семи итераций получена точка Х8 = [2.28; 1.15]т.
Так как норма ||Vf (Х8) || = 0.09 достаточно мала (в = 0.10),
8*
115
Таблица 3.11
k ** Vf (Xp Hv« Sft Vi Kk Хл-Н
1 [0.00; 3.0] 52.00 [—44.00; 24.00] 50.12 t 44.00; 24.00] 0.062 [2.70; 1.51]
2 [2.70; 1.511 0.34 0.73; 1.28] 1.47 [-0.73; 1.28] 0.24 [2.52; 1.20
3 [2.52; 1.20’ 0.09 1 0.80; -0.48] 0.93 [—0.80; 0.48! 0.11 [2.43; 1.25
4 [2.43; 1.25] 0.04 0.18; 0.28] 0.33 [—0.18; —0.28; 0.31 [2.37; 1.16
6 [2.37; 1.16 0.02 ‘ 0.30; —0.20] 0.36 [—0.30; 0.20 0.12 [2.33; 1.13
6 [2.33; 1.18] 0.01 0.08; 0.12] 0.14 [—0.08; —0.12' 0.36 [2.30; 1.14
7 [2.30; 1.14] 0.009 ’ 0.15; —0.08] 0.17 [-0.15; 0.08 0.13 [2.28; 1.15]
8 [2.28; 1.15] 0.007 0.05; 0.08] 0.09
то работа алгоритма остановлена. На рис. 3.3 показан процесс ми-
нимизации этим методом. Заметим, что точкой минимума для дан-
ной задачи является X* = [2.00; 1.00]т.
Метод вторых производных (Метод Ньютона)
Градиентные методы поиска, включая метод наискорейшего спуска, исполь-
зуют линейную аппроксимацию целевой функции (3.5.1). Методы вторых произ-
водных, в частности метод Ньютона, возникли из квадратичной аппроксимации
Л(Х).
Рассмотрим схему метода Ньютона.
Направление поиска s в методе Ньютона выбирается следующим образом.
Найдем квадратичную аппроксимацию функции f (X) в окрестности точки Х^ пу-
тем разложения ее в ряд Тэйлора:
/ (X) = / (ХЛ) + VTf (X*) (X - ХА) + -у (X - ХА)Т V2f (Xft) (X - XS), (3.5.8)
где (Xfc) — матрица Гессе функции f (X), представляющая собой матрицу
вторых частных производных f (X) в точке Х^:
V2f (Xft) = Н (Xft) = = (3.5.9)
Заменим в разложении (3.5.8) X на Х^, а X — X* на ДХ^ и получим квад-
ратичную аппроксимацию f (Х&) через ДХ&:
f (Xft+I) = f (Xft) + VTf (X*) AXft + -L AX{V2f (ХЛ) AXS.
Найдем направление АХ* « X^ — X*, в котором f (Х^) будет минималь-
на» Для этого продифференцируем f (X*) по каждой из компонент ДХ* и прирав-
няем к 0 полученные выражения. В результате приходим к соотношениям:
дХк = - [V2/ (Х^)Г1 Vf (Xft). (3.5.10)
где [V2f (Хд,)]””1 — матрица, обратная матрице Гессе в точке X*. Тогда переход
из X* в Х^ по методу Ньютона будет описываться соотношением
x4+1 = xft - [V2f (Xfe)]-1 Vf (Xft). (3.5.11)
Заметим, что здесь как направление, так и величина шага точки определены.
Если f (X) — квадратичная функция, то V2f (X) = Н, и для достижения ми-
нимума f (X) достаточно только одного шага. Но в общем случае минимума f (X)
нельзя достичь за один шаг и поэтому уравнение поиска (3,5.11) обычно приводят
к стандартному виду
Х^_|_| = X* — ^k^ki (3.5.12)
116
k *k W Vf(Xft)
1 [0.0; 3.0) 52.0 [—44.0, 24.0) Г 50.0 —4.0] 1—4.0 8.0]
2 [0.67; 0.33] 3.13 [—9.4, —0.041 Г 23.2 —4.0] [—4.0 8.0]
3 [1.11; 0.56} 0.63 [—2.84 —0.04) Г 11.5—4.0] 1-4.0 8.0]
4 [1.41; 0.70) 0.12 [—0.80; 0.14] Г 6.2—4.01 [—4.0 8.0]
[1.61; 0.80] 0.02 Г—0.22; 1 1—0.04 J Г 3.83—4.01 [-4.0 8.0]
6 [1.74; 0.87} 0.005 I—0.07; 0.0] Г 2.81 —4.0] [—4.0 8.0 ]
7 [1.83; 0,91] 0.0009 [0.0003; —0.04]
Таблица 3,12
н (Хк)-1 -н (Хр-1 X XVf (Хр хН-1
1 384 Г8.0 4.01 [4.0 50.0 J [0.67; - -2.67J 1 [0.67; 0.33]
176" Г8.0 4.01 [4.0 23.2] [0.44; 0.23] [1.11; 0.56] '
Ч" Г8.0 4.01 [4.0 11.5] [0.30; 0.14J [1.41; 0.75]
Г8.0 4.01 [4.0 6.2] [0.20; 0.10] [1.61; 0.80]
Т^1 8.0 4.0 1 4.0 3.83] [0.13; 0.07] [1.74; 0.87]
5^1 8.0 4.01 4.0 2.8] [0.09; 0.04) [1.83; 0.91]
(где Sk — единичный вектор) путем введения длины шага как параметра:
X = Х„ - к tv2f (Xfe)]-1 Vt(Xft)
*+1 ||[Vaf (XA)]-' Vf (X*) II ’ (,‘ }
Уравнение поиска (3.5.13) применяется итеративно, пока не будет удовле-
творен критерий окончания процесса.
Критерий, гарантирующий сходимость метода Ньютона, в предположении,
что f (X) — дважды непрерывно дифференцируема, заключается в том, что мат-
рица, обратная матрице Гессе, должна быть положительно определенной.
Пример 3.7. Рассмотрим следующую задачу:
минимизировать (х7 — 2)4 4- (х7 — 2х2)4.
Соответствующие результаты вычислений приведены в табл. 3.12.
На каждой итерации точка определяется по формуле
Xft+1 = Xk - Н (X,)-’ vf(Xj.
После шести итераций получена точка Х7 = [1.83; 0.91 ]т. В этой
точке || V/ (Х7) || = 0.04, и процедура остановлена.
Траектория движения, построенная по методу Ньютона, приве-
дена на рис. 3.4.
Метод сопряженных направлений
Допустим, что необходимо минимизировать f (X) и процесс минимизации на-
чинается в точке Хо с начальным направлением s0. Тогда вектор Хх определяется
соотношением
Х1 = Х0—loso, (3,5.14)
где длина шага находится из условия минимума f (X) по %:
д/ (*о — XsQ)
дК
118
После вычисления Хо и Хх для продолжения процесса минимизации f (X) не-
обходимо выбрать новое направление. Это направление Sj называется сопряженным
к старому направлению s0, если выполняется условие:
s^Vf (Хо) s0 = 0. (3.5.15)
В общем случае система линейно независимых направлений поиска 8$, s2, ...
.... называется сопряженной по отношению к некоторой положительно опре-
деленной матрице Q, если
s?Qs. = 0, ( /,/,/= 1, (3.5.16)
Отметим, что сопряженность — понятие, аналогичное ортогональности, так
как если Н = I то, в соответствии с (3.5.16) sfs, == 0.
Для некоторой матрицы Н всегда существует, по крайней мере, одна система
из п взаимосопряженных направлений, так как собственные векторы Н представ-
ляют такую систему.
Метод сопряженного градиента
В методе сопряженного градиента (Флетчера — Ривса) строится последова-
тельность направлений поиска, являющихся линейными комбинациями Vf (Х^),
текущего направления и предыдущих направлений s0, sx, ..., причем та-
ких, чтобы сделать направления поиска сопряженными. При этом для вычисления
нового направления поиска в точке Х& используется только текущий градиент и
предпоследний градиент.
Рассмотрим идею метода. Пусть исходным направлением поиска будет s0 =
= — Vf (Хо). Положим Х3 — Хо = и построим
s1=^Vf(X1) + <o1Sot (3.5.17)
где (dj — весовой коэффициент, который выбирается так, чтобы сделать s3 и s0 со-
пряженными по отношению к Н:
sjHsx = 0. (3.5.18)
Чтобы исключить s0 из (3.5.18), воспользуемся очевидным соотношением
Vf (Хж) - Vf (X.) = V*f (Xft) (ХА+1 - X*) = HXfeSft, (3.5.19)
где XfeS/, = ДХ/j, а также соотношением
т _ (Хх-Х0)т _ [Vf (Хх) -Vf (ХО)]ТН~1
0 \ * Л ♦ *
л,0 ло
Следовательно, [Vf (Хх) — Vf (Х0)]т Н [— Vf (Хх) -j- w1SoJ = 0.
Вследствие рассмотренных выше свойств все перекрестные члены исчезают
так, что
m_Vrf(Xx)Vf (Хх) (3.5.20)
VTf (Хо) Vf (Хо) '
Направление поиска s? представляется в виде линейной комбинации Vf (Х?),
8Х и s0, причем так, чтобы оно было сопряженным sx. Повторив приведенные выше
выкладки для случаев s = 2, 3 и т. д., получим
VTf(Xfe)Vf(Xft) _ ||Vf(Xfc)||2 (3 5 21
VTf(Xfe_1)Vf(Xfr_1) || Vf (Х4_,) ||2 ’
В заключение приведем вычислительную схему алгоритма.
Начальный этап. Выбрать & > 0 для остановки алгоритма и начальную точку
Xj. Положить у: = Xn sx = Vf (XJ, k = j = 1 и перейти к основному этапу.
119
Таблица
k / v/ f (Y,) Vf (Yy) s/ x/ Г/4-i
1 10.0; 3.0] 52.00 1 (0.0; 3.0] 52.0 [—44.0; 24.0] 50.12 — [44.6; —24.0] 0.062 [2.7; 1.51] 2 [2.7; 1,51] 0.34 [0.73; 1.28] 1.47 0.0009 [—0.69; 1.3] 0.23 [2.54; 1,21] 2 [2.54; 1.21] 0.10 1 [2.54; 1.21] 0.Ю [0.87; —0,48] 0.99 — [—0.87; 0.48] 0.11 [2.44; 1,26] 2 [2.44; 1.26] 0.04 [0.18; 0.32] 0.37 0.14 [—0.30;—0.25] 0.63 [2,25; 1,10] i 3 [2.25; 1.10] 0.08 1 [2.25; 1.10] 0.008 [0.16; —0.20] 0.32 — [—0.16; 0.20] 0.10 [2,23; 1.12] 2 [2.23; 1.12] 0.003 [0.03; 0.04] 0.05 0.04 [—0.036;—0.03] 1.02 [2.19; 1.09] 4 [2.19; 1.09] 0.0017 1 [2.19; 1.09] 0.0017 [0.05; —0.04] 0.06 — [—0.05; 0.04] 0,11 [2.185; 1.094] 2 [2.185; 1.094] 0,0012 [0.02; 0.01] 0.022
Основной этап. Ш а г 1. Если || Vf (Y/) || < е, то остановиться. В противном
^лучае взять в качестве Л; оптимальное решение задачи минимизации f (у/ + W
при X > 0 и положить Yy+1 = Y/ + 1/S/. Если / < п, то перейти к шагу 2,в про-
тивном случае — к шагу 3.
Ш а г 2. Положить = — Vf (У j+\) + со/S/, (3.5.22), где
||Vf(Y.)||“ •
Заменить j на j + 1 и перейти к шагу 1.
Ш а г 3. Положить Y$ = ХЛ+1 — Yn+1, Sj = — Vf (Гг), ] =» 1, заменить А
на k + 1 и перейти к шагу 1.
Важным достоинством алгоритма сопряженных градиентов является то, что
вдесь не требуется обращать матрицу Гессе Н, кроме того, программа требуй
довольно ограниченного объема памяти ЭВМ.
Пример 3.8. В качестве примера рассмотрим следующую задачу!
минимизировать (хх — 2)4 + (хх — 2х2)2.
Результаты вычислений по методу сопряженных градиентор
Приведены в табл. 3.13. На каждой итерации Sj = — 57/ (YJ, азя
- - Vf (Y2) + <оА, где ©! = I Vf (Y2) IM Vf (Yx) f.
Кроме того, Y/+i получен оптимизацией вдоль s/ с начальной точ-
кой Y/. После четвертой итерации получена точка Y2 = [2.185;
1.0941т> которая достаточно близка к оптимальной точке [2.0;
1.0]т. Поскольку норма градиента в этой точке, равная 0.02, весь-
ма мала, то процедура была остановлена. На рис. 3.5 показан про-
цесс решения задачи методом сопряженных градиентов.
121
Методы переменной метрики
Для применения метода Ньютона необходимо знать матрицу Гессе и выпол-
нить ее обращение. Однако во многих случаях может оказаться, что матрица Н (X)
неизвестна, либо ее вычисление связано с большими трудностями. Кроме того,
как известно, число умножений при обращении матрицы порядка (п X п) пропор-
ционально и3, что требует больших вычислительных затрат при небольших п.
В связи с этим разработана группа методов, в которых матрица Н—1 (X) строится
постепенно в процессе спуска. Эти методы получили название методов переменной
метрики, или кв аз и-ньютоновских методов.
При использовании методов переменной метрики новый вектор Х^_р вычи-
сляется согласно уравнению
ХА+1 = X* + Kksk = Xfe - (Xfe) Vf (Xk)f (3.5.23)
где матрица D (Xfe), которую называют матрицей направлений, представляет со-
бой аппроксимацию Н""1 (X). Для оценки воспользуемся следующим полезным
соотношением, связывающим Х& и Х^+1 для случая квадратичной целевой функ-
ции:
Vf (Xw) - Vf (X*) - Н (X*) (Xfe+1 - Xk). (3.5.24)
Умножая обе части (3.5.24) на Н—1 (Х^), получим
ХА+1 - X» = Н-* (Xt)(Vf (Xi+1) - Vf (Xt)). (3.5.25)
Если при этом f (X) — квадратичная функция, то Н (Х^) = Н. Уравнения
(3.5.25) можно рассматривать как систему п линейных уравнений, содержащих п
неизвестных параметров, которые нужно оценить для того, чтобы аппроксимиро-
вать Н~! (X) при заданных значениях f (X), Vf (X) и ДХ. Для решения этой си-
стемы могут быть применены различные методы, каждый из которых приводит к
различным методам переменной метрики.
В довольно большой группе методов Н"-1 (Х&) аппроксимируется с помощью
информации, полученной на &-м шаге следующим образом:
Н-1 (Xft+I) « <oD^+1 = ® (Dt + ADfc), (3.5.26)
где D* — матрица, аппроксимирующая Н—1 (X*); ADj вычисляется на й-м шаге
для уточнения аппроксимации; ш — масштабный множитель. Выбор AD& по су-
ществу определяет метод переменной метрики. Для обеспечения сходимости (dD^
должна быть положительно определенной и удовлетворять уравнению (3.5.26),
будучи представленной вместо Н-1 (X). Поскольку на (k + 1)-м шаге нам извест-
ны Xfc, Vf (Xfe), Vf (X^j) и Щ, вычислим так, чтобы удовлетворялось со-
отношение
Dft+1 (Vf (Х*+1) - Vf (X*)) = D,+1Agft = -L AXft, (3.5.27)
где
Ag*~Vf (XftH)-Vf(Xft).
Пусть AD* = — Dfc. Тогда уравнение
AD*AgA = — AXft - DftAgft (3.5.28)
нужно разрешить относительно AD^.
Непосредственной подстановкой в (3.5.28) можно проверить, что уравнение
(8.5.28) имеет решение:
ADft — —
“ (О
AXftYT
(3.5.29)
122
где Y и Z произвольные векторы размерности п X 1. Если выбрать Y = Z =
= дх* — O*Ag*, (о=1, то получим так называемый алгоритм Бройдена, если
же в (3.5.29) Y = АХ*, a Z = D*Ag*, то получим алгоритм Дэвидона — Флэт-
чера — Пауэлла.
Метод Дэвидона—Флэтчера—Пауэлла
В варианте метода переменной метрики, предложенном Дэвидоном, Флэтче-
ром и Пауэллом, для нахождения матрицы Н”1 (X) используется матрица AD,
имеющая ранг, равный 2. Матрица направлений D перевычисляется таким обра-
зом, чтобы для квадратичной целевой функции после п шагов Drt = Н"1. Исход-
ная матрица Do обычно выбирается в виде единичной матрицы Dc = I, так что на-
чальное направление минимизации — это направление наискорейшего спуска.
Оценка элементов Н“1 в точке экстремума X* тем точнее, чем лучше мы вы-
бираем по сравнению с единичной матрицей I исходную матрицу Do. В ходе опти-
мизации имеет место постепенный переход от градиентного направления движения
к ньютоновскому, при этом используются преимущества каждого из этих методов
на соответствующем этапе.
Алгоритм Дэвидона — Флэтчера — Пауэлла получим, если в уравнении
(3.5.29) положим Y* = ДХ*, Z* = D*Ag*. Тогда
AXtAXj
AXjAg*
= В* +
P*Af*T(nPfrAAg*)T = D* + А* - В,.
(3.5.30)
Заметим, что так как матрицы А* и В* в (3.5.30) — симметричные, то если
D* — симметричная, то и будет симметричной.
Роль матрицы А* состоит в обеспечении выполнения условия D Н"”1, тог-
да как В* должна обеспечить положительную определенность D* при всех k и ис-
ключение влияния выбора начальной матрицы Do. Используя (3.5.30) многократно
при выборе Do = I, через k итераций получим
* *
DA+1=?+S вг
f=l i=l
k
В случае квадратичной функции А; при k = п — 1 должна равняться Н*-1,
i=l
п
а В/ должна быть равна I. Заметим, что в случае квадратичной целевой функции
i=l
в данном алгоритме используются сопряженные направления.
В большинстве вариантов алгоритма Дэвидона функция f (X) минимизируется
в каждом выбранном направлении поиска. Для определения минимума / (X) по X
в данном направлении можно применить любую эффективную процедуру одномер-
ного поиска. При этом важно, чтобы эта процедура была эффективной, поскольку
относительная большая часть всего времени вычислений приходится на одномер-
ный поиск.
В качестве критерия останова работы алгоритма предлагаем использовать
одно из следующих правил.
1. Каждая из составляющих векторов D* Vf (X*), X*D* Vf (X*) меньше
некоторой наперед заданной величины.
2. Вычисленная норма каждого из этих векторов в точке минимума меньше
наперед заданной величины.
Дадим описание алгоритма.
Начальный этап. Пусть 8 > 0 — константа для остановки. Выбрать точку
Хх и начальную симметрическую положительно определенную матрицу Dx. По
ложить = Xlt k = j = 1 и перейти к основному этапу.
Основной этап. Ш а г 1. Если || Vf (Y/) || < 8, то остановиться; в противном
случае положить s/ = —D; Vf (Y/) и взять в качестве X/ оптимальное решение
123
ю
Таблица 3.14
k xfe i v/ HYy) Vf (Yy) IlVf (Yz)|| */ by Y/+l
1 [0.00; 3.00] 52.00 1 [0.00; 3.00] 52.0 [—44.0; 24.0] 50.12 [o ?] [44.0; —25.0) 0.062 (2.70; 1.51]
2 [2.70; 1.51] 0.34 [0.73; 1.28] 1.47 Г0.25 0.38} [0.38 0.25] [—0.67; 1.31) 0.22, [2.55; 1.22]
2 (2.55; 1.22J 0.1036 1 [2.55; 1.22] 0.1036 [0.89; —0.44) 0.99 [» 4 (—0.89; 0.44] 0.11 (2.45; 1.27/
2 [2.45; 1.27] 0.05 [0.18; 0.36] 0.40 [0.65 0.451 [0.45 0.65J [—0.28; —0.25] 0.64 [2.27; 1.11]
3 [2.27; 1.11] 0.008 1 {2.27; 1.11] 0.008 [0.18; —0.20] 0.27 [i ?] [—0.18; 0.20) 0.10 [2.25; 1.13]
4 [2.12; 1.05] 0.0005 1 [2.12; 1.05] 0.005 [0.05; —0.08] 0.09 [J ?1 [—0.05; 0.08] 0.10 [2.115; 1.058)
2 [2.115; 1.058] 0.0002 (0.004; 0.004] 0.006
задачи минимизации f (Y/ + Xs/) при X > 0. Положить == Y/ + Х/S/. Если
/ < л, то перейти к шагу 2. Если / = л, то положить Yj = » УЛ^_р заме-
нить k на 4 + L положить / = 1 и повторить шаг 1.
v Шаг|2. Построить Dy.^ следующим образом:
D,.,_D Р'ЧйУ/ + -В1. (3.5.SI)
'+1 ' 48} Р/4»/
W
ру = ХЛ, ^-vta^-VKYp. (8.6.82)
Заменить / на j + 1 и перейти к шагу 1.
Пример' 8.9. Рассмотрим следующую задачу:
минимизировать (хх — 2)4 + (хх — 2х2)*.
Результаты вычислений методом Дэвидона — Флетчера — Па-
уэлла приведены в табл. 3.14. На каждой итерации вектор з/ для
f = 1,2 определяется в виде D/Vf (Y/), где Dx = I — единичная,
матрица D2 определяется по формулам (3.5.31). При k = 1 имеем
Pi = (2.7; —1.491т; Agj — (44.73; —22.72]т. На второй итерации
р2 = [—0.1; 0.05]г, Agx = (—0,7; 0.81г и, наконец, на третьей ите-
рации рх = (—0.02; 0.02]г, Agx = (—0.14; 0.24]т. Точка Y/+1 вы-
числяется оптимизацией вдоль направления S/ при начальной
точке Y/, для j — 1,2. Процедура остановлена в точке Y2 = (2.115;
1.058]т на четвертой интерации, так как норма || Vf (Y2) || = 0.006
достаточно мала. Траектория движения, полученная указанным ме-
тодом, приведена на рис. 3.6.
125
3.6. ПРЯМЫЕ МЕТОДЫ ПОИСКА
К прямым методам поиска относят методы, в которых для отыскания экстре-
мума не используются производные первого и высших порядков. В этих методах
направления поиска полностью определяются на основе последовательных вы-
числений значений функции f (X).
Как правило, при решении НП-задач и отсутствии ограничения градиентные
методы и методы, использующие вторые производные, сходятся быстрее, чем пря-
мые методы поиска. Тем не менее, применяя на практике методы, использующие
производные, сталкиваются со следующими трудностями.
Во-первых, в задачах с большим числом переменных трудно или невозможно
получить производные в виде аналитических функций, необходимых для гради-
ентных алгоритмов или алгоритмов, использующих высшие производные. Вычис-
ления аналитических производных можно заменить вычислением производных
по разностным схемам, однако возникающая при этом ошибка, особенно в окрест-
ности экстремума, ограничивает возможности такой аппроксимации. Прямые ме-
тоды не требуют выполнения условий регулярности и непрерывности / (X) суще-
ствования производных.
Во-вторых, градиентные методы оптимизации требуют довольно большого
времени по сравнению с прямыми методами на подготовку задачи к решению.
Прямые методы одномерного поиска
Рассмотрим сначала задачу минимизации функции одной переменной f (X)
при условии а х Ь. Поскольку точный локальный минимум f на [a, 6J не из-
вестен, то естественно назвать этот интервал интервалом неопределенности. Во-
обще [а, называется интервалом неопределенности, если точка минимума х* g
С [а, 6), хотя ее точное значение неизвестно.
Рассмотрим некоторые классы функций, сходных с выпуклыми и югнутыми
Определение 3.1. Пусть функция f (X) определена на непустом выпуклом
множестве Rn. Говорят, что функция f квазивыпукла, если для любых Хр Х2 £ $
и X £ (0, 1) выполняется неравенство
f (ХХх + (1 - X) Х2) С max {f (XJ, f (Х2)}, (3.6.1)
функция f (X) называется квазивогнутой, если —f (X) — квазивыпуклая функ-
ция.
Из этого определения следует, что функция f квазивыпукла, если из неравен-
ства/ (Х2) > / (Хх) следует, что / (Х2) не меньше значения функции / (X), в любой
точке, являющейся выпуклой комбинацией точек Хх и Х2. И наоборот, функция /
квазивогнута, если из неравенства / (Х2) >/(Хх) следует, что / (Х3) не больше
значения / в любой точке, являющейся выпуклой комбинацией точек Хх и Х2.
На рис. 3.7 приводятся примеры квазивыпуклых и квазивогнутых функций.
Определение 3.2. Пусть f (X) определена на непустом выпуклом множест-
ве R. Функция f (X) строго квазивыпукла, если для любых Хх, Х2 £ таких, что
f (Хх) =/=/ (Х2), при всех X С(0,1) справедливо неравенство
HXX1 + (f-l)Xs]<max{/(X1); f(Xa)}. (3.6.2$
126
Функция f (X) называется строго квазивогнутой, если строго квазивыпукла
функция — f (X).
На рис. 3.8 изображены строго квазивыпуклые (а) и строго квазивогнутые
(б) функции. Из данного определения следует, что любая выпуклая функция яв-
ляется в то же время строго квазивыпуклой. Строго квазивыпуклые и строго ква-
зивогнутые функции называются унимодальными.
Они обладают важным свойством — для них любой локальный минимум (со-
ответственно максимум) является глобальным.
Покажем, что если функция f (х) выпукла или строго квазивыпукла, то ин-
тервал неопределенности может быть сокращен с помощью вычисления значений
/ (х) в двух точках, принадлежащих интервалу.
Теорема 3.5. Пусть f (х) выпукла или строго квазивыпукла в интервале [а, 6].
Пусть X, р. G [«, &] такие, что К < р. Если f (X) > / (р,), то f (z)^f (р) для всех
z С [а, X). Если же f (1) < / (р), то f (z)^f (X) для всех z £ (р, Ь].
Доказательство. Пусть f (k) > f (р) и z Q [а, X). Предположим, что
утверждение, теоремы неверно, т. е. пусть f (г) </ (р). Так как точка к может быть
представлена в виде выпуклой комбинации точек г, р, a f (х) строго квазивыпукла^
то
/ (1) < max {/ (г), f (р)) = f (р),
но это противоречит утверждению, что f (%) f (р).
Следовательно, f (г) > f (р). Аналогично доказывается и вторая часть теоремы.
Из этой теоремы следует, что при условии строгой квазивыпуклости f (х), ес-
ли / (X) > f (р), новым интервалом неопределенности является [X, b). С другой
стороны, если f (к) < f (р), то новым интервалом неопределенности будет [а, р).
Эти оба случая проиллюстрированы на рис. 3.9.
Рассмотрим несколько процедур минимизации строго квазивыпуклой функции
на замкнутом ограниченном интервале путем итеративного сокращения интервала
неопределенности.
Дихотомический поиск
Итак, пусть задана строгая квазивыпуклая функция f (х), которую требуется
минимизировать на интервале [af, 6J. Очевидно, наименьшее число вычислений
значений функции, которые необходимы для сокращения интервала неопределен-
ности, равно двум (на рис. 3.10 указаны две точки: Х3 и р3). На рис. 3.10, а
имеем f (Х3) </ (Рх) и, следовательно, согласно теореме, новым интервалом не-
определенности является («х, рДДля случая f (k^ > f (pj (рис. 3.10, 6) новым
интервалом неопределенности является [Хх, &х]. Таким образом, в зависимости от
вида функции длина нового интервала неопределенности равна | р3 — ar I или
| Z?i — Х3|. Априори неизвестно, будет ли / (Х3) < f (рх) или / (Х3) > f (р3). Поэто-
му оптимальная стратегия выбора точек Х3 и р3 состоит в минимизации максимума
величин рх — «х и Ьг — кг. Это может быть достигнуто выбором в качестве Хх и
Рх середины интервала [ах, М* Однако в этом случае будем иметь только одну точ-
127
ку и не сможем далее сократить интервал неопределенности. Поэтому выбираем
Х^ и симметрично относительно середины интервала на расстоянии е от него.
Здесь число е > 0 настолько мало, чтобы, с одной стороны, длина нового интерва-
. bj — а, £ Л
ла неопределенности е Н---——- являлась достаточно близкой к теоретически
оптимальному значению -1 flj и в то же время значения функции / (Xj) и / (Pi)
были бы различимы.
Рис. зло
В дихотомическом поиске место каждого из двух первых наблюдений Xj и pf
bt 4- di _.
выбирается симметрично на расстоянии е от середины ——-. В зависимости от
значений функции / (х) в точках Хх и рх определяется новый интервал неопреде-
ленности.
Дадим описание алгоритма дихотомического поиска.
Предварительный этап. Выбрать константу различимости е и допустимую
конечную длину интервала неопределенности / > 0. Пусть [ах, — начальный
интервал неопределенности. Положить k = 1 и перейти к основному этапу.
Основной этап. Он состоит из конечного числа однотипных итераций.
к-я итерация.
Ш а г 1. Если bk “ < /, то конец, точка минимума принадлежит интер-
валу [а&; ЗД. В противном случае вычислить
% ak + bk ak + . /О A QX
e; щ + e (3.6.3)
и перейти к шагу 2.
Ш а г 2. Если f (X*) < / (р*), положить ак^л «= и bk^ *= р*. В против-
ном случае положить «= X* и bkJ^ ® Заменить k на k + 1 и перейти к
шагу 1.
Заметим, что длина интервала неопределенности в начале (k + 1)-й итерации
равна
+ 28 • (3.6.4)
Данное соотношение можно использовать для определения числа итераций,
-необходимых для достижения желаемой точности.
Метод золотого сечения
Сравнение различных процедур одномерного поиска естественно производить
в соответствии со следующим коэффициентом сжатия:
kv _ h.
*СЖ — I •
*0»
128
где /0 — начальная длина интервала неопределенности; lv — длина интервала
неопределенности спустя v наблюдений. Очевидно, что чем меньше величина ^Жг
тем более эффективна соответствующая процедура (алгоритм) поиска.
Рассмотрим теперь более эффективный метод золотого сечения для минимиза-
ции строго квазивыпуклых функций. Пусть на £-й итерации метода золотого се-
чения интервал неопределенности равен [a*; bk).
Согласно теореме 3.5 новый интервал неопределенности равен
[Х&, bk], если / (kk) > f (Нл)> и [ajb в противном случае.
Точки и р* выбираются, исходя из следующих условий.
Таблица 3.15
k ak bk Kk *4
1 -3.000 5.000 0,056 1.944 0.115 7,667
2 -3.000 1.944 -1.112 0.056 —0.987 0.115
3 —3.000 0.056 -1.832 -1.112 -0.308 -0.987
4 — 1.832 0.056 -1.112 —0.664 —0.987 —0.887
5 -1.832 —0.664 -1.384 -1.112 —0.853 —0.987
6 -1.384 —0.664 -1.112 —0.936 —0,987 -0,996
7 — 1.384 -0.936 -1.208 -1.112 -0.957 -0.987
8 — 1.208 —0.936 -1.112 — 1.032 -0.987 -0.999
9 -1.112 -0.936
1. Длина нового интервала неопределенности bk_^ — не зависит от ре-
зультата на k-n итерации, т. е, от того, выполняется ли неравенство / (Х&) > / (р^)
или f (Х^) < f (р^). Кроме того, должно выполняться равенство bk —
= Pfe — ak*
Таким образом, если
Xfc e ak + — «) (bk •"* ал)» (3.6.5)
где 0 < а < 1, то для р^ должно быть
№ = « (bk — ak), (3.6.6)
так что
^4-1 — = а (bk — ak)« (3.6,7)
2. Для новой итерации Х^ и р^ выбираются так, что либо Х^ совпадает
с р&, либо совпадает с Х^. При этих условиях коэффициент а должен быть
равен 0.618.
Таким образом, если на k-n итерации р/? и Х& выбраны в соответствии с (3.6,5)
и (3.6.6), где а = 0.618, то длина интервала неопределенности сжимается с коэф-
фициентом 0.618. При этом на первой итерации необходимы два вычисления функ-
ции в точках Х£ и щ, но на всех последующих только одно вычисление, так как ли-
бо = Pfc, либо p^-fq = X/f.
Дадим описание алгоритма золотого сечения.
Предварительный этап. Выбрать допустимую конечную длину интервала не-
определенности I > 0. Пусть [fl]; — начальный интервал неопределенности.
Положить Хх = л£ + (1 — а) (Ь$ — а^ и р£ = а± + а (bt — aj, где а = 0.618.
Вычислить / (XJ и f (p^i), положить k = 1, и перейти к основному этапу.
Основной этап. Шаг 1. Если bk — ak < I, то остановиться, оптимальная
точка принадлежит интервалу [<□&; В противном случае, если f (%k) > f (Рл),
то перейти к шагу 2, а если f (Хд) f (рд), то к шагу 3.
III а г 2. Положить = X*, = bk, ХА+1 = щ, р^ = +
+ а fik+l — °Л4-1)* Вычислить / (р^) и перейти к шагу 4.
Ш а г 3, Положить аА+1 = а*; 6А+1 = щ, цА+1 = X*. Xft+1 = aft+1 + (1 —
— а) (^+1 — - Вычислить f (Х^) и перейти к шагу 4,
Ш а г 4. Заменить k на k + 1 и перейти к шагу 1.
9 9-4063
129
Пример 3.10.
Пусть требуется найти min (х2 + 2х) = f (х) при условии —3
х 5.
Очевидно, минимизируемая функция f (х) строго квазивыпукла
и начальная длина интервала неопределенности равна 8. Сократим
этот интервал неопределенности до интервала, длина которого не
больше 0.2. Определим первые две точки:
= — 3 4-0.382.8 = 0.056; цх = — 3 + 0.618 • 8 = 1.944.
Заметим, что f (Хх) > / (рх). Следовательно, новый интервал
неопределенности равен [—3; 1.944]. Этот процесс повторяется ана-
логично, и результаты вычислений приведены в табл. 3.15. После
восьми итераций, содержащих 9 вычислений функции, интервал не-
определенности оказывается равным [—1.112, —0.936], так что
в качестве точки минимума может быть взята, например, середина
этого интервала—1.024. Заметим, что точкой точного минимума
является —1.0.
Метод Фибоначчи
Метод Фибоначчи является эффективным методом одномерной (линейной) оп-
тимизации квазивыпуклых функций. Подобно методу золотого сечения он требует
двух вычислений функции на первой итерации, а на каждой последующей только
по одному.
Однако этот метод отличается от метода золотого сечения тем, что сокращение
интервала неопределенности меняется от итерации к итерации.
Метод основан на последовательности Фибоначчи {Fv}, которая определяется
следующим образом:
Fv+l-^i + ^. v=l, 2..............F0 = Fx-l. (3.6.9)
Таким образом, последовательность имеет вид 1, 1, 2, 3, 5, 8, 13, 21, 34,
55, 89,... Предположим, что на k-й итерации интервал неопределенности равен
[од 6*]. Рассмотрим 2 точки X* и ц*., определяемые следующим образом:
h = ak + Fn-k~l (bk-ak), k = 1, л-l; (3.6.10)
fc-H
F„ b ________
P ~ (bk-ak), 6=1, n-1, (3.6.11)
Z>4-1
где n — заданное общее число вычислений функции. Согласно теореме 3.5 новый
интервал неопределенности равен [Х^; если f (к$ > f (р^), и lak\ если
f (М С f (щ)- В первом случае, учитывая (3.6Л0) и полагая v = п — k в (3.6.9),
получим
Fn__।
^4-1 — « bk — кь в» — аь-----р——— (bk — =
- fa-a*). (3.6.12)
Во втором случае, учитывая (3.6.11), имеем
Fn-k
^4-1 ** ал-н ~ Нл — ak —р (bk — ak),
130
Таким образом, в обоих случаях длина интервала неопределенности сжимается
п k
с коэффициентом -=-------.
* п—Л-f-l
Дадим описание алгоритма метода Фибоначчи.
Предварительный этап. Выбрать допустимую конечную длину интервала не-
определенности I (/ > 0) и константу различимости 8 > 0. Пусть задан начальный
интервал неопределенности [а3; Выбрать число вычислений функции так, что-
бы Рп > Ь1~01. Положить 11 = ахн--------- (6, — ах),цх = аг + 1 •
Вычислить f (1х) и f (Ц1), положить k = 1 и перейти к основному этапу.
Основной этап. Ш а г 1. Если f (к^) f (рЛ), то перейти к шагу 2, иначе к
шагу 3.
Ш а г 2. Положить = к^ bk_^x = Затем положить = щ,
Fп j
Н&4-1 = а£4-1 + Если = п — 2, то перейти к шагу 5;
г п—Н-1
в противном случае вычислить / (р^) и перейти к шагу 4.
Ш а г 3. Положить aft+, = ak, bk+{ = р.*, ji*+1 = lft, lft+1 = +
p
H----(fyu-i — Если & = n —2, то перейти к шагу 5, в противном
г n—k
случае вычислить / (X^j) и перейти к шагу 4.
Ш а г 4. Заменить k на k + 1 и перейти к шагу 1.
Ш а г 5. Положить кп == Xn_j и prt = кп + 8. Если / (1п) > / (ря), то по-
ложить ап = Хп, и Ьп = Ьп_х. В противном случае, т. е. если / (к^ < / (Рп), то
положить ап = ап_х, Ьп = р,п. Конец. Оптимальное решение содержится в ин-
тервале [а„, Ь„].
Пример 3.11. Рассмотрим ту же задачу, что и в предыдущем
примере:
минимизировать f (х) = х2 + 2х
при условии
— 3 х 5.
Потребуем, чтобы длина конечного интервала неопределенности
не превосходила 0.2. Следовательно, Fn > ® 40, так что
п = 9. Выберем в качестве константы различимости & = 0,01.
Таблица 3.16
k ak bk ч HUfe)
1 —3.000 5.000 0.545 1.9454 0.112 7.676
2 —3.000 1.9454 -1.109 0.0545 —0.988 0.112
3 —3.000 0.0545 — 1.836 -1.109 -0.300 —0.988
4 -1.836 0.0545 — 1.109 —0.673 —0.988 -0.893
5 — 1.836 —0.673 — 1.399 — 1.109 —0.840 -0.988
6 — 1.399 —0.673 — 1.109 -0.964 —0.988 —0.999
7 -1.109 —0.673 —0.964 —0.818 —0.999 —0.967
8 — 1.109 —0.818 —0.964 —0.954 —0.999 —0.998
9 — 1.109 -0.964 —0.964 —0.964 -0.999 -0.999
9*
131
Два первых вычисления значений функции приводятся в точках
%1==_ 3 + . 8 = 0.0545; р1== — 3 + . 8 = 1.945
*9
Так как f (XJ < f ([xj, то новый интервал неопределенности
будет равен [—3.000; 1.945]. Далее процедура повторяется анало-
гичным образом, результаты итераций приводятся в табл. 3.16.
Так как f (рЛ) > f (А*), конечный интервал неопределенности
[а9, W равен [—1.109; —0.964], длина / = 0.145. В качестве приб-
лиженного значения точки минимума выберем середину этого от-
резка.
Прямые методы многомерного поиска
Метод конфигураций
Метод конфигураций, предложенный Хуком и Дживсом [1], включает два ос-
новных этапа:
1) поиск вокруг базисной точки;
2) поиск в направлении, выбранном для оптимизации. На первом этапе метод
обследует окрестность выбранной точки Хо (например, изменяя по одной компонен-
те вектора Хо поочередно). После того как найдено приемлемое направление, на
втором этапе в этом направлении производятся вычисления функции при посте-
пенно увеличивающемся шаге поиска (тем самым устанавливается тренд поиска).
Это продолжается до тех пор, пока поиск в данном направлении продолжает при-
водить к точкам с меньшим значением f (X). Когда в направлении установленной
конфигурации не удается найти точку с меньшим значением функции, размер шага
уменьшают. После нескольких последовательных сокращений размера шага от
принятого тренда отказываются и предпринимают новый этап обследования ок-
рестности.
Таким образом, согласно этому методу делаются попытки найти направление
оврага целевой функции с тем, чтобы двигаться по такому оврагу. Достоинством
метода является то, что он позволяет путем поиска на очередном этапе обследова-
ний восстанавливать направление движения в тех случаях, когда вследствие иск-
ривления оврага ранее найденный тренд (конфигурация) теряется.
Дадим описание алгоритма метода конфигураций.
Начальный этап. Задать в качестве s^, s2, ..., srt координатные направления.
Выбрать 8 > 0 для остановки алгоритма, начальный шаг X > 0 и ускоряющий мно-
житель а > 0. Выбрать начальную точку Хъ положить Yi=Xb fc=/ = 1 и
перейти к основному этапу.
Основной этап. Ш а г 1. Если / (Y/ + Xs/) < f (Y/), то шаг считается успеш-
ным, положить Yy+1 == Y/ + Xs/ и перейти к шагу 2.
Если f (У] + Xs/) > f то шаг считается неудачным. В этом случае, если
f (Nj — Xs/) < f (Y/), то положить Yy+1 = Y/ — 2/s/ и перейти к шагу 2. Если же
f (Y/ — Xs/) > / (Y/), то положить Y^ = Y/ и перейти к шагу 2.
Ш а г 2. Если j < л, то заменить / на / + 1 и вернуться к шагу 1. В против-
ном случае перейти к шагу 3, если f (Yn . t) < f (X&), и к шагу 4, если f (Уп , 0 >
Ш а г 3. Положить Х^+1 =» Yrt+1, Yx = Х^ + а (Х^ — Х^). Заменить
k на k + 1, положить / « 1 и перейти к шагу 1.
Ш а г 4. Если X е, то остановиться, X* — решение. В противном случае
X
заменить X на у. Положить Y/ == Х&, Х^ = Х&. Заменить k на k+ 1, положить
/» 1 и вернуться к шагу 1. Как видим из описания, шаги 1 и 2 осуществляют
пробный поиск, а шаг 3 является ускоряющим шагом по направлению X^j — Xk.
На шаге 4 длина шага X сокращается.
132
Метод конфигураций обладает следующими преимуществами перед градиент-
ными методами:
1. Он не требует задания целевой функции в явном виде, что является суще-
ственным достоинством при решении сложных экономических и технических задач.
2. Метод позволяет легко учитывать ограничения, накладываемые на перемен-
ные, а также на допустимую область поиска.
Недостаток метода конфигураций состоит в том, что он может застревать, т. е.
останавливаться вблизи локального минимума, не в состоянии обеспечить даль-
нейшее улучшение.
Пример 3.12. Рассмотрим следующую задачу:
минимизировать (хх — 2)4 + (xj — 2х2)2.
Для ее решения воспользуемся методом Хука и Дживса с ди-
скретным шагом, а значения параметров а, X выберем соответст-
Таблица 3.17
k 1 f(*k> / Y/ sl Y, + Ц Y,-%S/ f (Уj - Ks,)
1 0.2 [2.00; 3.00) 1 [2.00; 3.00] [1.0, 0.0] [2.2; 3.0] —
16.0 16.0 14.44 (Y)
2 [2.2; 0] [0.0; 1.0] [2.20; 3.20] [2.20; 2.80]
14.44 17.64 (H) 11.56 (У)
2 0.2 [2.20; 2.80] 1 [2.40; 2.60] [1.0; 0] [2.6; 2.6)
7.87 6.89 (У)
11,56 2 [2.60; 2.60) [0.; 1.0] [2.6; 2.8] [2.6; 2.4]
6.89 9.13 (Н) 4.47 (У)
3 0.2 [2.60; 2.40] 1 [3.0; 2.0] [1.; 0.0) [3.20; 2.0) [2.8; 2.0]
2 2.00 [2.8; 2.0] [0.0; 1.0] 2.71 (Н) [2.8; 2.2] 1.85 (У) [2.80; 1.80]
4 0.2 [2.80; 1.80] 1 1.85 [3.0; 1.2] [1.0; 0.0] 2.97 (Н) [3.2; 1.2] 1.05 (У) [2.80; 1.20]
1.05 1.36 2.71 (Н) 0.57 (У)
2 [2.80; 1.20] [0.; 1.0) [2.80; 1.40]
0.57 (У) 0.41 (У)
б 0.2 [2.80; 1.40] 1 [2.80; 1.40] [1.0; 0.0) [3.00; 1.0] [2.60; 1.00)
0.41 1.05 2.00 (Н) 0.49 (У)
2 [2.60; 1.00] [0.0; 1.0] [2.60; 1.20] —
0.17 (У)
6 0.2 [2.60; 1.20) 1 [2.40; 1.00] [1.0; 0.0] [2.60; 1.00] [2.20; 1.001
0.17 0.19 0,49 (Н) 0.04 (У)
2 [2.20; 1.00] [0.0; 1.0) [2.20; 1.20] [2.20; 0.80]
0.04 0.04 (Н) 0.36 (Н)
7 0.2 [2.20; 1.00] 1 [1.80; 0.80] [1.0; 0.0] [2.0; 0.8] [1.60; 0.801
0.04 0.04 0.16 (Н) 0.03 (У)
2 [1.60; 0.80] [0.0; 1.0] [1.60; 1.00) [1.60; 0.60]
0.03 0.19 (Н) 0.19 (Н)
8 0.2 [1.60; 0.80] 1 [1.0; 0.60] [1.0; 0.0] [1.20; 0.60] —
0.67 0.41 (У)
2 [1.20; 0.60] [0.0; 1.0) [1.20; 0.80] [1.20; 0.40)
0.41 0.57 (Н) 0.57 (Н)
9 0.1 [1.60; 0.80] 1 [1.60; 0.80] [1.0; 0.0] [1.70; 0.80] —
0.03 0.02 (У)
2 [1.70; 0.80] [0.0; 1.0) [1.70; 0.90] [1.70; 0.70]
10 0.1 [1.70; 0.80] 1 0.02 [1.80; 0.80] [1.0; 0.0] 0.02 (Н) [1.90; 0.80] 0.10 (Н) [1.70; 0.80]
0.02 0.04 0.09 (Н) 0.02 (У)
2 [1.70; 0.80] [0.0; 1.0] [1.70; 0.90] [1.70; 0.70]
0.02 0.02 (Н) 0.10(H) .
133
венно 1.0 и 0.2. В табл. 3.17 приведены результаты поиска. Здесь
символом У обозначен удачный шаг, а символом Н—неудачный. На
всех итерациях каждый раз, когда f (Y/) f (Xft) в качестве век-
тора берется Xft. В противном случае Y, = 2X*+i — Xft. В конце
десятой итерации получена точка [1.70; 0.80], в которой значение
/ 2 5 х{
Рис. 3.11
функции равно 0.02. Если требуется большая точность, то следует
уменьшить значение X до 0.05.
На рис. 3.11 показана траектория, полученная данным методом.
Вычисленные точки пронумерованы последовательно, а пунктир-
ная линия соответствует неудачным шагам поиска по образцу.
Метод Розенброка
Розенброком был предложен прямой метод, согласно которому в каждом цик-
ле производится поиск вдоль взаимно-ортогональных направлений (аналогично
этапу обследования в алгоритме конфигураций Хука — Дживса). Если, напри-
мер, целевая функция имеет узкий искривленный гребень, то поиск по взаимно-
ортогональным направлениям обладает тем свойством, что результирующее на-
правление стремится расположиться вдоль оси оврага.
В первоначальном варианте метод содержал очень простой линейный поиск,
в ходе которого отыскивался не минимум в заданном направлении, а просто точка
с меньшим значением функции (так называемый метод с дискретным шагом). Если
шаг в данном направлении приводит к меньшему значению функции, т. е. имеет
место удачная проба, то из этой точки делается новый шаг в а раз больший, где
а > 1. Если же шаг в этом направлении приводит к большему значению функции
(неудача), то шаг умножается на другую константу 0 (0 < 0), 0 < | 0 | < 1. Да-
лее поиск проводится в следующем направлении, ортогональном ко всем преды-
дущим. Эта процедура повторяется до тех пор, пока на каждом направлении, по
крайней мере, одна проба не окажется успешной, а одна неудачной. Этим заверша-
ется один этап.
Данный метод реализуется следующим образом. Пусть (&), s2 (k), ..., sn (k) —
единичные векторы в пространстве R<n\ где индекс k = 0, 1, ...» обозначает этапы
134
поиска. Ортонормированные векторы sx (k), ..., sn (k) строятся на основе информа-
ции, полученной на (k — 1)-м этапе поиска.
Рассмотрим &-й этап поиска и пусть Хо (k) = ХЛ (k — 1) представляет собой
точку в R&\ из которой начат поиск, а Х2, — длины шагов, связанные с
соответствующими направлениями sn s2...sn.
Шаг 1. Поиск начинается из точки Хо (k) путем введения шага, равного
(£)• si (£)» в первом координатном направлении.
Если f (Хо (k) + Xj (k) Si (k)) f (Xo (&)), шаг считается успешным, при этом
полагают Хх (k) = Хо (k) + Xj (k) sx (k), а величина шага умножается на мно-
житель а (а > 1). Если же / (Хо (k) + (k)) > f (Xo), то шаг считается неудач-
ным, Хо (k) не заменяется на очередную точку, а (k) умножается на множитель
Р Ф < 0). Затем задается возмущение (пробный шаг) по направлению s2 (k). После
того как пройдены все п направления Sj (k), s2 (k), ..., sn (k), переходят к шагу 2.
Ш а г 2. Если / (Хл (k)) < / (Хо (&)), т. е. хотя бы один спуск по направле-
нию оказался успешным, то положить Хо (k + 1) = Хл (k) и повторить шаг 1.
При этом реализуем пробный шаг с длиной (k) или (k) в зависимости от
результата предыдущего возмущения по этому направлению (Розенброк предложил
выбирать а — 3 и р = —0,5).
Возмущения по выбранным направлениям поиска задаются до тех пор, пока
по каждому из направлений за успехом последует неудача. На этом &-й этап поис-
ка заканчивается. Последняя полученная точка становится начальной точкой сле-
дующего этапа: Хо (k + 1) = Хл (k). Нормированное направление sx (k + 1) вы-
бирается параллельным A (k) = Хо (Z? + 1) — Хо (k), а остальные направления
выбираются ортонормированными друг к другу и к sx (k) с помощью одного из
известных методов.
Метод Розенброка не обеспечивает автоматическое окончание процесса поис-
ка после того, как найден экстремум / (X). Поиск проводится либо на определенное
число этапов, либо заканчивается после того, как величина || A (k) || становится
меньше определенного значения на нескольких последовательных этапах.
Пример ЗЛЗ. В качестве иллюстрации рассмотрим ту же задачу,
что и прежде:
минимизировать (хх — 2)4 + (хх — 2х2)2.
Будем решать ее методом Розенброка с дискретным maroMt
положив == %2 = 0.1; а = 2.0; 0 = —0.5. В табл. 3.18 приведены
Х2|
Рис. 3.12
ш
Таблица 3.18
k ХА Т *7 s/ Y/ + Kisi f(Y/ + W
1 [0,00; 3.001 1 [0,00; 3.00) 0,10 [1,00; 0,00] [0.10; 3.00J
52.00 52.00 47.84 (У)
2 [0.10; 3.00) 0.10 [0,00; 1.00) [0.10; 3.10]
47.84 50.24 (Н)
1 [0.10; 3.00) 0.20 [1.00; 0,00] [0.30; 3.00]
47.84 40.84 (У)
2 [0.30; 3.00] —0.05 [0.00; 1,0] [0.30; 2.95]
-40.84 39.7 (У)
1 [0,30; 2.95] 0.40 [1.00; 0.0) [0.70; 2.95]
39.71 29.90 (У)
2 [0.70; 2.95] —0.10 [0,00; 1.00] [0.70; 2.85]
29.90 27.86 (У)
1 [0.70; 2.85] 0.80 [1.00; 0.00] [1.50; 2.85]
27.86 17.70 (У)
2 [1.50; 2.85] -0.20 [0.00; 1.00] [1.50; 2.65
17.70 14.59 (У)
1 [1.50; 2.65] 1.60 [1.00; 0.00] [3.10; 2.65}
14.50 6.30 (У)
2 [3.10; 2.65] -0.40 [0.00; 1.00] [3.10; 2.25]
6.30 3.42 (У)
1 (3.10; 2.25] 3,20 [1.00; 0.00] [6.30; 2.25}
3.42 —0,80 342.12 (Н)
2 [3.10; 2.25) [0,0; 1.0] [3.10; 1.45}
3.42 1.50 (У)
1 [3.10; 1.45) —1.60 [1,00; 0.00] [1.50; 1.45}
1,50 2.02 (Н)
2 [3.10; 1.45] — 1.60 [0,00; 1,00] [3.10; -0.15]
[3,10; 1.451 1.50 13.02 (Н)
2 1 [3.10; 1.45) 0.10 [0.89; —0.45] [3.19; 1.41}
1,50 1.50 2.14 (Н)
2 [3.10; 1.45] 0.10 [—0.45; -0.89) [3.06; 1.36}
1.50 1.38 (У)
1 [3.06; 1.36] 0.05 [0.89; -0.45] [3.02; 1.38}
1.38 1.15 (У)
2 [3.02; 1.38] 0.20 [—0.45; -0.89] [2.93; 1.20}
1.15 1.03 (У)
1 [2.93; 1.20] —0.10 [0.89; —0.45] [2.84; 1.25}
1.03 0.61 (У)
2 [2.84; 1.25] 0.40 [—0.45; —0.89) [2.66; 0.89}
0.61 0.96 (Н)
1 [2.84; 1.25) —0.20 [0.89;—0.45] ‘ [2.66; 1.34} 0.19 (У)
2 [2.66; 1.34] —0.20 [—0.45; —0.89] [2.75; 1.52]
0.19 0.40 (Н)
результаты вычислений для начальной точки Хг = [0.0; 3.0]т,
где символом (У) отмечены успешные, а символом Н — неудачные
шаги по направлению. Заметим, что в пределах каждой итерации
направления sx и s2 фиксированы. После 7 реализаций шага 1 из
точки Хг — [0.0; 3.0]т получена точка Х2 — [3.10; 1.45]т. В этой
точке потребовалось изменение направлений. В частности (Х2 —
136
— Xi) = XjSj + X2s2, где Xx = 3.10; X2 = —1.55. Можно легко про-
верить, что новыми направлениями поиска являются [0.89; —0.45]
и [—0.45; —0.89]. Эти направления использованы на второй ите-
рации, на которой процедура была остановлена.
На рис. 3.12 показан процесс минимизации методом Розенброка
(полученные точки пронумерованы последовательно).
Задачи и упражнения
3.61. Для методов дихотомического поиска, золотого сечения
и метода Фибоначчи определите количество вычислений функции,
необходимое для а = 0.1; 0.001; 0.001 и 0.0001, где а — отношение
конечного интервала неопределенности к длине начального интер-
вала.
3.62. Покажите, что метод золотого сечения приближается к ме-
тоду Фибоначчи, когда число вычислений функции стремится к бес-
конечности.
3.63. Функция f (х), х G Ri называется строго унимодальной на
интервале [а, Ь], если существует X, который минимизирует на этом
интервале f (х) и для Хх, Х2 £ [а, Ы таких, что Хх •< Х2 имеем
f (^i) > f (^2) ПРИ ^2
f (^1) < f (^2) ПРИ
Покажите, что если f (х) строго унимодальна на [а, Ь], то она и
строго квазивыпукла на [а, &]. Определение квазивыпуклости дано
в п. 3.6. Обратно покажите, что если f (х) строго квазивыпукла
на [а, 6] и имеет на этом интервале минимум, то она унимодальна
на [а, 6].
3.64. Найти минимум функции е-х + X2 с помощью каждой из
следующих процедур:
а) дихотомического поиска;
б) метода золотого сечения;
в) метода Ньютона;
г) метода Фибоначчи.
Положить точность нахождения оптимума принятой равной
8 = 0.01.
3.65. Пусть имеется функция f (х) = (х? + х2)2 4- 2 (х2 — хх —
— 4)*. Зададим точку хх и ненулевой вектор направления s. Пусть
6 (X) = / (хх + Xs):
а) найти явное выражение для 0 (X);
б) для хг — [0; 0]т и s = [1; 1]т, используя метод Фибоначчи,
найти скаляр Хх, являющийся решением задачи минимизации 0 (X);
в) для хх = [4; 5]т и s = [1; —2]т, используя метод золотого се-
чения, найти X, являющийся решением задачи минимизации
0 (X).
3.66. Пусть имеется задача минимизации функции ЗХ — 2Х2 +
+ X8 + 2л1 при условии X 0.
137
1. Выписать необходимое условие минимума. Можно ли им
воспользоваться для нахождения глобального минимума?
2. Проверить, является ли функция строго квазивыпуклой на
множестве {X : X 0}. Применить метод Фибоначчи для нахожде-
ния минимума.
3.67. Пусть задана функция 0 (X), X £ /?х. Рассмотрим три точки:
(Хх, 0Х), (Ха, 0а) и (Х3, 03), где 0< = 0 (Xf); i = 1, 2, 3. Показать,
что парабола, проходящая через эти точки, описывается соотноше-
нием
. ех(Х-ха) <х-х3) еа <х-хх) (Х-х3)
ЧК ’~ (Хх-Ха) • (Х1-Х3) -г (Ха-Хх) • (Ха-Х3)
। ®з (X — Хх) • (X Ха)
(Хз — Xj) • (Хз — Ха)
Кроме того, покажите, что производная функция q (X) обращает-
ся в нуль в точке
' ^23^1 4~ ^31^2 ~4~
2 а23®1 + а31®2 + а32®3 *
где ац ~~ Л/Ху, Ьц = Xj — Ху.
Найти параболу, проходящую через точки (1; 3), (2; 1), (4; 6)
и вычислить X.
3.68. Пусть имеется 0 (X), X £ /?х. Рассмотрим три точки: (Хх,
0Х), (Ха, ©г). (Х3, ®з)- Предположим, что Хх < Ха < Х3, 0Х 02 и
0а < 03
а) Пользуясь соотношением из упражнения 3.67, вычислить точ-
ку минимума X квадратичной формы, проходящей через эти три
точки.
Если 0 (X) >• 0 (Ха), положить Хх — Хх, Ха = Ха и Х3 = X.
Если, напротив, 0 (X) <1 © (Ха), то положить Хх = Ха, Ха = X,
Х3 = Х3. _
Повторить процесс, полагая X® = Хх, Xl2’ — Ха; X® — Х3 и под-
бирая новую квадратичную форму по точкам X®, X® и X®.
б) Покажите, что если 0 строго квазивыпукла, то новый ин-
тервал неопределенности обязательно содержит точку минимума.
в) Используйте процедуру, описанную в п. а), для минимизации
функции
ЗХ — 2Х2 + X3 + 2Х4 при X > 0.
3.69. Рассмотреть задачу минимизации функции (х? — ха)2 +
+ 2 (ха — хх)4. Решить задачу, используя каждый из нижепере-
численных методов. Сходятся ли методы к некоторой точке? Если
нет, то объясните, почему:
а) метод найскорейшего спуска;
б) метод Ньютона;
в) метод циклического покоординатного спуска;
г) метод Хука — Дживса;
138
д) метод Розенброка;
е) метод переменной метрики.
3.70. Рассмотрим задачу минимизации функции (1 — хх)2 +
4- 5 (х2 — х?)2. При начальной точке [2; 0]т решить эту задачу сле-
дующими методами:
а) циклического покоординатного спуска; б) Хука — Дживса;
в) Розенброка; г) переменной метрики.
3.71. Решить следующую задачу минимизации (хх + 2х3 +
+ 5ххх2 — ж2 + 3x1) методом Хука — Дживса.
3.72. Предположим, что X, и Х*-н две последовательные точки,
полученные методом найскорейшего спуска. Покажите, что
Vf(X,+1)TVf(X,) = O.
3.73. Предположим, что функция f дважды непрерывно
дифференцируема и матрица Гессе Н всюду имеет обрат-
ную. Зададимся X, и положим Х,+) = X, + s,Xfc, где s, =
= —Н (X,)-1 Vf (X,), alj — оптимальное решение задачи мини-
мизации / (X, + Ч).
Покажите, что эта модификация метода Ньютона сходится к не-
которой точке из множества решений Q = {X : Vf (Х)ТН-1 (X) V
V f (X) = 0}. Продемонстрируйте это, минимизируя (хх — 2)4 +
+ (хх — 2х2)2 при начальной точке [—2; 3]т.
3.74. Пусть Н — симметричная матрица порядка п X п, dx, d2,...
.... d„ — собственные векторы матрицы Н. Покажите, что векторы
dx, ..., d„ являются Н-сопряженными.
3.75. Пусть ах, а2, ..., ап —множество линейно независимых век-
торов из 7?(n), а Н — симметричная положительно определенная мат-
рица порядка п X п:
а) покажите, что нижеследующие векторы sx, s2,..., s„ являются
Н-сопряженными:
а,, если k = 1;
sjHsf
sz, если А > 2;
а2
б) проиллюстрируйте результат
= [1; —1; 41т, а3 = (2; —1; 6)т и
п. а), полагая ах — [1 0 0]т,
1 о
О 3
— 1 4
Н =
4
2
в) предположим, что ах, а2, ..., а„ — единичные векторы из Rn,
и пусть S-матрица, столбцами которой являются векторы sx, s2, ...
.... sn, определенные согласно п. а). Покажем, что S является верх-
ней треугольной матрицей, все диагональные элементы которой рав-
ны единице.
Проиллюстрируйте этот результат, полагая ах, а2 и а3 единичны-
ми векторами, а в качестве Н взяв матрицу из п. б).
139
3.76. Пусть имеется квадратичная функция / (X) = а + ЬТХ +
+ -у хТнх> где Хт = [х1( х2...х„] — n-мерный вектор, а матри-
ца Н — симметричная размерности (n X п). Докажите справед-
ливость следующего утверждения: если используется метод сопря-
женных направлений, то квадратичная функция может быть
минимизирована ровно за п шагов, по одному в каждом из сопря-
женных направлений.
3.77. Рассмотрим задачу минимизации — х? — х2 + хгх2 +
+ 2х2 — хх: начиная из точки Хо = [0; 0]т, решить ее методом Дэ-
видона — Флетчера — Пауэлла при D = I (I — единичная мат-
рица). Решить ее также методом сопряженных градиентов. Убеди-
тесь, что обе эти процедуры порождают одинаковое множество
направлений. Показать, что в общем случае, если Dj = I, то оба
метода идентичны для квадратичных функций.
2 (Х}+Х%)
3.78. Решить задачу минимизации хх + 2х2 + е , начиная
из точки [1; 0] 'и используя метод сопряженных градиентов
и метод Розенброка.
3.79. Рассмотрим следующую задачу.
Минимизировать (х? + 2ххх2 + 2x1 + Хз — x2xs + хх + Зх2 — х3.
Используя результаты упражнения 3.75 или другой метод, пост-
ройте три сопряженных направления. Начиная из начала координат,
решить эту задачу, минимизируя f (А) вдоль этих направлений.
3.80. С помощью метода параллельных касательных решить
следующую задачу:
минимизировать (х? + х2 + 2xjX2 — 2хх — 6х2).
3.81. Рассмотрим метод переменной метрики Бройдена. Пусть
на (k + 1)-й итерации вычисляется матрица Dft+I согласно соот-
ношению
D*+i =
и
AD [AXfe-DftAgfe]r[AXft-DtAgft]
k [AX*-DAAgft]TAgft
где AXft — X*+1 — Xfe, = Vf (X^+O — Vf (Xft), и начальная
матрица Do выбирается симметричной, положительно-определен-
ной. Если f (X) — квадратичная функция, то спустя п шагов Dn »
= И”1 (где Н — матрица Гессе для / (X)). Докажите это утверж-
дение.
3.82. ПустьН — симметричная матрица порядка n х пи / (X) =»
= СТХ + -g- ХТНХ. Рассмотрим следующий алгоритм коррек-
ции ранга 1 для минимизации f (X). Пусть Dx — положительно
определенная матрица порядка п X п и Xj — заданный вектор.
Для k = 1,2.....пи возьмем в качестве \ оптимальное решение
задачи минимизации f (Xft 4- Asfe), А > 0. Пусть X^i = X* +
140
+ Xksk, где sft = — D* V f (Xft), Dft+i определяется по формулам
D*+1 = + (pk ~2^ (P*-D*g*)T ,
gj (Pi — D*gfe)
где p* = X*+i — Xfc; gk = НрЛ.
а) проверьте, что ранг матрицы, добавляемой к DA, равен еди-
нице;
б) покажите, что р,- — D*_j-iqz для I k, k = 1, 2.n;
в) если Н имеет обратную, то справедливо ли равенство
D„4-i = Н ’,
г) будут ли направления sb s2, ..., s„ сопряженными;
е) применить алгоритм для минимизации функции
f (X) = 12xj. — 6х2 ~l“ %i “Ь 2х1х2 Х2*
3.83. Допустим, что используется последовательность сопряжен-
ных направлений sb s2, ..., srt по отношению к некоторой матрице Н
порядка (n X п). Тогда, если Н невырождена, то
п у
н-1 = V ...
Доказать справедливость этого утверждения.
3.7. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ
Метод Зайтендейка
Метод Зойтендейка является типичным представителем класса методов воз-
можных направлений для решения задач НП при ограничениях. На каждой ите-
рации метода строится возможное направление спуска, а затем проводится опти-
мизация вдоль этого направления.
Метод использует следующее понятие возможного направления. Рассмотрим
задачу минимизации f (X) при условии X £ Я(п).
Определение 3.3. Ненулевой вектор s оказывается возможным направле-
нием в точке X £ если существует такое 6 > 0, что X + Xs £ для
всех Хх£ (0, 6). Вектор., s называется возможным направлением спуска в точке X С
G если существует такое 6 > 0, что f (X + Xs) < f (X) и X + Xs g R^ для
всех X G (0, 5).
при условиях
Случай линейных ограничений
Вначале рассмотрим случай, когда допустимая область R определена систе-
мой линейных ограничений, так что рассматриваемая задача имеет вид:
минимизировать f (X) (3.7.1)
АХ<Ь; (3.7.2)
HX = h, (3.7.3)
где А — матрица порядка (т X и); Н — матрица порядка /Хи; b — /п-мерный
вектор, ah — /-мерный вектор.
; Предположим, что ограничения (3.7.2) можно представить в виде: АхХ = Ь$
и АаХ < Ь2, где Ат = (A]?_Aj), а Ьг = (b{, bj). Тогда ненулевой вектор s явля-
141
ется возможным направлением в точке X тогда и только тогда, когда Axs 0 и
Н$ = 0. Если, кроме того, \7fT (X) s < 0, то s является возможным направлением
спуска.
Естественный подход к построению такого направления заключается в мини-
мизации \7f (X)Ts при условиях AjS < 0 и Hs = 0.
При этом в задачу необходимо ввести условие, которое бы ограничивало век-
тор s. Такое ограничение называется нормирующим. Наиболее часто используют-
ся следующие 3 задачи построения возможного направления спуска, в каждой
из которых используются различные условия нормировки [7]:
Задача Рх: минимизировать Vf(X)Ts (3.7.4)
при условиях A1S < °: (3.7.5) Hs = 0; — i=Tn. (3.7.6)
Задача Р2: минимизировать Vf (Х)т s
при условиях AjS 0; Hs = 0; sTs<l. (3.7.7)
Задача Р8: минимизировать Vf (X)T s
при условиях AxS <0; Hs = 0; Vf (X)Ts> — 1. (3.7.8)
Задачи Рг и Р3 являются задачами ЛП и, следовательно, могут быть решены
симплекс-методом.
Если минимальное значение целевой функции в задачах Р3 и Р3 отрица-
тельно, то нами определено возможное направление спуска s. Если же минималь-
ное значение целевой функции равно нулю, то текущая точка X является точкой
Куна — Таккера (т. е. точкой оптимального решения [7]). Это позволяет сформу-
лировать следующий алгоритм.
Алгоритм метода Зойтендейка
Пусть требуется
найти min f (X)
при условиях
AX^b; HX=h.
Предварительный этап. Найти начальную допустимую точку Xj, для которой
AXj <b и HXj = h. Положить k = 1 и перейти к основному этапу.
Основной этап, к-я итерация. Шаг 1. Пусть задан X*. Предположим,
что Ат = (А{, А J), так что А^ = bj и А2Х^ < Ь2. Взять в качестве s& оптималь-
ное решение следующей задачи:
минимизировать Vf(X)Ts (3.7.9)
при условиях
Axs<0; (3.7.10)
Hs = 0; (3.7.11)
— l^Sy^l. (3.7.12)
Если yf (Xj) Sk = 0, то остановиться; X^ — искомая точка Куна — Такке-
ра. В противном случае перейти к шагу 2.
142
Шаг 2.
1. Найти оптимальное решение задачи:
при условии
где
минимизировать f (Х& + Is^)
О С к С \пах>
(3.7.13)
(3.7.14)
(3.7.15)
Ь — Ь2 — А2Х; s — A2s^.
2. Обозначив его через kk, положить Х^ = + к^
Определить новое множество активных ограничений в Х^ и переопределить
AfH А2. Заменить k на k + 1 и перейти к шагу 1.
Задачи с нелинейными ограничениями-неравенствами
Теперь рассмотрим задачу, в которой допустимая область задается системой
ограничений — системой неравенств нелинейного типа:
минимизировать f (X) (3.7.16)
при условиях
^(Х)<0, i==l,2,...,m. (3.7.17)
Пусть X — допустимая точка, а I — множество индексов активных в этой
точке ограничений, т. е. I = {i : gt (X) = 0}.
Предположим, что функции f и gi непрерывно дифференцируемы. Если
Vf (Х)т s<0 и s < 0 при i £ I, то вектор s является возможным на-
правлением спуска.
Алгоритм Зойтендейка для задачи (3.7.16) — (3.7.17) имеет следующий вид.
Предварительный этап. Выбрать точку Хп для которой g{ (Xj) < 0 при i =
= 1, /п. Положить k = 1 и перейти к основному этапу.
Основной этап.
Ш а г 1. Положить 1= {Z: gt (Х^) = 0} и решить следующую задачу:
минимизировать z (3.7.18)
при условиях
Vf (X*)rs —г<0; (3.7.19}
^(Х4)т.-г<0, «€1; (3.7.20)
— 1<sz<1. (3.7.21)
Пусть (Zk, Sfc) — оптимальное решение.задачи (3,7,18) — (3.7.21). Если Zk =
= 0, то остановиться, точка Х^ является искомой (точка Куна — Таккера). Если
Zk < 0, то перейти к шагу 2.
Ш а г 2. Взять в качестве kk оптимальное решение следующей задачи одно-
мерной минимизации:
минимизировать f (Хй + ^sk) (3.7.22)
при условии
0^%СЬтах, (3.7.23)
где ”___ -
Хтах = тах{Х:^(Х^ + ^)} СО, j=1, т. (3.7.24)
Положить Хй+1 = Xfc + kk$k, заменить k на k + I и перейти к шагу 1 сле-
дующей итерации.
143
Пример 3.14. Рассмотрим задачу:
минимизировать (2х? + 2x1 — 2xiXa — 4хх — 6xj)
при условиях Хх 4- 5х2 5;
2x1 — х2 < 0; »
— Хх 0;
^2 О’
Будем решать эту задачу методом Зойтендейка, начиная процесс
о точки X! = [0.0; 0.75]т. Заметим, что Vf (Х)г = (4хх — 2хг —
— 4; —2хх + 4х2 — 6).
Первая итерация. Поиск направления. В точке Хх = [0.0; 0.75)г
имеем Vf (Хг) = (—5.5; —3.0)т, а множество индексов активных
ограничений есть 1 = 3.
При этом Vg3 (Xj) = [—1; 0]г. Задача нахождения направления
имеет вид:
минимизировать г
при условиях — 5.5зх — 3.0з2 — г 0;
— «х — z 0;
— / = ТГ2.
Решая эту ЛП задачу, например, симплекс-методом легко про-
верить, что оптимальным решением ее является вектор sx = [1.00;
—l.Ofnzx = —1.0.
Линейный поиск. Любая точка по направлению sx = [1.0; —1.0]г
из точки Хх — [0.0; 0.75]г может быть представлена в виде Хх 4-
+ Азх = [А.; 0.75 —%], а соответствующее ей значение целевой функ-
ции равно f (Хх 4- Z.S1) = 6Ха + 2.5% — 3.375. Минимальное зна-
чение %, для которого Хх 4- %Sx остается допустимой точкой, равно
% = 0.414.
Значение %х получается в результате решения следующей задачи
одномерной минимизации:
минимизировать 6%а 4- 2,5% — 3,375
при условии 0^1^0.414.
Оптимальное значение %х = 0.2083. Следовательно,
Х2 = Хх 4- Mi = [0,2083; 0.5417]7'.
Остальные итерации проводятся аналогично. Результаты после-
дующих итераций приведены в табл. 3.19.
Модификация алгоритма возможных направлений
Анализ алгоритма Зойтендейка показал, что он может не сходиться к точке
Куна — Таккера. Трудность здесь состоит в том, что шаги вдоль генерируемых
направлений стремятся к нулю, вызывая остановку процесса в неоптимальной
точке.
144
10 9—4063
Тйбяйф&М
k хк НХ*) Поиск направления Линейный поиск
V» (X*) *k ^тах Kk хН-1 .
1 (0.00; 0.75) —3.375 (—5.50; —£ 1.00) (1.000; —1.000) — 1.000 0.4140 QM83 0.2083; 0.5417 /
2 (0.208; 0.541) —3.635 (—4.25; —4 L25) (1.00; 1.000) —8.5 0.3472 0.3472 0.555; 0.889
3 (0.555; 0.889) —6.346 (-3.556; - 3.555) (1.00; —0.533) —1.663 0.0924 0.0924 0.648; 0.840
4 (0.648; 0.840) —6.468 (-3.088; - •3.937) (-0.517; 2.0) —2.340 0.0343 0.0343 0.630; 0.874
Таблица 3:20
k xk Г(Х») Поиск направления Линейный поиск
*k ^тпах ч х*+1
1 (0.00; 0.75) -3.375 (—5.50; -3.00) (0.714; —0.0357) . —0.714 0.84 0.84 (0.600; 0.720)
2 (0.600; 0.720) —5.827 (--3.04; —4.32) (—0.0712; —0.117) —0.288 1.562 1.562 (0.480; 0.902)
3 (0.489; 0.902) —6.145 (—3.849; —3.369) (0.0957; —0.0555) -0.1816 1.564 1.564 (0.6385; 0.8154)
4 (0.6385; 0.8154) —6.343 (—5.63; —4.02) (—0.016; 0.0433) —0.840 1.419 1.419 (0.616; 0.877)
5 (0.616; 0.877) —6.508 (—3.29; —3.725) (0.0268; —0.0132) —0.0303 1.455 1.455 (0.655; 0.858)
Модифицированный алгоритм метода возможных направлений свободен от
указанного недостатка и гарантирует сходимость алгоритма к оптимальному ре-
шению.
Начальный этап. Выбрать начальную точку Хх, для которой (Хг) 0 при
j = 1, 2, Положить k = 1 и перейти к основному этапу.
Основной этап. Шаг 1, Положить (2&, s*) равным оптимальному решению
следующей задачи ЛП: -
минимизировать з (3,7.25)
при условиях
Vg<(Xft)rs-?<-g/(X*); (3.7.26)
— I —I, tn.
Если z* = 0, то остановиться, Хд является точкой Куна — Таккера. В про-
тивном случае (если < 0) перейти к шагу 2.
Как видим, в данном варианте алгоритма при определении направления дви-
жения учитываются все ограничения: как активные, так и неактивные (сравните
условие (3.7.20) с (3.7.26)).
Ш а г 2 повторяет полностью соответствующий шаг базового'алгоритма воз-
можных направлений.
Пример 3.16. Рассмотрим задачу предыдущего примера 3.14.
Применим для ее решения модифицированный алгоритм возможных
направлений.
Выберем в качестве начальной точки ту же точку Хх = (0.00;
0.75)т, что и прежде. Заметим, что градиент целевой функции равен
V f (Xj) = [4хх — 2х2 — 4; 4х2 — 2хх — 61г, а градиенты функций-
ограничений соответственно равны [1; б]г; [4хх; —1]г; [—1; О]7*;
[0; -11г.
Первая итерация. Поиск направления. В точке Хх = [0.0; 0.75]г
имеем: Vf (Хх) — [—6.5; —3.0]г. Задача поиска направлений з
имеет вид:
при условиях
минимизировать г
5,5зх — Зз2—2 0;
sx + 5s2— 1,25;
— з2— г 0,75;
— зх — г < 0;
— 1<з/<1, / = Щ.
(3.7.27)
(3.7.28)
(3.7.29)
В правой части всех ограничений этой задачи, кроме первого»
стоят значения —gt (Хх)для i = 1, 2, 3, 4. Оптимальным решением
этой задачи является вектор sx = [0.7143; —0.03571г, при котором
г = —0.7145.
Линейный поиск. Необходимо найти
min f (Хх + lsx) = f (0,71431; 0.75 — 0,351) =
= 0.9721s — 4.0361 — 3.375. (3.7.30)
Максимальное значение 1тах» для которого точка Хх + lsx до-
пустима, определяется соотношениями
Si (Xi + 1S1) < 0, f=l, 4 и равн'о 0.84.
146
Тогда искомое решение задачи (3.7.30) определяется при условии
। 0 X Хщах и равно 0.84.
Таким образом, Х2 = Xi + Mi = [0.60; 0.72]г.
Далее этот процесс повторяется аналогичным образом.
В табл. 3.20 приведены результаты вычислений на первых пяти ите-
рациях. В конце пятой итерации получена точка [0.655; 0.858]г со
значением целевой функции —6.559. Заметим, что в оптимальной
точке [0.659; 0.868]г значение целевой функции равно — 6.613.
Метод проекции градиента Розена
Пусть имеется следующая НП-задача с линейными ограничениями:
минимизировать f (X) (3.7.31)
при условиях
АХ < в, HX = h, (3.7.32)
где А — матрица порядка т X и; Н — матрица порядка I X л; b — /п-мерный
вектор; h — Z-мерный вектор, а функция f — дифференцируема.
В заданной допустимой точке X направлением наискорейшего спуска являет-
ся вектор — Vf (X). Однако движение вдоль вектора — Vf (х) может нарушить
допустимость. Чтобы ее сохранить, спроектируем этот вектор так, чтобы дви-
гаться вдоль допустимого направления спуска s == — PVf (X).
Рассмотрим задачу (3.7.31) — (3.7.32). Пусть X — допустимая точка, для
которой AjX = 1^ и А2Х Ь2, где А = [AfAgl, а br = [bp 1. Предположим,
что функция f дифференцируема в X. Если Р — матрица проектирования такая,
что PVf (X) у= 0, то вектор s = —PVf (X) является направлением спуска для
функции f (X) в точке X. Кроме того, если Мг = [Ар Н7] имеет полный ранг и
если Р = I — (ММТ)”“1 М (3.7.33), то s- возможное направление спуска.
Заметим, что матрица Р, определяемая выражением (3.7.33), действительно
является матрицей проектирования, удовлетворяющей’'равенствам: Р = Рг и
РР = Р. Кроме того, МР = 0, т. е. АХР= 0 и HP = 0. Таким образом, матри-
ца Р проектирует каждую вектор-строку матриц Aj и Н в нулевой вектор. А так
как строками матриц Ах и Н являются градиенты функций активных ограничений,
то Р — это матрица, проектирующая градиенты функций активных ограничений
в нулевой вектор.
Рассмотрим случай PVf (X) = 0. у (3.7.33)
Тогда
PVf (X) = [I — МТ (MM7)”1 М] Vf (X) = Vf (X) + MTW =
= Vf (X) 4- A[u + H7v; w7 = [u7, v7]. (3.7.34)
Если u 0, те точка X удовлетворяет условиям Куна — Таккера. Если же
и 0, то, как показано в [7], можно определить новую матрицу проектирования
р такую, что вектор s = —PVf (X) будет возможным направлением спуска.
Пусть некоторая компонента вектора и отрицательна, а Мг = [Ар Нг],
где Аг получена из А вычеркиванием строки, соответствующей «/. Обозначим Р =
= I — М7 (ММ7)-1 м, и пусть s = —PVf (X). Тогда вектор s является возмож-
ным направлением спуска.
Доказательство этого утверждения приводится в [1]. На этом утверждении (свой-
стве) и построен нижеследующий алгоритм.
Алгоритм метода проекции градиента Розена
Итак, пусть имеется задача НП вида min f (X) при условиях
АХ = b; НХ = h.
10*
147
Предварительный этап. Выбрать точку Хх, для которой АХх < b, НХх ® h,
Представим А7 и Ьт в виде [А7, Ар и [b{, Ь7[, где соответственно АхХх = Ьх,
АгХх < b2. Положить k = 1 и перейти к основному этапу.
Основной этап. Ш а г 1. Положить М7 = [А7Н7]. Если М = 0, т. е. не со-
держит ни одного столбца, то положить Р = I. В противном случае положить
Ра I — М7 (ММ7)-"1 М. Положить Sk = —PVf (X*). Если s* Ф 0, то перейти к
шагу 2. Если s* = 0 и М = 0, то остановиться; в противном случае (если М =/= 0)
положить w = —(ММ7)-1 MVf (Xfe). Пусть w7 = (u7, v7). Если u > 0, то оста-
новиться, X* — точка Куна — Таккера. Если же и > 0, то выбрать отрицатель-
ную компоненту иц этого вектора и переопределить матрицу А, вычеркивая стро-
ку, соответствующую w;, и повторить шаг 1.
Ш а г 2. Взять в качестве Х^ оптимальное решение следующей задачи ли-
нейного поиска:
минимизировать f (Xk + Xs^)
при условии
О X Хтах,
где X^j, определяется в соответствии с 0.7.15). Положить Х^ = Xk + Х^ • s^,
заменить k на k + 1 и перейти к шагу 1.
Пример ЗЛ6. Решить методом проекции градиента следующую
задачу:
min 2xi + 2x1 — 2ххх2 — 4хх — 6х2
при условиях
хх + *2 < 2;
Xi + бх2 5;
— хх < 0;
— х2 < 0.
Выберем в качестве начальной точку [0; 0]г.
Первая итерация. Поиск направления. В точке Хх = [0; 0]г име-
ем: V f (Хх) = [—4; —6]г. Кроме того, в Хх активными являщтся
только ограничения неотрицательности, так что
Г— 1 0] п п
А1“[ о —1]’ А* ц бр
Тогда
т т ГО 01
Р = 1-АГ(А1А1)ГА1 = [О J,
и s, = —Р Vf (Хх) = [0; Of. Учитывая, что ограничения-равенства
в задаче отсутствуют, вектор v = 0, и поэтому вычислим
W = u = - (АХ)-1 A1Vf (Xi) = [- 4; - 6f.
Выберем м4 = —6 и удалим градиент, соответствующий четвертому
ограничению из Ах. Матрица Ах преобразуется к виду Ах = [—1;
01. Преобразованная матрица проектирования принимает вид
А А А- .А ГО 01
_ р = 1-а1.(а1.аГг1а1=|0 J,
148
а направление движения sx определяется вектором
ГО 01 Г— 41 Г01
Si = —pVf(Xi) = —[0 1]х[_б] = [б]-
Линейный поиск. Любая точка Х2, полученная движением из
Хх по направлению si» может быть представлена в виде Х2 =
= Хх + %sx = [0; 6%1Г, а соответствующее ей значение целевой
функции равно / (Х2) = 72%2 — 36%. Максимальное значение %,
для которого точка Хх + %Sx допустима, получается в соответствии
с (3.7.15) и равно
, ./2.5) 1
Хшах — ПИП j-g- , -3Q-J—“в"-
Следовательно, %х является оптимальным решением следующей
задачи:
минимизировать 72Х2 — 36%
при условии 0<%< .
Оптимальное решение равно %® = так что Х2 = Хх + %?Si =
= [0; if.
Вторая итерация.. Поиск направления. В точке Х2 = [0; 1]г
имеем Vf (Х2) = [—6; —2]г. Кроме того, в этой точке активными
являются второе и третье ограничения, так что получаем
Г i 51 И 11
А1 = 1 — 1 о : Аа = |о — 1Г
Далее имеем Р = I — А Г (AxAf) 1 • Ах = 0J *
и, следовательно, —PVf (Х2) = 10; 0]г. Вычисляем
и = - (АхАГ)"1 АхVf (Х2) = I8/,; - 28/5]г.
Так как и3 < 0, то строка I—1; 0] вычеркивается из Ах и получа-
ем матрицу Ах = [1; 51. Матрица проектирования и соответствующее
направление определяются следующим образом:
5
26
1
26
т
p = i — аГ (а1аГ)“,а1 =
25
26
5
26
/v \ Г 70 . 14
s2 — —Рут (л2) — [Тз- ’ 13
Так как для выбора направления s2 длина вектора s2 не имеет
170 14 1Г ге
-рг-; —рг эквивалентен вектору s2 = io,
lo lo I
-11'.
149
Линейный поиск. Итак, рассмотрим точку Х2 + %s2 = [5%; 1—
— %]г, в которой значение целевой функции равно / (Х2 + X«s2) =
= 6212 — 28% — 4. Максимальное значение %, для которого точка
х2 + %$2 допустима в соответствии с (3.7.15), равно
%max = mln р/4» */1) = -у .
Таким образом, %2 определяется из решения задачи:
минимизировать
при условии
62%а — 281 — 4
Оптимальным решением является %2 = -^р, так что
РИС. 3.13
у _ Г 35 . 24 И
А® — [ 31 ’ 31 J •
Третья итерация. Поиск
направления. В точке Х3 вычис-
ляем
C/VX Г 32 160 1Г
Vf(X3) = [- —, ——J .
Кроме того, в этой точке ак-
тивным является второе ограни-
чение, т. е. Ах = [1; 5].
Определим матрицу проекти-
рования
т т 1 Г 25 — 5
р = 1-аГ(а1аГ)-1а1 = 1/26х . ,
I О 1
и направление s2 = —Р Vf (Xs) = [0; 0]г.
Далее вычисляем
и----(АХ)-1 A1Vf (Х8) = «/м > 0.
Следовательно, точка Х8 — оптимальна. Заметим, что градиент
функции активного в этой точке ограничения противоположен по
знаку Vf (Х8) и кроме того Vf (Х8) -|- uVgj (Х8) = 0 для и —
32
= -gy, поэтому точка Х3 — точка Куна —Таккера. Так как функ-
ция / (X) — выпукла, то точка Х8 является точкой глобального ми-
нимума. Процесс решения этой задачи приведен на рис. 3.13.
Задачи и упражнения
3.84. В каждом из следующих случаев приведите соответствую-
щую характеристику множества возможных направлений в точках:
1) S = (X : АХ = b; X > 0};
2) S = (X : АХ < b; НХ = h; X > 0};
3) S = {X : АХ > b; X > 0}.
150
8.85. Рассмотрим задачу минимизации [ (X) при условии
gi (ХХ 0, i = 1, т. Предположим, что X — допустимая точка,
в которой gi (X) = 0 при I € 7. Предположим также, что функции
gt (X) вогнуты или квазивогнуты в X при i g I. Покажите, что мож-
но получить возможное направление спуска или убедиться в том,
что X — точка Куна — Таккера, решив следующую задачу:
минимизировать vf(x)r s
при условиях vf (Х)г s < 0, i £ /;
— 1 1, / = 1, т.
3.86. Рассмотрим следующую задачу НП:
минимизировать (хх — 2)2 4- (ха — 1)’
при условиях (xi — ха) 0;
хх — 2ха +1=0.
Взяв в качестве начального приближения точку Хо = [1; 1]г,
решить эту задачу методом Зойтендейка, используя следующие два
условия нормировки:
а) |з/|< 1. / = 1. 2; б) sTs< 1.
3.87. Решить следующие задачи методом Зойтендейка:
минимизировать х? + ххха 4- 2x1 — 6хх — 2ха — 12ха
при условиях
Хх 4* ха 4* ха = 2;
— 2хх 4- 2ха 3;
х1( ха, х8>0.
3.88. (Нелинейные ограничения):
минимизировать х? 4- ххха 4- 2х| — 6хх — 2ха — 12ха
при условиях 2х] 4-ха^ 16;
— Хх 4* 2ха 4" х8 3;
Хх, ха, х3>0.
3.89. Рассмотрим следующую НП-задачу с линейными ограни-
чениями и нелинейными ограничениями-неравенствами:
минимизировать /(X)
при условиях ^(Х)^0, i = s, /п;
AX<b;
НХ = h.
Пусть X — допустимая точка, I = {I : gt (X) = 0}. Предполо-
жим, что А,Х = Ьх, Аах < Ьа, где Аг = [Af, Afl,br = [bf, bfl.
а) Покажите, что можно получить возможное направление спус-
ка или убедиться, что X — точка Куна — Таккера с помощью реигй-
151
ния следующей задачи ЛП:
минимизировать t
при условиях vf(X)r s — z<0;
Vg<(X)rs — z<0;
A^O, i£/;
Hs = 0.
в) Используя этот подход, решите задачу, рассмотренную в при-
мере 3.88, и сравните полученные в обоих случаях траектории.
3.90. Как известно, для задачи НП вида min f (X) при условиях
gt (X) 0 направление спуска определяется решением следующей
задачи:
минимизировать z
при условиях vf(X)Ts — z^O;
Vg<(X)Ts —z<0;
а) Покажите, что этот метод нельзя приспособить к решению
задачи с нелинейными ограничениями-равенствами вида ht (X) = 6
заменой каждого такого ограничения двумя неравенствами: hi (X) <2
0; ht (X) > 0. Один из способов учета ограничений вида ht (X)
= 0 состоит в замене каждого ограничения-равенства двумя нера-
венствами: hi (X) в и hi (X) > —е, где 8 > 0 — некоторое малое
число и в последующем решении приведенной выше задачи поиска
направления. Используйте этот метод для решения следующей
задачи:
минимизировать х? 4- 2x2*s + 2х3
при условиях xi 4- xs + хз = 4; х| — ха 4- 2х3 2.
3.91. Пусть имеется следующая задача НП:
минимизировать f(X)
при условиях ^(Х)^0, i= 1, т;
ht(X) = 0, i=~l.
Пусть X — допустимая точка, для которой gt (X) = 0 при 1^1,
а) Докажите, что для того чтобы X была точкой Куна — Так-
кера, необходимо и достаточно, чтобы равнялось нулю оптимальное
значение целевой функции следующей НП-задачи:
минимизировать vf (Х)г s
при условиях VSi(X)r8^0, i£l',
Vhr(X)s=0, » = 1, 2......l\
— /= 1, ... h.
15f
3.92. Рассмотрим следующую задачу с двухсторонними ограни*
чейиями на переменные:
минимизировать f (X)
при условиях /=1, п.
Пусть X — допустимая точка, = Рассмотрим процедуру
Зойтендейка для построения возможного направления спуска.
а) Показать, что оптимальное решение задачи поиска направле-
ния, использующей условие нормировки sTs^ 1, определяется сле-
дующим образом:
S/ =
у
\ , если /£/{
1V?
/€/ 1
О, в противном случае,
где / = {/ : X, > а/и V/> 0 или х/ < 6/ и V/ < 0}.
б) Показать, что оптимальное решение задачи поиска направле-
ния, использующей условие нормировки |s/|^ 1, определяется сле-
дующим образом:
— 1, если xt>ai и
1, если x(<.bi и V/<0;
0 во всех остальных случаях.
Используя методы, описанные в пп. а) и б), решить следующие
вадачи при начальной точке (—3; —4) и сравнить полученные тра-
ектории:
1) минимизировать 2х? — х^х2 4- Зхг — Зхх — 2х,
при условиях
— 3 Xj 3,
— 4<х2< 1;
2) минимизировать х|—XjX, 4- 2х|
при условиях
— 5<xi<3,
— 1 х,^ 1.
3.93. Решить модифицированным методом возможных направле-
ний:
минимизировать (1 — хх)я — 10 (ха — х?)а 4* Xj — 2ххх2 4- е-*'-**
при условиях
Xt 4* Хг 16;
(Xi —Xi)24-Xl<6|
Xj 4- х2 > 2.
153
3.94. Рассмотрим задачи НП вида: минимизировать f (X) при ус-
ловиях АХ Ь. Пусть Р = I — АГ (AjAf)-1» где — составле-
на из градиентов функций активных ограничений в заданной до-
пустимой точке X. Каковы смысл и геометрическая интерпрета-
ция следующих утверждений: а) Р V f (X) = 0; б) Р V f (X) =
- Vf (X); в) PVf (X) += 0?
3.95. Решить следующую задачу методом проекции градиента»
минимизировать (1 — хх)’— 10 (х2 — Xi) + xl — 2ххх3 + е~х,~х*
при условиях
2хх + бх2 < 25;
— Хх + 2х2 < 8;
Xi, х2>0.
3.93. Используя в качестве начальной точки Хо = [0; 0]г,
решите методом Зойтендейка и проекции градиента следующую
задачу:
минимизировать х? + XiX2 + 2x1 — 12xj — 18ха
при условиях
— 3xj + 6х2 9;
— 2xi+ х2<1;
Xi, х2 > 0.
3.97. Используйте метод проекции градиента для решения сле-
дующей задачи:
минимизировать xi + ххх2 + 2x1 + 2x1 + 2х2х8 + 4хх + 6х2 + 12х3
при условиях
Xi + х2 + х8 6;
— Xi — х2 + 2х3 > 2;
х1( х2, х3 0.
3.98. Решить следующую задачу методом возможных направле-
ний и проекции градиента, выбив в качестве начальной точки:
минимизировать х? + 2x1 + Зх» + х2х2 — 2xjX3 + х2х3 — 4xi — 6х2
при условиях
Xi + 2xa + x8<4;
Xi, х2, х3 > 0.
3.99. Решить следующую задачу методом проекции градиента:
минимизировать х? + хгх2 + 2x1 — 6хх — 2ха — 12х3
при условиях
Xi+ х2 + х8 = 2;
--Xi + 2x2 <3;
Xi, х2, х8 > 0.
154
3.100. Решить методом проекции градиента и методом возмож-
ных направлений следующую задачу:
минимизировать е-ж‘ + Xi — ххх2 — 3xl + 4хх — 6ха
при условиях
2xi + х2 8;
— хх 4- х2 < 2;
хх> 1, х2^3.
3.101. Рассмотрим следующую задачу квадратичного программи-
рования:
минимизировать СГХ 4- 1/аХгНХ
при условиях
АХ = Ь;
Х>0.
Ограничение h (X) = АХ — b = 0 связано со штрафной функ-
цией вида ph (X)rh (X), приводящей к следующей задаче:
минимизировать СГХ -|- VjX’HX 4- И (АХ — Ь)г (АХ —Ь)
при условии
Х>0.
Опишите подробно шаги метода возможных направлений для этой
задачи. Продемонстрируйте метод при следующих значениях пара-
метров задачи:
3.102. Решить методом возможных направлений следующую за-
дачу:
минимизировать х? 4- 2x14- — 2ха — xj
при условиях
хх 4- 2ха 6;
— хх 4- 2ха 3;
хх, х2 0.
Является ли полученное решение глобальным оптимумом, ло-
кальным оптимумом или ни тем и ни другим?
3.103. Решить методом проекции градиента следующую задачу:
минимизировать е~х' 4- х? — ххха — 3x1 4- 4хх — 6ха
при условиях
2хх 4- х2 8;
— Xi 4- х2 < 2;
хх 1, х2 < 3.
155
3.104. Рассмотрим следующую задачу:
минимизировать СГХ
при условиях
AX=b; Х>0,
где А — матрица порядка т X п и ранга т. Рассмотрим решение
задачи методом проекции градиента.
а) Пусть X — ДБР, a s = — PC, где матрица Р проектирует
любой вектор на ядро оператора, составленного из градиентов функ-
ций активных ограничений. Показать, что s = 0.
б) Пусть и = — (ММ7)”1 МС, где строки матрицы М — транс-
понированные векторы-градиенты функций активных ограничений.
Покажите, что вычеркивание строки, соответствующей наибольше-
му отрицательному и/, связанному с ограничением х/ > 0, формиро-
вание новой матрицы проектирования Рх и сдвиг вдоль направле-
ния — РТС эквивалентны вводу в базис переменной х/ в симплекс-
методе.
в) Используя результаты пп. а) и б), покажите, что метод про-
екции градиента сводится к симплекс-методу, если целевая функ-
ция линейна.
3.8. МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ
Все методы этой группы, несмотря на различные варианты и схемы, имеют
одну общую особенность: в этих методах производится переход от задачи условной
оптимизации к эквивалентной задаче (или последовательности задач) безусловной
оптимизации. Методы штрафных функций можно разделить на два класса: пара-
метрические и непараметрические.
Параметрические методы характеризуются наличием одного или нескольких
надлежащим образом выбранных параметров, входящих в структуру штрафной
функции в качестве весовых коэффициентов.
К параметрическим методам относятся: метод барьерных поверхностей, метод
последовательной безусловной оптимизации — МПБМ, предложенный Фиакко
и Маккормиком, метод Зангвилла и др.
В непараметрических методах целевая функция рассматривается как функ-
ция, задающая дополнительное искусственное ограничение, постепенно уплотня-
емое по мере получения информации о ходе решения задачи.
Параметрические методы делятся на:
1) методы внутренней точки; 2) методы внешней точки; 3) комбинированные
методы.
При использовании методов внутренней точки текущая точка постоянно на-
ходится внутри допустимой области с помощью штрафной функции, которая в
этом случае называется барьерной. Методы внешней точки, наоборот, генерируют
последовательность точек, которые выходят за пределы допустимой области, но в
пределе дают допустимое решение.
Наконец, в комбинированных методах, которые необходимо использовать
при ограничениях — равенствах, в процессе минимизации одни из ограничений
удовлетворяются, а другие — нет. Однако при достижении искомого решения^все
условия в пределах заданного допуска оказываются удовлетворенными.
Итак, пусть НП-задача задана в следующем виде:
минимизировать f (X), X £ (3.8.1)
при т нелинейных ограничениях вида
(X) =0, / = ТГт; (3.8.2)
156
(р — m) ограничениях вида
gz(X)>0, f = m + T77. (3.8.3)
В основу метода штрафных функций положено преобразование задачи
(3.8.1) — (3.8.3) в задачу минимизации без ограничений вида
р (Xft. р*> = f (Xj) + f pfftH (ht (Xi)) + f plkG (g{ (X*)). (3.8.4)
— Здесь P (Х*, pa) штрафная функция; pik — весовые коэффициенты:
H (hi(Xk)), О (gi (Х*)) — некоторые функционалы.
При выборе вида функционала G (gi (Х^)) руководствуются следующими ва-
риантами [17]:
D (g{ (X)) -оо при g{ (X) -> 0+,
для чего необходимо, чтобы точка, определяемая вектором X, всегда была внутрен-
ней, т. е. чтобы выполнялось условие
gt (X) >0, i = m+ 1, р;
2) G,(gz(X))-*0 п₽и «£(Х)-*0-.
При этом выборе функционала G2 оперируют только с внешними точками, для ко-
торых выполняется условие gi (X) < 0;
3) G3(^(X))>0 при g. (X) <0
и
<?з(^(Х)) = 0 при g^X) = 0.
При таком выборе функционала G не заботятся о том, чтобы ограничивающие
условия удовлетворялись на промежуточных этапах вычислительного процесса, хо-
тя они, безусловно, должны выполняться в искомой точке. При выборе функцио-
нала для ограничений равенств вводится требование Н (ht (X)) -► 0 при ht (X) ->
-> 0. При этом обычно полагают Н (ht (X)) = (X). Наконец, при любом выборе
функционалов Н (hf (X) и G (gt (X)) требуется, чтобы
р
lira £ р<АО(?,(Х*)) = 0; (3.8.4)
Л->оо ;ят+1
Нт £ рмЯ(Л£(Х))=0;
£=1
lira |Р (Xft, pi) — f (Х^ | = 0. (3.8.5)
k-*0O
Метод барьерных поверхностей
Этот метод (МБП) относится к группе методов внутренней точки и основан
на использовании барьерной функции вида
Р (X, г) = f (X) + г f Rt (g{ (X)) w(, (3.8.6)
где г > 0 — параметр, значения которого убывают с каждым циклом; (0 ->
«=> оо при t 0; Wi — положительные весовые коэффициенты. При этом барьер-
ная функция Р (X, г) неограниченно возрастает при t 0^*,
Примерами функций барьера являются:
а) обратная функция
(et (X)) = ; (3.8.7)
157
б) логарифмическая функция
(X)) = -ln(^ (X)).
При приближении к границе изнутри области, как только^ (X) ->0, штраф
становится очень большим. Таким образом, вдоль границ допустимой области
образуются сильные барьеры. Построив барьерную функцию и определив началь-
ную внутренюю точку, приступаем к процедуре минимизации Р (X, г) при за-
данном начальном значении г0. Тогда конечная точка Хх первого этапа (итерации)
процедуры становится исходной точкой для минимизации Р при уменьшенном
значении г и т. д., завершающий этап минимизации реализуется при очень ма-
лом значении г,.так что результирующая точка X с точностью до установленного
допуска может оказаться либо на одной, либо сразу на нескольких поверхностях
сразу, заданных ограничениями задачи.
Если через X (г) обозначить точку минимума вспомогательной функции
Р'(Х, г), то при весьма слабых предположениях относительно исходной задачи по-
следовательность {X (г)} сходится к решению исходной задачи при г-+Q.
Минимизация барьерной функции может быть выполнена любым методом
безусловной минимизации, которые были рассмотрены выше. Один из существен-
ных недостатков методов барьерных функций связан с тем, что эти функции
определены в допустимой области, которая должна иметь непустую внутреннюю
область, т. е. множество {X: gt (X) > 0, 1, т} должно быть непустым.
Алгоритм метода барьерных поверхностей
Пусть имеется исходная задача вида:
минимизировать f (X)
при условиях gi (X) >0, i = 1, m.
Начальный этап. Выбрать е > 0 в качестве константы остановки и начальную
допустимую точку Х0 С R, для которой gi (Хо) > О, I = 1, т, скаляр г0, 0 < 0 <3
< 1. Положить k = 1 и перейти к основному этапу.
Основной этап. Ш а г 1. При начальной точке Х& решить следующую задачу
безусловной оптимизации:
m
минимизировать Р (X, г) = f (X) + г* J] (gt (X))
i— 1
где R (gi (X*)) описывается одним из выражений (3.8.7).
1 2 5
Рис. 3.14
158
Положить равным оптимальному решению, и перейти к шагу 2.
т
Ш а р 2. Если rk J R (gi (X*)) • < е, то остановиться. В противном случае
/=з1
положить гЛ_|_| ™ ₽/>, заменить k на k + 1 и перейти к шагу 1.
Пример 3.17. Рассмотрим следующую задачу:
минимизировать (xt — 2)* + (хх — 2хг)а
при условии
— Xi + хя > 0.
Решим ее, используя МБП о барьерной функцией 7? (g (X)) —
= —• В табл. 3.21 приведены результаты вычислений, а
хг — *1
Таблица 3.21
k rk XH-1 Hxft+1) (X^+1)
1 10.0 0.708; 1.532 8.334 0.970 18.039 9.705
2 1 0.828; 1.110 3.821 2.359 6.180 2.359
3 0.1 0.899; 0.964 2.528 6.419 3.170 0.642
4 0.01 0.924; 0.916 2.129 19.078 2.320 0.191
5 0.001 0.940; 0.901 2.004 59.046 2.063 0.059
6 0.0001 0.9439; 0.8964 1.9645 184.445 1.983 0.0184
на рис. 3.14 показан процесс минимизации. Вычисления начаты при
гх = 10, а безусловная оптимизация функции Р (X, г) начиналась из
точки Хх = [0; 1]. В качестве значения параметра выбрано 0 =
= 0.1. После 6 итераций получена точка Х7 = [0.944, 0.896]г, где
гв7? (g (Х7)) = 0.0184, и алгоритм остановлен. Можно проверить,
что эта точка достаточно близка к оптимальной. Учитывая, что
rk убывают, из табл. 3.21 нетрудно заметить, что f (ХА) и Р (rk) —
неубывающие функции от гк, a Р (g (XJ) — невозрастающая функ-
ция от rk. Кроме того, rk Р (Хк) сходится к нулю.
Использование барьерных функций для решения задач НП связано с неко-
торыми вычислительными трудностями. Прежде всего поиск должен начинаться
из допустимой точки X, для которой gi (X) > 0, i = 1, т. Для некоторых задач
нахождение такой точки может быть непростым делом. Кроме того, вблизи гра-
ницы области {X : g/ (X) > 0} в силу того, что поиск использует дискретные шаги,
возможен шаг, выводящий за пределы допустимой области, который приводит к
уменьшению значения Р (X, т. е. приводит к ложному успеху. Таким обра-
зом, требуется явная проверка допустимости каждой очередной точки (для чего
требуется вычислять значения функций g/(Х^), k~ 1, 2, ...).
На эффективность МБП существенно влияют выбор начального значения г0
и метод сокращения значений г в процессе минизации, а также выбор весовых
коэффициентов шс. Если в функции Р (X, г) значение г0 выбирается слишком
малым, то на начальной стадии процесса мы придем к минимуму функции f (X),
который вряд ли окажется вблизи условного минимума в точке X*. С другой сто-
роны, если значение г0 выбирается слишком большим, то на первых итерациях
вычислительного процесса текущая точка неизбежно окажется слишком далеко
за пределами допустимых границ и поиск из-за необходимости возврата в преде-
лы допустимой области.может затянуться.
159
Метод штрафных функций
Ранее рассмотренные методы барьерных поверхностей относятся к группе
методов внутренней точки (т. е. они начинают работать с допустимой точки Хо
и генерируют последовательность оптимальных допустимых решений Хх, Х3, ...
...» Х^). В отличие от них методы внешней точки начинают работать с недопустимой
точки и генерируют последовательность недопустимых решений, которая при-
ближается к оптимальному решению извне допустимой области.
Пусть, как и выше, имеется задача НП:
минимизировать f(X) (3.8.8)
при- условиях _____
g(X)>0, iel, m; (3.8.9)
Л.(Х) = 0, i = ~l- (3.8.10)
Метод штрафных функций основан на преобразовании исходной задачи с
•ограничениями в одну или последовательность задач безусловной оптимизации.
С помощью функций, задающих ограничения, строится так называемая штрафная
функция, которая добавляется к целевой функции исходной задачи так, чтобы
нарушение какого-либо из ограничений исходной задачи становилось невыгодным
(с точки зрения получаемой задачи безусловной оптимизации). В частности, для
ограничений типа (3.8.9) и (3.8.10) целесообразна штрафная функция следующего
вида:
т I
а (X) = S *1 [gt (X)] + £ /?2 [й,. (X)], (3.8.11)
/=1 м
где Ri и ₽2 — непрерывные функции, удовлетворяющие условиям: а) (у) =
«= 0, если у > 0, и (у) > 0, если у < 0; б) /?а <у) = 0, если у = 0, и /?2 (у) >
> 0, если у 0. Типичными являются следующие формы функций /?х и
(У) = fmax {0; —#}]р; (У) в \У |р> где р — целое положительное. Таким
образом, штрафная функция а (X) обычно имеет вид
т I
а(Х)=£ (max {0; -g,(X))f+2 | h, (X) |₽. (3.8.12)
И далее от задачи НП (3.8.8) — (3.8.10) переходим к задаче безусловной оптими-
зации вспомогательной функции:
минимизировать f (X) + га (X), (3.8.13)
где г > 0 — коэффициент штрафа.
Пусть а — непрерывная функция вида (3.8.12). Обозначим
0 (г) - inf {f (X) + га (X)}. (3.8.14)
Подход, связанный со штрафной функцией, состоит в решении следующей
задачи:
максимизировать 0 (г) (3.8.15)
при условии
г>0.
«Справедлива следующая теорема 3.6. [ 1]. Пусть задана задача НП в виде (3.8.8) —
(3.8.10), где f, gt, g2.gm — непрерывные на функции.
Предположим, что задача имеет допустимые решения и пусть а (X) — не-
прерывная штрафная функция вида (3.8.11). Предположим также, что для каждого
г существует решение задачи Хг минимизации вспомогательной функции f (X) 4-
+ га (X) и все Хг принадлежат некоторому компактному подмножеству мно-
жества х. Тогда справедливо следующее равенство*.
inf {/ (X): g (X) > 0, h (X) = 0, X С Ж} = sup 0 (г) « lim 0 (г), (3.8.16)
Где 0 (г) определяется согласно (3.8.14).
160
Более того, предел X* любой сходящей подпоследовательности последова-
тельности {Хг} является оптимальным решением исходной задачи и га (X) ->
0 при г->оо. Доказательство теоремы приводится в [1].
Данная теорема служит обоснованием метода штрафных функций и из нее
следует, что оптимальное значение Хг задачи минимизации / (X) + га (X) при
условии X С # может быть сделано сколь угодно близким к допустимой области
при выборе г достаточно большим. Кроме того, выбирая г достаточно большим,
вначение f (Хг) + га (X) может быть сделано сколь угодно близким к оптималь-
ному значению целевой функции исходной задачи / (X).
Алгоритм метода штрафных функций
В связи с трудностями, связанными с использованием большого параметра
штрафа г, в большинстве алгоритмов штрафных функций применяют последова-
тельность возрастающих параметров для каждого нового значения параметра
штрафа. Используется алгоритм оптимизации, начинающийся из оптимального
решения, соответствующего предыдущему значению параметра г.
Пусть имеется задача минимизации f (X) при условиях gi (X) > 0, hi (X)
® 0, где функции Д, gi (X) и hi (X) непрерывны.
Начальный этап. Выбрать е > 0. Выбрать начальную точку Xj, параметр
штрафа f\ и число Р > L Положить k 1 и перейти к основному этапу,
Основной этап. Ш а г 1. При начальной точке Х^ решить следующую задачу:
минимизировать f (X) + />а (X) =»
" m
-fw+rk s
z
(max {0, -gi(X)})₽+ 2 |Л( (X)
i=i
(3.8.17)
где p > 0 и p — целое.
Положить X^p равным оптимальному решению этой задачи, и перейти к шагу 2.
Ш а г 2. Если г^а (Х^р < е, то остановиться; в противном случае положить
Гд-р = Заменить k на k + 1 и перейти к шагу 1.
Пример 3.18. Рассмотрим следующую задачу:
минимизировать — 2)4 + (хг — 2х2)а
при условиях
Xi — х2 = 0.
В качестве функции штрафа а (X) выберем (х? — х2)а. Тогда на 6-й
итерации при заданном значении параметра штрафа rk должна ре-
шаться задача:
минимизировать (х2 — 2)4 + (xi — 2х2)а + rk (х? — х2)а
при условии
Хи х2С(—оо, оо).
В табл. 3.22 приведены результаты вычислений по методу штрафных
функций. В качестве начальной взята точка X = [2.0; 1.0]г, в ко-
торой значение целевой функции равно 0. В качестве начального
значения штрафа принято = 0.1, а число 0 = 10.0. Заметим,
что f (Хг/г) и 0 (rk) — неубывающие функции, a a (Xrft) — невоз-
растающая. Процесс прекращен после четырех итераций, где
a (Xrft) = 0.000267. Но чтобы убедиться, что в соответствии о те-
оремой 3.6 последовательно rka (X/) сходится к нулю, была
11 9-4063
161
Таблица 3.22
k rk X*+1 = S Н*л+1) rka <xk+i>
1 0.1 1.4539; 0.7608 0.0935 7.8307 0.2766 0.1831
2 1.0 1.1687; 0.7407 0.5753 0.3908 0.9661 0.3908
3 10 0.9906; 0.8425] 1.5203 0.01926 1.7129 0.1926
4 100 0.9507; 0.8875 1.8917 0.000267 1.9184 0.0267
5 1000 0.9461; 0.8934 1.9405 0.0000028 1.9433 0.0028
выполнена еще одна итерация и найдено Хв. Можно убедиться, что
в точке Хв = [0.9461; 0.89341т выполняются условия Куна —
Таккера.
Задачи и упражнения
3.105. Рассмотрим следующую задачу:
минимизировать (х? + х|)
при условиях
2хт — х2 -j- 2 0;
х2 — 1^0.
а) Найти оптимальное решение этой задачи Хорь используя
теорему Куна — Таккера.
б) Построить вспомогательную функцию с начальным значением
штрафного параметра г = 1.
в) При начальной точке Хо = [1; 6]г решить полученную зада-
чу прямым методом (например, Хука—Дживса).
г) Заменить значение гк на rk = 10. Начиная из точки, получен-
ной в п. в), продолжить решение полученной задачи и сравнить его
с полученным в п. а). ____
3.106. При заданном множестве ограничений g( (Х)^>0, i = l,m
может быть использована любая из следующих штрафных функ-
ций:
«i(x)=rS max{0; — &(Х)};
i=l
a2(X) =гД[тш{0; &(Х)}]2;
a8 (X) = r max (0; — gt (X), ... , — gm (X)};
a4 (X) = r [min {0, gl (X), g. (X).gm (X)}]>.
Срабните эти формы. Какие преимущества и недостатки у каждой
из них?
ЗЛ07. Рассмотреть следующую задачу:
минимизировать х? + xl
162
при условии
Xi х2 — 1 =0.
а) Найти оптимальное решение задачи (методом множителей Лаг-
ранжа).
б) Рассмотреть следующую вспомогательную со штрафной функ-
цией:
минимизировать (х? + х%) 4- г (хг 4- х2 — 1)а.
Проверьте, что для каждого г > 0 оптимальное решение неограни-
ченно.
в) Убедитесь, что на оптимальных решениях в пп. а) и б) зна-
чения целевой функции неограничены, так что утверждения теоре-
мы 3.6 несправедливы. Объясните этот факт.
г) Добавим к исходной задаче ограничения |хх|^ 1, |х2|^ 1 и
пусть X = { (хх, х2) : | | 1, и |х2|^ 1}. Вспомогательная за-
дача принимает вид:
минимизировать х? 4- *2 4- (*х 4- х2 — I)8
при условиях
|*х|<1. |х2|<1.
Найти оптимальное решение при заданном г > 0 и определить пре-
дел последовательности точек оптимума при г -> оо.
3.108. Пусть исходная задача НП имеет вид:
минимизировать f(X) (1)
при условиях \
g(X)>0; (2)
h(X) = 0; (3)
х^зе,
где g’— вектор-функция с компонентами g1( g2) ...» gm', h — вектор-
функция с компонентами hlt h2, ..., he', x — вектор-столбец размер-
ности (n X 1); * — некоторое непустое множество из опреде-
ляемое простыми ограничениями, например, X/ 0. Функции /,
Si> •••> ёт> Л2, .... he — непрерывны. Пусть а (X) непрерыв-
ная функция (называемая штрафной) вида
т I
а (X) = S (& (X)) 4- S {ht (X)), (4)
t-i i-i
где Rt и R2 — непрерывные функции» удовлетворяющие условиям:
Rt (z/) = 0, если у > 0; Rr (у) > 0, если у < 0;
Т?2 (у) = 0, если у = 0; R2 (у) > 0, если у Ф 0.
Типичными являются следующие формы функций /?х и Т?2:
Ri(y) = [max{0; — у}]₽; R2 (у) = | у |₽, р>0.
П*
163
Таким образом, штрафная функция а (X) обычно имеет вид
т I
а (X) = S (max {0; - gt (X)}]2 + £ h} (X). (5)
1=1 l—l
Обозначим через 0(r)
inf {/(X) 4-га(Х): Х^Ж). (6)
Рассмотрим задачу:
максимизировать 0(г) (7)
при условии
г>0. (8)
Предположим, что для любого г существует Хг £ £ такой, что
e(r) = f(Xr)+ra(Xr).
Докажите справедливость следующих утверждений:
1.
inf {f (X): g (Х)< 0; h (X) = 0, X £ Ж} > sup 0 (г), (9)
r>0
где
0(r) = inf {/(X) 4-га (X): X £Ж}. (10)
2. f (X,) — неубывающая функция от г при г > 0; 0 (г) —
неубывающая функция, а (Хг) — невозрастающая функция г.
3.109. Рассмотрим следующую задачу:
минимизировать f (X) (1)
при условиях
gi (X) <0, i = 1, tn\ (2)
ht (X) = 0, i = 177. (3)
Рассмотрим связанную с ней задачу со штрафной функцией:
минимизировать 0 (г) = f (X) 4- га (X) (4)
при условии Х£Ж, г>0,
где а (X) задается условием (4) из предыдущей задачи 3.107.
Тогда
inf {f (X): g (X) < 0, h (X) = 0, X £ Ж} = sup 0 (г) = lim 0 (г), (5)
r>0 r-ь 00
где 0 (г) задается условием (4).
Доказать справедливость утверждения (5).
3.110. Рассмотрим следующую задачу:
минимизировать еж* 4- х? 4- 2xtxa + 4x2
при условии
хх + 2х2 — 6 = 0.
164
Построить штрафную функцию при г = 10. Выполнить, начиная
из точки X = [1; Иг, две итерации метода сопряженных градиентов.
3.111. Рассмотрим следующую задачу:
минимизировать (хх — 6)а 4- (х2 — 8)а
при условии
(xi — ^2)<0.
Используя вспомогательную функцию fa — 6)а + (х2 — 8)а +
4- г max {х? — х2, 0} и метод циклического покоординатного спуска,
решить задачу при начальной точке Хх = [0; —4]г и следующих
способах изменения г:
а) начиная из точки Хь решить задачу со штрафом при гх = 0.1
и получить Х2. Затем, начиная с Х2, решить задачу при r2 = 10j
б) решить вспомогательную задачу при г2 = 100, начиная с точ-
ки безусловного оптимума [6; 8]г.
3.112. Рассмотрим следующую задачу:
минимизировать 4х? — 5ххх2 + xf
при условиях
xf — х2 4“ 2 0j
хх + х2 — 6 < 0.
Решить эту задачу методом штрафных функций при начальной
точке [0; 0]г для каждого из следующих видов множества Ж: а) Ж =
= Еп; б) Ж = {X : хг0, х2 > 0}; в) Ж = {(хх, XjJ : хх + х3 —
— 6 < 0, Хх > 0, х2 > 0}.
3.113. -Рассмотрим следующую задачу:
минимизировать (хх — 5)а 4- (х2 — 3)а
при условиях
хх -} х2 3;
— Хх 4- 2х2 4.
1. Построить соответствующую барьерную функцию Р (X, г0),
с начальным значением параметра r0 = 1. Используйте алгоритм
безусловной оптимизации при начальной точке Хо — [0; 0]г для
решения барьерной задачи.
2. Найти оптимальное решение задачи, используя метод барьер-
ных поверхностей.
3.114. Рассмотрим следующую задачу:
минимизировать (хх — 6)а 4- fa — 8)а
при условии
— х? 4- х2 0.
Используя вспомогательную барьерную функцию (хх— 6)а 4*
Ли
и метод циклического покоординатного
165
спуска, решить эту задачу при начальной точке Хх = [0; 12]г и сле-
дующих стратегиях изменения г:
а) решить барьерную задачу, начиная из точки Хъ при гх = 10,
и получить Х2. Затем, начиная из Х2) решить задачу при г2 = 0,01;
б) решить барьерную задачу, начиная из точки [0; 12]г при i\ =
= 0.01;
в) применить алгоритм МБП, описанный выше, используя по-
следовательно убывающие значения: г = 10, 1, 0.1 и 0.01.
3.115. Барьерные функции можно использовать и в случае
ограничений-равенств. Для этого следует заменить ограничения-
равенства ht (X) = 0 одним из следующих ограничений, где 8 >
>0 — малое число:
a) Zi1(X)<s; б) |МХ)|<в; в) йДХХе и — ftz(X)<8.
Исследовать каждый из этих подходов, для чего решить следу-
ющую задачу при 8 = 0.05:
минимизировать (xi + х!)
при условии
(хх + х2) = 2.
3.116. Рассмотрим задачу минимизации f (X) при условии
gt (X) 0, i = 1, т, hi (X) = 0, i = 1, I, X £ Ж. Тогда смешанная
вспомогательная функция задается в виде
/(Х) + гР(Х) + -^а(Х),
где Р (X) = Р (g (X)) — барьерная функция для ограничений-не-
равенств (например, вида 3.87), а (X) — штрафная функция для огра-
ничений-равенств. Справедливы следующие утверждения:
1) inf {/(X): g (X) > 0, /i(X)=0, X £ Ж} = lim 0 (г),
j г-*0
2) гР(Хг)->0 и -^-а(Хг)->0 при г->0+,
где 0 (г) = inf (f (X) + rP (X) + а (X): X £ Ж, g(X) > о) = f (Хг) +
+ гР(Хг)+±а(Хг).
а) Доказать эти утверждения при соответствующих предполо-
жениях.
б) Описать алгоритм для решения задачи НП, использующей
смешанную вспомогательную функцию, и применить его для реше-
ния следующей задачи:
минимизировать е*‘ — ххх2 4- х!
при условиях
X? + х! = 4;
-|- х2 2.
166
3.117Л Исследуйте возможность использования двух параметров
гх и г2 так, чтобы вспомогательная функция получилась бы в виде
f(X) + r1P(X)+^-a(X).
С помощью такого подхода решите следующую задачу при Хе =
= [0; 0]г и начальных значениях параметров: гх = 1.0; г2 = 2.0:
максимизировать (— х? + 2ххх2 + х!—
при условии
хх + х2 — 4 = 0.
3.118. Сравните методы штрафных и барьерных функций. Ка-
ковы их достоинства и недостатки?
3.119. Рассмотрим задачу:
минимизировать (е*1 — ххх2 + xD
при условиях
2xi + х2 С 4;
хх, xt 0.
1) Решить ее методом барьерных поверхностей, используя в ка-
честве начальной точки Хо = [1; 1]г и приняв г0 = 1; 0 = 0.1.
2) Решить эту же задачу методом штрафных функций, начиная
с точки Хо = [2, 41г , приняв r0 = 1; 0 = 10. Построить траекто-
рии движения для обоих методов и сравнить их.
3.120. Рассмотрим так называемый метод барьеров без параметра
для решения задачи минимизации f (X) при условиях g( (X) 0,
i = 1, tn. ___
а) Начальный этап. Выбрать Хх так, чтобы gt (Хх) > 0, i = 1, т.
Положить k = 1 и перейти к основному этапу.
Основной этап. Положить X* = {X : f (X) — / (ХА) < 0,
gi (X) > 0}. Положить Х*+ь равным оптимальному решению сле-
дующей задачи:
т
минимизировать /(Xft)Lf(X) + £
при условии
1 xgxft.
Заменить k на k 4- 1 и повторить основной этап.
1) Решить с помощью этого алгоритма следующую задачу при
начальной точке Хх = [0; 2]Т:
минимизировать (хх — 6)2 + (х2 — 8)2
при условии
Xi — х2 С 0-
2) Сравнить полученную здесь траекторию с траекторией, по-
строенной в задаче 3.112.
3) Сформулировать предположения, при которых метод сходит-
ся к оптимальному решению, и доказать сходимость.
167
3.121. Рассмотреть НП-задачу:
минимизировать Xi 4- 2ххх, + Хг + 2хх + 6х,
при условиях
xi ~Ь х2 3;
Х„ Х2^0.
1) Решить ее методом штрафных функций, используя в качест-
ве начальной точку Хо = [0; 0]г и г — 1, приняв Р = 10.
2) Решить методом барьеров, выбрав в качестве начальной точ-
ку Хх = [2; 2]г; р =0.1, и сравнить полученные результаты. По-
строить траекторию движения по обоим методам.
3.122. Решить следующую НП-задачу:
минимизировать хх 4- ха — 2х8
при условиях
Xi + xi + Хз = 9;
хх — 2x1 + х8 = 2.
1) Применить метод ПБМ, предложенный Фиакко — Маккор-
миком.
2) Заменив каждое из ограничений-равенств ht (X) = 0 на систе-
му неравенств: hi (X) е; hi (X) —в; 8 > 0, решить данную
задачу методом штрафных функций, используя в качестве начальной
точку Хо = [1; 1] .
Глава 4
ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
4.1. ОБЩАЯ СХЕМА МЕТОДА
Динамическое программирование — это вычислительный метод для реше-
ния задач определенной структуры, а именно задач, в которых целевая функция
является аддитивной или мультипликативной [7, 17].
Напомним, что функция п переменных f (xi9 х2, ..., хп) называется аддшпив-
п
ной, если / (хх, х2, „„ хп) = 2 ft (xj), и мультипликативной, если f(x19 х2,
f=i
п
... хп) = П (xit.
i=l
Основные идеи метода динамического программирования рассмотрим на
следующем примере.
Пусть требуется найти
maxS/.fx.) (4.1.1)
{*/} 1 1
при условиях
п
S (4.1.2)
/=1 _______________
Xj > 0, xf — целое, / == 1, п.
168
Поскольку переменные {х/} / = 1, п независимы, то
п г п— 1 )
max £ ff (xf) = max lfn (x„) + max J h(xiH> <4.I.3>
Xi,...tXn y—1 Xn ( *1, 1 /= 1 J
Зафиксируем переменную xn и
n
найдем max У Mx,) (4.1.4)
x*..xn—\ /=1
при условии
п— 1
S ax.^b — anxn. (4.1.5)
/=1
Обозначим
Пг-1
max S
X1..xn /=1
при условии (4.1.5) через j (b — anx^ и получим
n
max £ /,(х,) =max (xn) 4-Л„_1 (6 —anx„)}. (4.1.6}
/“1 xn
Обозначим
k
max У /,(х.)
«•..*й/=1 '
при условии
S (4Л-7>
/=1
через Ал (g).
Тогда после несложных преобразований приходим к следующему основному
рекуррентному соотношению динамического программирования (ОРС)
Лй (g) = max (xft) + Aft_, (g — a*xfc)}, й = ТГп (4.1.8)
xk
при условии
OPC (4.1.8) используется для организации вычислительного процесса в схе-
ме ДП следующим образом.
Ш а г 1. Вычисляем
Aj (g) = max Л (xj, (4.1.9)
где g = 1, 2, ...» b — параметр процесса. Заполняем таблицу 4.1 шага 1 значе-
ниями Aj (g), х° (g) для всех g= 0, 1, ..., Ь.
Ш а г 2. Вычисляем
Л2(g)= max {f2(x2) + Лх (g — а2х2)}, (4.1.10)
—
а2
При этом значения Лх (g — а2х2) для различных значений аргумента g —
выбираем из таблицы шага 1. В результате вычислений запоминаем таблицу
шага 2: Л2 (g), х§ (g), xj (g), гдё x!J — оптимальное решение ОРС (4.1.10),
(табл. 4.2).
' Шаг k(r^k 1). Вычисляем ОРС вида (4.1.8) для всех g. При этом
бначения Afe—1 (g — а^) выбираем из таблицы предыдущего (k — 1)-го шага.
169
Ш а г п. Приняв 5 = b (верхнее значение правой части ограничения (4.1.2))
и положив в (4.1.8) k = п, приходим к соотношению
An (£ = b) = max {fn (хп) + A„_j (Ь — апхп)}. (4.1.11)
хп
при условии
ип
Вычислив в (4.1.11) оптимальное значение х° = х® (Ь) и положив = Ъ —
— апх® (Ь), по значению gj из таблицы (п — 1)-го шага определяем оптимальные
значения всех остальных переменных: х^ (^, хп_2 (5?), •••> х°\ (£?)•
Таблица 4.1
$ л1 (0 X? (0
0 Л, (0) х° (0)
1 Л1 (1) х° (1)
• • •
Ь — 1 Л1 (6-1) х°(Ь- 1)
ь AJ6) X® (*)
Таблица 4.2
л2 (0 Х° (0
0 Л2 (0) х° (0)
1 Л2 (1) х° (1)
• • •
Ь — 1 Л2 (6-1) х° (л- 1)
ь Л^Ъ) x°W
Таким образом, динамическое программирование (ДП) представляет собой
метод направленного перебора вариантов, где процесс оптимизации может быть
интерпретирован как многошаговый процесс принятия решений.
На каждом шаге k этого процесса определяется оптимальное значение только
одной переменной х^ при всех возможных значениях параметра состояния 5, и
при этом используются результаты вычислений предыдущих шагов.
Для применения схемы ДП необходимо, чтобы выполнялись следующие основ-
ные условия:
1) процесс поиска оптимальных решений должен допускать интерпретацию
как многошаговый процесс принятия решений;
2) для каждого шага должно существовать некоторое определенное множе-
ство параметров состояния £, и оно не должно изменяться от шага к шагу (т. е.
должно не зависеть от числа шагов);
3) наконец, оптимальное решение на fc-м шаге xQk не должно влиять на най-
денные оптимальные решения предшествующих шагов, кроме необходимого пере-
счета значений параметра £;
4) оптимальное решение на &-м шаге должно зависеть только от текущего
состояния и не должно зависеть от предыстории процесса (т. е. траектории,
по которой системы приходят в это состояние). Системы (процессы), обладающие
указанным свойством, называются марковскими.
Задача об использовании рабочей силы
Производителю работ нужно определить оптимальное число работников в
каждый из п месяцев. Производственные задания для каждого месяца известны.
Допустим, что в /-й месяц идеальное число рабочих — /п/. Если бы производитель
работ мог увольнять и принимать новых рабочих без дополнительных затрат,
то он мог бы в /-й месяц принять ровно т/ рабочих (/ = 1, 2, ..., п).
Предположим, что работа /-го месяца может быть выполнена и меньшим чис-
лом рабочих при сверхурочной работе. Пусть х/ — фактическое число рабочих
170
в /*-й месяц. Затраты по изменению численности рабочих при переходе от
(/ — 1)-го месяца к /-му определяются функцией // (х/ — Xy_j).
В зависимости от знака величины х/ — Ху_j функция /у (х/ — Xj_{) опреде-
ляет затраты по найму или увольнению. Очевидно, // (0) s 0. Отклонение числен-
ности рабочих от mj приводит к расходам gj (х/ — mj), причем gj (0) s0; / =
ws 1, 2, ..., и. Считаем, что в начальный момент число рабочих составило /п0.
Целевая функция задачи z определяется соотношением
г=Е —+ —'"А (4.1.12)
где х0 == /п0. Очевидно, что имеется задача с фиксированным началом,
Выведем основное рекуррентное соотношение:
z= min + +
*>.хп
+ Д {// (А7 — xi-d + •
min J {fj (х. — xz_i) + g (x, — mj)} = min {[/2 (xt — xx) + g, (x, — m2)] +
...Xn /=2 x*
+ min J] //(*;—*/_!) +£/(*/ —От/)}. (4.1.13)
..xn /=3
Данную задачу удобно решать в обратном направлении. Обозначим
Л„ (|) = min [/„ (х„ — g) + gn (хп — тп)], (4.1.14)
где g= xn_v
Основное рекуррентное соотношение имеет вид
л* (g) = min [fft (xk — У + gk (Хк — mk) + Aft+1 (xk)], (4.1.15)
xk
где Afc (?) — минимальные затраты ^a месяцы от k-го по /i-й включительно, если
количество работников в (k — 1)-й месяц равно £.
На последнем шаге определяется оптимальное число рабочих в первый месяц
при условии, что на начало месяца их численность составляла/п0. Определив хр
последовательно находим х^ = х2 (х*), х3 = х3 (х*) и т. д. Здесь решение в обрат-
ном направлении удобно, так как ничего не известно о числе рабочих на (п + 1)-й
месяц, тогда как в начале процесса задано /п0., .
Рассмотрим теперь случай, когда, кроме /п0, задано и mn_^v На этот раз бу-
дем искать целые числа, обращающие в минимум выражение
<г = S Vf (xi ~ х!-д + + Аж <mn+i — хп)1 (4.1 • 16)
/=1
Здесь
? = min /n+,(m„+1 —х„)+ min V [ff (Xj _х^) + gf (mj — xp]l.
xn I Xi.Xn /=1 J
Поскольку теперь задано конечное состояние системы тп_^у то будем решать
задачу в прямом направлении.
Определим последовательность функций состояния
(g) = min ЬЛ+1 (g — х«) + gt+1 (I — mft+1) +
Xi.Xk I
$ ]
+ S //(*/ —х/-1) + в/(т/ — */)(’ ft=1« 2...............
171
где минимум находим по целым и неотрицательным х^ ...» х^ Тогда
Ai (6) = min {/2 (g — х,) + g9 (g — m2) + /4 (Xj — m0) + gt (m4 — xj).
Xi
Основное рекуррентное соотношение ДП (динамического программирования)
Ak (5) = min {^+1 (g - xk) + gk+i (g - mk+J + AM (xk)}. (4.1.17)
xk
Функция Ak (g) есть минимальные затраты в течение k + 1 первых месяцев
при условии, что численность рабочих в (k + 1)-й месяц равна g.
На последнем шаге при k = п, положив g = тп^9 приходим к соотношению
Л„ (m„+1) = min {f„+1 (m„+1 + An-1 (х„)}. (4.1.18)
хп
Определив из (4.1.18) оптимальное значение х* по таблице предыдущего (п —
— 1)-го шага, найдем искомые значения всех остальных переменных х„—ч» хп—з»
х* (для этого необходимо подставить значение g = х*).
Подведем некоторые итоги. Если задано начальное состояние системы, то
задача решается методом динамического программирования в обратном направ-
лении. Если задано конечное состояние системы, то в прямом направлении.
Наконец, если заданы как начальное, так и конечное состояния, то можно
решать как в прямом, так и обратном направлениях. Результаты решения по
обеим схемам совпадут.
Пример 4.1. Применим метод динамического программирования
для решения задачи о наборе работников со следующими исходными
данными: число месяцев п = 4, требуемое число работников по меся-
цам /Hi = 2, т2 = 5, т3 = 3, т4 = 1, число работников в начале
работ ш0 = 2.
Пусть функции затрат имеют следующий вид:
ч 110 (X/ — Х/-1), если xz;
//(X,. если X/S В
fl (0)^0;
(8(х/ —от,), если Х/^
если Х/<
&(О)аО.
Так как начальное условие зафиксировано, то задачу будем ре-
шать в обратном направлении.
Запишем основное рекуррентное соотношение
Лк (£) = min {fk (xk — I) + gk (xk — mk) + Aft+I (xA)},
xk
где g = xk-i.
Шаг 1. (k = 4)
Л4 (£) = min {ft (x4 — £) + (x4 — mj}= min Q4 (x4, £).
x. X,
Для отыскания Л4 (£) составляем вспомогательную таблицу зна-
чений й4 (х4, g) (табл. 4.3). Поскольку все функции (х/ — X/_i) и
gt (nij — Xj) выпуклы по переменным X/, то и функция Д (xz — x/_j)
выпукла по х4 для всех g.
172
Таблица 4.3
ё *4 q4 ё *4
0 0 11 3 0 32
1 10 1 14
2 28 2 15
1 0 18 4 0 39
1 0 1 21
2 22
2 0 25 5 0 46
1 7 1 28
2 8 2 29
Поэтому для нахождения Л4 (5) достаточно определить первый
относительный минимум й4 (х4, 5)> который и будет глобальным.
В соответствии с этим значения функции й4 (х4, () вычисляем лишь
для области значений х4, содержащей этот минимум (табл. 4.3).
Вычисления выполняем следующим образом.
1. g = 0, х4 = 0, й4 = 0+ 11(1 —0)= 11;
5 = 0, х4=1, й4= 10 • 1 4-0= 10;
5 = 0, х4 = 2, Й4 = 10(2 — 0)4-8(2 — 1) = 28, Л4(5 = 0) = 10.
2.5=1, х4 = 0, й4 = 7 (1 — 0)4- 11(1— 0) = 18;
g=l, х4=1, Q4 = 7(l-l)+ll(l-l) = 0, Л4(5=1) = 0.
3. 5 = 2, х4 = 0, Й4 = 7(2 — 0)4- 11(1 — 0) = 25;
5 = 2, х4 = 2, й4 = 7 • 0 4-8 (2 — 1) = 8;
5 = 2, х4=1, й4 = 7(2—1)4-11 (1 — 1) = 7;
Л4(5 = 2) = minQ4(5 = 2, х4) = 7.
4.5 = 3, х4 = 0, Q4 = 7(3 — 0)4- 11(1— 0)= 32;
5 = 3, х4=1, й4 = 7(3—1)4-Н(1 —1)= 14;
5 = 3, х4 = 2, й4 = 7(3 —2) 4-8(2—1) = 15; Л4(5 = 3)=14.
5. 5 = 4, х4 = 0, Й4 = 7(4 — 0)4- П(1— 0) = 39;
5 = 4, х4=1, й4 = 7 (4 — 1)4- 11(1 — 1)= 21;
5 = 4, х4 = 2, й4 = 7(4 — 2) 4-8(2 — 1) = 22; Л4(5 = 4)=21.
6. 5 = 5, х4=0, Й4 = 7(5 — 0)4-11(1— 0) = 46;
5 = 5, х4=1, Й4 = 7(5—1)4-0 = 28;
5 = 5, х4 = 2, й4 = 7(5 — 2) 4-8 = 29; Л4 (5 = 5) = min Й4 = 28.
Результаты заносим в табл. 4.3.
Значения Л4 (5) = min й4 (5> для всех 5 выбираем из
X,
табл. 4.3 и вводим в основную табл. 4.4.
173
Таблица 4.4
а Л4 (&) х4 а Л4 © х4
0 10 1 3 14 1
1 0 1 4 21 I
2 7 1 5 28 1
Таблица 4.5
5 Х9 «я а Хъ Йа
0 0 40 3 0 64
1 32 1 36
2 38 2 25
3 14
4 24
I 0 50 4 2 32
1 22 3 21
2 28 4 29
2 0 57 5 2 39
1 29 3 28
2 18 4 36
3 24
Таблица 4.6
а Xi Ха, а Ля хя х4
0 32 1 1 3 14 3 1 1
1 22 1 1 4 21 3 1 1
2 18 2 1 5 28 3 1 1
Ш а г 2. Здесь используется рекуррентное соотношение
Л3 (?) = min {/3 (х3 — ?) + g3(x3 — т3) + Л4(х8)},
х,
а вычисления выполняются аналогичным образом.
Вспомогательные результаты представлены в табл. 4.5, а итого-
вые — в табл. 4.6.
Ш а г 3. Вычисляем для всех возможных значений:
Л2 (?) = min {f3 (х2 — ?) + g3 (х2 — т3) 4- Л8 (х2)} = minЙ2(х2 ?).
x. х.
Результаты заносим в табл. 4.7 и 4.8.
Ш а г 4. Используя начальное условие ? = х0 = 2 и подставляя
его в соотношение
Лх (х0) = min {f (х4 — х0) + gr (Х]_ — mfi + Л2 (хх)}»
174
Таблица 4.7
x2 Q2 £ Xt Q2
0 0 87 3 1 80
I 76 2 58
2 71 3 36
3 66 4 42
4 72
I 2 61 4 2 65
3 56 3 43
4 32
4 62 5 38
2 2 51 5 4 39
3 46 5 28
4 52 6 46
Таблица 4.8 Таблица 4.9
$ Л2 xt X» x< £ = X9 Xi Q,
0 66 > 3 3 1 ! 2 1 74
1 Efi 3 3 1
2 46 > 3 3 1 2 46
3 36 > 3 3 1
4 32 4 5 28 5 3 3 1 1 3 54
находим At (х0 = 2) и оптимальное значение переменной х* =
= х* (х0) = 2. (данные вычислений приведены в табл. 4.9). Далее
из табл. 4.8 по значению | = х* = 2 находим оптимальные значе-
ния всех остальных переменных х* = 3, х£ = 3, х* = 1. При этом
решении минимальные суммарные затраты составят Aj = 46.
4.2. ДИНАМИЧЕСКИЕ ЗАДАЧИ УПРАВЛЕНИЯ ЗАПАСАМИ
При планировании работы системы снабжения п периодов с непостоянным
спросом приходим к так называемым динамическим задачам управления запаса-
ми. Эти задачи не поддаются аналитическому решению, однако могут быть решены
методом динамического программирования.
Пусть имеется система снабжения, которая планирует свою работу на п
периодов. Обозначим через yk остаток запаса от (k — 1)-го периода, d& — сум-
марный спрос за £-й период; xk — заказ (поставка), выполняемый в £-м перио-
де. Пусть затраты на выполнение заказа равны (хь, yk), предположим, что
заказ на пополнение запаса выполняется мгновенно. Обозначим затраты по хра-
нению избыточного запаса в &-м периоде через + Ук — d^.
Тогда суммарные расходы по снабжению за п периодов равны
LnT = S Ck М + S* + yk-dk), (4.2.1)
k=\
причем ____
Xk + Vk — &k~yk+v (4.2.2)
175
Требуется найти такие объемы заказов {xfe, у^}, при которых (4.2.1) обраща-
ется в минимум при условии (4.2.2).
Для минимизации LnT воспользуемся методом динамического программиро-
вания. Будем последовательно минимизировать затраты на 1, 2, п периодов.
Определим последовательность функций состояния:
k
Л* (?) = min С/ («/> »//) + (*/ + У/ — <*/)
при условии, что хк + yk — dfe = Тогда основное рекуррентное соот«
ношение будет иметь вид
ЛЛ (g) = min [fk (хк, ук) + Ал_! (g - хк + 4)1, (4.2.3)
xk
где &=уН1.
Вычисляем последовательно Л2 (5), Л2 (5) и т. д.» и, наконец, Ап—1 для всех
значений На последнем шаге, положив 5 == найдем Лп (уп_^ и х* (y^j).
Далее определяем уп = уп . j + dn — хп и, положив = уп, находим искомые
♦ * *
значения всех остальных переменных: хп_р хп_2, ..., хР
Рассмотрим частный случай, упрощающий вычислительную схему.
Допустим, что все функции С (xj) производственных затрат (стоимости за-
каза) вогнуты по Xj, а стоимость хранения линейна, т. е. S (Уу+1) = s/^/4-1 =“
= Sj (xj + у, — dj).
Обозначим общие затраты за период С/ (х/) + Sjy^ — / (х/, У/44). Очевидно,
функция / (х/, f//+1) вогнута по х/ и у/+1.
Благодаря свойству вогнутости fj (xj, У].^' процесс вычислений значительно
упрощается и уже не требуется вычислять Л& (|) путем просмотра всех возможных
значений х/, а достаточно перебрать лишь крайние значения каждой из перемен-
ных х/. Величина Л/ (£) вычисляется согласно выражению
(k k \ k / k \
S+£dn;S + £ dn + £ f, 0; £ dn ,
n=i n=/4-l / \ n=/H-l /
ЛНУ= min gk(i). (4.2.4)
где gk (0 — расходы за k периодов при условии, что последний заказ выполнялся
в Z-м периоде.
Рассмотрим частный случай вида функции производственных затрат Cj (х/).
Пусть 4
г 0, Ху = 0;
j Лу + сху, Ху > 0,
(4.2.5)
где Aj — фиксированные затраты на заказ (затраты на переналадку оборудова-
ния); с удельные производственные затраты.
В этом случае математическая модель задачи принимает вид:
найти такие {х/, у]}, при которых
£ AI^I (х/) + S/I'z+I -* min z=l (4.2.6)
при условиях Xj + Vj — yi+i = Xfl^o, (4.2.7)
где 0, если Xy = 0; 1, если Xy > 0. (4.2.8)
176
вадача решается путем последовательного вычисления
ЛЛ (0) = min gk (0, k = 1, 2, . * . , n, (4.2.9)
где
й—i k
gk (0 = A/_1 (0) + A( + 2 s. £ da, (4.2.10)
/=/ Пя=/-{-1
где v — номер периода, в котором выполнялся последний заказ при вычисле-
нии А4_ь
Пример 4.2. Предприятие планирует свою работу на 7 месяцев
вперед. Для выполнения плана ему необходимо производить не-
которые детали, входящие в состав готовых изделий. Пусть месячная
потребность (спрос) в деталях равна = 20; d3 — 10; d3 = 25;
dt = 20; ds = 10; d3 = 12; = 16. Затраты на производство x
деталей в /-м месяце равны
Л6 (х/), если Xj > 0;
0 в противном случае,
Q (xi) — I
где А = 100 руб.— затраты на перекладку оборудования, которая
производится только в те месяцы, когда выпускаются детали, при
этом временем выпуска пренебрегаем.
При изготовлении деталей на несколько месяцев вперед появля-
ются дополнительные расходы на хранение избыточного запаса де-
талей. Удельные затраты по хранению избыточного запаса состав-
ляют s = 3 руб./месяц X деталь.
Требуется определить периоды производства деталей, а также
объемы производства х°, при которых минимизируются суммарные
затраты по производству продукции и хранению избыточного за-
паса за 7 месяцев. Другими словами, требуется найти такие х/,
для "’которых
7 7
Ln = 100 S (Xj) + 3 S K/+1 -> min
z=i /=i
при условиях Xj + у! — dj = y/+i, j = 1, 2, ..., 7.
Задачу решить при условии, что конечный запас у9 — 0. Для
решения воспользуемся соотношением (4.2.10).
1. Находим Л! (0) = Л1 = 100.
2. Определяем '
Л + sd,= 100 + 3. 10 = 1301
Л2 (0) = mm (()) + л# = 100 + 100 = 200 } = 130,
3. Вычисляем
Л,(0) =
Л7 + з (d3 + dg) + sd3 = 100 + 3 (10 + 25) + 3 • 25 = 280;
= min Aj (0) + Л, + sd3 = 100 + 100 + 3 • 25 = 275;
Л2 (0) + Л8 = 130 + 100 = 230;
Д8 (0) = 230, i = 3.
12 8-4063
177
Таблица 4.10
Период k 1 2 3 4 5 6 7
Спрос dk 20 10 25 20 10 12 16
i = I 100 130 * 280
t = 2 200 275
i = 3 230 ♦ 290 * 350 ♦ 446
gHO 380 405 432
Z= 5 390 425 ♦ 522
i= 6 450 498 ♦
Z= 7 526
MO) 100 130 230 290 350 425 498
Периоды 1 1 1 1 1 1 1
выпуска
продукции 3 3 3 3 3
5 6
Остальные шаги выполняем аналогично, а результаты заносим в
табл. 4.10.
В каждом столбце этой таблицы звездочкой отмечен минимум
gk (0, который равен (0). В последнем столбце таблицы указаны
номера периодов, в которые выпускаются детали, i = 1,3, 6. От-
сюда легко определить оптимальные объемы выпуска:
х± = di 4* ^2 = 30; х% = 0; Xg = d3 4“ d± 4- e 55;
x4 = x6 = 0; xe== de4-d7== 28; x7 = 0.
Этому плану соответствует минимум затрат: Л7 (0) « 498 ед. ст.
18. БЕСКОНЕЧНО ШАГОВЫЕ ЗАДАЧИ ДИНАМИЧЕСКОГО
ПРОГРАММИРОВАНИЯ
Способы оценки бесконечных последовательностей
эффектов
Рассмотренные выше модели задач планирования охватывали некоторый ко-
нечный интервал времени, состоящий из конечного числа (п) отрезков. Однако
функционирование системы на этом не прекращается, а ранее принятые решения
безусловно влияют на ее поведение в будущем. В этом смысле эти модели можно
рассматривать как элементы бесконечного планового периода. При этом беско-
нечный плановый период можно трактовать, как предел конечного периода при
п ->оо.
Для того чтобы в моделях с бесконечным плановым периодом получить опре-
деленные решения, вводится ограничительное допущение о стационарности,
которое означает, что все функции экономического эффекта и внешние условия
для каждого из отрезков одинаковы либо изменяются циклически. Если рассмат-
ривается вероятностная система, то ее вероятностные характеристики предпола-
гаются стационарными.
178
Прежде чем рассмотреть метода принятия оптимальных решений при беско'
вечном плановом периоде, необходимо выработать способы оценки и сравнения
бесконечных последовательностей эффектов (затрат).
Существуют три способа оценки таких последовательностей (критерии ка-
чества):
1) средний эффект за отрезок (СЭ); 2) интегральный дисконтированный эф-
фект (ИДЭ); 3) эквивалентный средний эффект (ЭСЭ).
1 Рассмотрим эти оценки. Допустим, что некоторой стратегии управления
системой отвечает последовательность эффектов
1 <4
#1, Я2> • • • > #6 тогда СЭ = lim — V Rk.
t-oo 1 fe=l
Основной недостаток критерия СЭ состоит в том, что он одинаково оцени-
вает как доход, полученный в данный момент, так будущие доходы. Вместе с тем,
разумеется, ценность одной и той же величины эффекта в настоящий момент и
спустя k отрезков (лет) вовсе не одинакова, и чтобы учесть эту неравноценность,
вводится коэффициент дисконтирования а (0 < а 1), с помощью которого вся
последовательность значений эффекта приводится к настоящему моменту времени.
В результате приходим к так называемому интегральному дисконтированному
эффекту:
ИДЭ = /?! + «/?,+ ... +«'’-/?„ а'-1/?,.
/=1
Г i I""1
Величина а может быть, например, определена, как а = 1 + jgg ,
где i — годовая процентная ставка (годовые проценты, получаемые за денежные
средства, помещенные в банк).
Связь между критериями СЭ и ИДЭ осуществляется через так называемый
эквивалентный средний эффект (ЭСЭ).
Под ЭСЭ понимается такая величина эффекта, постоянная на всех отрезках
/= 1, оо, что ИДЭ для последовательности из значений ЭСЭ и для исходной
последовательности совпадает.
Допустим, что для последовательности Rit R*, ..., Rt
ИДЭ А £ Р(а).
Обозначим ЭСЭ=Х (а). Имеем последовательность
X (а) + аХ (а) + а2Х (а) + • • • + akX (а) =
= (1 + а + а«+ ...)Х(а) = -^".
1 — а
Но поскольку по определению для обеих последовательностей ИДЭ совпа-
d / ч X (а)
дает, то Р (а) » ——, откуда
1 — а
ЭСЭ = X (а) = (1 — а) Р (а) (1 — а) ИДЭ.
Заметим, что во всех случаях, когда средний эффект за отрезок определен,
его можно получить путем предельного перехода:
СЭ = lim ЭСЭ (а) = linr (1 — а) ИДЭ.
а-И а-Н
Сетевые задачи динамического программирования
Многие задачи оптимального планирования и управления (например, управ-
ления запасами, распределения ресурсов) могут быть представлены в виде неко-
торой сетевой модели, в которой каждому состоянию системы соответствует
12*
179
некоторая вершина сети, и задача оптимального планирования интерпретируется
как задача нахождения кратчайшего маршрута в сети. Рассмотрим для примера
некоторую сеть, включающую р вершин и множество ориентированных дуг, ко-
торые соединяют некоторые вершины между собой (рис. 4.1).
Перемещению по каждой дуге (х, /) соответствует некоторый эффект (затраты)
причем время перемещения из i в j примем равным одному отрезку планового
периода. Как и ранее, коэффициент дисконтирования обозначим через а.
Пусть маршрут начинается в некоторой произвольно выбранной вершине х*.
Предположим далее, что из вершины х мы направляемся в вершину /, причем воз-
. никают дисконтированные затраты
-----------------------НГО____________Если пРоцесс продолжается не-
ограниченное время, маршрут является
^-ч^Х_________________________________СЧ бесконечным. Обозначим через yi ин-
(fjr------------xSt 1 тегральные дисконтированные затраты
, .Х^ для оптимального бесконечного марш-
у'ТЧ*__________рута, который начинается в вершине I.
Если принятая стратегия является ста-
рис. 4.1 ционарной, то каждый раз, возвратив-
шись к вершине х, мы снова выбираем
ту же дугу, которая была выбрана и при предыдущем заходе в эту вершину.
• Пусть существует стационарная стратегия, которая является оптимальной,
тогда соответствующие величины ИДЗ {^} удовлетворяют следующей системе
функциональных уравнений:
yi = min (ауу + с^ для всех вершин i, 0 < а < 1.
(4.3,1)
При анализе уравнений (4.3.1) возникают следующие вопросы: 1) всегда ли мож-
но для всех значений yi отыскать однозначное и конечное решение? 2) если да,
то является ли соответствующая стационарная стратегия действительно опти-
мальной?
Ответы на оба вопроса являются утвердительными и следуют из теоремы о
стационарной стратегии £2]. ।
Всегда существуют однозначно определенные конечные yt> i — 1, р и соответ-
ствующая стационарная стратегия является оптимальной.
Метод итераций по критерию
Итак, пусть имеется система функциональных уравнений
вида
yt = min (осг/у + с{/).
для всех (X, /)
Ее решение методом итераций по критерию состоит в следующем.
Шаг 1. Задаемся начальными значениями (например,
^0) = 0) и и = 0.
Ш а г 2. Вычисляем
у<«+1> __ mjn для всех (4.3.2)
«./)
Ш а г 3. Если ^я+0 =уТ ДЛЯ всех i, это конец, иначе перехо-
дим к шагу 2, положив п = п 4- 1. Если все уТ = 0 и все Сц 0,
то значения уТ возрастают монотонно и каждое из yf сходится
к своему пределу yit однако сходимость не гарантируется за конеч-
ное число итераций.
180
Метод итераций по стратегиям
Функциональные уравнения для сетевой модели (4.3.1) можно
решать и с помощью метода (алгоритма) итераций по стратегиям,
который имеет следующий вид.
Шаг 1. Выберем произвольную исходную стратегию и примем
у® = 0 (заметим, что выбор стратегии означает выбор определен-
ной дуги Cij для каждой вершины i).
Шаг 2. Для заданной пробной стратегии вычислим значения
у" в соответствии с системой уравнений расчета стоимости вершин:
у" — щД + си или у? — ау{"> + cth (4.3.3)
где дуга (f, /) отображает решение для вершины соответствующее
конкретной пробной стратегии.
Ш а г 3. Проверим возможность дальнейших улучшений, вы-
числив
min + Сц) — Y{?} для всех i. (4.3.4)
w,/)
Шаг 4. Если = уТ для всех /, то прекратим расчеты.
В противном случае изменим стратегию для каждой вершины k,
для которой Yfi? < y(k\ выбрав дугу, позволяющую достичь в
(4.3.4) значения Y^. Перейдем к итерации (п + 1) на выполнение
шага 2 на основе новой пробной стратегии.
Метод итераций по стратегиям обладает следующими свойст-
вами:
1) для любой вершины i у{?+{) у(?9 и если Y%} < у£\ то yln+I) <
<уГ;
2) алгоритм является конечным;
3) стратегия, позволяющая по завершению расчетов достичь
у{9 i = 1, р, является оптимальной.
Минимизация среднего эффекта за отрезок
Рассмотрим теперь в качестве критерия оптимизации сетевой модели
средний эффект (затраты) за отрезок. Допустим, что величина среднего
эффекта за отрезок существует, и обозначим ее минимальное значение через с.
Кроме того, предположим, что в рассматриваемой сети существует направленный
маршрут от любой величины t, по крайней мере, к одной из вершин, входящих
в цикл, который позволяет достичь с. Построим функциональные уравнения,
включающие с.
Пусть yt — ИДЭ для системы, если текущее ее состояние i. Тогда ЭСЭ для
вершины i будет равен (1 — a) yi. Величину ЭСЭ для каждой вершины i удобно
связать с величиной с следующим соотношением:
(1 — a) yt = (1 — а) wt +с, 0^а<1, (4.3.5)
где wi называют весом i-й вершины.
Тогда
yL + -у-j, 0<а<1. (4.3.6)
181
(4.3.7)
Подставляя yi из (4.3.6) в (4.3.1) после простых преобразований, получим
функциональное уравнение в виде
w, = min (awi + c/, **2)f
V(<./) 1 4
или в следующем эквивалентном виде:
+ с = min (aa>y + Сц) для всех вершин L
Положив a = 1, приходим к искомому функциональному уравнению
+ с в min (wt + си)
для всех вершин I,
(4.3.8)
Для решения функциональных уравнений (4.3.8) используется метод итера-
ций по стратегиям. Заметим, что если найдены значения удовлетворяющие
экстремальным уравнениям (4.3.8), то и значения w't = wt + а для всех i (где а —
некоторая константа) также будут решениями этих уравнений. Таким образом,
значения wi не являются единственными и удобно принять одно из них равным
нулю (например, 0^=0).
Предположим, что на каждой итерации проверяемая стратегия включает
ровно один цикл.
Алгоритм итераций по стратегиям включает следующие операции.
Шаг 1. Выберем произвольную пробную стратегию и примем = 0.
Ш а г 2. Для заданной пробной стратегии вычислим значения ^(п) и с(п) в
соответствии со следующими уравнениями стоимости вершин:
Ц«)—а- Сц для всех вершин i, (4.3.9)
где дуга (Z, /) отображает решение для вершины Z, соответствующее пробной стра-
тегии.
Ш а г 3. Проверим возможность дальнейшего улучшения, вычислив
^rnin + cif — IF/n). (4.3.10)
Ш а г 4. Прекратим расчеты, если для всех i = 1, р. В против-
ном случае изменим стратегию для каждой вершины k, для которой
выбрав дугу, позволяющую достичь в (4.3.10) значения Перейдем от итера-
ции п к итерации (n + 1) на выполнение шага 2 при новой пробной стратегии.
Итак, на каждой итерации требуется решать систему (4.3.9). Если проверяе-
мая стратегия включает один цикл, то уравнения (4.3.9) всегда имеют единствен-
ное решение. Заметим, что если просуммировать уравнения (4.3.9) для всех вер-
шин, входящих в цикл, то все величины взаимно уничтожаются, так что в ре-
зультате получим
G‘.7)€L
где L — совокупность дуг, входящих в цикл, а т — число дуг в цикле.
Отметим, что данный алгоритм обладает следующими свойствами:
1) на каждой итерации
2) вычисления прекращаются после конечного числа итераций;
3) оптимальной является та стратегия, которая позволяет достичь
при этом = с.
(4.3.11)
Пример 4.3. Рассмотрим сеть, изображенную на рис. 4.2. На
дугах проставлены соответствующие значения tty. Для того чтобы
применить метод итераций по стратегиям, необходимо выбрать ис-
ходную стратегию, в которой для каждой вершины имеется исходя-
щая дуга. Пусть такой стратегией является:
182
фая вершины 1 — дуга (1, 4);
для вершины 2 — дуга (2, 1);
для вершины 3 — дуга (3, 2);
для вершины 4 — дуга (4,1).
Таким образом, данная стратегия включает единственный
цикл — дуги (1,4) и (4,1).
Составим систему функциональных уравнений вида (4.3.7) для
выбранной пробной стратегии:
У? - ауГ + Уг* = ауТ* + c2i'> Уз* = Щ?' + с^;
у? = ау^ + с41.
Их можно представить в следующем
•квивалентном виде:
^-едР=3;
-«</!"+>? = 4;
— + й" = 1S
-ай" + Й"-1.
Еешением этой системы будет следую-
[ее;
14-4а+2а2— За8 . у1<0) _ 14-За
1 —а8 ’ *4 ~ 1—а8 •
Как видно из рис. 4.2, изменение решений возможно лишь для
вершин 1 и 2, где имеется более одной исходящей дуги.
При 0 < а < 1, согласно формулам расчета (4.3.4), для вершины
1 получим
min (ау(°* + с1а; ау(У + с14) =
/ 4 4-4а — а8 — За8 . 3-]-1а\ 3-|-1а ,z(0)
= mln(------
для дуги (2, 4) при 0 а < 1.
Аналогично «тому для вершины 2:
min (ау(°* + агД® + саз) »
„._/4+За —За2 . 4 — а+2а3 — За4 \ 4+8а —За2 1Z(O)
= mln (----’ --------------j^2-------) ----ГГа?-------- Г2 ’
(4.3.12)
для дуги (2,1) при 2/3 а < 1.
Таким образом, если 2/3 а < 1, то для каждой вершины бу-
дет выполняться условие У/0) = г/'0* и исходная стратегия будет
оптимальной. Если же а < 2/3, то минимум (4.3.12) будет дости-
гаться на дуге (2,3), и это решение должно на следующей итерации
ваменить дугу (2,1).
183
Пример 4.4. Рассмотрим снова сеть, изображенную на рис. 4.2
лри а = 1, и примем значение сп » 3. Требуется найти оптималь-
ную стратегию, минимизирующую средние затраты за отрезок.
В качестве исходной выберем ту же стратегию, что и в примере
4.3, и, применив формулы расчета стоимости вершин (4.3.9), полу-
чим следующую систему функциональных уравнений:
40,-4°’=cu-?®;
4°’-40,=с21-?0);
4®_4°>=Cs2_?0’;
40>-40) = <«i-?0); 4О) = о.
Эта система имеет следующее решение:
?® = 2, wP=0, 4*=»2, 4” = !, 4*----------1.
Расчет показателей возможного улучшения по формулам (4.3.10)
дает новые значения весов:
для вершины 1:
min (uii* -|- Сц — о(0>; 40) + см — с(0)) =
= min (2 + 4 — 2; — 1+2 — 2) = 0 = Wf* (для дуги 1, 4);
для вершины 2:
min (4°* + с21 — с(0); и>з> + сгз — о(0)) » 2 а йф (для всех дуг).
Расчеты прекращаются, так как для всех i Wf* = wP.
4.4. ДИНАМИЧЕСКАЯ ЗАДАЧА УПРАВЛЕНИЯ ЗАПАСАМИ
ПРИ БЕСКОНЕЧНОМ ПЛАНОВОМ ПЕРИОДЕ
Рассмотрим важную в практическом отношении динамическую
задачу управления запасами при бесконечном плановом периоде.
Пусть имеется система снабжения, которая производит и накапли-
вает запасы со следующими исходными данными: объем выпуска
х < 5 ед., спрос на отрезке постоянен — d = 3 ед.; при этом уро-
вень запасов на конец отрезка времени должен удовлетворять усло-
вию j 4; затраты на производство С (х) задаются соотношением
„ , . ( 0, если х = 0; , ~ -
С (х) = I 1 < х 5
113 + 2х, если х>0.
Затраты на хранение продукции равны h/t где h = 1.
Предположим, что система снабжения функционирует неогра-
ниченно долго. Требуется Определить такую оптимальную стратегию
управления запасами (т. е. объемы выпуска х на каждом отрезке),
при которой минимизируются средние затраты за отрезок.
В качестве переменной состояния выберем уровень запасов на
начало отрезка (где i = 0, 1,2, 3, 4). Таким образом, стационарная
стратегия представляет собой правило установления оптимального
объема выпуска для каждого возможного значения i.
184
Для решения указанной задачи необходимо прежде всего пред-
ставить ее в виде сетевой модели. Каждому возможному состоянию
поставим в соответствие одну вершину сетевой модели; при заданном
i каждому допустимому объему выпуска х соответствует некоторая
Дуга (t, /).
Так, если уровень запасов на начало отрезка равен /, объем вы-
пуска составляет х единиц, а спрос d = 3 единицы,
начало следующего отрезка состав-
ляет j = i + х — 3. Следователь-
но, дуга (/, /) соответствует объему
производства х = / — »Ч- 3 единицы.
Таким образом, затраты для ду-
ги (I, j) определяются выражением
с</ = С(/-/Ч-3) + Л/. (4.4.1)
В связи с наличием ограничений на
объем выпуска х и уровень запасов
некоторые сочетания I и / не будут
допустимыми. Например, при i = О
должно быть 2, поскольку х^
< 5.
Сеть, соответствующая услови-
ям данной задачи, приводится на
рис. 4.3. При этом величины сц рас-
считаны согласно (4.4.1).
Допустим, что в качестве кри-
терия оптимальности принят мини-
мум средних затрат за отрезок вре-
мени. Тогда решаемое функциональ-
ное уравнение имеет вид
Wt = min (wt + Cii — с) для всех i.
a.i)
23
то запас / на
Рис. 4.3
В качестве пробной стратегии выберем следующую: производить
недостающее для удовлетворения спроса количество продукции
при i С 3 так, чтобы уровень запасов на конец отрезка был равен
/ = 0, и вообще не выпускать продукцию, если на данном отрезке
I — 4. На сети эта стратегия представляется так:
вершина 0 — дуга (0, 0), х — 3;
вершина 1 —дуга (1, 0), х = 2;
вершина 2 — дуга (2, 0), х — 1;
вершина 3 — дуга (3, 0), х = 0;.
вершина 4 — дуга (4, 1), х = 0.
Решение. Используем алгоритм итераций по стратегиям и
«.оставим систему функциональных уравнений, отвечающих проб-
ной стратегии:
и»оО) — иуо* + с<0> = с00 = 19;
+?«>=С10 = 17|
185
wP — + cm = cM — 15;
a,<»)_4»)+?o>=Cso = 0;
a»® — a»!0’ + c(0) — c41 = 1;
wo’ = 0.
Be решением является с® = 19, а»® = 0, w® — —2, w® = —4»
w%> = —19, r®40> = —20. Для всех i = 1,4 вычисляем
Wf’ = min (о»гл) + Сц — c(n)
и в результате получим:
Wo* =0 для дуги (0, 0); = — 12 для дуги (1, 3);
TFa0) = —14 для дуги (2, 3); Wl0) =— 19 для дуги (3, 0);
ТГч4 = — 20 для дуги (4, 1).
Таблица 4.11
| Вершина | п = 0 п = 1 п = 2 n = 3
V. П а, /) ^(1) i, b 42' а, /)
0 (0, 0) 0 00 (0, 0) 0 —9 (О, 1) 0 —3% (0, 2) О О
1 (1, 0) — 2 —12 (1, 3) —12 —12 (1, 3) —4% — 52/3 (1, 2) — 2 — 8
2 (2, 0) — 4 —14 (2, 3) —14 —22 (2, 4) —11% —11% (2, 4) — 8 —10
3 (3, 0) —19 —19 (3, 0) —19 —24 (3, 4) —13% —17% (3, 0) —17—17
4 (4, 1) —20 —20 (4, 1) —30 -30 (4, 1) —21 —21 (4, 1) —18 —18
19 19 17% 17
Вер- шина п = 4 п = 5 п =6
(t /) ^(4) (i. > a-© Ц7<5) (i, /) «,© №<6)
0 (0. 2) 0 —1 (0, 1) 0 - 1 (0, 2) 0 0
(1. 3) -6s/, -6»/, (1. 3) - 6 - 6 (1. 3) -5% —5%
(2. 3) —8% -11% (2. 4) — 10 -10 (2, 4) -9% -9%
3 (3, 0) -16% -16V, (3, 0) -16 -16 (3, 0) — 15% -15%
4 (4. 1 —22 —22 (4, 1) —21 —21 (4, 1) —20% -20%
16% 16 151/5
На этом первая итерация заканчивается. Поскольку для i = 1 и
Z=2 W?<w? , то переходим ко второй итерации, выбрав в ка-
честве новой пробной стратегии следующую: (0,0), (1,3), (2,3), (3, 0),
(4, 1). Результаты, полученные в ходе выполнения ряда последова-
тельных итераций, приводятся в табл. 4.11.
186
Анализируя эту таблицу, можно сделать следующие выводы:
1) от п = 0 до п = 1 значение с(л) не улучшается;
2) на всех последующих итерациях п = 2, 3, 4, 5, б имеем
3) оптимальная стратегия управления запасами (при п = 6)
имеет следующий вид (рис. 4.4):
х = 5 при i = 0, 1, 2; х = 0 при I = 3, 4, что соответствует произ-
водственному циклу (5, 5, 0, 5, 0). При этом средние затраты за
отрезок будут минимальны: с — 154/5.
Задачи и упражнения
Решить следующие задачи методом динамического программи-
рования.
4.1. (Распределение ограниченных ресурсов.) Управление НИР
министерства ежегодно распределяет ассигнования на выпол-
нение научно-исследовательских и опытно-конструкторских работ
(НИР — ОКР) между научно-исследовательскими и проектными
институтами отрасли. Каждый из институтов представляет руковод-
ству министерства данные трех видов. Информация первой группы
относится к проведению поисковых исследований весьма неопре-
деленного характера. Если на исследование этого рода в институте s
выделяется vj тыс. руб., то оценка ожидаемого экономического эф-
фекта (дохода) равна Р/ (и/) млн. руб. Информация второй группы
относится к продукции, по которой поисковые исследования уже
завершены и для выпуска которой требуется проведение ОКР. Для
таких проектов ассигнования в объеме wj тыс. руб., согласно имею-
щейся оценке, дадут в конечном счете доход Q/ (ш/) млн. руб. На-
конец, к третьей группе относится информация, связанная с улуч-
шением качества уже выпущенной продукции. Затраты X/ тыс. руб.,
согласно сделанным оценкам, должны принести доход 7?/ (х/)
млн. руб.
Коллегия министерства утверждает общую сумму ассигнований
на все проекты НИР — ОКР в размере Л/' тыс. руб. и устанавливает
верхний предел ассигнований L/, которые может получить институт.
Требуется распределить ассигнования между институтами
таким образом, чтобы обеспечить максимум общего эффекта отрасли
при введенных ограничениях.
Составить математическую модель задачи и записать ОРС дина-
мического программирования для ее решения.
4.2. Рассмотрим предыдущую задачу при дополнительном усло-
вии, что ассигнования выделяются также и на фундаментальные ис-
следования, причем оценка эффекта, который получит отрасль при
выделении ассигнований в объеме у/, равна Т{ (у;).
Покажите, как необходимо изменить постановку задачи и какие
изменения требуется внести в ОРС Веллмана.
4.3. В подшефный совхоз из городского предприятия была направ-
лена группа работников из 10 чел. для уборки помидоров на одном
187
из трех полей. По оценке председателя, выделив у/ человек на поле,
можно собрать R (yj) кг помидоров, где
R1(l)=50, Rt (2) = 100, R1(3) = 150, Я, (4) = 250,
7?! (5) = 350, (6) = 500;
R2(l)=30, R2(2) = 60, R2(3) = 120, R2(4) = 18O,
R2(5)=300, R2(6) = 550;
Rs(l) = 200, Rs(2)= 350, Rs(3) = 450, R8(4) = 550,
R3(5)=600, Rs(6) = 650.
Никаких дополнительных сборов не удается получить, если напра-
вить на каждое из полей более 6 чел. Сколько работников следует
направить на каждое из полей, чтобы собрать наибольший уро-
жай? Построить соответствующую модель динамического програм-
мирования и найти ее оптимальное решение.
Показать, как изменится решение, если всего для сбора помидо-
ров будет из города направлено 12 или 14 человек.
4.4. Рассмотреть предыдущую задачу (4.3). Предположим, что
у директора совхоза не хватает людей и он формирует задачу сле-
дующим образом: минимизировать число городских работников,
направляемых на уборку овощей, при условии, что с трех полей нуж-
но собрать не менее R кг помидоров. Сформировать задачу в терми-
нах динамического программирования и найти оптимальное решение
при условиях:
а) = 800 кг; б) R2 — 1000 кг; в) Ra = 120 кг.
4.5. Рассмотреть еще раз задачу 4.3. Предположим, что директор
стремится затратить не более Л4 человеко-дней на уборку овощей
на трех полях. Ему известно, что если направить на любое поле
от одного до трех человек, то всего для сбора помидоров потребуется
3 человеко-дня. Если же направить на одно поле более трех человек,
то они затратят 2 человеко-дня. Какое количество людей при их об-
щей численности в 10 чел. следует направить на каждое поле при
условиях:
а) М = 3; б) М = 4?
4.6. (Календарное планирование трудовых ресурсов). Пред-
приятие планирует свою работу на N периодов (месяцев). Объем
работ в различные периоды времени не остается постоянным. Обо-
значим через mk оптимальное (идеальное) число работников в й-й
период, позволяющее выполнить заданный объем работ с наимень-
шими издержками. При числе работников xk (xk тк) предприя-
тие несет дополнительные производственные затраты gk (xk — tnk),
причем gk (0) = 0.
Предприятие может варьировать число работников, набирая до-
полнительных работников на будущий период или сокращая их
число. Обозначим через f (xk — Xk-i) затраты по найму-сокращению
работников при переходе от (k — 1)-го периода к Л-му. Примем
/ (0) = 0.
Требуется определить такое число работников в каждом из k
периодов {xk}, k = 1, N, при котором минимизируется сумма про-
188
изводственных затрат и затрат по найму-сокращению за все время
функционирования предприятия. При этом примем, что перед на-
чалом работ х0 = 0.
Составить математическую модель задачи и решить ее методом
динамического программирования.
Вариант 1.
N = 5, = 5, та= 10, т3 = 14, /п4 = 20, т6 = 10.
110 (тк — хк), если хк < тк.
f(x — xk-i) =J 7 <х* ~ если х* х*~1’
(4(x*_i — хк), если xk<Xk-i.
1 Вариант 2.
g(xk — mk) =
jV=5, /и1=5, т2 — 10, т3— 14, mt = 20, m6 = 10.
10(xk — tnk), если хк^тк,
6 (mk — хк), если хк < тк.
г (v „ х _ (5 (хк — х»_1), если хк
lo(Xfc_i — хл) в противном случае.
Решить задачу при дополнительном условии, что после оконча-
ния работ число работников должно быть равным 0.
Вариант 3.
N = 5, flij = 5, m2 = 15; т8 = 12, m4 = 10, ть = 5.
g(xk — mk) = 2(xk — mk)2.
I 10 (Xk—i — хк) в противном случае.
4.7. Динамическая задача управления запасами. Предприятие
должно разработать календарную программу выпуска некоторого
вида изделия на плановый период, состоящий из N отрезков. Пред-
полагается, что для каждого из отрезков известен спрос на выпускае-
мую продукцию: dn, п = 1, N. Временем изготовления партий пре-
небрегаем. Стоимость выпуска партии С (х„) зависит от ее объема хп.
Предприятию часто бывает выгодно изготавливать в течение не-
которого отрезка продукцию в объеме, превышающем спрос этого
отрезка, и хранить излишки, используя их для удовлетворения
спроса в последующие периоды. Хранение запасов связано с опре-
деленными затратами, которые обозначим через S Q/n+i), где y„4-i —
избыточный запас, хранимый на отрезке п + 1.
Требуется определить такую программу выпуска хп в каждом
из отрезков, при которой минимизируется общая сумма затрат на
производство и содержание заяасов при условии полного удовле-
творения спроса на продукцию на каждом из отрезков.
Вариант 1. N = 6, f (хп, уп+1) = С (хп) + syn+i, где
°' =
130 + 10х„, если х„>0.
189
Спрос по периодам равен соответственно:
dx = 10, da = 15, d3 = 8, d4=«25, d6=12, d4=30.
Вариант 2. N = 8.
CW = ( °’
(16 + 4x„, если xn>0,
syn = 2yn.
Спрос по периодам равен соответственно:
d1 = 20, d2= 10, d3 = 15, dt = 12, d6=8, dt = 10,
d7 = 20, d, = 25.
Выяснить, при каком соотношении между фиксированной стои-
мостью заказа партии А и удельными затратами на хранение s опти-
мальная программа выпуска будет совпадать со спросом, т. е. Xi
dj, Х2 • d2, ..., Хп “ d„.
Вариант 3. N — 7.
r, . ( 100 4-8x„, если x„>0;
(0 в противном случае.
dx = 20, d2 = 10, d8 = 15, d4 = 20, d5 = 10,
de = 12, d7 = 16.
Найти оптимальные программы выпуска партий и сравнить их
для s = 1, 2, 3, 4.
4.8. 1) Исследовать задачу управления запасами. Решить ее ме-
тодом итераций по стратегиям при следующих значениях коэффи-
циента дисконтирования: а) а = 0,9, б) а = 1/2, в) а = 0.
2) Выяснить влияние значения а на выбор оптимальной стра-
тегии.
3) Каково наименьшее значение а, при котором стратегия х = 5
при i = 0, 1, 2 и х = 0 при I = 3, 4 остается оптимальной?
4.9. Применить алгоритм итераций по критерию для решения
задачи управления запасами при бесконечном плановом периоде.
Принять вначале z/*0) = 0. Пусть п' обозначает номер первой ите-
рации, на которой общая стратегия согласуется с оптимальной те-
кущей стратегией, вычисленной в задаче 4.8; прекратить расчеты
на итерации п' + 3.
Принять: а) а = 0,9, б) а = 1/2, в) а = 0.
4.10. Рассмотреть задачу управления запасами при бесконечном
периоде. В каждом из приведенных ниже вариантов постановки за-
дачи внести необходимые изменения в исходные данные и определить
оптимальную стратегию с помощью алгоритма итераций по страте-
гиям при а = 1:
а) спрос для каждого отрезка равен 2 единицам;
б) спрос для каждого отрезка равен 4 единицам (вместо 3);
г) объем выпуска на отрезке не может превышать 4 единиц (вмеа
то 5);
190
д) разрешены только объемы выпуска, равные х » 0, 2, 4 еди-
ницам;
е) объем выпуска на каждом отрезке должен быть не менее еди-
ницы;
ж) условно-постоянные затраты на переналадку оборудования
составляют 10 единиц (вместо 13);
з) удельная стоимость хранения равна h = 5 (вместо 1).
4.11. Пусть в задаче управления запасами при бесконечном пла-
новом периоде разрешается задерживать удовлетворение спроса
на срок не более одного отрезка и при этом штраф за задержку удов-
летворения единичного спроса на срок в один отрезок равен 10 еди-
ницам. Построить сеть, соответствующую данной модели задачи,
и определить величины с^. i
4.12. Рассмотрите модель управления запасами, аналогичную
приведенной в п. 4.4. Пусть, по-прежнему, спрос d = 3, объем вы-
пуска х 5; уровень запасов на конец периода / 4. Затраты на
производство и содержание запасов описываются функцией С (х) +
+ Л/, где h = 1,
, ( 5х при х = 0, 1, 2, 3;
С (х) = { г
I 12 + х при х^4.
а) Применить алгоритм итераций по стратегиям для нахождения
оптимальной стратегии при а = 1;
б) Применить алгоритм итераций по стратегиям для нахождения
оптимальной стратегии при а = 0,9, а = 0,5 и а = 0.
В качестве исходной стратегии используйте оптимальное решение
варианта а). Охарактеризуйте влияние выбора а на оптимальную
стратегию.
в) Принять а = 0,9. Примените алгоритм итераций по кри-
терию, начав с = 0. Если п' обозначает номер первой итерации,
на которой общая стратегия согласуется с оптимальной текущей
стратегией, то прекратите расчеты на итерации п' + 3.
г) Повторить расчеты по вариантам а), б) и в) при h = 2.
4.13. Ответить на вопросы, поставленные в задаче 4.12, приняв,
что функция затрат на производство имеет вид
„ . . ( 0, при х = 0;
С (х) = 1 г
(3 4- 2х, при х > 0.
4.14. Рассмотрите сеть, изображенную на рис. 4.5. Наличие
стрелок на обоих концах дуги означает, что перемещение по дуге
разрешено в обоих направлениях и что затраты при этом соответ-
ствуют проставленному на дуге числу.
а) Пусть а — 1. Составить и решить соответствующие функцио-
нальные уравнения методом итераций по стратегиям.
б) Применить метод итераций по стратегиям для нахождения у(
и соответствующей стратегии при а = 0,9, а = 1/2, а = 0. Ис-
пользовать оптимальное решение варианта а) в качестве исходной
Стратегии.
191
в) Пусть а = 0,9. Применить алгоритм итераций по критерию,
начав с гД0* = 0. Если п' — номер первой итерации, на которой
ябщая стратегия согласуется с текущей оптимальной стратегией,
то прекратить расчеты на итерации п' + 3.
4.15. Рассмотреть сеть, приведенную на рис. 4.6. Ответить на
вопросы и выполнить задания, сформулированные в задаче 4.14.
4.16. Производственное объединение выпускает портативные те-
левизоры. Им разрабатывается дорогостоящая модель телевизора,
причем ПО стремится достичь максимума надежности.
Телевизор содержит N последовательно соединенных блоков,
так что отказ любого блока приводит к неисправной работе всего
телевизора. Поэтому в конструкцию модели введены избыточные
элементы параллельного типа. Обозначим, в частности, через хп
число избыточных параллельных элементов в n-м блоке через
Рп (*) — вероятность того, что n-й блок будет исправно функциони-
ровать в течение первого года использования телевизора при за-
данном уровне избыточности х, а через Сп Of) — стоимость изготов-
ления указанного блока.
а) Построить оптимизационную модель, максимизирующую на-
дежность функционирования телевизора в течение одного года при
условии, что суммарные затраты на его изготовление не могут пре-
вышать С.
б) Показать, как находится решение для построенной вами моде-
ли с помощью метода динамического программирования.
) в) Применить ваш метод для нахождения оптимального решения
при N = 3, Сп (х) = cnx2, С — 15, Рп (х) = 1 — рп, где =
= 0,08; р2 = 0,05, р3 = 0,1, сх = 2, с2 = 3, с3 = 1.
в) Построить оптимизационную модель, минимизирующую за-
траты на изготовление телевизора при условии, что надежность
функционирования телевизора в течение первого года его использо-
вания была бы не менее R. Показать, как найти решение для этой
модели методом динамического программирования.
4.17. Командир космического корабля и его экипаж планируют
полет на одну из удаленных планет для выполнения программы ис-
следования. Они должны взять с собой N различных типов элект-
192
ронных приборов, которые могут выходить из строя. Каждая еди-
ница оборудования i весит wt кг, суммарный вес ограничен и не
должен превышать W кг. Это значение W является достаточно боль-
шим, что позволяет взять на борт космического корабля некоторое
количество запасного оборудования. Обозначим через (/) рас-
4 пределение вероятностей для числа интервалов времени t, в течение
которых единица оборудования i нормально функционирует. Пусть
х{ — число запасных единиц оборудования I, находящихся на бор-
ту космического корабля. Как только запас какого-либо типа обо-
рудования истощится полностью (т. е. когда для любого типа i ве-
личина xi станет равной нулю), космический корабль должен будет
вернуться на Землю.
а) Разработать модель динамического программирования (ДП),
позволяющую определить такие значения xt, при которых максими-
зируется математическое ожидание времени пребывания космиче-
ского корабля на планете. (Примечание. В процессе выполнения
программы исследований непрерывно функционируют все N типов
оборудования.)
б) Предложить модель ДП, позволяющую определить такие зна-
чения х{, при которых максимизируется вероятность того, что кос-
мические исследования на планете будут проводиться, по крайней
мере, в течение Т интервалов.
в) Показать, как видоизменяются модели, построенные в соответ-
ствии с пп. а) и б), если единица оборудования стоит с{, а суммарные
затраты на оборудование ограничены и не могут превышать С ед.
4.18. Фирма «Скороход» располагает парком малогабаритных гру-
зовых автомобилей, которые совершают рейсы в ряд населенных
пунктов и доставляют продукты непосредственно покупателям.
Предположим, что имеется / видов продуктов и единица веса продук.
та i (i = 1, /) занимает в грузовике объем ct (м8). Полезный объем
в грузовике равен С (м8). Допустим, что спрос д( на продукт i опи-
сывается непрерывным равномерным распределением с плотностью
Pi (ft) =
-1-, Q^q^bi,
О в остальных случаях.
Обозначим через Х( число единиц продукта t, погруженного в рас-
сматриваемый грузовик. Пусть все продукты продаются по одной
цене. Требуется определить такие значения X/, при которых миними-
зируется математическое ожидание неудовлетворенного спроса за
1 рейс.
а) Построить математическую модель данной задачи и показать,
как она может быть решена методом динамического программиро-
вания.
б) Решить указанную задачу предложенным вами методом при
следующих исходных данных:
/ = 4, Cj = 1, са = 8/а; с® = 3, в 10.3» С в 5, 15, 75; bj
= 20, = 24, bt = 25, b4 = 27.
13 8—40в8
19»
4.5. ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
НА МАРКОВСКИХ ЦЕПЯХ
Ранее были рассмотрены многошаговые задачи оптимального принятия реше-
ний в детерминированных моделях, когда имеется взаимооднозначное соответст-
вие между принимаемым решением и последующим состоянием системы.
Вместе с тем, на практике зачастую приходится сталкиваться с процессами
(системами), в которых нет такой однозначной зависимости между принятым ре-
шением d и его результатом, а можно говорить лишь о вероятностях перехода в
то или иное состояние, Такие системы являются вероятностными. Важный класс
вероятностных систем составляют так называемые марковские системы (цепи),
свойства которых в любой момент времени t зависят только от текущего состояния
i и не зависят от предыстории процесса.
Динамическое программирование является весьма эффективным аппаратом
оптимизации функционирования систем, описываемых марковскими процессами
Свойства марковской системы.
Функциональные уравнения Беллмана
Пусть имеется некоторая система, которая может находиться в одном из I
состояний: /в 1, 2, ..., N. Имеется некоторое множество решений D= {d},
которые могут приниматься в каждом из состояний f, задана матрица условных
вероятностей Р « ||р (/7х, d) ||, где р (/7/, d), / 1, АГ, = 1, /V, d g D есть
условная вероятность того, что система перейдет в состояние /, если текущим со-
стоянием было i и принималось решение d.
При этом, в силу свойства марковости, постулируется, что величины р (j/i, d)
зависят только от значения текущего состояния х, а не от предыстории процесса,
т. е. траектории, которая привела в состояние i.
Допустим, что вероятности пребывания системы в каждом состоянии i в на-
чальный момент времени равны qt (0), i = 1, 2V. Тогда закон движения марков-
ской системы полностью определяется величинами qt (0) и матрицей условных
вероятностей ||р (j/i, d) ||. Если (п) — вероятность пребывания системы в состоя-
нии i на л-м отрезке, то
N
<?,(«+ 1)= S qt(n)p (j/i, d), n = 0, 1, 2, 3... (4.5.1)
i=l
Допустим, что при п оо величины qi (zi) стремятся к некоторым предельным
значениям qt, называемым предельными (или стационарными) вероятностями
состояний. Каждая величина qi представляет собой установившуюся относитель-
ную частоту пребывания системы в состоянии i.
Величины qt могут быть получены из (4.5.1), если устремить п->оо.
N
9, = £ W (i/i, dj, (4.5.2)
1=1 '
при условии
N
S ?,=1.
/=i
Система называется эргодической, если величины не зависят от распределе-
ния начальных вероятностей qi (0).
Обозначим через с (j/i, d) условный эффект (или затраты), определяемый пе-
реходом системы из состояния i в состояние j при условии выбора решения d.
Описанную систему удобно представить в виде сетевой модели, где каждой
дуге (/,/) соответствует пара величин: {р (j/i,d}', с (j/i, d)}.
Пусть каждый переход совершается за 1 отрезок времени, система функцио-
нирует неограниченно долго, а в качестве критерия используются, как обычно,
интегральные дисконтированные затраты (ИДЗ). Обозначим через yi ИДЗ, если
194
текущим состоянием системы является состояние i. Если в этот момент принима-
ется решение d, то справедливо соотношение
N N
' Vw = £ Р (/A. <0 \<4h + « (//»’. <01 = £ Р (//»> d) ay, + Cid, (4.5.3)
/—1 /=1
где а — коэффициент дисконтирования (0 а < 1); cid — ожидаемый эффект
на рассматриваемом отрезке для начального состояния i при решении d.
Допустим, что система функционирует оптимальным образом, т. е. на каждом
шаге принимается оптимальное решение, а период функционирования — беско-
нечен. Тогда справедлива следующая система функциональных уравнений Вел-
лмана для марковской цепи, которая является естественным обобщением функ-
циональных уравнений (4.3.1) для детерминированного случая
л/ ______
у, = min У р (j/i, d) ay. c{d для всех i = 1, N, (4.5.4)
где D (0 — множество возможных решений в состоянии L
Под оптимальной стратегией будем, как и ранее, понимать стратегию, обес-
печивающую минимально достигаемые ИДЗ при всех возможных начальных со-
стояниях. Такая стратегия не обязательно должна быть стационарной (т. е. такой,
что одно и то же решение d следует принимать всякий раз, когда система оказы-
вается в состоянии г). Вместе с тем справедлива следующая теорема о стационар-
ной стратегии.
Теорема 4.2. Всегда существуют единственные конечные значения*уif удовле-
творяющие экстремальным уравнениям (4.5.4), и детерминированная стационарная
стратегия» соответствующая этим значениям у1г которая является оптимальной.
Методы последовательных приближении
Метод итераций по критерию
Для решения функциональных уравнений (4,5.4) можно применить метод
последовательных приближений в функциональном пространстве (метод итера-
ций по критерию).
Ш а г 1. Выберем у{^ произвольным образом и положим п = 0.
Ш а г 2. Определим у^+^ из условия
= min Г У р (j/i, d) ау^} + для каждого i, (4.5.5)
<KD(i) 7 j
Ш а г 3. Если у\п^1} < y^\ то переходим к шагу 2, приняв п = п + 1; если
для всех i у^+^ « у{?\ то конец. Получим =» yi.
Заметим, что каждая величина у^ будет сходиться к пределу, удовлетворя-
ющему экстремальным уравнениям (4,5.4), но в общем случае эта сходимость не
является конечной. Если все величины cid > 0, а все у{?} = 0, то значения у{?}
возрастают монотонно.
При любом cid можно добиться сходимости следующим образом. Выберем
пробную стационарную стратегию, в которой для упрощения записи любое из
решений обозначим через а', Решаем далее систему линейных уравнений относи-
тельно неизвестных у?.
(j/i, df) ау> == cu,. для каждого' i. (4.5.6)
V/
Найденные при этом решения у^ затем подставляются в соотношение (4.5.5).
Если на произвольно выбранной итераций п прекратить вычисления и использо-
13* 195
вать непосредственно следующую из (4.5.5) оптимальную стратегию в качестве
стационарной для модели с бесконечным плановым периодом, то соответствую-
щие ожидаемые значения ИДЗ не будут превосходить значения уЧр из (4.5.5).
Метод итераций по стратегиям
Для решения уравнений (4.5.4) можно применить также и метод последова-
тельных приближений в пространстве стратегий, который состоит из следующих
шагов.
Шаг 1. Выбрать произвольную начальную стратегию и принять п = О,
Ш а г 2. При заданной пробной стратегии d' вычислить значения уФ по урав-
нениям
— S р = cid' для каждого i, (4.5.7)
/
где d' обозначает решение, принимаемое в узле L
Шаг 3. Проверка возможности улучшения стратегии. Вычисляем
min Г V р (j/it d) ayW + с,Л ж= YP* для каждого i. (4.5.8)
deD(i) [ у 1 WJ
Ш а г 4. Прекратить вычисления, если Y^ = у^ для всех i. В противном
случае изменить стратегию в каждом узле 6, где Y^ < у%\ используя то реше-
ние, которое дает Yf в (4.5.8).
Принять n = п + 1 и вернуться к шагу 2, используя новую пробную стра-
тегию.
Алгоритм итераций по стратегиям обладает следующими важными свойст-
вами:
1) У? в любом узле i и у|п+1) < если Уф <
2) Алгоритм сходится за конечное число итераций.
3) При остановке алгоритма стратегия, определяющая величины Y^\ яв-
ляется оптимальной.
Пример 4.5. Для иллюстрации применения функциональных
уравнений (4.5.5) рассмотрим стохастическую задачу управления за-
пасами с бесконечным плановым периодом, детерминированный ва-
риант которой описан в п. 4.5. Числовые данные этой задачи тако-
вы: спрос вероятностный р (d = 2) = р (d — 4) = -i-; объем
производства х ограничен 0 х 5; конечный уровень запаса j
4; затраты на производства и хранение продукции описываются
соотношением: g (х, j) = С (х) 4- Л/, где
„ , . ( 0, если х = О,
С (х) = I
(13 + 2х, если х> 0;
/г = 1.
Текущее состояние системы i определяется величиной текущего
запаса (/ = 0, 1,2, 3, 4). Очевидно, если объем производства ра-
вен х, то будущие состояния системы с учетом вероятностей спроса
(d = 2nd = 4) таковы: / = 1+х — 2 и / = / 4-х — 4, причем Р (I 4-
4-х — 2/0 = Р (i 4- х — 4/i) = -g-. Пусть f (0 — минимальные
ИДЗ для этой задачи при условии, что начальный запас равен I.
Тогда функциональное уравнение типа (4.5.4) для нее будет иметь
196
следующий вид:
f (f) = min С (х) 4- 1 R 4- х — 3] 4- a — If (i 4- x —2)4-
+ f(i 4-х-4)]} (4.5.8)
при 1 = 0, 1, 2, 3, 4; 0<а« < 1, где минимум отыскивается по
всем целым х удовлетворяющим условию
4- — i X S С min (5; 6—i).
Таблица 4,12
Р ЦП, d)
i d С D (1) 0 1 2 3 4 cid
0 4 */2 V, 22
5 ‘4 v. 25
3 v2 */2 20
1 4 14 l/2 23
5 *4 l/2 26
2 v2 *4 18
2 3 V, V, 21
4 v, l4 24
1 14 v2 16
3 2 *4 v2 19
3 *4 v8 22
0 V. v. 1
4 I >4 4» 17
2 */2 20
Исходные данные задачи могут быть представлены в виде
табл. 4.12.
Будем решать задачу методом итераций по критерию (при а —
— 0,9), начав с у^ — 0 для всех i.
Результаты последовательных итераций приводятся в табл. 4.13.
Рассмотрим теперь решение этой задачи управления запасами
методом итераций по стратегиям.
В качестве пробной стратегии выберем следующую:
х=4—i; t=0, 1, 2, 3, 4; n = 0.
1. Составим соответствующую данной стратегии систему уравне-
ний для определения величин yt, для чего используем данные
табл. 4.12:
(1 — 0,5а) у0 — 0,5ау2 = 22;
— O,5at/o 4- 1у! — 0,5ау2 = 20;
— 0,5ai/o 4- (1 — 0,5а) уг = 18;
— 0,5аг/о — 0,5у2 4- 1у3 = 16;
— O,5az/o — 0,5ау3 4- ly4 = 1,
где а = 0.9.
197
Ее решением является
Уо = 202, У! = 200, у2 = 189, у3 = 196, yt = 181.
2. Переходим к процедуре улучшения стратегии, для чего исполь-
зуем уравнения (4.5.8).
Таблица 4.13
Начальный уровень запасов П = 1 п — 2 и =3 !/|° 20 yi Бесконечный период
х3 (Л y'i Xя (1) х3 (1) (ОО)
0 4 22 4 40 5 54.3 122.9 163.8 178.0 5 185.7
1 3 20 5 34.5 5 49.2 117.8 158.7 173.0 5 180.6
р 2 2 18 4 32.5 4 47.2 115.8 156.7 171 4 178.6
3 1 16 3 30.5 3 45.2 113.8 154.7 169 3 176.6
4 0 1 0 19 0 33.6 102.1 143.0 157.3 0 164.9
Таблица 4.14
Началь- ный уро- вень запасов п = 0 п = 1 ч = 2 г<21
г» (0 (1) х2(1)
0 4 202 4 202 5 185.7 185.7
1 3 200 5 196.5 5 180.6 180.6
2 2 189 4 194.6 4 178.6 178.6
3 1 196 3 192.6 3 176.6 176.6
4 0 181 0 181 0 164.9 164.9
Результаты последовательных итераций приведены в табл. 4.14.
Как видим, процесс вычислений прекращается при п = 2,
поскольку у® = для всех z, а соответствующая стратегиях<2' (I)
является оптимальной, что совпадает с решением, полученным ме-
тодом итераций по критерию.
Оптимизация сети по критерию эквивалентного
среднего эффекта (а =1)
Вывод функциональных уравнений
Рассмотрим теперь практически важный случай, когда в качестве критерия
оптимальности используется средний эффект, и выведем соответствующие функ-
циональные уравнения (аналогично детерминированной модели в п. 4.4).
Пусть имеется некоторая стратегия л* (не обязательно детерминированная)
и минимальные ИДЗ для системы, начинающей функционировать с состояния i,
обозначим через yt (а), где а рассматривается, как параметр. Стратегия л* опре-
деляется, как оптимальная при а = 1, если yL (а) = yt (а) при каждом i и при
всех а, достаточно близких к 1.
Иными словами, стратегия л* оптимальная, если существует такое а* < 1,
что при всех а, лежащих на отрезке а* а < 1, ожидаемый интегральный дис-
198
квитированный эффект yt (а) при выборе стратегии л* равен минимально возмож-
ному.
Здесь, как и в случае а < 1, справедлива теорема о стационарной стратегии,
утверждающая, что и при а = 1 всегда существует детерминированная стацио-
нарная стратегия, являющаяся оптимальной.
Итак, предположим, что детерминированная стационарная стратегия л*
является оптимальной. Тогда по определению при значении а, достаточно близ-
ком к 1, имеем
‘ N ] N
= Ло") Д Р U1'' аУ1 + С‘а = ^1 р W1’ ау> + C*id’ (4,5,9)
где d* обозначает решение в состоянии it определяемое стратегией л*. Примем
далее, что
е* = S <4-5-10)
1=1
где qL — предельные (стационарные) вероятности состояний (0, рассчитанные по
уравнениям вида (4.5.2) для стратегии л*. Величину с* можно интерпретировать
как ожидаемый средний эффект (или затраты) за отрезок при использовании стра-
тегии л* и бесконечном периоде функционирования.
Для вывода функциональных уравнений для вероятностной модели при а =
= 1 используется тот же подход, что и в детерминированном случае (п. 4.3).
Рассмотрим ожидаемый ЭСЭ (1 — a) yt и определим величины весов состояний
Ш/ с помощью соотношения
(1 — а) yt as (1 — а) wt + с* для всех I. (4.5.11)
Тогда функциональные уравнения (4.5.9) можно переписать в виде
с*
" N , *
£ ₽(//’> -
+ cid . (4.5.12)
— min
2V
J] Р (j/i, d) = 1, после несложных преобразований урав-
/«1
нения (4.5.12) при а = 1 приводятся к виду
С учетом того что
' N
w( + c*= min £ р (Ц1, d) w. + cia
для всех i.
(4.5.13)
Уравнения (4.5.13) представляют собой экстремальные уравнения для мар-
ковской системы при критерии минимума средних затрат за отрезок. Как и в де-
терминированном случае, величина называется весом i-го состояния, а разность
Wi — Wj можно рассматривать как приращение ожидаемого эффекта, если система
начинает функционировать с состояния i, а не /.
Если множество величин ш* удовлетворяет системе уравнений (4.5.13), то
и множество величин w* + k (где k — произвольная константа) будет также
удовлетворять этой системе. Поэтому для определения искомых значений w, вво-
дится условие нормировки вида и>0 = 0.
Рассмотрим некоторую стационарную стратегию я', включающую решения
d'. Пусть w\ и с\ являются решениями уравнений:
w\ = 0,
л
w\ + е = 2 Р (i/i> d') Wj + cid, для всех i. (4.5.14)
199
Справедливо следующее утверждение (достаточные условия оптимальности):
1) при заданной детерминированной стационарной стратегии в случае, когда
величины w\ и с* из (4.5.14) удовлетворяют функциональным уравнениям (4.5.13),
величина с' является наименьшей по всем стратегиям, а соответствующая ей
стратегия л' является оптимальной;
2) если величина с' не является наименьшей, то решения w\ и с' из (4.5.14}
не удовлетворяют экстремальным уравнениям (4.5.13). Таким образом, для опре-
деления оптимальной стратегии, минимизирующей с, необходимо решить систему
уравнений (4.5.13).
Метод итераций по стратегиям
Рассмотрим метод итераций по стратегиям для определения решения функ-
циональных уравнений вида (4.5.13). Этот метод является естественным обобщени-
ем метода для детерминированного случая.
Для упрощения изложения допустим, что для каждой пробной стратегии л',
оцениваемой на шаге 2 алгоритма, существуют единственные стационарные ве-
роятности.
Алгоритм включает следующие шаги:
Шаг 1. Выбрать произвольную стационарную стратегию и положить п =
= 0.
Ш а г 2. При заданной пробной стратегии л' на итерации п решить систему
уравнений для определения весов:
= 0,
N
+ = £ р (j/ц Ww для всех if
/=1
где d' — решение в узле х, определяемое пробной стратегией.
Ш а г 3. Вычислить
Г N
Urt«>=min J] d)w^ + c(d
dgD(i)[Pi 1
— № для всех I.
(4.5.15)
(4.5.16)
Ш а г 4. Прекратить вычисления, если для всех i, при этом зна-
чение с<п) — минимально. В противном случае изменить стратегию в каждом узле
k, где используя то решение d, которое дает IF^ в уравнении (4.5.16).
Перейти от п к п + 1 и вернуться к шагу 2 при новой пробной стратегии.
Описанный алгоритм сходится за конечное число итераций.
Пример 4.6.
Рассмотрим вновь стохастическую задачу управления запасами,
исходные данные для которой приведены в табл. 4.12.
В качестве критерия оптимальности примем минимум средних
затрат за отрезок с*. Для отыскания оптимальной стратегии приме-
ним метод итераций по стратегиям.
Запишем систему функциональных уравнений для этой задачи;
Wi 4- с* = min (х) 4-1 [/ 4- х — 3] 4- [о><+х_2 4- a»i+x-4]| •
(4.5.17)
В качестве пробной стратегии выберем стратегию выпуска ми-
нимально допустимого объема партии:
х = 4 — i для i = 0, 1, 2, 3, 4.
200
2. Составляем систему уравнений для определения весов!
t=0: oy0 + c*=C(4)+l[l] + -i-a’o +
+ 4- w» = 22 + Ц- w0 + -i- и>2;
Z=l: и»! + с* = 20 + -±- w0 + ws;
i=^2: йУ2 + с* = 18 + -|- йУ0 + -i- и»2;
t=3: te>34-c*= 16 + -i-uy0 + -i-te>2;
i = 4: аг>4 + с* = 1 + -у w0 + -g- w2;
wo = 0.
Находим решение этой системы:
t0o)=2O, w^ = — 2, tt>20> =—4, ay® = —6, a40> = — 21,
c0 = 20.
Таблица 4.15
Началь- ный запас п = 0 п =и 1 п = 2
х>(1) (0) wi х’(0 W')1’ wi
0 4 4 0 4 0 — 1х/4 5 0 0 1 з _2 —6х/, 5 —6х/, -6х/, 5 —5s/, -5s/, 2 2—4 —8х/, 4 —8х/2 —8х/, 4. —7s/, -7е/, 3 1 -6 —10х/, 3 —10х/, - 10х/, 3 —9s/, —93/, 4 0 —21 —21 0 —21 —21 0 —20s/, —20s/, с" 20 17"/4 I74/,
Переходим к процедуре улучшения весов (шаг 3) и вычисляем
W®.
Результаты этого шага и последующих итераций приведены в
табл. 4.15.
Как видно, алгоритм сходится на итерации п = 2.
Искомая оптимальная стратегия равна
х(0)=5, х(1) = 5, х(2)=4, х(3)=3, х (4) = 0,
а оптимальное решение системы уравнений (4.5.18):
с* = 174/,, ®!=—58/7, ьу2= —78/,, ш8=— 9*/„
= — 202/7, w0 = 0.
Рассмотрим теперь рекуррентное соотношение вида (4.5.9) для конечного
планового периода. Можно показать, что при достаточно больших п значение
функции fn (0 затрат за п отрезков при начальном состоянии I связано с величи-
20Ь
лой минимальных средних затрат за отрезок с* соотношением
fn(i) жпс* +wr (4.5.18)
Используя условие нормировки ш^ = 0, получим из (4.5.18)
fn (Л — fn (0) « “'f —Wo — wt.
Задачи и упражнения
Решить следующие стохастические задачи марковского типа,
используя метод динамического программирования.
4.19. В каждом из указанных ниже пунктов приведено некоторое
изменение допущений, положенных в основу стохастической мо-
дели управления запасами, описанной в п. 4.5. Укажите, какие
изменения нужно внести в табл. 4.12 в соответствии с каждым кон-
кретным изменением:
а) функция затрат на содержание запасов имеет вид (t + х —
— d)2, где d — уровень спроса;
б) вероятность того, что уровень спроса равен 2, 3 или 4, состав-
ляет Vs для каждого значения спроса;
в) максимальный объем производства равен 6, где С (6) = 25;
г) максимальный начальный уровень запаса равен не 4, а 5;
д) максимальный начальный уровень запаса равен бив страте-
гии принять: х = 0, если 1 = 5.
Записать матрицу вероятностей переходов, аналогичную той, ко-
торая приведена в табл. 4.12.
4.20. Рассмотреть стохастическую модель управления запасами,
описанную в п. 4.5.
а) Выполнить шаги алгоритма итераций по критерию и прове-
рить значения величин, стоящих в табл. 4.12, при п — 1, 2, 3.
б) Объяснить, почему при i = 1, 2, 3 значения у™ в табл. 4.13
различаются на 2.
в) Записать функциональные уравнения для оптимальной стра-
тегии при бесконечном плановом периоде (а = 0.5) и найти мини-
мальные значения уь а также оптимальную стратегию xOpt (0>
объяснить, почему значения величин xopt (!) уменьшаются при
уменьшении а.
4.21. Сравнить алгоритм итераций по стратегиям при а = 1;
изложенный в п. 4.5, с аналогичным методом решения детермини-
рованных задач, приведенным в п. 4.3. В чем эти алгоритмы совпа-
дают и чем они отличаются друг от друга?
Сравнить объемы вычислений и свойства сходимости для этих
алгоритмов.
4.22. Рассмотреть стохастическую задачу управления запасами,
приведенную в п. 4.5. Допустим, что распределение спроса меняется
от отрезка к отрезку следующим образом:
р (d = 2) = -у; р (d = 4) = -у отрезок t;
1 2
р (d = 1) = у; р (d = 4) = -у отрезок t 4-1.
а) Показать, как нужно изменить при этих условиях рекуррент-
ное соотношение (4.5.4).
б) При а = 1 составить соответствующие экстремальные урав-
нения и найти оптимальную стратегию.
4.23. Предположим, что в стохастической задаче управления
запасами спрос на продукцию имеет место не на каждом отрезке.
В частности, примем, что при наличии спроса на отрезке t следую-
щий спрос на продукцию возникает на отрезке t + s, где s = 1,
2, 3 с вероятностью qs — 1/3.
Таблица 4.16
Вероятность объема продаж текущей недели
Объем продаж предыдущей недели Краткая реклама L Подробная реклама Н
В 1 » 1 с В А 1 С
В 0.2 0.5 0.3 0.6 0.3 0.1
А 0 0.6 0.4 0.4 0.5 0.1
С 0 0.3 0.7 0.2 0.7 0.1
а) Изменить соответствующим образом рекуррентное соотноше-
ние (4.5.4) (а < 1).
б) Выведите соответствующие функциональные уравнения при
а = 1 и найдите оптимальную стратегию при бесконечном плановом
периоде.
4.24. Директору одного универмага нужно принять решение
о том, какого вида рекламное объявление целесообразно поместить
в местной газете. В частности, он может выбрать краткую рек-
ламу (L) и подробную рекламу (Н). Еженедельные объемы продаж
директор разделяет на 3 группы: средний объем (Л), выше средне-
го (В) и ниже среднего (С), считая, что объем продаж рассматри-
ваемой недели зависит в вероятностном смысле как от объема про-
даж предыдущей недели, так и от категории рекламы.
Он пользуется следующими данными о вероятностях объема
продаж текущей недели, приведенными в табл. 4.16. Так, на-
пример, если объем продаж предыдущей недели относится к группе
А, а используется подробная реклама (Н), то с вероятностью 0,4
объём продаж текущей недели относится к группе В, с вероятно-
стью 0.5 — к группе Лис вероятностью 0.1 — к группе С.
Предположим, что краткая реклама стоит 1000 руб., а подроб-
ная — 3000 руб. и недельная прибыль (без учета затрат на рекламу)
при объеме продаж В составит 12 тыс. руб., при объеме Л — 10 тыс.
руб. и при объеме С — 8 тыс. руб.
а) Определить оптимальную стратегию рекламы, максимизи-
рующую чистую еженедельную прибыль на бесконечном плановом
периоде.
б) В каком диапазоне изменения затрат на рекламу типа L ос-
тается оптимальной стратегия, найденная в п. а).
в) В каком диапазоне изменения недельной прибыли при объеме
продаж В остается оптимальной стратегия, найденная в п. а).
203
Тот же вопрос относится к объемам продаж групп А и С.
г) Пусть р! обозначает вероятность того, что объем продаж те-
кущей недели составляет В, а р2 — вероятность того, что он состав-
ляет А единиц при условии, что объем продаж предыдущей недели
равнялся А и уровень рекламы на той же неделе был равен Н, где
Pi + Рг = 0,9.
Каков диапазон изменения рг в пределах которого стратегия,
найденная в п. а), остается оптимальной?
Глава 5
СТОХАСТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
5.1. ОДНОЭТАПНЫЕ ЗАДАЧИ СТОХАСТИЧЕСКОГО
ПРОГРАММИРОВАНИЯ
В стохастическом программировании рассматриваются проблемы принятия
оптимальных решений в условиях риска и неопределенности, при необходимости
учета воздействия случайных факторов..
Рассмотрим типичную задачу нелинейного программирования;
найти такое решение X, для которого
f(X)->min (5.1.1)
при ограничениях ____
^(Х)<0, i = l,m; (5.1.2)
XGX. (5.1.3)
Задачи стохастического программирования возникают в случаях, когда функции
f (X) и gi (X) зависят также от случайных параметров со. При этом предполагает-
ся, что w является элементом пространства состояний природы (или простран-
ства случайных параметров) Q. Тогда задачу стохастического программирования
можно сформулировать так:
f(X, со)min (5.1.4)
при условиях
g,(X, ш)<0, f = TTm; (5.1.5)
X£3E. (5.1.6)
Постановки задач стохастического программирования существенно зависят от
того, есть ли возможность при выборе решений уточнить состояние природы путем
некоторых наблюдений или нет. В связи с этим различают задачи оперативного
и перспективного стохастического программирования [4, 5, 7].
В задачах оперативного стохастического программирования решение X
принимается после некоторого эксперимента над состоянием природы ш, зависит
от результатов эксперимента и является случайным вектором X = X (со). Такие
задачи возникают, например, в оперативном технико-экономическом планирова-
нии, медицинской диагностике и т. п.
В задачах перспективного стохастического программирования решение X
принимается до проведения каких-либо наблюдений над состоянием природы и по-
этому является детерминированным. Такие задачи возникают в перспективном
технико-экономическом планировании, в задачах проектирования, когда пара-
метры системы должны быть выбраны вполне конкретными детерминированными
величинами в расчете на определенный диапазон возмущений.
Задачи стохастического программирования обычно задаются в одной из сле-
дующих форм;
а) найти min {/ (X, со)} = F (X) (5.1.7’
204
при условиях
= G.(X)<0, 1= 1, rn, (5.1.8)
где — операция математического ожидания;
б) найти minP {f (X, со)>а} (5.1.9)
при условиях
Р {g£ (X, й))< 0} > pit i = 1”, /и, (5.1.10)
где а и Pi — некоторые вещественные числа; Р — вероятность.
Очевидно, возможны и некоторые комбинации задач (5.1.7), (5. (5.1.9),
(5.1.10).
Например, найти минимум (5.1.7) при условиях (5.1.10) или минимум (5.1.9) при
условиях (5.1.8) и т. д. Несмотря на кажущееся различие в постановках задач
(5.1.7—5.1.8) и (5.1.9—5.1.10) они могут быть сведены к некоторой общей
формулировке, например, вида (5.1.7) — (5.1.8). Для этого необходимо ввести
характеристические функции:
h нс «л-/1, если f(-*’
"о (X» ^) — { Л
(0 в противном случае;
МХ, «» = (*• “)<0>
1 (0 в противном случае,
(5.1.1Ц
(5.1.12^
для которых
{Ло (X, со)} = Р {f (X, (0) > а}, М {ht (X, со)} = Р (X, со) < 0}.
Задача (5.1.9) — (5.1.10) тогда приводится к виду:
найти min MJiq (X, о) (5.1.13)
при условиях
M^hi (X, со) Z = 1, т. (5.1.14)
Существуют 2 основных подхода к решению задач стохастического програм-
мирования:
1) непрямые методы, которые заключаются в нахождении функций F (X) и
Gj (X) и решении эквивалентной детерминированной задачи НП вида (5.1.7) —
(5.1.8). Заметим, что подобный подход применим лишь в ограниченном числе
случаев;
2) прямые методы стохастического программирования, основанные на ин-
формации о значениях функций f (X, w)t g{ (X, су) в результате реализаций экс-
периментов.
К одноэтапным задачам стохастического программирования относятся зада-
чи, в которых решения принимаются на основе известных стохастических харак-
теристик распределения случайных параметров условий задачи до наблюдения
за реализациями текущих значений этих параметров. При этом должно прини-
маться некоторое наилучшее в среднестатистическом смысле решение.
Постановки задач стохастического программирования различаются по трем
признакам:
1) по характеру решений; 2) по выбору показателя качества решения; 3) по
способу расчленения ограничений задачи.
В качестве условий функции задачи стохастического программирования с ве-
роятностными ограничениями обычно принимают такие функционалы, как мате-
матическое ожидание, или дисперсию целевой функции, или вероятность превы-
шения ею некоторого порога.
Задачи с целевой функцией вида М (СГХ) называют Л1-моделям£, задачи,
в которых требуется минимизировать величину дисперсии М (СГХ — СгХ)а, на-
зывают V-моделями, а стохастические задачи, в которых максимизируется веро-
ятность Р (СГХ > СГХО = 6}, принято называть P-моделями 118]. В эту же груп-
пу моделей включают также и задачи, где требуется минимизировать порог kt
205
который не должен быть превышен линейной формой СГХ с заданной вероятно-
стью а:
k min при условии Р {СГХ h] = а.
Ограничения задачи могут быть представлены в одной из следующих форм записи;
п 1
1= 1, т\
б)Р{АХ>Ь)>а, 0Са<1;
> сс^, 0 < afc < 1, k = 1, 2, .. . , s.
В) P
п
2 aikixi>bik'
/=1 к
Задачи с вероятностными ограничениями, заданными в форме а), называют
задачами с построчными вероятностными ограничениями, а в форме б) — задача-
ми с вероятностным ограничением.
1. Рассмотрим задачу линейного стохастического программирования с веро-
ятными ограничениями типа а):
М (СГХ)max (5.1.15)
при условиях
{п )
i = l, 2, /и; (5.1.16)
/=1 J
ху>0, /= 1, .. . , п. (5.1.17)
При детерминированной матрице А = ||а;у||и случайном векторе ограниче-
ний b= задача (5.1.15) — (5.1.17), сводится к эквивалентной детерминиро-
ванной ЛП-задаче.
Пусть Р (blt b2... Ьт) — совместная плотность распределения составля-
ющих bt случайного вектора Ь. Находим плотность распределения компоненты Ь$
со со 1
(kj) = У • • • У (bi, Ь2, .. . , bm) dbYdb2 , , . db^^db^^ •. . dbm.
— СО —00
m—1
Вычисляем bi из уравнения
00
j Pt (b.) dbt = ac, i=l........tn. (5.1.18)
Если решение уравнения (5.1.18) не единственно, то в качестве bt выбираем
наибольший корень.
Очевидно, что условия (5.1.18) эквивалентны неравенствам:
2 alixl<bl>
/=1
где Ь( удовлетворяют соотношениям (5.1.18).
Отсюда следует, что задаче стохастического программирования вида
(5.1.15) — (5.1.17) будет эквивалентна следующая детерминированная задача:
CrX^max (5.1.19)
при условиях
j i = I7m; (S.1.20)
Х>0. (5.1.21)
206
где С = М {С}, Ь{ — корень уравнения Ft (Ь^ = 1 — 04, или bt == Ft 1 (1 — az);
Fi — функция распределения случайной величины bt.
2. Рассмотрим теперь более общий случай, когда А — случайная матрица.
Пусть элементы матрицы А и составляющие вектора b — независимые между
собой нормально распределенные случайные величины.
Пусть а£/- е W (a(/, af/), bl е N (bt, где atj — нормальная случайная вели-
чина с математическим ожиданием и дисперсией о^. Пусть, кроме того, в
условиях (5.1.16) 04 > 0,5, i = 1, т.
При сделанных предположениях стохастическая задача (5.1.15) — (5.1.17)
сводится к детерминированной задаче выпуклого программирования с линейной
целевой функцией и квадратичными ограничениями.
Действительно, при принятых допущениях невязка Лго условия случайная
п
величина 6; (X) = J] а^х; — bt является нормально распределенной величиной
/=1
с математическим ожиданием
6(.(Х)= £ aiiXj-bt
/=1
и дисперсией
о?(Х)=» S az// + a(’
/=1
6, (Х)€Л^ (X); a?(X)).
Тогда условия Р < а^х? < М > ap t = 1, 2, . . . , /и эквивалентны не-
равенствам
P{fy(X)<0}>ap i = 1, 2, . .. , m, (5.1.22)
или, что то же самое,
—с txp(~(£7g<(X—i=i....................т- <5J-23)
/2л a, (X) J* Ч 2о| (X) ‘
! 1 _Х
Обозначив Ф (0 = —\ е 2 последние неравенства приведем к.
/2л
виду
Ф-------7&Г > аР
\ OfW Л 1
откуда”(X) + Ф-1 (a,) о{ (X) < 0.
Учитывая выражения для (X) и 0/ (X), получим окончательно
1
ф-1<“р(2 + <*/ — 2 1=,1>2......т- (51-24)
\/=] / /=ц1
По условию сч > 0,5, поэтому Ф~л (aj > 0, и как нетрудно непосредствен-
но убедиться, область, определяемая условиями (5. L24), будет выпукла.
Аналогичный результат получается и в случае, когда случайные элементы
строки Лго условия коррелированы между собой. Введем обозначения
{(bl — ^(ац — ац)},
vijk ж м ((в</ “ “<*))•
207'
Тогда, рассуждая как и выше, получаем при а > 0,5
ф-1 <а? ( S vi fkxixk + 2 2 V<ZX/- + ай 2 < bt — 2 аихг (5.1.25)
\ М / / /=1
Если матрица = || v^k ll;. — положительно определенная, то об-
ласть, высекаемая условиями (5.1.25), будет выпукла.
Итак, при принятых допущениях линейная стохастическая задача (5.1.15) —
(5.1.17) с вероятностными ограничениями сводится к детерминированной за-
даче выпуклого программирования вида - '
п
с.х. -> max
/«1
при условиях
1
[Ф-1 (а,)] [ £ Of/iX/X* + 2 S o(/xj+ аЙ 2 - £ ai/X/.
\ / fe i / /
3. Рассмотрим теперь задачу стохастического программирования
minfc (5.1.26)
при условиях
₽{ДС/Х/<*} = “<>• (5.1.27)
Будем считать, что случайные коэффициенты с/, j = 1, п распределены нор-
мально с математическими ожиданиями с/ и корреляционной матрицей С = Цс^1,
где Сц = М (Ct — ci) (ci — Cj). При принятых допущениях о распределении ко-
п
эффициентов cj линейная форма — СГХ нормально распределена со сред-
_ /==1
ним СГХ и дисперсией
п п
S S ci/xixr
i=l /=1
Поэтому соотношение (5.1.27) может быть переписано в виде
ф (-----А = а0. (5.1.28)
\ S )
Отсюда видно, что минимизация k при условии (5.1.27) эквивалентна мини-
мизации
п .. -.
* “ clxf + Ф-’ (ао) ]/ S 2 СцХ^ .
При а > 0,5 k представляет собой выпуклую вниз функцию по х. Таким об-
разом, при сделанных допущениях, задаче стохастического программирования
Z?->min (5.1.29)
яри условиях
Р {СТХ < *) = «(,; (5.1.30)
^-1. 2...................... (5.1.31)
toe
J
соответствует следующий детерминированный эквивалент:
п ________
k (X) = £ + ф-1 (Oto) 1/ 2 cCfx(Xl -> min; (5.1.32)
ф“’ (“Р ( S S Vi/kxixk + L vnxi + rf}11* < (h — S alfxi}» (5.1.33)
\ / k / I \ j /
Z= I, 2, . . . , m.
Задача (5.1.32) — (5, 1,33) представляет собой задачу выпуклого программи-
рования, Для ее решения могут быть использованы метод множителей Лагранжа,
секущих плоскостей или один из вариантов метода возможных направлений [7],
4, Задачи с вероятностными ограничениями (общий случай). Выше были рас-
смотрены частные постановки стохастических задач с вероятностными ограниче-
ниями, порожденные моделями ЛП. Рассмотрим теперь достаточно общий прием
сведения задач стохастического программирования к эквивалентной детерминиро-
ванной задаче (детерминированным эквивалентам).
Запишем задачу стохастического программирования с вероятностным усло-
вием в форме б):
fQ (X) -> max; (5.1.34)
P{F(X)<0} >а, (5.1.35)
где
f (X) = {/г (X), .... /т(Х)}.
Обозначим через g (X) = {gx (X), ..., gfn (X)} детерминированный вектор,
область изменения составляющих которого для каждого X ограничена диапазо-
ном изменения соответствующей случайной величины fa (X): g( (X) С {inf // (X),
sup fi (X)}. Для каждого X вводим функцию распределения
Рlx (Si (X)) - р (fi (X) < 8( (X)}. О с Fix < 1
и
/?x(X) = P{f1(X)<g1(X); f»(X)<g8(X); ...; fm(X)<gm(X)}. (5.1.36)
Задаче (5.1,34) — (5,1,35) соответствует следующий детерминированный эк-
вивалент:
/0 (X) -> max; (5.1.37)
fx(g(X))=a; (5.1.38)
g(X)<0. (5.1.39)
Пример 5.1. Пусть крупная свиноферма имеет возможность по-
купать от одного до трех различных видов зерна и приготавливать
разные виды смесей. Разные зерновые культуры содержат раз-
личное количество питательных компонентов-ингредиентов. Допу-
стим, что принимаются в расчет 4 компонента.
Исходные данные, относящиеся к этой задаче, приводятся
в табл. 5.1.
Управляющим установлено, что комбикорма для свиней должны
удовлетворять, по крайней мере, некоторым минимальным требова-
ниям с точки зрения питательности. Пусть удельные затраты на
единицу веса зерна вида 1, 2 и 3 составляют соответственно 41, 35
и 96 руб./кг. Требуется определить, какая из всех возможных сме-
сей является самой дешевой. Обозначим через х1( и х3 искомое
количество зерна каждого вида.
Тогда требуется найти такие xlt ха, х3, для которых
(41Хх -f- 35х2 + 96х3) -> mln (5.1.40)
14 9-4063
209
при условиях
2хх 4- Зх2 + 7 х8 > 1250 (ингредиент Л);
1хх 4- 1х2 > 250 (ингредиент В);
5хг 4- Зх2 > 900 (ингредиент С);
0j6Xi 4* 0,25х2 4* 1х3> 235,5 (ингредиент Д).
Допустим, что минимальные суммарные потребности в компо-
нентах А, В, С и Д являются случайными величинами a, b, c.d, рас-
пределенными равномерно соответственно в интервалах [1000, 1500],
(200, 300], [500, 1000], [150, 250].
Таблица 5.1
Ингредиенты • составе 44 смеси Содержание ингредиента в единице зерна вида Минимальные потребности на планируемый период
вид 1 вид 2 вид 3
А 2 3 7 1250 В 1 1 0 250 С 5 3 6 900 Д 0.6 0.25 1 232.5
Построить соответствующую оптимизационную модель, которая
обеспечивала бы минимальные потребности во всех компонентах с
вероятностью не менее 0.80. Соответствующие вероятностные
ограничения будут иметь вид
Р {2хх 4- Зх2 4* 7х8 > а} 0.80;
Р{1хх4- 1х2>5] > 0.80;
Р {5x14- Зх8 > с} > 0.80; (5.1.41)
Р {О.бхх 4- 0.25ха 4- 1х8 > d} > 0.80.
Вероятностным ограничениям (5.1.41) будут соответствовать
следующие детерминированные эквиваленты!
2xi 4- Зха 4- 7х8 «1 = 1400;
Ixi + lxa bi = 280;
5X1 + Зх2 > сх == 900; (5.1.42)
0.6хх 4- 0.25ха 4- 1х8> dt = 230,
где at — значение случайной величины а, удовлетворяющее
условию Р {а di] а = 0.80, откуда = 1400. Аналогичным
образом определяются и значения Ьь q и ах.
Далее решаем детерминированную задачу ЛП (5.1.40) при усло-
вии (5.1.42).
Ее оптимальное решение х° =» 162.5; х% *= 117.5; xS в 103.5.
210
5.2. ДВУХЭТАПНЫЕ ЗАДАЧИ СТОХАСТИЧЕСКОГО
ПРОГРАММИРОВАНИЯ
Постановка двухэтапной задачи
При исследовании многих задач планирования и управления в условиях
неполной информации возможно и целесообразно процесс принятия решений пред-
ставить разделенным на 2 этапа. На первом этапе выбирается так называемый
предварительный план, позволяющий провести необходимые подготовительные
работы, на втором этапе производится компенсация невязок, выявленных пос-
ле наблюдения реализованных значений случайных параметров условий задачи.
Естественно, что предварительный план и план-компенсация должны быть со-
гласованы таким образом, чтобы обеспечить минимум среднего значения суммар-
ных затрат, возникающих на обоих этапах решения задачи. В разрешимой задаче
выбор предварительного плана должен гарантировать существование плана-ком-
пенсации.
Рассмотрим следующую задачу:
СГХ min
при условиях
(5.2.1)
(5.2.2)
А(1) X = Ь(1>; (5.2.3)
Х>0, (5.2.4)
где ____ ______________________ __________
Ст = [Су] /= 1, л; А = || i = 1, m, /= 1, п;
А(1) == |(aj^||, 6 = 1, /и, / = 1, л.
Допустим, что элементы матрицы А = А (со) и векторов b = b (о) и С =
= С(ш) — случайные величины (зависящие от реализации некоторого случайно-
го события со), а решение X необходимо принимать до наблюдения реализации
случайных параметров А (со), b (со) и С (со). Представим Себе процесс решения за-
дачи (5.2.1) — (5.2.4) следующим образом. Выберем вначале (на первом этапе)
вектор X, удовлетворяющий условиям (5.2.3) — (5.2.4). Затем зафиксируем ре-
ализацию со случайного события и соответствующие ему значения А (со), b (со),
оценим невязку b (со) — А (со) X в условиях (5.2.2) и вычислим вектор Y > О,
компенсирующий невязки в соответствии с соотношением
DY = b (со) — А (со) X,
где D = ||d£/1| Г = 1, т, I» 1, лх — матрица компенсации. В общем случае эле-
менты D —- случайные. Если задача (5.2.1—5.2.4) интерпретируется в терминах
планирования производства, и А — матрица основных технологических способов,
то D интерпретируется как матрица аварийных технологических способов, опре-
деляющих возможные пути компенсации обнаруженных невязок.
За нарушение условий задачи устанавливается штраф, зависящий от величин
составляющих вектора Y, компенсирующего невязку. Будем характеризовать
штраф величиной qrY, причем в общем случае q — случайный лгмерный вектор;
q > 0. Вектор Y может быть выбран многими способами. Обычно его выбирают
таким образом, чтобы обеспечить минимальный ожидаемый штраф за компенса-
цию условий задачи, определяемых предварительным планом X, Иными словами,
на втором этапе решается задача
qrY->min (5.2.5)
при условиях
DY = b—- АХ; (5.2,6)
Y>0. (5,2.7)
14*
211
Оба этапа решения задачи могут быть сведены в один, и тогда мы приходим
к постановке, называемой двухэтапной задачей стохастического программирова-
ния:
т т
найти min A1Q {С (со) X + min [q (со)7 Y]} (6.2.8)
при условиях
А1 X = Ь(1); (5,2.9)
D (<о) Y = b (со) — А (<о) X; (5.2.10)
Х>0. (5.2; 11)
Таким образом, решение двухэтапной стохастической задачи состоит из двух
векторов: детерминированного n-мерного вектора X, определяющего предвари-
тельный план, и случайного nj-мерного вектора Y = Y (со), определяющего
план компенсации невязок. Для решения задачи достаточно вычислить оптималь-
ный предварительный план X. После реализации случайного события со, т. в*
после реализации случайных параметров условий задачи, соответствующая реа-
лизация Y оптимального плана-компенсации вычисляется, как решение ЛП-зада-
чи (5.2.5) - (5.2.7).
Затраты на коррекцию плана должны быть возможно меньшими. Поэтому
целесообразно для перспективного планирования (двухэтапной схемы) исполь-
вовать малочувствительные к изменению параметров условия задачи.
Условия разрешимости
Рассмотрим условия разрешимости задачи второго этапа, Запишем задачу
(5,2,8) — (5.2.11) в следующем виде: ।
при условиях min {СХ 4- Р (X, А, Ь)} (5.2.12)
А<»Х = Ь<»; (5.2.13)
Х>0; (5.2.14)
где Р (X, A, b) = min qrY;
(5.2.15)
DY = b — AX; (5.2.16)
Y>0. (5.2.17)
Для разрешимости задачи второго этапа (5.2.15) — (5.2.17) при любых реа-
лизациях А и любом предварительном плане X необходимо и достаточно, чтобы
система неравенств
DTZ<q (5.2.18)
была разрешима [18]. 4
Доказательство. По условию множество планов задачи (5.2.15) —
(5.2.17) непустое. Согласно теореме двойственности ЛП функция Р (X, А, Ь) огра-
ничена снизу тогда и только тогда, когда область определения двойственной
вадачи для каждого X, А и b
Q (X, A, b) = max ZT (b — АХ) (5.2.19)
z
DTZ < q (5.2,20)
непустая. .
Поскольку область определения задачи (5.2.19) — (5.2.20) не зависит от X. А
и Ь, то при выполнении условия (5.2.20) задача второго этапа разрешима при
всех X, А и Ь, а при его нарушении не имеет решения ни при каких значениях
этих переменных.
Эквивалентная детерминированная задача
Построим детерминированную задачу, эквивалентную двухэтапной задаче
стохастического программирования. Ее решением является предварительный плац
X, По составляющим оптимального предварительного плана и реализации пара.-
212
метров условий задачи © строится задача второго этапа —задача ЛП, решение
Которой определяет необходимую компенсацию плана.
Эквивалентная детерминированная задача имеет вид:
найти min G (X). (5.2.21)
хек
Исследуем целевой функционал G (X) — показатель качества предваритель-
ного плана.
Выразим G (X) через статистические характеристики параметров условий
задачи и докажем, что детерминированная задача, эквивалентная задаче стоха-
стического программирования, Является задачей выпуклого программирования.
Рассмотрим задачу второго этапа (5.2.15) — (5.2.17) и двойственную к ней
(5.2.19) — (5.2.20) для каждого X, А, Ь.
Предположим, что задача второго этапа и двойственная к ней разрешимы.
По теореме двойственности для линейного программирования
Р (X, A, b) = Q (X, A, b) = Z*T (A, b, X) (Ь — АХ), (5.2?22)
где Z* (A, b, X) —решение задачи (5.2.19) — (5.2.20), зависящее от парамет-
ров А, b и X.
Учитывая эти обозначения, двухэтапную задачу можно переписать так?
min Q (X) = min {CrX + MQ (X, A, b)J (5.2.23)
ИЛИ
mi n {CrX + M(0Z‘7 (A, b, X) (b — AX)). (5.2.24)
Детерминированная задача (5.2.23), эквивалентная двухэтапной задаче
(5.2.12) — (5.2.17), является задачей выпуклого программирования.
Некоторые частные постановки двухэтапной задачи
В общем случае нахождение детерминированного эквивалента двухэтапной
задачи стохастического программирования представляет значительные трудности
и находится приближенно.
Однако в ряде частных случаев она существенно упрощается и может быть
решена классическими методами линейного и выпуклого программирования.
Рассмотрим некоторые такие случаи,
1. Рассмотрим двухэтапную задачу, в которой случайным является только
вектор ограничений b (со), а матрица компенсации после соответствующей переста-
новки строк и столбцов может быть представлена в виде D = (Е, —Е), где Е — еди -
ничная матрица размером m X пг. Аналогичным образом разобьем векторы Y
и q на две части qx и q2, соответствующие матрицам Е и —Е. Задача (5.2.8) —
(5.2.11) в этом случае принимает вид
Q (X) = СГХ + (ИР (X, b)-> min; (5.2.25)
A(I)X = b(1> и Х>0, (5.2.26)
где
Р(Х, b) = min(qfy1+qjy2) (5.2.27)
при условиях . '
У1 — У2 = ь (со) — АХ, (5.2.28)
У1>0, У2>0. (5.2.29)
Здесь yf, у2, qi и q2 — /n-мерные векторы.
Очевидно, что задача (5.2.27) — (5.2.29) второго этапа имеет планы при про-
извольной реализации со и любом выбранном предварительном плане X.
Задача, двойственная к (5.2.27) — (5.2.29), записывается так:
Q (X, b) = max Zr (b — Ах) (5.2.30)
при условиях
-qa<Z<qi. (5.2.31)
213
Задача (5.2.30) легко решается и ее решение имеет вид
Q(X, b)=f Q((K, b(), (5.2.32)
где
(5.2.33)
-1», - <AX),| ,f», при S, - (AX), < 0.
Поэтому эквивалентная выпуклая задача для двухэтапной стохастической
задачи (5.2.25) — (5.2.29) записывается следующим образом:
(т 1
СГХ + Л«2 Qj (X, bt) ->min (5.2.34)
Z=1 J
при условиях
A(1)X = b(1>; (5.2.35)
X>0, (5.2.36)
где Qi (X, bi) определяются из соотношений (5.2.33).
Приведем еще одну форму записи этой же задачи.
Введем обозначения
АХ = W; (АХ), = w{; (5.2.37)
MQ (X, b) = М £ Ql (X, Ьг) = М J Q. (w{, b) = £ Q( (w(). (5.2.38)
i=l i=l i=\
Заметим, что функции Qt (wt) так же, как и Qi (wh b), выпуклы по
Двухэтапная стохастическая задача в простейшей постановке сводится таким
образом к следующей задаче выпуклого программирования
т
СГХ 4-2 Qj(^)-*min (5.2.39)
i=i
при условиях
А(1)Х=Ь(1): (5.2.40)
AX=W; (5.2.41)
Х>0. (5.2.42)
Исследуем функции Qt (wt). Для этого обозначим через 6^ и У/ соответственно
точную верхнюю и точную нижнюю грани случайной величины bi (со), через Ъ =
= ^2» •••» Ьт) — математическое ожидание вектора ограничений и через
Г/(6/) — функцию распределения компоненты bt (со).
Разобьем множество значений на 3 области: (—oo, y{)t (yh fy), (fy, oo)
Если bi (<o) не имеет нижней (соответственно верхней) грани, то положим У/ =
= —оо. Вычислим значения Qt (соt) в каждой из этих областей. Используя (5,2.33),
получим
= b() = -qP J (bl-~wt)dFt(bt) +
b^Wi
+ «Г J (b( - w{) dF( (b() = J (<o) - dF((b() - ,
bi>wt Q
— (<4W + j (bt—“9 dFt
b^wt
Откуда — —
Q<(®<) = ^№-«’0-(^+?i(2)) У С’-2-*»
bt^we
114
Рассмотрим три случая.
1. Пусть wt <у/. В этом случае {bt = 0 и из (5.2.33) получим
Qi (Wi) = $1 — wi). Таким образом, функция (и^) — линейна на луче
(—сю, уЛ.
2. Пусть W( Q 6J. Тогда функция Qz (w{) на этом отрезке выражается
соотношением
о,
Qt &t) = $ (b{ - w{) - + ?®) j (bt - Wt) dF{ (bt).
Vi
3. Wi > 6/. В этом случае множество {bi: b{ < wj совпадает co всей об-
ластью изменения b{ (w):
J [b( (®) - Wt] dF{ (b{) = J (<o) -dF{ = bt-Wt. (5.2.44)
bfiwt Q
Следовательно, функция Q (wf) на интервале (fy, oo) имеет вид
Qz (wt) = qff> (w{ — b{) = — qf> (bt — w().
Как видим, функция Q непрерывна и выпукла на всей числовой прямой.
При некоторых частных распределениях составляющих вектора двухэтапная
фадача может быть сведена к типовым задачам ЛП или выпуклого программирова-
ния и решена стандартными методами,
Пример 5.2. Пусть составляющие bt (со) равномерно распределе-
ны на отрезке [уо 6J. Тогда
О при Ь{<.ч/(',
-^t-при и dF(bt)^-^-db(', (6.2.45)
1 при fy>6f.
Допустим, что wf € 6J. Тогда
№ $ {wt-bt)dF(bd^
bt<vt
-»<) + (?? +?П
j o( —
4
wi
C w,—* b( .. I (w< — Vtr
Учитывая, что J dbt — __ -----s-j—-— , получим
Qi (w{) « q? (bt — wt) 4- — ?<)*•
Тогда двухэтапная задача стохастического программирования
(5.2.40) — (5.2.43) приводится к следующей задаче квадратичного
программирования:
п т т П) । (2)
S CfXf + S — wt) + S 2^-^) “tipmin (5.2.46)
215
при условиях
А(,)Х s= b® или S аих/ I = 1, /й,
7=1 ____
(АХ)< = wt, i = l, /й;
Xj > 0.
Пример 5.3. Пусть все компоненты Ь{ вектора b (<о)
ны экспоненциально, т. е.
0 при
1 — e—7v‘(6z—v'> при b( С оо];
dFt (b() = ^e“’l'(>i-v').
(5.2.47)
(5.2.48)
(5.2.49)
распределе-
(5.2.50)
В таком случае, в соответствии с формулой (5.2.50), получим
wi
$ (bi — wi) dF (bi) = Xt J (bt — wt) e-Wr-^dbi. (5.2.51)
v(
Интегрируя выражение (5.2.51) по частям, после несложных пре-
образований получим:
wi
%, f (bt - wt) e-^^dbi = (wt — b{) &-Ki(br-^ _
— * e-xA-v? _ W{ = 1 [i _x (Wt _ Y/)]. (5.2.52)
*7 1
Подставляя (5.2.52) в (5.2.43) и учитывая, что bt = у{ 4- ц-,
получим
Qi (wi) = q? (bt - Wi) - (q? + qf>) • 4- (1 - -
*4
— (wt — Vf)] = q?(vt 4- -i- — Wtj 4- (q{i} 4- чТ) (®i — ?t) —
„(1) 4-fl® n
- ~Lt{ [1 - <wi - Yi) “
— [ i _ e-Mv-v?]. (5.2.53)
Следовательно, двухэтапная задача стохастического програм-
мирования сводится к следующей задаче выпуклого программирова-
ния! •
S С/*/4- 2 q?(wt — yz) —
/=1
__ £ [i _e-M-z-v?]min
при условиях (5.2.40) — (5.2.42).
(5.2.54)
216
В тех случаях, когда можно предполагать, что w°i « bit
разложив функцию (1 — в рЯд Тейлора, получим
" Д Д Л» -X. о®
У CjX, — 2j qT (w — Y;) + S ‘ 2 ‘ " ^w‘ ~ w)2 “* min’ (5-2-55>
т. e. данная задача сводится к задаче квадратичного Программиро-
вания.
Пример 5.4. Рассмотрим теперь случай конечного числа реали-
заций случайного вектора b (со). Пусть составляющие bt вектора b (со)
могут принимать значения < b)2) < М3> < < Ь*1 с ве-
роятностями р’1*, р<2), ..., pkii.
Из формулы (5.2.43) следует, что в случае дискретного распре-
деления случайной величины bt (со) функции Q (wh bi) являются ку-
сочно-линейными функциями переменных w{. Ввод дополнительных
переменных и ограничений позволяет свести выпуклую кусочно-
линейную задачу к задаче ЛП.
Обозначим
г—\
F^ = 1; F? = P{b(< b?} = 0, (5.2.56)
ki
-bl = Mbt = ^ ьГрГ.
r=l
Введем переменные ayjr>, г = 1, 2, ..., k( + 1, удовлетворяющие
уоловиям
М4
Е = wt, < b?> = d)1’, 0 < w? < b? - ЬГ” -
Г=1
= < г = 2, 3........kh и»*/+1>0.
В этом случав
(?i + 7«) J (bt — Wi)dFi(bt) = (<7i + <72) S (&Г—
-Л- S ki" - to?’ + 4?) Ft'] Л
r=l
И задача стохастического программирования (5.2.39) — (5.2.42)
Сводится в этом случае к задаче ЛП вида;
найти
(п т */+•
S — S S — (7^ + ^2)) F?] О'Г) (5.2,57)
/«1 п.1 /
217
при условиях
т
ас/Х/ = оуГ>
(5.2.58)
(5.2.59)
где
w? < dP; 0 < < dP, г = 2, ..., kh (5.2.60)
a>*,+1 0, i — 1, tn\ (5.2.61)
Х/>0, /5=1, л. (5.2.62)
Пример 5.5. Двухэтапную задачу, в которой все случайные
компоненты вектора b (со) имеют непрерывную функцию распреде-
ления, можно приближенно свести к задаче квадратичного програм-
мирования. Для этого необходимо заменить непрерывную гладкую
функцию распределения ступенчатой функцией распределения и
представить Ь( в виде суммы равномерно распределенных случай-
ных величин:
Ь(=$ £ рР-1;
г—1
0 при ЬР<уР,
аСП _ «(О
при Ь? CWP, П
1 при
(5.2.63)
Соответствующая детерминированная задача тогда запишется
Следующим образом;
S «Л+ 5 s' 1? (51',-«ЪрГ,+
г«=1
+ 4SS (5.2.64)
при условиях
у atyxi = ftp, I - Т?т; (5.2.65)
t в</Х/ + “ 5Г» в Ь k{) I == 1, т; (5.2.66)
и»^>0, Х/>0. (5.2.67)
Пример 5.6. Рассмотрим задачу, приводящую к двухэтапной
модели стохастического программирования. Пусть имеется несколь-
ко предприятий, производящих некоторый однородный продукт,
21В
расположенных в пп. Д1( Л2, Л3 и Л4. Объемы производства продук-
та обозначим соответственно ах, а2, ад и а4. Имеется также п =* 4
пунктов потребления этого продукта Bt, В2, В3, В4 с уровнями
спроса &х, Ье, Ь3, bt. Обозначим производственные затраты по произ-
водству 1 ед. изделий в п. А{ через с{, а затраты по перевозке
1 единицы продукта из п. At в п. В/ через сц i = 1,4, / = 1, 4.
Допустим, что величина спроса bj — случайная с известным за-
коном распределения Р (&/) и предположим, что Р (bf) — равномер-
ное распределение на отрезке [у/, 6J.
Обозначим через S/ затраты по хранению единицы избыточного
продукта в п. Bj. Если спрос bj превышает объем ввоза X/, то необхо-
димы дополнительные производственные затраты по производству
и ввозу продукции. Величину удельных дополнительных затрат по
производству и ввозу единицы продукта в п. Bj обозначим через
<7/ (Qj = min + clf).
i
Допустим, что величины ct и сц случайные с известными сред-
ними с( и Cij. Требуется определить такие объемы перевозок хц
из п. At в п. Bj, а также планы выпуска дополнительной продукции
xt, при которых минимизируется сумма ожидаемых затрат по произ-
водству и перевозке продукции и затрат по хранению избыточного
запаса.
Решение. Составим математическую модель задачи. На пер-
вом этапе необходимо найти такой план перевозок X = Ц хц [, для
которого
Мс {СХ} = Ме (2 £ сцхц} -+ min (5.2.68)
при условиях
А(1)Х — f xtj^at, (5.2.69)
/=i
Обозначим объем продукта, ввезенного в п. В/, через wt. Оче-
видно,
Вектор компенсации Y определяется, как у/ =* bj — Wj, а мат-
п
рица компенсации — Q (X, Ь) =» S Q/ (X, bj) e Q/ (и»/, bj), где
л/y м I&/ —W/J <7/, если bj>Wj,
4l (A, Dj) - _ если
Используя соотношения (5.2.39) — (5.2.42), запишем детермини-
рованный эквивалент для данной задачи в следующем виде:
Ме (X S Ci/Хц + S Qj (wh fy)} -> min (5.2.70)
ори условиях
S i = 1, m\ (5.2.71)
219
xt, = Wj, ] — 1, n; (5.2.72)
xo>0. (5.2.73)
Используя выражение (5.2.46), приведем эту задачу к виду
S S 'сихи + S 7/ (Ь,- — Wj) + 2 -27di?vf ~~ mi?
(5.2.74)
i=\,tn\ (5.2.75)
при условиях
п
/=1
£ = wh j = п - (5.2.76)
Как видим, задача (5.2.74) — (5.2.77) является задачей квад-
ратичного программирования с ограничениями — равенствами й
неравенствами. Для ее решения можно применить теорему Куна —*
Таккера.
Задачи и упражнения
Решить следующие задачи стохастического программирования.
5.1. Фирма, специализирующаяся на производстве заморожен-
ных пищевых полупродуктов, выпускает 3 различных продукта
(1, 2 и 3), каждый из которых получается путем определенной обра-
ботки картофеля и подлежит соответствующей упаковке. Фирма
может закупить картофель у двух поставщиков. При этом объемы
продуктов 1, 2 и 3, которые можно получить из одной тонны карто-
феля первого поставщика, отличаются от объемов продуктов, по-
лучаемых из картофеля второго.
Таблица 5.2
Продукт Количество продукта, получаемого из 1 т картофеля Ограничение на объем выпуска продукта
Рп “ ‘/а Р12 = Х/з Р1з = Х/з Pai • Va Paa — */з
I 0.1 0.25 0.30 0.3 0.35 8
2 0.2 0.25 0.10 0.1 0.1 6
3 , 0.3 0.35 0.3 0.3 0.25 12
Предположим, что из одной тонны картофеля поставщика 1 можно
о одинаковой вероятностью получить продукты 1, 2 и 3 в количест-
вах 0.1, 0.2, 0.3, либо (0.25, 0.25, 0.35), либо (0.3, 0.1, 0.3). Допустим,
что для картофеля поставщика 2 соответствующие показатели буду!*
следующими: либо (0.3, 0.1, 0.3), либо (0.35, 0.1, 0.25), причем пер-
вая возможность реализуется а вероятностью 2/3, а вторая с ве-
роятностью х/8 (табл. 5.2).
220
Предположим далее, что относительная прибыль при закупке
картофеля у поставщика 1 равна 5 ед. ст., а у поставщика 2 —
6 ед. ст. При принятии решения по закупке картофеля необходимо
также учитывать производственные возможности фирмы по выпуску
продукции каждого вида, а также максимальные объемы продукции,
которые могут быть проданы.
Допустим, что исходя из этих факторов, ограничения на объем
выпуска каждого продукта составляют: для первого — 8 ед., для
второго — 6 ед., а для третьего — 12 ед.
Допустим, что спрос на f-й продукт dit i = 1, 2, 3 — случаен
С известной функцией распределения pt (di). Пусть продукт 1, ока-
завшийся в избытке по отношению к фактическому уровню спроса
Dv можно продать оптовому покупателю и получить при этом от-
носительную удельную прибыль £, аналогично удельная относи-
тельная прибыль в случае реализации по оптовым ценам продукта 2
составляет Н единиц, а продукта 3 — L единиц.
Построить двухшаговую линейную модель, позволяющую вы-
брать объем закупок картофеля у поставщика 1 и 2 таким образом,
чтобы ожидаемая прибыль фирмы была максимальной.
Решить эту задачу для следующих исходных данных:
р(1) = 3> о® = 4) D(3) = 5) Р11 = Р12 = Р1з = 1/з.
= 1, D® = 3, М2) = 5, р21 = V,. р22 = V2, р23 = Vs;
= 4, = 6, р31 = р (2?з’) = V3> р32 = р = 2/3;
Е = 2 ед., Н — 1 ед., L = 3 ед.
5.2. Пусть некоторое предприятие после выполнения основной
производственной программы располагает запасами сэкономленного
сырья трех видов Sb S2, S3 в количествах Ьъ b2 и b3 условных еди-
ниц. Из этого сырья может быть изготовлено 2 вида изделий Gx и G2.
Известны величины — количество единиц f-ro сырья, идущее на
изготовление единицы /-го вида изделия, и сц — доход, получаемый
от реализации одной единицы каждого вида изделий.
Допустим, что нормы расхода являются случайными величи-
нами с равномерным законом распределения в интервале (у^, 6t7),
a Cj распределены нормально со средним с/ и дисперсией о.
Таблица 5.3
Вид еырья Запас сырья Количество единиц сырья, иду- щее на изготовление одного изделия
первого вида второго вида
vn Vf2 б/2
1 2 3 4 5 6
20 2 4 1 5
& 16 1 2 14
S8 12 0 0 2 6
Таблица 5.4
Характеристики Удельная прибыль продажи изделия
/-1 | / = 2
Среднее Cj 3 2
Дисперсия Gj 4 1
221
Соответствующие числовые данные приведены в табл. 5.3 и 5.4.
Требуется составить такой план выпуска продукции, при котором
ожидаемый доход предприятия был бы максимален при условии,
что с вероятностью не менее 0,90 план будет реализуемым, т. е.
количество всех видов сырья окажется достаточным для его выпол-
нения.
Составить математическую модель задачи и найти оптимальное
решение для исходных данных табл. 5.3.
5.3. (Об использовании производственных мощностей.) Пред-
положим, что предприятие намеревается выполнить (или перевы-
полнить) план производства по двум видам изделий. Для про-
изводства каждого из видов изделий может быть использовано обо-
рудование группы Лх или Л2. Производительность различных групп
оборудования при производстве изделий аг/ различна и является
случайной (здесь i — индекс типа оборудования, а / — вида про-
дукции). Стоимость единицы продукции, которую обозначим через
bij (i = 1,2, j — 1, 2), будет также случайна.
Допустим, что плотность распределения величин ац и Ьц извест-
на, и пусть ац распределены нормально — N (ац, ац), а Ьц — рав-
номерно в интервале (6г/, yZ/)-
Обозначим через и план выпуска изделий первого и второ-
го типа соответственно. Пусть Nr — 100 шт., N = 200 шт.
Определить оптимальный план работы групп оборудования,
при котором минимизировались бы ожидаемые суммарные производ-
ственные затраты по выпуску изделий при условии, что вероятность
превышения заданного времени Т работы выполнения всего пла-
нового задания составляла бы не более 0.10, а план выпуска изделий
Ni, N2 был бы выполнен с вероятностью не менее 0.95.
Составить математическую модель задачи и найти решения для
исходных данных, приведенных в табл. 5.5.
Таблица 5.5
Группа обору- дования Производительность оборудования, ипУч Стоимость производства изделия Фонд времени t-го обору до* вания, ч
/=1 /«2 / == 1 /=2
в/1 | ° 12 а12 °12 6i2 | Vf2
1 5 5 3 3 2 4 1 2 40
2 10 5 5 2 3 6 2 8 45
5.4. Имеется п различных типов судов, которые могут осуществ-
лять перевозки народнохозяйственных грузов по регулярным ли-
ниям. Суда разных типов при эксплуатации на той или иной ли-
нии имеют разные характеристики.
Исходя из данных о себестоимости грузокилометра и коммер-
ческой загрузки каждого типа судна, на каждой линии устанавли-
ваются: месячные эксплуатационные расходы на судно /-го типа
на i’-й линии сц i = 1, m, j — 1, п; месячный объем грузооборота
222
(объем перевозок) — судна /-го типа на t-й линии ац. Пусть
величины ci/ и аг/ —случайные, причем сц имеют равномерное
распределение с параметрами (уг/, 6г/), а аг/ — нормальное распреде-
ление — N (аг/, аг/), причем аг/ — независимые случайные величины.
Минимальный план перевозок по i-R линии равен A[t i = 1, т.
Допустим, что число судов /-го типа равно М/.
Требуется составить такой план распределения парка судов
по регулярным линиям, который обеспечивает минимум ожидаемых
суммарных расходов при выполнении плана перевозок с вероят-
ностью не менее 0.80.
Составить математическую модель задачи в одноэтапной поста-
новке. Найти оптимальное решение этой задачи для разных вариан-
тов исходных данных, приведенных в
следующих таблицах
223
5.5. Рассмотрим задачу 5.4. Допустим, что если план пере-
возок по некоторой f-й линии оказывается невыполненным, то уп-
равление пароходства может использовать резервные суда. При
этом эксплуатационные расходы по их использованию на Z-й линии
составляют руб/мес, а грузооборот судна — bt. Общее число ре-
зервных судов составляет Afp шт.
Требуется составить такой план перевозок, при котором миними-
зируются суммарные ожидаемые расходы по использованию ос-
новных и резервных судов при безусловном выполнении плана-
перевозок.
Составить двухэтапную модель стохастического программиро-
вания. Решить данную задачу для исходных данных в табл. 5.6
и 5.7, если и bt — случайные величины, равномерно распределен-
ные в интервалах (ги, ^2) и (6П, Ь^) соответственно. Соответствую-
щие значения приведены в табл. 5.10.
Таблица 5.10
Z 1 2 3 4
г1\ 100 50 120 40
ГЙ 200 80 140 60
bil 40 15 30 20
bi2 60 45 50 40
5.6. Обработка деталей А, В и С может производиться на трех
станках (1, 2 и 3).
Предположим, что нормы затрат времени на обработку /-й дета-
ли на f-м станке ац (j = А, В, С, i = 1, 2, 3) случайны и распре-
делены по равномерному закону в интервале ^/], а цена /-й
детали q распределена но нормальному закону со средним с/ и
СКО — 0/. Величины и приводятся в табл. 5.11, а С/ и 0/ —
в табл. 5.12.
Предположим, что любая деталь может производиться на любом
из станков.
-224
Определить оптимальную производственную программу, кото-
рая обеспечивает)
1) максимум ожидаемой стоимости товарной продукции Т;
2) максимум ожидаемой суммарной прибыли П;
3) максимум числа комплектов, включающих 3 детали А, 2 де-
тали В и 1 деталь С при условии физической реализуемости плана
с вероятностью не менее 0.95 (план называется физически реали-
зуемым, если для него потребные ресурсы не превышают наличных);
4) максимум П при заданном ассортименте 3 : 2 s 1;
5) максимум П при заданном количестве деталей А = 200,
В = 400 и С = 600;
6) максимум ожидаемой загрузки станков при заданном ассор-
тименте 3 i 2 : 1;
7) максимум ожидаемой прибыли при дополнительных условиях,
чтобы каждый станок был загружен производством только одной
детали, а план предусматривал производство всех трех деталей;
8) максимум П при условии, что с вероятностью 0.8 деталей бу-
дет выпущено не менее 300 шт., а детали В — не менее 200 шт.;
9) максимум вероятности того, что будет выпущено не менее
заданного числа комплектов К = 200, которые включают три дета-
ли типа А, две детали В и 1 деталь С.
5.7. Для изготовления определенного сплава из свинца, цинка
и олова используется сырье в виде следующих пяти сплавов из тех
же металлов, отличающихся составом и стоимостью 1 кг. Допустим,
что процент содержания металла / в каждом сырье i является рав-
номерно распределенной случайной величиной в интервале [ац,
Ьц].
Таблица 5,14
1 /=»1 < — II /-III /-IV /-v
Ci 4 5 6 8 7
Исходные данные приведены в табл. 5.13 и 5.14. Требуется)
а) определить, сколько сырья каждого типа нужно взять, что-
бы изготовить с минимальной себестоимостью сплав, содержащий
16 »-«•» 225
с вероятностью 0.75 не менее 20 % свинца, 30 % цинка и 50 %
олова;
б) решить эту задачу при условии, что с вероятностью 0.9 сплав
будет содержать олова не более 40 %, а цинка — не менее 20 %.
5.8. В колхозе 3 поля (/ = 1, 2, 3) площадью Sx =» 10 000 га,
= 15 000 га, S3 = 5000 га засеяны пшеницей. Для уборки
полей могут быть использованы комбайны разных типов ill =*
= 174) производительностью gt/ га/день. Пусть суточные эксплу-
атационные расходы по содержанию комбайна I составляют
Таблица 5.15
Тип i Средняя производительность на поле / Число комбай- нов Эксплуатационные расходы
/ = 1 | /=>2 /==3 а1
1 40 55 60 10 10 30
2 80 120 150 10 20 40
3 120 175 200 8 26 45
4 ' 100 160 180 16 30 40
Ct руб./день. Общее количество комбайнов типа i равно Nt. Величины
gt/ случайные, распределены экспоненциально со средним тг/ =
» jj-, с{ — равномерно распределены в интервале [а{, Ь{].
Исходные данные задачи приведены в табл. 5.15. Определить, какое
количество комбайнов каждого типа необходимо направить на каж-
дое из полей, чтобы с вероятностью р = 0,9 убрать все поля не
более чем за Т дней при минимальных ожидаемых суммарных
издержках.
Задачу решить при Т == 4, 5 и 6 дней.
5.9. В условиях задачи 5.8 определить, какое количество комбай-
нов каждого типа необходимо направить на каждое из полей, чтобы
ожидаемое время уборки было минимальным, а суммарные произ-
водственные издержки с вероятностью рх — 0.9 не превысили вели-
чину Собщ.
Составить модель задачи стохастического программирования
и решить ее при Собщ = 7000 руб., 8000 руб., 8000 руб., 9000 руб.
5.10. Предположим, что в задаче 5.8 вследствие возможных по-
ломок техники не гарантировано окончание уборки за Т дней. Кол-
хоз может обратиться в межрайонную базу «Сельхозтехника» за
дополнительным числом комбайнов.
Пусть производительность комбайна на поле / составляет
g/р га/день, а эксплуатационные расходы на 1 комбайн составляют
Ср руб./день, причем g/p распределены экспоненциально со средним
t/р. Исходные данные приведены в табл. 5.16. Определить, какое
дополнительное количество комбайнов необходимо запросить на базе
«Сельхозтехника» и на какие поля их направить, чтобы с вероят-
ностью р0 = 0.95 убрать все поля не более чем за Т дней при мини-
мальных ожидаемых суммарных расходах.
226
Таблица 5.16
Тип резерв- ного комбай- на р Производительность комбайна на поле / Эксплуатационные расходы,
/ = 1 /=2 | / = 3 u₽ 1 %
А 200 300 350 30 35
В 120 180 200 20 30
Составить модель двухэтапной задачи и решить ее при следую-
щих значениях Ti а) 8 дней; б) 6 дней; в) 4 дня.
5.11. Предприятие располагает ресурсами сырья, рабочей силой
и оборудованием, необходимыми для производства четырех видов
изделий. Пусть удельные расходы ресурсов типа / являются случай-
ными величинами, распределенными в интервале [а/, bj], а прибыль
на единицу изделия вида i составляет с( единиц. Исходные данные
приводятся в табл. 5.17 и 5.18.
Таблица 5.17
Вид ресурса Нормы расхода ресурса при производстве Объем' ресурсов
i «= 2 i = 4 i = 4
Сырье, кг 2—4 3—6 1—2 2-5 60
Рабочая сила, нормо-ч Оборудование, станко-ч 15—25 10—15 15—20 30—50 400
6—12 10—18 6-10 12—20 130
Таблица 5.18
Вид изделия 1 2 3 4
Прибыль 30 25 56 48
Определить оптимальный ассортимент изделий, обеспечи-
вающий:
1) максимум ожидаемой прибыли при условии реализуемости
плана с вероятностью 0.95;
2) максимум ожидаемой прибыли при ассортименте 3 1 2 ! 1 i 2;
3) максимум числа комплектов, включающих одно изделие —
типа 1, два — типа 2, три — типа 3 и одно — типа 4.
5.12. Мебельная фабрика выпускает столы, стулья, бюро и
книжные шкафы, используя 2 типа досок. Фабрика имеет 1000 до-
сок типа 1 и 500 досок типа 2. Трудовые ресурсы фабрики составля-
ют 800 чел-ч в неделю. Затраты каждого вида ресурсов на изготов-
ление 1 изделия являются равномерно распределенными случайны-
ми величинами в интервале (ait Ь() (табл. 5.19). Прибыль от реали-
зации 1 стола — 12 руб., 1 стула — 5 руб., 1 бюро— 15 руб.,
1 книжного шкафа — 10 руб.
16* 227
Определить оптимальный ассортимент выпуска, обеспечиваю-
щий при условии реализуемости плана с вероятностью не ме-
нее 0.90:
1) максимум ожидаемой прибыли;
2) максимум ожидаемой прибыли при условии комплектности
(количество столов относится к количеству стульев как 1 6);
3) максимум ожидаемой прибыли при дополнительных услови-
ях; столов — не менее 40 шт., бюро — не менее 130 шт.» книжных
шкафов — не более 10 шт.
Таблица 5,19
Удельные затраты
Вид ресурса i СТОЛ стул бюро книжные шкафы
1 <4 *1 2 <4 4 3 <4 ь3 bi 4 ai
Доски типа 1, м 4 6 I 2 8 12 9 15
Доски типа 2, м Трудовые ресурсы, I 3 2 4 2 6 10 14
чел-ч 2 5 1 3 4 6 8 12.
4) максимум товарной продукции при условии комплектности
столов и стульев 1 j 6 и следующих ценах на продукцию: стол —
40 руб., стул — 15 руб., бюро — 12 руб., книжный шкаф —
80 руб.
5.13. Ткань трех артикулов производится на ткацких станках
двух типов. Производительности станков при обработке пряжи —
случайные величины, распределенные по показательному закону
со средним. тг, i = 1, 2, 3, а расходы пряжи и краски (в кг на
Таблица 5.20
Тип станка Производственная мощность, тыс. станко-ч Средняя производительность станка, м/ч
i = 1 1 '=2 1 1 ==з
I 30 20 10 25
II 45 8 20 15
Таблица 5.21
Вид ре- сурсов / Объем ресурсов Нормы расхода на ткань
i = l 1 = 2 1 = 3
ач ЬИ аИ ьн аИ ЬИ
Пряжа 30 100 140 160 200 180 240
Красители 5 5 10 3 7 6 12
228
1000 м)— равномерно распределенные в интервале (а(, Ь() слу-
чайные величины. В табл. 5.20, 5.21 указаны производственные
мощности станков (тыс. станко-ч), наличные ресурсы пряжи и кра-
сителей (в тыс. кг), производительности станков (м/ч), минималь-
ные и максимальные нормы расхода пряжи и краски (кг на 1000 м).
Цена 1 м ткани трех артикулов равна соответственно 16, 18 й
20 руб.
1. Определить оптимальный ассортимент, максимизирующий
товарную продукцию фабрики с вероятностью р не менее 0.90.
2. Определить максимальное число комплектов ткани, которое
может выпустить фабрика с вероятностью р = 0.90 при комплект- ’
ности артикулов ткани 2-1:3.
3. Определить оптимальный ассортимент, максимизирующий
прибыль, если средняя себестоимость 1 м ткани равна соответствен- .
но 8,5 и 15 руб. при условии реализуемости плана не менее 0.85.
5.14. В кормовую смесь входят 3 продукта: сено, силос и кон-
центраты, содержащие питательные вещества: белок, кальций и ви-
тамины. Количества питательных веществ (табл. 5.22) являются
равномерно распределенными случайными величинами, находящи-
мися в интервале [а/, Ь/].
Минимально необходимые нормы потребления белка — 2000 р,
кальция — 120 г, витаминов — 40 г.
Таблица 5.22
Продукт Минимальное/максимальное содержание питательных веществ (1 г/кг)
Белок | Кальций | | Витамины
Сено 30/70 4/8 1/3
Силос 10/30 2/6 1/2
Концентраты 150/210 2/4 0,5/1,5
1. Определить оптимальный рацион кормления минимальной
стоимости, обеспечивающий с вероятностью не менее 0.80 суточные
нормы потребления всех питательных веществ, если цена 1 кр
сена равна 3 коп.; силоса — 2 коп., концентратов — 5 коп.
2. Решить эту задачу при условии, что известны предельные
нормы суточной выдачи: сена — не более 12 кг, силоса — не более
20 кг и концентратов — не более 16 кг.
5.15. Три сорта (1 = 1, 2, 3) взаимозаменяемого сырья в коли-
чествах 200, 100 и 300 кг используются при производстве четырех
продуктов (/ = 1, 2, 3, 4). Нормы расхода gif сырья i на произ-
водство продукта / являются равномерно распределенными слу-
чайными величинами в интервале (а</, bij), а производственные
затраты равномерно распределены в интервале (6</, Уо)- Исходные
данные приведены в табл. 5.23 и 5.24.
Составить такой план использования сырья, чтобы с вероят-
ностью р = 0.90 выпустить 25 единиц первого продукта, 45 еди-
229
Таблица 5,23
Нормы расхода на продукт /
Сорт сырья i аи а12 Ь12 <43 Ь13 а<4 ьи
I 2 4 0,5 3,5 3 5 I 3
2 1 3 2 6 I 4 2 4
3 2 7 1 3 0.5 3.5 2 6
Таблица 5.24
Сорт сырья i Производственные затраты на единицу продукции
6Л Vfl б£2 Vf2 Ъ(3 Vi3 et4
1 20 60 15 45 10 20 20 50
2 15 45 20 30 40 50 30 50
3 10 30 30 60 10 30 25 45
ниц — второго, 30 единиц — третьего и 70 единиц — четвертого
при минимальных суммарных производственных затратах.
5.16. Для выпуска продукции / (/ = А, Б, В) три предприятия
(t = 1, 2, 3) используют два вида ресурсов (I и II) в объемах со-
ответственно 250 и 150, 100 и 200, 240 и 300 единиц. '
Нормы расхода каждого ресурса на t-м предприятии для из-
готовления единицы /-й продукции — равномерно распределенные
Таблица 5.25
Предприятие Нормы затрат на продукцию
А Б в
I аИ I blt II аи II ЬП I ач I ьа II ач 11 6г/ I ап м II аа II ЬИ
1 1 3 2 6 0.5 1,5 2 3 3 4 2 4
2 1 2 3 7 I 3 1,5 3.5 1 3 1 5
3 I 4 2 4 I 2 1 4 1 4 3 5
Таблица 5.26
Предприя- тие i Себестоимость /-й продукции 1-го предприятия
А 1 Б 1 в „
1 2 8 5
2 4 6 7
3 3 \ 9 7
230
случайные величины gt/ в интервале [а'ц, Ьц}, а себестоимость из-
готовления единицы /-й продукции на l-м предприятии сц — слу-
чайная величина со средним Сц.
Исходные данные приводятся в табл. 5.25 и 5.26.
Пусть производственный план выпуска продукции составляет
соответственно 300, 170 и 250.
Составить математическую модель для определения оптимальной
специализации производства, при которой минимизируется суммар-
ная ожидаемая себестоимость выпуска и вероятность выполнения
плана не менее 0.85.
5.17. Решить задачу 5.16 при дополнительном условии, что пер-
вый вид ресурса закреплен за предприятием, а второй можно пере-
давать другому предприятию.
5.18. На трех участках колхозного поля (k = 1, 2, 3) можно
Выращивать три культуры: рожь, пшеницу и ячмень (j — 1, 2, 3).
Урожайность кщ этих культур равномерно распределена в интерва-
ле [8/*, yt*l (табл. 5.27).
Таблица 5.27
Участок Урожайность i-Й культуры, ц/га Средние затраты, чел.-ч.
в*2 | v*2 | вЛЗ см Gk2 «аз
10 15 12 20 8 14 2 2.5
j 8 12 10 14 12 ' 18 2.4 3 |.2
10 10 22 20 28 1.8 2 2.5
Пусть плановое задание по сбору урожая каждой культуры со-
ставляет соответственно 500, 600 и 400 ц, а площади участков равны
соответственно 30, 50 и 20 га.
1. Определить оптимальную структуру посевов, минимизирую-
щую суммарные ожидаемые затраты при условии выполнения плана
с вероятностью не менее 0.90.
2. Определить оптимальную структуру посевов, обеспечивающую
максимальную вероятность перевыполнения плана при сохранений
планового ассортимента 5:2:4.
5.19. При составлении суточного рациона кормления скота
можно использовать свежее сено (не более 50 кг) и силос (не более
85 кг). Смесь должна содержать питательные вещества: белок (не
менее 1 кг), кальций (не менее 100 г) и фосфор (не менее 80 г).
Количество каждого компонента в 1 кг сена и силоса является
нормально распределенной случайной величиной со средним
и дисперсией о?/ и себестоимость единицы продукта с( равномерно
распределена в интервале у(].
Исходные данные приводятся в табл. 5.28.
Определить оптимальный рацион, исходя из условия минимума
себестоимости при условии, что с вероятностью р = 0.80 выполня-
ется требование заданной питательности.
231
Таблица 5.28
Про* дукты i Содержание компонентов в продукте' Удельная себестои- мость, руб./кг 6i ъ
Белок Кальций Фосфор
Ui! 1 °п *42 <42 1^13 <43
Сено 40 20 Силос 10 10 1.25 0.5 2 1 1 1.6 3 1.5 ’ 1 0.3 0.6 1
5.20. Предприятие может выпускать продукцию, используя три
технологических процесса {i — 1, 2, 3). Производительность сц
f-й технологии является нормально распределенной случайной
величиной со средним р, и дисперсией о?.
Пусть расход /-го ресурса за 1 ч работы является случайной ве-
личиной, равномерно распределенной в интервале [у;/, 6;/1
(табл. 5.29). Объем каждого ресурса на предприятии приведен 6
табл. 5.30.
Таблица 5.29
Способ произ- водства i Расход /-го ресурса Производи* тельность
о> «о* сч со «О* СО «о* р- lO о LO
*1
1 1 3 2 4 4 10 1 3 0.5 1.5 20 10
2 1 2 3 5 2 4 0.5 1.5 25 15
3 2 4 1.5 2.5 3 5 1 2 0.8 1.2 30 30
Таблица 5.30
Тип ресур- са Сырье Станки Рабочая сила Энергия Транспорт
Объем ресурса 60 80 70 50 40
Определить оптимальный объем продукции, изготавливаемой
по каждому технологическому процессу, при котором максимизи-
руется суммарный объем продукции при условии реализуемости
плана с вероятностью не менее 0.90.
ОТВЕТЫ
К главе 1
1.1.F-78; Х={6, 5). 1.2. F=114-; Х = l-^-l. 1.3. F=10;
о 5 )
6 Г 5 4 1
X«{2f0}, 1.4, F = 19 — ; Х = |2 — , 8— к 1.5. F = 14; Х = {2,0}.
1.8, Неразрешима. 1.7. F=16; X = {3, 5}. 1.8. Неразрешима. 1.9. F == 8;
Х-{2,3}. 1.10. F= 15; Х={4, 1}. 1.11. F = 9; Х = |бу, 1 -М .
1.12. F-6-4-; Х = (4-, 3-Ц. 1.13. F = -8; X = (1 -L, 9-U .
9 (99/ ( 2 2
3 ( 5 3 1 3 ( 1
1.14. F-77 — } Х= Ю-r-, 3— . 1.15. F = -2-r-, Х= —, 4 .
4 (88/ 5 15/
2 {4 41
1.16, F-4;jX-{2, 2). 1.17. 15у; X = h у, 4yl. 1.18. Нераз-
2
решила. 1.19. F = 16; Х= {3, 5}. 1.20. F = 4; X = {2, 0). 1.21. F = —2—;
5
X-
X =•
X»
1.29.
. 1,22, F = 24; X = {0, 8}. 1.23. F = 6; X = {5, 1}. 1.24. F-6^
44. 1.25. F = —6 4"; X = [з 4" . 44. 1.28. F—~:
2/ 5 1.55/ 5
4-Ц. 1.27, F =—22; X = {8, 1}. 1.28. F = 24; X = {9, 6}.
5 J
X={1, 3}. 1.30. F = 8; X={2,3}, 1.31 f = 4— ;X-
F=12;
1.36. F = 12; X = {2, 0}; Y = (o. 44 • 1-37. F = 45-4; X = (б —, 4-1 |
I 5 J 5 5 0
(6 4) 9 (521 (112 1
Y-{-’0’6-}’ *-y = r x = {-’-}} Y = {-’- °’°b
1.89. F«=2214-; X = (4,0, ol; ¥ = Ц-, 44 , 0, ol. 1.40. F-
3 13 6J (77 J
4 (1 5 1 (571
-Ю-—; X- 3 — , 1—h Y= ——,0 . 1.41. F = 33; X = {3. 0, 3};
10 V 10 10) v io 10 )
Y - (7, 1, 0). 1.42, F - —14; X = {2, 0};. Y = |o, 0, 0, 3 yl. 1.43. F = 9;
233
х-14
1.45. F =
V 37 ’
Y-fl?
Y«
1.62. Да. 1.63. F = y; X-{o,
1.65. F- 10; X-= {1, 1}. 1.66. F
- {6, 6, 2, 4}. 1.68. F -=
C 3 2
о); Y-{3, 0}. 1,44. F-—8; Х-{2, 3}; Y - Ц-, , о| ,
12; Х-{1, 3}; V — (3, 0, 0, 0, 0). 1.46. F —— X-
£};У-{0,0.2Г,Л.
27 1
—g— » 0» 0> 0>. 1.48. Неразрешима. 1.49. F =—4; Х={0, 4}>
О, 1, 0, 0). 1.50. F «= -6; 1.51. X » {0, 3); Y = {0, 0, 0, 2}.
1 (16 4 ) ( 4 5 )
—-д-, 0 ; Y» —, 0, — . 1.53. Да. 1.54. Да.
7 I 7 7 J {17}
1.55. Да. 1.56. Да. 1.57. Да. 1.58. Да. 1.59. Да. 1.60. Нет. 1.61. Нет.
32 ( 18 4 )
-}. 1.64. F---т; Х = |Т,т).
60; X = {15, 0). 1.67. F = 13,8; X -
1 ( 6 2 1 3
х- -х-.тг . 1-69. F = 45—; X-
7 ( 7 7 ) 5^
1.70, F = 4; X - {0, 1}. 1.71. F = 13; X = {2, 3},
4
1.72. 12; X=»{1, 3}. 1.73. F-4; X-{2,0). 1.74. F«=27 —; X«
5
г ( 1 4
“TP 1J5. F=«33; X-{3,0,3}. 1.76. F--14; X « {2, 0}.
1.77. F«b4-;
7
„ f 3 J
X-|2^-,Oj. 1,78. F = 24; X = {12, 0}. 1.79. F = 9j
4 f 3
1.80, F-= —X= {2, 3). 1.81. F = 22 —; X =|7— ,
«-и. i.82. f=h-L; X=(6T’ 4t}- ,-83- x={3t’
5 \ 8 г 6 11 4
l-s-4. 1.84. F-10 —я-; X-|——, 3——L 1.85. F = 36; X = {0, 18}.
7 J 13 I 13 13 f , ' '
2 Г341 6 ( 5 6 1
1.86. F = 4-y; X-|3-j-, -y|. 1.87. F = 27—; X = M—, 6 —
1.88. F = 6; X = {0, 5}. 1.89. F = 9 ; X -1-*-, 4 -i-j. 1.90. F «= 53}
X-|l-l-, lj. 1,91. F-—5; X={0, 5}. 1.92. F = 28; X = {4, 6}.
1.93. 1. F = 1360; X = {0, 100, 230, 0, 0, 20}. 2. Более чем иа 2 мин,
о. До 0,6 мин. 4. Функция уменьшается. 5. Не изменится. 6. a) Z — 746,6/,
б) Z - 890; в) Z » 870; г) Z = 1350. 1.94. F - 20; X =« {0, 0, 6, 16}.
1.95. F«3; X - {2, I, 0, 0}. 1.96. F= 1786; Х-k 0, 0, 0, 0, 6, 92-1. ,
И 9 ( 11
63—4. 1.97, F-3; Х== {1, 2, 0, 0}. 1.98. F = 10—; X = 0, 0, 1 —- ,
3 j * ’ ’ ' 14 (. 14
9 11 (5
й —, Б-i^, 0, 0}. 1.99. F = —27; X = (0, 2, 0, 1, 4, 0}. 1.100. F = >
14 2 I 9
/17 71 1 /1 11
х яГ1Г’°’V’°’1 Т*г Х“ (“’ °’ 5’ 3~J *
2 /1 1 1 >
1.102. F-. 25; Х-{1, 1,3,0,1). 1.103. F = 36у; X-|8у, 3 —, 10
1.104. F = 204; X={0, 0, 0, 18, 0, 5). 1.108. F-ll; X={3, 2, 4, 0, 0}.
1.100. F = 25; X = {0, 0, 5, 5, 0}. 1.107, F = 120; X = {6, 0, 0, 15, 0 .
1.108. F = 24; X = {2, 0, 1, 1, 0). 1.109. F = 4; X = {1, 5, 0, 0, 0, 0}.
1.110. F = 5y; X = {1 y, 2y, 0, oj. 1.111. F = 2; X = {0, 0, 1, 0, 0, 0}.
1.112. F=15; X={7, 0, 5, 0, 0, 3). 1.113. F = 65; X = (o, 0, 15 у, О, 0,
62, 49, oj. 1.114. F = 31,09; X = {0; 0; 7, 36; 0; 28, 27; 0; 0; 4, 54}.
1.115. F = 22; X= {8, 3, 4, 0, 0, 0, 0, 0}. 1.116. F = 17.6; X={8, 6, 3, 0,
0, 2, 6, 0}. 1.117. F = 2; X = {0, 1, 0, 0, 0}. 1.118. F = 1; X = {0, 1, 2,
2,0}. 1.119. F=3; X = {1, 1, 1,0, 0}. 1.120. F = 7; X = {4, 2, 0, 1, 0, 0}.
1.121. F = 10; X = {0, 0, 10, 0, 0}. 1.122. F = 2,2; X = {5, 6, 0, 0, 0, 2, 2, 4}.
1.123. £ = 240. 1.124. L = 432. 1.125. £ = 310. 1.126. £ = 345. 1.127. £ =
= 1880. 1.128. £ = 320. 1.129. £ = 310. 1.130. £ = 220. 1.131. £ = 265.
1.132. £ = 555. 1.133. £= 190. 1.134. £= 1055. 1.135. £ = 1190. 1.136. £ =
= 825. 1.137. £ = 585. 1.138. £= 133. 1.139. £ = 225. 1.140. £ = 800.
1.141. £ = 275. 1.142. £ = 400. 1.143. £ = 240. 1.144. £= 176. 1.145. £ = 475.
1.146. £ = 305. 1.147. £ = 715. 1.148. £=860.
К главе 2
X = {0, 4}. 2.2. F = 16; X = {8, 0). 2.3. F = 6;
- ~ 2.6. F = 4;
~ 7 = 3;
'=22; X={2, Ik 2.12. Fall;
= 21; X = {3, 1, 0). 2.15. F = 2;
2.16. F = 12; X={3, 2}. 2.17. F = 2; X={1, 1}. 2.18. F = 7;
2.19. F=ll; X=" ” ........ '
= {2,1}. 2.22. F
X = (l,2‘
X = {4, '
X = 3|
2.1. F=16;
2.4. F = 16; X = {2;0f. 2.5. F = 22; X=(2,1J.
2.7. F = 5; X={1,2}. 2.8. F = 21; X= {3,1,0}. 2.9. F
2.10. F= 10; X={4, 3). 2.11. F ~ ~”
2.13. F = 6; X = {4, 2}, 2.14. F =
X =
Xe
Xe
X =
Xe
Xe
= 16;
2}. 2.20. Fe48; X = {18, 14}. 2.21. F=16;
X = {2, 2}. 2.23. F = 5; X={3, 2}. 2.24. F
5; X = {3, 1}. 2.26. F = 3; X={1,2}. 2.27. F
2.25. F = 5; X = {3/1}. 2.26. F = i
Ik 2.28. F=ll; X = {2, 2, 5}. 2.29. F = 10; X =
1}. 2.31. F = 32; X={4, 0}. 2.32. F = 28; X =
2.30. F
0, 3}.
0, 1}.
[0, 3 .
(6, 5}.
[0, 2}.
[0, 7).
X«
= 12;
= 26;
7;
К главе 3
3.1. l)x*---L, = 2)x» = -|-, yO = ±-Ll; 3) Xе = 2,2.
0°=3,8; 4) «существует; 5) x° = 0,6; ^ = 6,2, 3.2, 1) x? = 3, x§ = 3,
*3 = 3; 2) x? = xl = Jy.; 3) x? = x°2 = 2, X3 = xj = 0; 4) x? = 6 у, x£ =
= 3.3. x? = -^-, x“ = y, minx = -2-^-. 3.4.x?=-l_,
х°2 = . 3.5. x® = 4,4, x® = 2,8, x^ = x£ = 0. 3.6. xf = x£ = 0, x? = x£ =
= {1,2,3}. 3.7. l)x® = 3, x® = 2, 2) x® = 2,78, x® = 1,32; 3)x? = 6, x§ = 6;
4) x° = 5, x, = 8; 5) xf = y, xg = -^. 3.8. xf=l, x£ = 0. 3.9. x? = 5,5;
xg = %5; J^-1,5, max f = 26,75. 3.10. x? = xg = xg = 0, minz = 0. 3.11. x? =
„0, x$ = -^-, x®=-y. 3.12. x® = 0; x®=l,5. 3.13. x? = 3, x§ = 3.
8.14. *f = 7> xj=l, 3.15. x® = 0; x^ = 0. 3.16. x? = -^-; x£ = -y.
235
з.17. = ; х2 — -^~‘ зле. *?=б; х®=2, з.ю. х° = у-‘< х2=="у*‘
3.20. х? = 5; *2 = 3, minf = 21. 3.21. х? = 3,4; х§ = 2,6. 3.22. х? = 7; xg=l.
3.23. х? = 2|, х® = -^. 3.24. х° = 4, x° = 6-L x®=-L. 3.25. х° = 3,9;
1л 1л V О
х£ = 3,22; пих f = 19,21. 3.26. х? = ; х°2 = 1. 3.27. х? = ; х£ = .
П п П 120 п 30 л 20 л '
3.28. = 3,7; х? = 2,3. 3.29. х? = —— , х? = — , х? = —- . 3.30. х? =*
1 ’ ’ 2 1 1 29 2 29 3 29 1
= -|-; *2 = °: х3 = °- 3.31. х° = 2~|//25, у° = 21^25, г = ^25; Cmin =
3 111
= 6 . 10» Т^5. 3.32. 61 = — . «а = —, бз = —, 64 = — , min и (х, у) = 401
2 8 12 2
«1 = 30, «2=10. 3,33, Г==-д*> «1 = ”д~» 62 = -^-, 63 = -у, 64= -у,
min g0 = 45. 3.34. r1 = 0,3, 61 = 0,2, 63 = 0,4, 63 = 0,4, 64 = 0,3, 68 = 0,6,
§о=1ОО; 4 = 4=1, 4 = 2. 3.35.61 = 0,4; 63 = 0,6; S3 = 0,15; 64 = 0,15г
§о = 2,ОЗ; 4 = 3,9; 4 = 2,1, 4 = 3,8. 3.36. Sx = 0,6; 6а = 0,4; 6з=1,2, 64 =
= 0,1, §о = 45,9; 4=1,5; 4 = 1,3; 4= 1,89. 3.37. =-i-, 63 =,
Л 3
1 2 4 1
«з=у, go (0=40,3. 3.38. §o(t) = vo(«)=90, 61 = у, 6а = у, «з = -у.
3.39. §0 (t) = 4,39; 4 = 2,9; 4 = 0,172; tt = 1,1; 6Х = 0,57; 63 = 0,43;. S3 =0,425.
5 1 1
S4 = 0,144; 6e = 0,575. 3.40. §0(t)=8,2, 61 = — , 62 = —, 6» = — j
8 8 4
64 » , 68 = 4- , 4 = 5_,/« « 0,52; 4 = 2.5_,/‘ « 1,45; 4 = 5V’ «3,62.
16 о
3.41. 6г= у-; 6S = ^-; 6з = — ; S4=—; 6g = -l-; §0 (0 = «(«) = 60}
<1=4|-; ^ = «з = 0,8; 4= ]/"-!-= ]/-^-«0,61. 3.42. §0=1,6; 6Х =
= -^-. «з = ^> «3 = 4’ б* = -5Г* <i=1-25; 4 = 0.И4; 4= 1,368.
3.43. Sj = у; 62 =41 «з = «4 = 4. go = 20. №>', = 3*'*, 4 = (
it--3.44. v(6) =§.(/)=-у--Ш7’; Si = -Ь, 62 = -|-. «з = 4»
Л О \ О / *т ** О
л 1 / 3 \“/4 9 / 2 \“/4 / 2 \% в 3
«4=-у. ^ = (—) • = • ЗЛ5- 61—Г’
6»=-L, 63 = 4., 64 = 4., §o(t) = 4O/2.15-‘S 4=6, 4 = 20-4
ЧГ ЛЛ ЧГ
4 = 2. 10v« • 15“ *>*. 3.46. 6t = y, «З = у. «3 = 2, 64= 1, §0 (0=2,16/6,
3 / 2 \’/« ./ / 3 \*Л . 1 . 1
^1=V ^ = °-3, Т .— . 3.47. 61 = —, 62 = — ,
л \О/ \л/ л
«з = . «4 = 4" • ^° <0 = 20 /2, 4 = 2*/*, 4 = г-’7-, 4 = 2V“. 3.48. 6Х =
= -Г’ вз-=-3-> б» = -Т’ 6< = 4’ »(«)=& (0 = 41,33, 4 = 0,311,4=1,89,
о о 4 о
236
ts => 2,05. 3.49. Si = 62 = 68 = , v (6) = g0 (ilt Zs, ta) = 30 ^90 « 134,4;
Zx = 2l/«. 3_,/з • 90s/>, i2 = 3,/# • 2~s/« • 90!/“, Z. = 2,/s • 31/з . 90-‘/з. 3.50. 6t =
= 0,32; 62 = 0,52; 68 = 0,16; 64 = 0,16; 68 = 0,52, v (6) = g0 (t) = 23,9.
3.51. dj = 0,08; 68 = 0,92; 63 = 0,52; 64 = 0,2; 6g=l,24; v (6) = g0 (Z) = JOI;
4 - 1.04;- Z, = 1,745; Z8 = 0,456. 3.52. 6X = 62 = 68 = 6g = ; 64 = -^ ;
3 6
ge — 60; ti = ; Z8 = 4; Z8 = 1. 3.53. 64 = 0,4; 6, = 0,6; 68 = 0,2; 64 = 0,8;
3 5
g0(t) = 11,89, Z4 = 0,706, Za=l,19, Z8= 1,416. 3.54. 6! = — , 62 = —,
8 8
68=J-, S4 = 4-, ti(6)=g0(Z) = 25,14, Zx = 0,74, Z2 = 1,0, Z8 = 1,57,
4 2
4 12 1
3.55. 6X = —, 62 = —, 6, = — , 64 = — , v (6) = g0 (Z) = 6,97, Z1 = 2,426,
5 5 5 5
z2 = 0,855, Z8 = 0,46. 3.56. = —, 63= — , 6» = — , 64 = у , 6e = —,
и (6) = g0 (Z) = 23,68, Z2 = 0,276, Z8 = 5,455, Z4 = 0,394, Zg = 0,590. 3.57. 6X =
= 0,34, 62 = 0,42, 68 = 0,24, 64 = 0,14, 6g = 0,04, g0 (t) = v (6) = 23,1, Z,=
3 4 5 1
= 0,046, Z2 = 2,38, Z8 = 0,406. 3.58. 64 = —, 62 = — , 68 = —, 64 = у .
1 3
64 = —, v (6) = g0 (t) = 13,82, Zx = 0,528, Z2 = 1,7, Z8 = 1,32. 3.59. 64 = — ,
7 4
62 = 4-, 68 = ±, 64 = 4-, ti (6) = g0 (t) = 29,5, Z1 = 0,303, Z2= 1,642,
4 4 2
Z8 = 2,226. 3.60. g0 (Z) = 17,7, Zx = 1,373, Z8 = 1,06, Z8 =1, 6X = 0,6, 62 = 0,4,
68 = 0,4, 64 = 0,7, 66 = 0,1.
К главе 4
4.3. g® = 0, g® = 6, g® = 4, ₽общ = 1100 кг. 4.4. a) g? = 4, g® = 0, g« = 4;
6) JZ? = O, gg = 6rg® = 3, R= 1000; в) g®=0, g° = 6, gg = 4. 4.6. 1. x° = 5,
xg=10, xg=14, x®=14, x°=10. 4.7. 1) x?=10, x®=23, xg = O, x® = 37,
xg = 0, x® = 30, min L = 160; 2) xg = 20, xg = 10, xg = 15, x® = 20, x® = 0,
x®=10, x® = 20, xg = 25, L = 128; 3) s=l; xg = 45, xg = xg = O, xg = 58,
x° = xg = x® = 0, min L = 322, s = 2; x° = 45, x® = x® = 0, xg = 30, x® = 0,
Xg = 28, x® = 0; £min = 432; s = 3; xg = 45, xg = x® = 0, x® = 30, xg=O,
Xg = 28, x® = 0; Lmin = 498; s = 4; x? = 30, xg = O, x®=15, xg = 30, xg = O,
xg = 28; £min = 544. 4.8. 1. а) оптимальная стратегия; x°=4 при Z = 0, x°=5
при 1=1,2, = 0 при i = 3, 4; б) оптимальная стратегия: x° = 3 при i = 0,
x° = 5 при i = l, = 4 при i = 2, x° = 0 при i = 3, 4; в) оптимальная стра-
тегия та, которая при каждом i минимизирует с^: х° = 3 при i = 0, х° = 2
при 1 = 1, дс° = 1 при 1 = 2, х° = 0 при i = 3, 4. 2. Чем меньше а, тем меньше
*опт(Ч ПРИ любом I. 4.10. б) оптимальная стратегия: если i = 0, 1, 2 и 3,
то х° = 5 если Z = 4, то х° = 0; cmin = 20,4; в) оптимальная стратегия: если
I = 0, 1 и 2, то х° = 4; если i = 3 и 4, то х° = 0; ей соответствует производ-
ственный цикл (4; 4; 4; 0) и cmin = 17,25. д) оптимальная стратегия: если i = О,
то х = 3; если i = 1, то х = 2; если i = 2, 3 и 4, то х = 1; е) оптимальная
стратегия: если i = 0, то х = 4; если i = 1, то х = 5; если i = 2, то х = 5;
если i = 3, то х = 0; cmIn = 14; ж) если i = 0, то х = 3; если i = 1, то х = 2;
237
если i = 2t то х = 1; если i = 3; 4, то х = 0, cmin = 19. 4,12. А (а = 1).
Если 1 = 0, то х = 5; если i = 1, то х = 1; если i = 2; 3; 4, то х = 0,
Б (а = 0; 0,9). Оптимальная стратегия “та же, что в п. А. Г (а=1). Если
I = 0, 1, то х = 5; если i = 2, то х = 1; если i = 3; 4, то х = 0. Г (а = 0, 9).
рптимальная стратегия та же, что и в п. А. Г (а = 0,5; 0). Если i = 0, то
х = 3; если i = 1, то х = 2; если i ?= 2, то х = 1, если i = 3; 4t то х = 0.
4.13. а = 1. Оптимальная стратегия: если i = 0, то х = 2; если i = 1, то х = 2$
если I = 2, то х = 1; если i = 3, то х = 0; если i = 4, то х = 0; cmin = 9,
4.14. Оптимальная стратегия при а = 1 и а = 0.9: (1, 3); (2, 1); (3, 4); (4, 3)f
min с = 2. 4.15. Оптимальная стратегия: (1, 3); (3, 1); (2, 1); (4, 3); с =
= 2,5. 4.16. В. х? = 2; х? = 2; х? = 5; max Робщ = 0,964. 4.18. Б.
Ообщ = И; х® = 10; х° =3; х® = 0; х4 = 0, 4.23. Оптимальная стратегия:
х = 0, если i = 4, 5; х = 1, если i = 3; х = 2, если i = 2; х = 3, если i = 1;
2
х = 4, если i = 0; С = 9 —. 4.24. При объеме продажи В и А используется
о
краткая реклама, при объеме продажи С — подробная реклама. Средняя прибыль
за 1 неделю равна 7950 руб. 11. При затратах на рекламу, не привышающих
1,08- 103 руб. 111. Оптимальная стратегия не изменяется, если прибыль при
объеме продаж В лежит в диапазоне 11,30 —12,18 тыс. руб.
К главе 5
5.2. *1=5, х2 = 0, max/=15. 5.3. х^ = 45, х21 = 50шт., х®2 = 60,
х22 = 130, min f = 1085, где х^ — объем выпуска /*-х изделий на i-м оборудовании.
5.4. Хц = 11, Xj2 = 1, х?3 = 10, x%i == 0, х22 = 12, х23 = 0, xj3 = 26, х32 = 0,
х^з = 20, xjj = 13, х°2 = 4, х°3 = 0, min f = 2948,5. 5.6. 1) х?3 = 410, х^ =
= 206, Х32 = 128, Хц = Х®2 *21 = *25 = *31 == *33 = 0» *?3 = 410, Х22 =
= 206, xg2 = 128, max f = 8161,5; 3), 6) х$\ = 81, х?2 = 2, х?3 = 67, х^ = 20.
х22= 132, х£з = 0, х°2=100, х°1=х®з = 0, х? = 201, х£= 184, х£ = 67 =
= max 2 (2 — число комплектов); 4) Хц = 84, х®2 = 2, xj3 = 70, x2I = 23,
х22= 138, x23 = 0, Xg! = ЮЗ, *з2 = Хзз = 0, xf = 210, x°= 140, xJ=70 = 2
(2 — число комплектов); 5) Ответ такой же, что и в п. 3, Птах = 3076,5;
7) х°3 = 410, х°2 = 206, х31 = 103, Птах = 7190,5; 8) х?3 = 410, х^ = 230,
>§1 = 100, Пш„ = 7517,5. 5.7. Lx? = 0,47, х®=0, х? = 0,53, min/ = 5,06.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Базара Мо ШеттиК, Нелинейное программирование! Теория и алгорит-
мы.—М. : Мир, 1982.— 580 с.
2. Вагнер Г. Основы исследования операций, — М.! Мир, 1972—1973.— Т, 1—3.
8. Даффин Р., Питерсон Э., Зенер К. Геометрическое программирование.—
М. :Мир, 1972.— 312 с.
4. Ермольев Ю. М. Методы стохастического программирования,— М.: Наука,
1976.— 240 с.
б, Ермольев Ю. М., Дстремский А. И. Стохастические модели и методы в эко-
номическом планировании,— М. : Наука, 1979.— 256 с.
6. Ермольев Ю. М., Ляшко И. И,, Михалевич В. С. и др. Математические мето-
ды исследования операций,— К.: Вища шк. Головное изд-во, 1979,— 312 с.
7. Зайченко Ю. П. Исследование операций,—3-е изд., перераб. и доп.— К. :
Выща шк. Головное изд-во, 1988.— 552 с.
8, Исследование операций / Под ред. Дж. Моудера, С. Эмалграби.—М. : Мир,
1981,— Т. 1—2,
9, Калихман И. Л. Сборник задач по линейной алгебре и линейному програм-
мированию.— М. : Высш, шк., 1969.— 427 с.
10. Калихман И, Л. Сборник задач по математическому программированию.—
М. : Высш, шк., 1975.— 270 с.
11. Кофман А., Фор Р, Займемся исследованием операций,— М. ' Мир, 1965.—
256 с.
12. Кофман А., Анри-Лабордер А. Методы и модели исследования операций/
Под ред. Н. П. Бусленко.— М. : Мир, 1977.— 432 с.
13. Лэсдон Л. С, Оптимизация больших систем / Под ред. А. А. Первозван-
ского.— М. : Наука, 1975.— 432 с.
14. Михалевич В, С., Волкович В. Л. Вычислительные методы исследования и
проектирования сложных систем.— М. : Наука, 1982.— 286 с.
15. Саати Т. Целочисленные методы оптимизации и связанные с ними экстре-
мальные проблемы.— М. : Мир, 1973.— 302 с.
16. Финкельштейн Ю. Ю. Приближенные методы и прикладные задачи дискрет-
ного программирования.— М. : Наука, 1976.— 264 с.
17. Хедли Дж. Нелинейное и динамическое программирование.— М. : Мир,
1967.— 506 с.
18. Юдин Д. Б. Математические методы управления в условиях неполной инфор-
мации.— М. : Сов. радио, 1974.— 400 с.
19. Юдин Д. Б. Задачи и методы стохастического программирования.— М. I
Сов. радио, 1979.— 392 с. *
20, Таха Xt Введение в исследование операций,— М, 1 Мир, 1985,— 479 о.
Учебное пособие
ЗАЙЧЕНКО Юрий Петрович
ШУМИЛОВА Светлана Александров^
ИССЛЕДОВАНИЕ ОПЕРАЦИЙ
Сборник задач
Переплет художника
Г. М. Балюна
Художественный редактор
С. 77. Духленко
Технический редактор
С. Л. Светлова
Корректор
J7. /7. Бе рус
ИБ 13888
Сдано в набор 23.06.89. Подписано в печать 14.05.90.
БФ 05569. Формат бОхЭО1/!». Бум. тип. № 2.
Гарнитура литературная. Высокая печать. Уел.
печ. л. 15,0. Усл. кр.-отт. 15,0. Уч.-нзд. л 15,64.
Тираж 5000 экз. Изд. № 8942. Зак. № 9—4063.
Цена 85 к.
Издательство <Выща школа», 252054, Киев-54,
ул. Гоголевская, 7.
Отпечатано с матриц Головного предприятия
республиканского производственного объединения
«Полиграфкнига». 252057, Киев, ул. Довженко, 3
в Киевской книжной типографии научной книги,
252004, Киев-4, ул. Репина, 4. Зак. 0-427