Загрузил Ринат Идрисов

Матем. прогр

реклама
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
СТЕРЛИТАМАКСКИЙ ФИЛИАЛ
ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО
ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ
ВЫСШЕГО ОБРАЗОВАНИЯ
«БАШКИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
А.И. Карамова
МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Учебное пособие
для студентов, обучающихся по направлениям:
«010302 – Прикладная математика и информатика»,
«010402 – Прикладная математика и информатика»,
«020303 – Математическое обеспечение и администрирование
информационных систем»
Стерлитамак 2016
УДК 519.6
ББК 22.18
К 21
Рецензенты:
кафедра математического моделирования (Стерлитамакский филиал
БашГУ);
доктор
физико-математических
наук,
профессор
П.Н. Михайлов (Стерлитамакский филиал БашГУ); кандидат физикоматематических наук, доцент Э.Н. Мифтахов (филиал Уфимского
государственного авиационного технического университета в
г. Ишимбае); кафедра естественно-научных и общеобразовательных
дисциплин (филиал Уфимского государственного авиационного технического университета в г. Стерлитамаке)
Ответственный редактор – доктор физико-математических
наук, профессор С.А. Мустафина (Стерлитамакский филиал БашГУ)
К 21
Карамова А.И. Математическое программирование:
Учеб. пособие для студентов, обучающихся по направлениям: «010302 – Прикладная математика и информатика», «010402 – Прикладная математика и информатика», «020303 – Математическое обеспечение и администрирование информационных систем». – Стерлитамак:
Стерлитамакский филиал БашГУ, 2016. – 91 с.
Учебное пособие содержит основные теоретические сведения разделов математического программирования. В пособии приводятся решения тестовых примеров по каждой теме и задачи для самостоятельного решения.
Предназначается для студентов старших курсов дневного и заочного отделений,
магистрантов, аспирантов факультета математики и информационных технологий.
© Карамова А.И., 2016
© Стерлитамакский филиал БашГУ, 2016
2
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ .............................................................................................. 4
1. ОСНОВЫ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ....................... 6
1.1. Задача линейного программирования и ее смысл ......................... 6
Задания для самостоятельной работы .............................................. 9
1.2. Графическое решение ЗЛП ............................................................ 17
Задания для самостоятельной работы ............................................ 22
1.3. Симплекс-метод решения ЗЛП ..................................................... 25
Задания для самостоятельной работы ............................................ 31
1.4. Теория двойственности в ЗЛП ...................................................... 33
1.5. Транспортная задача ...................................................................... 40
Задания для самостоятельной работы ............................................ 52
2. ОСНОВЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ............... 60
2.1. Постановка задачи нелинейного программирования .................. 60
2.2. Геометрический смысл задачи нелинейного
программирования ................................................................................ 61
Задания для самостоятельной работы ............................................ 65
2.3. Задачи безусловного экстремума .................................................. 67
Задания для самостоятельной работы ............................................ 71
2.3. Метод множителей Лагранжа ....................................................... 72
2.3.1. Задачи условной оптимизации с ограничениямиравенствами ................................................................................... 73
2.3.2. Задачи условной оптимизации с ограниченияминеравенствами ............................................................................... 75
Задания для самостоятельной работы ............................................ 77
2.4. Элементы выпуклого программирования .................................... 79
Задания для самостоятельной работы ............................................ 87
БИБЛИОГРАФИЧЕСКИЙ СПИСОК .................................................. 88
3
ВВЕДЕНИЕ
Математическое программирование – это дисциплина, включающая в себя совокупность методов принятия решений на основе поиска оптимума функции одной или нескольких переменных, с учетом
области допустимых решений. В математическое программирование
входят такие разделы как: линейное, дискретное, нелинейное, выпуклое и динамическое программирование, а также теория игр и системы
массового обслуживания.
Задачи, которые решаются с помощью методов математического
программирования возникают там, где необходимо выбрать один и
возможных способов действий, именно отсюда название "программирование" – в смысле выбор программы действий. Название не имеет
отношения к программированию в смысле написания компьютерных
программ, и возникло задолго до появления первых персональных
компьютеров. Первые задачи линейного программирования, были
рассмотрены русским математиком Л.В. Канторовичем в 1939 г. (задача выбора наилучшей программы загрузки лущильных станков).
При их решении он понял, что к такого рода задачам сводится колоссальное количество проблем экономики.
Раздел линейного программирования, характеризуется простотой вычислительных алгоритмов и при этом надежностью и удобством вычислений с помощью программных пакетов (среды программирования). Данный раздел также остается наиболее изученным
на сегодняшний день. Разработано множество эффективных методов,
алгоритмов и программ для решения задач этого класса. Но применение методов данного раздела имеет жесткие ограничения к виду целевой функции и области допустимых решений, более широким классом являются задачи нелинейного программирования.
Опыт преподавания показывает, что раздел нелинейного программирования вызывает много затруднений у студентов и является
одним из наиболее сложных для освоения. Это, прежде всего, связано
с концептуальными отличиями изучаемых в нем экстремальных задач. В связи с этим представляется полезным дать наглядную иллю4
страцию применения методов линейного и нелинейного программирования к решению задач различных типов. Настоящее пособие и
является попыткой дать такую иллюстрацию. В нем содержатся примеры и задачи по следующим темам:
 линейному программированию;
 нелинейному программированию, включая элементы выпуклого программирования.
Каждый раздел состоит из теоретической части, описывающей
базовые понятия и результаты, используемые при решении соответствующих задач, примеров с решениями, а также задач для самостоятельной работы студентов.
Следует подчеркнуть, что данное пособие ни в коем случае не
является теоретическим курсом, а ориентировано, прежде всего, на
практическое применение методов математического программирования. Данное пособие будет полезным преподавателям при подготовке
и проведении практических занятий по дисциплине "Математическое
программирование", а также студентам при выполнении домашних
заданий по этой теме.
5
1.
ОСНОВЫ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
1.1. Задача линейного программирования и ее смысл
В задаче линейного программирования (ЗЛП) требуется найти
экстремум (максимум или минимум) линейной целевой функции
f (X ) :
f ( X )  c1 x1  c2 x2    cn xn  max(min)
(1.1)
при ограничениях (условиях):
a11 x1  a12 x 2    a1n x n , , b1 ,
a 21 x1  a 22 x 2    a 2 n x n , , b2 ,

a m1 x1  a m 2 x 2    a mn x n , , bm ,
x j  0; j  1, n,
(1.2)
(1.3)
где aij , bi , c j (i  1, m; j  1, n) – заданные постоянные величины.
Система ограничений (1.2) называется функциональными ограничениями ЗЛП, а ограничения (1.3) -прямыми.
Вектор X  ( x1 , x2 ,...,xn ) , удовлетворяющий системе ограничений (1.2), (1.3) называется допустимым решением или планом ЗЛП,
то есть ограничений (1.2), (1.3) определяют область допустимых решений (ОДР), или планов ЗЛП (область определения ЗЛП).
План (допустимое решение), который доставляет экстремум целевой функции (1.1), называется оптимальным планом (оптимальным
решением) ЗЛП.
Каноническая форма записи ЗЛП (КЗЛП). Найти
f (X ) 
n
 c j x j  max
(1.4)
j 1
при ограничениях
n
 aij x j  bi , i  1, n
(1.5)
j 1
x j  0, bi  0, i  1, m; j  1, n.
6
(1.6)
Векторная форма записи КЗЛП. Найти
f ( X )  CX  max
при ограничениях
A1 x1  A2 x2    An xn  B, x  0 .
С  (c1 , c2 ,...,cn ) , X  ( x1 , x 2 ,...,xn ) ‒ вектор-строки,
Где
CX –скалярное произведение векторов C,X; Ai , B – вектор-столбцы:
 a11 
 a12 
 a1n 
 b1 






 
 a 21 
 a 22 
 a 2n 
b 
A1  
, A2  
,  , An  
, B   2 .













 
a 
a 
a 
b 
 m1 
 m2 
 mn 
 m
Матричная форма записи КЗЛП:
f X   CX  max
при условиях
AX  B, X  0.
 
Здесь A  aij – матрица размерности m n , столбцами являются вектор-столбцы A j ; X T  x1
x 2  x m  – вектор-столбец.
Стандартная (симметричная) форма записи ЗЛП:
f ( X )  CX  max(min),
AX  B, X  0.
При этом запись X  0 понимают как вектор (строка или столбец
в зависимости от контекста), у которого все компоненты неотрицательны.
Приведение ЗЛП к каноническому виду осуществляется введением в левую часть соответствующего ограничения вида (1.5) k-ой
дополнительной переменной x nk  0 со знаком «-» в случае ограничения типа  и знаком «+» в случае ограничения типа  .
Если на некоторую переменную x r не накладывается условие
неотрицательности
(1.6),
то
делают
замену
переменных




xr  xr  xr , xr  0, xr  0. В преобразованной задаче все переменные неотрицательные. Переход от задачи на минимум к задаче на
максимум достигается изменением знака у целевой функции, так как
min f ( X )   max( f ( X )) .
7
Пример. Построить математическую модель задачи
На фабрике производится продукция двух типов. Для производства единицы продукции первого типа требуются 2 часа работы станка A, 1 час работы станка B и 1 час на завершающие операции. Для
производства единицы продукции второго типа требуются 1 час работы станка A, 1 час работы станка B и 3 часа на завершающие операции. В течение недели станок A может работать не более 70 часов,
станок B не более 40 часов, и на завершающие операции выделяется
не более 90 часов. Доход от продажи единицы продукции первого
типа составляет 4 у.е., от продажи единицы продукции второго типа 6
у.е. Сколько продукции первого и второго типа следует производить
за неделю, чтобы доход был максимальным?
Очевидно, что в качестве переменных x и y следует взять количество (в единицах) продукции первого и второго (соответственно) типа.
При этом x  0, y  0 , а целевая функция (доход, который должен быть
максимальным) имеет вид f ( x, y)  4 x  6 y и f ( x, y)  max . Теперь
обратим внимание на условия, диктующие ограничения на переменные. Для производства обоих видов продукции станок A должен работать 2 x  1y часов, станок В - 1x  1y часов и на завершающие операции требуется 1x  3 y часов. Учитываем указанные в задаче возможности работы станков и окончательно получаем:
f ( x, y)  4 x  6 y  max ,
2 x  y  70,
 x  y  40,


 x  3 y  90,

 x  0, y  0.
Пример.
Привести к каноническому виду ЗЛП
f ( x1, x2 )  2 x1  3x2  max ,
 x1  x 2  2,
 4 x  3 x  5,
 1
2


x

3
x
2  4,
 1
 x1 , x 2  0.
В ограничения, записанные в форме неравенств, вводятся новые
неотрицательные переменные, каждая из которых получает свой но8
мер. При этом в ограничения со знаком неравенства «  » переменная
входит с коэффициентом, равным «1», а в ограничения со знаком неравенства «  » с коэффициентом, равным «-1». В целевую функцию
новые переменные (дополнительные или балансовые) входят с коэффициентом, равным «0». Таким образом, исходная задача принимает
следующий канонический вид:
f1 ( x1, x2 , x3 , x4 )  f ( x1, x2 )  2x1  3x2  max ,
 x1  x2  x3  2,
 4 x  3x  5,

1
2


x

3
x

2 x4  4,
 1
 x1  0, i  1,2,3,4.
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
I. Выписать математическую модель задачи (не решать!!!).
1. При составлении суточноСено Силос
го рациона кормления скота исБелки, г/кг
40
10
пользуют сено (не более 50 кг) и
1,25
2,5
силос (не более 85 кг). Рацион Кальций, г/кг
2
1
должен содержать не менее 1 кг Фосфор, г/кг
белка, не менее 100 г кальция и Себестоимость,
1,2
0,8
ровно 80 г фосфора. Данные о руб/кг
содержании указанных компонентов в 1 кг каждого продукта и о себестоимости продуктов приведены
в таблице. Определить оптимальный рацион кормления при минимальной себестоимости.
Запас А Б
2. При производстве изделий Сырье
570
10 70
А и Б на фабрике применяются Медь, кг
сталь, медь и алюминий. Данные о
Сталь, кг
420
20 50
запасах сырья, расходах на одно Алюминий, кг
600
40 10
изделие и прибыли от продажи
Прибыль,
руб.
3
8
одного- изделия в таблице. Определить план выпуска продукции, приносящий максимальную прибыль.
9
3. Для производства
Сырье
Запас Любит. Лив.
«любительской» и «ливерМясо,
кг
360
6
1
ной» колбас закуплены мясо,
сало, ливер. Данные о запа- Сало, кг
300
3
2
сах сырья, компонентах, не- Ливер, кг
100
1
7
обходимых для производства
Прибыль,
120
70
10 кг колбасы каждого вида,
руб. за 10 кг
прибыли от продажи приведены в таблице. Определить план выпуска колбас, приносящий максимальную прибыль.
4. Из двух типов руды извлекаРуда 1 Руда 2
ют минералы А, В, С. Необходимо
Минерал
А
100 кг 200 кг
произвести не менее 3 тонн минерала
А, не более 2 тонн минерала В и ров- Минерал В 120 кг 50 кг
но 1 тонну минерала С (данные о Минерал С 200 кг 100 кг
количестве минералов в руде каждо- Цена 1 т
50 у.е. 60 у.е.
го типа и стоимость руды приведены
в таблице). Сколько тонн руды каждого типа надо закупить, чтоб затраты оказались минимальными?
5.
В
сплав
Содержание компонентов
должно входить не Компоненты
(%) в сырье
менее 4% никеля и
Руда
А
Руда Б
Руда В
не более 80% железа.
Железо
70
90
85
Для сплава испольНикель
5
2
7
зуются три вида руПрочие
25
8
8
ды (данные в таблиСтоимость
1
кг
6
у.е.
4
у.е.
5
у.е.
це). Сколько сырья
каждого типа надо
добыть, чтобы стоимость 1 кг сплава была минимальной?
6. Полосы листового проката
длиной 2 м необходимо разрезать на
заготовки 3х типов А, Б, В длины соотв., 57, 82 и 101 см для производства
50 изделий. Для каждого изделия нужны по 4 заготовки типов А, Б и 5 заготовок типа В. Данные о способах раскроя приведены в таблице. Какое кол10
Способ
раскроя
1
2
3
4
Кол-во заготовок
А
Б
В
3
2
1
1
1
2
0
во полос надо разрезать каждым способом для изготовления 50 изделий, чтобы отходы от раскроя были минимальными?
7. Имеются два склада готовой продукции: А1и А2 с запасами
однородного груза 200 и 300 тонн. Этот груз необходимо доставить
трем потребителям В1, В2 и В3 в количестве 100, 150 и 250 тонн соответственно. Стоимость перевозки 1 тонны груза из склада А1 потребителям В1, В2 и В3 равна 5, 3 ,6 д.е., а из склада А2 тем же потребителям – 3, 4, 2 д.е. соответственно. Составьте план перевозок,
минимизирующий суммарные транспортные расходы.
8. Цех выпускает трансформаторы двух видов. Для изготовления
трансформаторов обоих видов используются железо и проволока.
Общий запас железа – 3 тонны, проволоки – 18 тонн. На один трансформатор первого вида расходуются 5 кг железа и 3 кг проволоки, а
на один трансформатор второго вида расходуются 3 кг железа и 2 кг
проволоки. За каждый реализованный трансформатор первого вида
завод получает прибыль 3 д.е., второго – 4 д.е. Составьте план выпуска трансформаторов, обеспечивающий заводу максимальную прибыль.
9. Из пункта А в пункт В ежедневно отправляются пассажирские
и скорые поезда. Данные об организации перевозок представлены в
таблице. Сколько должно быть сформировано скорых пассажирских
поездов, чтобы перевезти наибольшее количество пассажиров?
Поезда
Кол-во вагонов в поезде
багажный
почтовый
плацкарт
купе
СВ
Скорый
Пассажирский
Число пассажиров
1
1
-
1
-
5
8
58
6
4
40
3
1
32
Парк вагонов
12
8
81
70
26
10. Нефтеперерабатывающий завод получает четыре полуфабриката:400 тыс. л алкилата, 250 тыс. л крекинг-бензина, 350 тыс. л бензина прямой перегонки и 100 тыс. л изопентона. В результате смешивания этих четырех компонентов в разных пропорциях образуются три
сорта авиационного бензина: бензин А-2:3:5:2, бензин В-3:1:2:1, бензин
С-2:2:1:3. Стоимость 1 тыс. л указанных сортов бензина характеризуется числами 120 д.е., 100 д.е., 150 д.е. Составьте план выпуска разных
сортов авиационного бензина из условия получения максимальной
стоимости всей продукции.
11
11. Звероферма выращивает черно-бурых лисиц и песцов. На
звероферме имеется 10 000 клеток. В одной клетке могут быть либо 2
лисицы, либо 1 песец. По плану на ферме должно быть не менее 3000
лис и 6000 песцов. В одни сутки необходимо выдавать каждой лисе
корма – 4 ед., а каждому песцу – 5 ед. Ферма ежедневно может иметь
не более 200 000 единиц корма. От реализации одной шкурки лисы
ферма получает прибыль 10 д.е., а от реализации одной шкурки песца
– 5 д.е. Какое количество лисиц и песцов нужно держать не ферме,
чтобы получить наибольшую прибыль?
12. Четыре овощехранилища каждый
Магазины
день обеспечивают картофелем три мага- Овощехранилище
1 2 3
зина. Магазины подали заявки соответственно на 17, 12 и 32 тонны. Овощехра1
2 7 4
нилища имеют соответственно 20, 20 ,15 и
2
3 2 1
25 тонн. Тарифы (в д.е. за 1 тонну) указа3
5 6 2
ны в таблице: Составьте план перевозок,
4
3 4 7
минимизирующий суммарные транспортные расходы.
13. Из двух сортов бензина образуются две смеси – А и В. Смесь
А содержит Бензина 60% 1-го сорта и 40% 2-го сорта; смесь В – 80%
1-го сорта и 20% 2-го сорта. Цена 1 кг смеси А – 10 д.е., а смеси В –
12 д.е. Составьте план образования смесей, при котором будет получен максимальный доход, если в наличии имеется бензин 50 т 1госорта и 30 т второго сорта.
14. Для сохранения нормальной жизнедеятельности человек должен в
сутки потреблять белков не менее 120 условных единиц (усл. ед.), жиров –
не менее 70 и витаминов – не менее 10 усл. ед. Содержание их в каждой
единице продуктов П1 и П2 равно соответственно (0,2; 0,075; 0) и (0,1; 0,1;
0,1) усл. ед. Стоимость 1 ед. продукта П1 – 2 руб., П2 –3 руб. Постройте
математическую модель задачи,
Количество единиц
позволяющую так организовать
Корм 1
Корм 2
питание, чтобы его стоимость быБелки
3
1
ла минимальной, а организм получил необходимое количество пи- Углеводы
1
2
тательных веществ.
Протеин
1
6
15. При откорме каждое животное должно получить не менее 9
ед. белков, 8 ед. углеводов и 11 ед. протеина. Для составления рацио-
12
на используют два вида корма, представленных в таблице. Стоимость
1 кг корма первого вида – 4 д.е., второго – 6 д.е. Составьте дневник.
16. Хозяйство располагает следующими ресурсами: площадь –
100 ед., труд – 120 ед., тяга – 80 ед. Хозяйство производит четыре
вида
продукции:
Затраты на 1 ед.
Доход от
П1, П2, П3 и П4.
продукции
Продукция
единицы
Организация произПлощадь Труд Тяга продукции
водства характериП1
2
2
2
1
зуется
таблицей.
Составьте план выП2
3
1
3
4
пуска
продукции,
П3
4
2
1
3
обеспечивающий
П4
5
4
1
5
хозяйству
максимальную прибыль.
17. Фабрика имеет в своем распоряжении определенное количество ресурсов: рабочую силу, деньги, сырье, оборудование, производственные площади и т.п. Допустим, например, ресурсы трех видов
рабочая сила, сырье и оборудование имеются в количестве соответственно 80 (чел/дней), 480 (кг), 130 (станков/часов). Фабрика может
выпускать ковры четырех видов. Информация о количестве единиц
каждого ресурса необходимых для производства одного ковра каждого вида и доходах, получаемых предприятием от единицы каждого
вида товаров, приведена в таблице. Требуется найти такой план выпуска продукции, при котором общая стоимость продукции будет
максимальная.
Ресурсы
Труд
Сырье
Оборудование
Цена (тыс. руб.)
Нормы расхода ресурсов на единицу
изделия
Ковер
Ковер
Ковер
Ковер
А
Б
С
D
7
2
2
6
5
8
4
3
2
4
1
8
3
4
3
1
Наличие
ресурсов
80
480
130
18. В планируемом периоде необходимо обеспечить производство300 тыс. однородных новых изделий, которые могут выпускаться
на четырех филиалах предприятия. Для освоения этого нового вида
13
изделий выделены капитальные вложения в размере 18 млн. руб. Разработанные для каждого филиала предприятия проекты освоения нового вида изделия характеризуются величинами удельных капитальных вложений и себестоимостью единицы продукции в соответствии
с таблицей.
Необходимо найти такой вариант распределения объемов производства продукции и капитальных вложений по филиалам, при котором суммарная стоимость изделий будет минимальной.
Показатель
Филиал предприятия
1
2
3
4
Себестоимость
83
89
95
98
производства
изделия, руб.
Удельные
120
80
90
40
капиталовложения, руб.
19. Для изготовления четырех видов продукции используют три
вида сырья. Запасы сырья, нормы его расхода и прибыль от реализации каждого продукта приведены в таблице.
Найти оптимальный план производства.
Нормы расхода сырья на
одно изделие
Тип
Запасы
сырья
I
II
III
Цена изделия
А
1
1
Б
2
1
В
1
2
Г
0
1
1
12
3
7
3
18
2
10
сырья
18
30
40
20. Намечается выпуск двух видов костюмов – мужских и женских. На женский костюм требуется 1 м шерсти, 2 м лавсана и 1 человеко-день трудозатрат. На мужской костюм – 3,5 м шерсти, 0,5 м лавсана и 1 человеко-день трудозатрат. Всего имеется 350 м шерсти, 240
м лавсана и 150 человеко-дней трудозатрат. Требуется определить,
сколько костюмов каждого вида необходимо сшить, чтобы обеспечить максимальную прибыль, если прибыль от реализации женского
костюма составляет 10 денежных единиц, а от мужского – 20 денеж-
14
ных единиц. При этом следует иметь в виду, что необходимо сшить
не менее 60 мужских костюмов.
II. Свести ЗЛП к каноническому виду:
1. f ( X )  2 x1  5x 2  min,
2. f ( X )   x1  2 x2  min,
 2 x1  x 2  4
 x  x  4
2
 1
x

2
x
 1
2  14
 x 4
1

 xi  0, i  1,2
 x1  3 x 2  0
 x x 0
2
 1
2
x

x
 1
2 6
2 x  3 x  18
2
 1
 xi  0, i  1,2
3. f ( X )  x1  5x2  x3  min,
4. f ( X )  3x1  2x2  x3  max,
 x1  2 x 2  3x3  1
3x  x  2 x  2
 1
2
3

x

x

2
1
3

 xi  0, i  1,2,3
 2 x1  3x3  1
3x  4 x  2 x  12
 1
2
3

 x1  2 x 2  x3  2
 xi  0, i  1,2,3
5. f ( X )  2x1  5x2  min,
6. f ( X )   x1  2 x2  min,
 2 x1  x 2  4
 x  x  4
2
 1
 x1  2 x 2  14
 x 4
1

 xi  0, i  1,2
 x1  3 x 2  0
 x x 0
2
 1
 2 x1  x 2  6
2 x  3 x  18
2
 1
 xi  0, i  1,2
7. f ( X )  3x1  2 x2  x3  max
8. f ( X )  x1  5x2  x3  min
 2 x1  3 x3  1
3x  4 x  2 x  12
 1
2
3

x

2
x

x
2
3 2
 1

 x  0, i  1,2,3
 x1  2 x 2  3x3  1
3x  4 x  2 x  2
 1
2
3

x

x

2
1
3

 xi  0, i  1,2,3
15
9. f ( X )  2 x1  3x2  x3  max,
10. f ( X )  x1  2 x2  3x3  max
 x1  3x 2  5 x 3  15
 x x x 7
 1
2
3

2
x

x

4
x
2
3  12
 1

 x  0, i  1,2,3
11. f ( X )  4x1  2 x 2  3x3  max,
4 x1  x 2  2 x3  3
 2x  x  x  2
 1
2
3

3
x

x

2
x
2
3 3
 1

 xi  0, i  1,2,3
12. f ( X )  5x1  7 x 2  min,
13. f ( X )  5x1  x2  3x3  min
2 x1  8 x 2  4
 x x 3
1
2

 2 x1  x 2  6

x1  4

 xi  0, i  1,2
14. f ( X )  2x1  3x2  4x3  max
 x1  2 x 2  3x3  1
3x  4 x  2 x  2
 1
2
3

2
x

5
x

2
1
3

 xi  0, i  1,2,3
 3x1  2 x3  1
4 x  3 x  2 x  6
 1
2
3

2
x

3
x

x
4
1
2
3


x

0
,
i

1
,
2
,
3
 i
15. f ( X )  5x1  2 x2  min,
16. f ( X )  2 x1  x2  min,
 x1  2 x 2  3
 x x 2
2
 1
2 x1  x 2  11
 x 5
1

 xi  0, i  1,2
 3 x1  x 2  0
 x  x  0
2
 1
 x1  2 x 2  3
3 x  2 x  8
2
 1
 xi  0, i  1,2
17. f ( X )  x1  2 x2  3x3  max
18. f ( X )  4 x1  x2  7 x3  min
 3x1  2 x3  1
 x  2 x  5x  2
 1
2
3

2
x

3
x

5
x
2
3 7
 1
 xi  0, i  1,2,3
3 x1  2 x 2  x3  1
 4 x  3x  x  2
 1
2
3

x

x

6
1
3

 xi  0, i  1,2,3
3x1  2 x 2  4 x 3  6

 2 x1  x 2  3x 3  18
 x  0, i  1,2,3
 1
16
19. f ( X )  3x1  2x2  x3  max
20. f ( X )  3x1  2 x2  x3  max
5 x1  3x 2  4 x3  11
 x  2x  x  5
 1
2
3

4
x

x

2
x
2
3  10
 1

 xi  0, i  1,2,3
 2 x1  x 2  4 x3  3
 2x  x  2x  2
 1
2
3

x

x

2
x
2
3  3
 1
 xi  0, i  1,2,3
1.2. Графическое решение ЗЛП
Наиболее наглядна геометрическая интерпретация ЗЛП при
n  2 , то есть для случая двух переменных x1 и x2 .
Пусть задана ЗЛП в стандартной форме:
f ( X )  c1 x1  c 2 x 2  max(min),
(1.7)
a11x1  a12x2  b1,
a21x1  a22x2  b2 ,
(1.8)
...
am1x1  am 2 x2  bm ,
x1  0, x2  0.
(1.9)
Каждое неравенство системы (1.8) геометрически определяет
полуплоскость с граничной прямой ai1x1  ai 2 x2  bi , i  1, m . Условия
неотрицательности (1.9) соответственно задают первую четверть декартовой системы координат x10x2 .
Многоугольник решений – это совокупность точек, координаты
каждой из которых составляют решение системы неравенств (1.8),
(1.9). Им может быть точка, отрезок, луч, замкнутый многоугольник,
неограниченная многоугольная область.
Таким образом, геометрически ЗЛП (1.7)–(1.9) представляет собой поиск такой точки многоугольника решений, координаты которой доставляют линейной функции (1.7) наибольшее (наименьшее)
значение, причем допустимыми решениями являются все точки многоугольника решений.
c x  c x  C,
Прямая 1 1 2 2
где постоянная C пробегает все множество действительных чисел называется линией уровня. Линии уровня
17
образуют семейство параллельных прямых с общим вектором нормали n  (c1 , c 2 ) .
Опорной прямой называется линия уровня, которая имеет с ОДР
хотя бы одну общую точку и по отношению к которой ОДР оказывается полностью в одной из полуплоскостей. Область допустимых решений имеет не более двух опорных прямых.
Вектор нормали n  (c1, c2 ) в данном случае совпадает с градиентом целевой функции
 f

f
 f ( X )  
 c1,
 c2  , то есть  f ( X )  n  (c1, c2 ) .
x2
 x1

Так как вектор-градиент указывает направление наибольшего
возрастания функции, то можно сделать следующий вывод: если линии уровня перемещаются в направлении нормали, то значения целевой функции возрастают; если перемещение происходит в противоположном направлении, то значения целевой функции убывают.
Этапы графического решения ЗЛП
Этап 1. Построить многоугольник решений (ОДР), соответствующий ограничениям (1.8), (1.9). При этом каждое из неравенств (1.8)
можно тождественными преобразованиями привести к виду
x 2 {, }kx1  b . При этом неравенство x 2  kx1  b определяет полуплоскость, лежащую ниже прямой x 2  kx1  b , а неравенство
x 2  kx1  b – полуплоскость, лежащую выше этой прямой.
Если система ограничений ЗЛП (1.8), (1.9) несовместна, то ОДР
является пустым множеством. В этом случае ЗЛП не будет иметь решений.
Построить вектор-градиент целевой функции (1.7)
 f ( X )  (c1, c2 ) .
Этап 2. Построить линию уровня
c1 x1  c 2 x 2  C.
Достаточно построить одну линию уровня, например, проходящую через начало координат (прямую c1x1  c2 x2  0 ), которая будет
перпендикулярна вектору-градиенту.
Мысленно перемещать линию уровня до тех пор, пока она не
покинет пределов ОДР, двигаясь следующим образом:
18
а) в направлении вектора-градиента в случае задачи максимизации;
б) в направлении, противоположном вектору-градиенту, то есть
вдоль вектора антиградиента   f (X ) , в случае задачи минимизации.
Предельная точка (или точки) области при соответствующем
движении будет являться точкой максимума (минимума) целевой
функции (1.7).
Если линия уровня при своем движении не покидает ОДР, то соответствующий максимум (минимум) целевой функции f (X ) не существует. Задача (1.7)–(1.9) решения не имеет.
Этап 3. Найти координаты точки экстремума. Для этого достаточно решить систему из двух уравнений прямых-ограничений, дающих в пересечении точку максимума (минимума). Значение f (X ) ,
найденное в получаемой точке, является максимальным (минимальным).
Замечание. В зависимости от вида ОДР и целевой функции решение ЗЛП может быть следующим:
 единственное решение (в вершине ОДР, через которую проходит
опорная прямая);
 бесконечное множество решений (если один из фрагментов границы совпадает с частью опорной прямой). Другими словами линия
уровня параллельна одной из сторон выпуклого многоугольника
решений, причем эта сторона расположена в направлении смещения линии уровня при стремлении целевой функции к своему оптимуму (рис. 1.1). Тогда оптимальное значение целевой функции
достигается в двух угловых точках (вершинах) ОДР и, следовательно, во всех точках отрезка, соединяющего эти вершины;
 не иметь решений. Этот случай возникает либо когда ОДР – пустое множество, либо в силу неограниченности целевой функции,
то есть ОДР является незамкнутым выпуклым многоугольником в
направлении оптимизации целевой функции (рис. 1.2), и целевая
функция будет неограниченной. В этом случае записывают
max f ( X )   или min f ( X )   .
19
1
x2
x2


x1
x1
0
0
линия уровня
линия уровня
Рис. 1.1. Случай бесконечного
множества решений ЗЛП
Рис. 1.2. Случай отсутствия
решения ЗЛП
Пример. Решить графически задачи линейного программирования
f ( X )  5 x1  x2  max(min),
f ( X )  5 x1  x2  max(min),
 x  x  1,
б)  1 2
 x2  2 x1,
 0  x  3.
1

 x  x  1,
а)  1 2
 x2  2 x1,
 x  0, x  0.
2
 1
Задача а).
Этап 1.
1. Построим ОДР. Преобразуем систему ограничений.
 x1  x 2  1,
 x 2   x1  1,


 x 2  2 x1 ,   x 2  2 x1 ,
 x  0, x  0;
 x  0, x  0;
2
2
 1
 1
(1.10)
(1.11)
(1.12)
Неравенство (1.10) задает полуплоскость, лежащую выше прямой x 2   x1  1 , которая проходит через точки (0, 1) и (1, 0) , а неравенство (1.11) – полуплоскость, лежащую ниже прямой x2  2x1 , проходящей через начало координат (0, 0) и точку (1, 2) . Неравенства
(1.12) определяют первую четверть системы координат.
20
Найденная (непустая!) область допустимых решений (пересечение найденных полуплоскостей) изображена на рис. 1.3.
Строим нормали
n  (c1 , c 2 )  (5;1) .
Этап 2. Построим линию
уровня
5x1  x2  0  x2  5x1.
Рассмотрим две задачи:
задача на максимум. Перемещаем линию уровня вдоль
вектора n . При этом линии
уровня уходят в бесконечность,
так как в этом направлении
ОДР – незамкнутый выпуклый
многоугольник, следовательно,
максимального значения целевая функция не достигает
Рис. 1.3. Область допустимых решений
max f ( X )   ;
для задачи а)
задача на минимум. Параллельным переносом переместим линию уровня 5x1  x 2  0 так, чтобы она пересекалась с ОДР и мысленно переместим ее в направлении, противоположном вектору n .
Предельной точкой выхода из ОДР будет точка В.
Этап 3. Найдем координаты точки В, которая является точкой пресечения прямых x 2   x1  1 и x2  2x1 . Решим систему уравнений:
 x2   x1  1,
 x  1 / 3,
 1

 x2  2 x1
 x2  2 / 3.
Поэтому ее координаты: xB=1/3, yB=2/3.
1 2
так, min f ( X )  f (1 / 3, 2 / 3)  5    1.
3 3
Ответ. max f ( X )   ; min f ( X )  f (1 / 3, 2 / 3)  1.
21
Задача б). Система ограничений
этой задачи отличается добавленным неравенством
x1  3 .
Результат построений изображен на рис. 1.4.
ОДР – это замкнутый многоугольник ABCD, причем предельными точками выхода из
ABCD в направлении максимизации будет точка С, минимизации – точка В.
Точка C – это точка пересечения прямых x1  3 и x2  0 ,
поэтому C(3;0).
Таким образом,
min f ( X )  f (1 / 3, 2 / 3)  1,
max f ( X )  f (3, 0)  5  3  0  15
Замечание. В случае замкнутой ограниченной области
Рис. 1.4. Область допустимых
(как в рассмотренном примере)
решений для задачи б)
максимум (минимум) достигается в одной из вершин, поэтому можно найти координаты всех вершин и сравнить значения функции в них. В нашей ситуации A(1;0),
D(3;6), f ( A)  5 , f ( D)  5  3  6  9 , и несложно убедиться в спра-
ведливости вывода, сделанного выше.
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
I. Решить графически задачу линейного программирования.
1) f  X   2 x1  5x2  max(min),
2) f  X    x1  2 x2  max(min),
22
 2 x1  x 2  4
 x  x  4
2
 1
 x1  2 x 2  14

x1  4

 xi  0, i  1,2
 x1  3 x 2  0
 x x 0
2
 1
 2 x1  x 2  6
2 x  3 x  18
2
 1
 xi  0, i  1,2
3) f  X   x1  2 x2  max(min),
4) f  X   2 x1  x2  max(min),
  x1  x 2  3
 x x 0
2
 1
 x1  2 x 2  12
 4x  x  0
2
 1
 xi  0, i  1,2
 x1  x 2  12
2 x  x  12
2
 1
 2 x1  x 2  0
 2x  x  4
2
 1
 xi  0, i  1,2
5) f  X   3x1  5x 2  max(min),
6) f  X   x1  3x2  max(min),
 x1  x 2  0
 3x  x  3
2
 1
5 x1  4 x 2  20
 x x 0
2
 1
 xi  0, i  1,2
  x1  x 2  6
 2 x  x  6
1
2

 x1  3 x 2  3
 x  2x  2
2
 1
 xi  0, i  1,2
7) f  X   3x1  2 x 2  max(min),
 x1  2 x 2  11
 2x  x  5
 1
2

x

3
x
2  14
 1
 x1  0, i  1,2
8) f  X   3x1  2 x2  max(min),
 x1  2 x 2  12
 2x  x  7
 1
2

x

3
x
2  14
 1
 x1  0, i  1,2
23
9) f  X   3x1  2 x2  max(min),
10) f  X   3x1  2 x2  max(min),
 x1  2 x 2  10
2 x  x  18
 1
2

x

3
x
 13
1
2

 x1  0, i  1,2
 x1  2 x 2  10
2 x  x  10
 1
2

x

3
x
 13
1
2

 x1  0, i  1,2
11) f  X   4 x1  3x 2  max(min),
 x1  2 x 2  10
 x  2x  2
 1
2

2 x1  x 2  10
 x1  0, i  1,2
13) f  X   3x1  5x2  max(min),
 x1  x 2  5

3x1  2 x 2  8
 x  0, i  1,2
 1
15) f  X   3x1  x2  max(min),
2 x1  3x 2  12
x x 2
 1
2

2
x

x
2 2
 1
 x1  0, i  1,2
17) f  X   4 x1  2 x2  max(min),
2 x1  3x 2  18
  x  3x  9
 1
2

2
x

x
2  10
 1
 x1  0, i  1,2
12) f  X   3x1  2 x2  max(min),
 x1  2 x 2  12
2 x  x  12
 1
2

x

3
x
2  14
 1
 x1  0, i  1,2
14) f  X   3x1  2 x2  max(min),
 x1  2 x 2  11
 2x  x  5
 1
2

x

3
x
2  14
 1
 x1  0, i  1,2
16) f  X   3x1  x2  max(min),
 x1  x 2  5
0,5 x  x  3

1
2

x

x
2 1
 1
 x1  0, i  1,2
18) f  X   2 x1  4 x2  max(min),
3x1  2 x 2  11
 2 x  x  2

1
2

x

3
x
2 0
 1
 x1  0, i  1,2
24
19) f  X   x1  2 x 2  max(min),
20) f  X   2 x1  4 x2  max(min),
 x1  x 2  1
 x x 2
 1
2

x

2
x
1
2 0

 x1  0, i  1,2
  x1  x 2  3
 x  2 x  12
 1
2

3
x

x
 15
1
2

 x1  0, i  1,2
1.3. Симплекс-метод решения ЗЛП
Так как оптимальное решение ЗЛП достигается в угловой точке
области допустимых решений, то искать оптимальное решение нужно
среди опорных решений. Сначала найти произвольное опорное решение. Это вершина многогранника решений. Вместе с соседними с ней
вершинами она образует симплекс в пространстве свободных переменных. Перейти к соседней вершине симплекса с лучшим значением
критерия, двигаясь по одному из ребер симплекса (лучше по ребру,
более близкому к вектору градиента функции).
Симплекс в n – мерном пространстве – это простейший многогранник.
Например:
2
в R  (2  1) – треугольник,
в R 3  (3  1) – тетраэдр.
Все преобразования симплекс-метода удобно выполнять в специальных таблицах, называемых симплекс-таблицами.
Правила построения симплекс-таблиц
Симплекс-таблица строится для какого-либо опорного решения.
(l )
Пусть опорное решение x  ( x1l , x2l ,...xml ,...0,...0) . Симплекстаблица для этого решения имеет вид:
25
F
c1 c2 …. ck … cm
Св Б.п x1 x2 …. xk … xm
cm+1
xm+1
… cs … cj …
… xs … xj …
cn
xn
b
c1 x1
1
0 … 0 … 0
a1 m+1 … a1 s … a1 j …
a1 n
b1'
c2 x2
0
1 … 0 … 0
a2 m+1 … a2 s … a2 j …
a2 n
b2'
… … … … … … … … …… … … … … …
ck xk 0 0 … 1 … 0 ak m+1 … ak s … ak j …
…
…
ak n
bk'
… … … … … … … … …… … … … … …
…
…
c i xi
0
0 … 0 … 0
ai n
bi'
c m xm
0
0 … 0 … 1 am m+1 … am s … am j … am n
bm'
F
0
0 … 0 … 0
ai m+1 … ai s … ai j …
 m1 …  s …  j …  n
(l )
F (x )
Базисная матрица B = (A1, A2, … Am), det B  0   B-1
 при базисных переменных текущая матрица единичная.
|
 любой столбец Aj  B 1 Aj .
 вектор правых частей ограничений b'  B 1 b .
 оценки при свободных переменных не нулевые
t
t
|
 j  C b B 1 Aj  c j  C b A j  c j .
(l )
t
 в правой нижней клетке – значение критерия F ( x )  C b B 1 b
Этапы симплекс-метода
1. Проверка признака оптимальности
( max   j  0; min   j  0 ).
2. Если есть  s  0 , то решение не оптимальное. Тогда выбираем
столбец с минимальной оценкой. Его назовем разрешающим.
3. Разрешающая строка выбирается по минимальному отношению
свободных членов к положительным коэффициентам разрешающего
столбца. Базисная переменная, содержащаяся в этой строке, выходит
из списка базисных переменных. Т.е. xk выходит, а xs входит.
bk|
bi|

min
|
|
aks
i 1,m ais
ais|  0
26
4. Текущая симплекс-таблица преобразуется по следующему правилу:
 разрешающая строка делится на разрешающий элемент:
akj|
akjн  |
aks
bk|
|
aks
 разрешающий столбец заменяется единичным.
 все остальные элементы симплекс-таблицы могут быть пересчитаны по правилу четырехугольника:
Мысленно строится четырехугольник на диагонали, соединяющей искомый элемент с разрешающим. Тогда новое значение элемента равно прежнему значению минус произведение элементов на противоположной диагонали, деленное на разрешающий элемент.
Или новое значение элемента равно произведению элементов на
главной диагонали минус произведение элементов на противоположной диагонали, и все это деленное на разрешающий элемент.
a kj| ais|
aijн  aij|  |
a ks
bkн 
aijн 
|
aij| a ks
 akj| ais|
|
a ks
Замечание: Если в разрешающей строке был нулевой элемент,
значит этот столбец не меняется; если в разрешающем столбце есть
нулевой элемент, то соответствующая строка не меняется.
Рассмотрим применение симплекс-таблиц на примере:
F  10 x1  7 x2  2 x4  max ,
4 x1  6 x 2  x 3  160,

2 x1  x 2  x 4  40,
8 x  x  200,
5
 2
 x  0, j  1,5.
 j
Приведенная математическая модель может быть моделью следующей экономической задачи: определить объемы производства
двух видов продукции, обеспечивающий наибольший доход, если в
производстве используется 3 типа ресурсов, запасы которых соответ27
ственно 160, 40, 200. Доход от единицы продукции 10 и 7 соответственно. Оставшийся неиспользованным второй ресурс можно реализовать по цене 2. Нормы расхода ресурсов указаны в матрице.
Обозначая объемы производства продукции x1 , x 2 , получим
ограничения
 2 x1  x 2  40
4 x1  6 x 2  x3  160


4 x1  6 x 2  160   2 x1  x 2  x4  40
 8 x  200
 8 x  x  200
2
2
5


Сначала найдем опорный план. Возьмем за базисные переменные x3 , x4 , x5 , обнулим свободные переменные, тогда опорный план
( 0)
будет x  (0,0,160,40,200) .
Все исходные данные, содержащиеся в математическом условии
задачи, переносятся в первую симплексную таблицу
F
10
7
0
2
0
Св
Бп
x1
x2
x3
x4
x5
b
0
x3
4
6
1
0
0
160
2
x4
2
1
0
1
0
40
0
x5
0
8
0
0
1
200
F
2
3
4
5
1
F
Условием оптимальности решения является условие неотрицательности всех оценок  j в F-строке.
Рассчитаем значения оценок по формуле
 j  CbT * A j  c j .
Итак
 4
1
 
 
 1  0 2 0   2   10  6,  3  0 2 0   0   0  0,
 0
 0
 
 
6
0
 
 
 2  0 2 0    1   7  5,  4  0 2 0   1   2  0,
8
0
 
 
28
 0
 
 5  0 2 0   0   0  0.
1
 
Значение целевой функции на текущем плане вычисляется как
 160 


 F  0 2 0   40   80.
 200 


Таким образом, решение не оптимальное, т.к. есть отрицательные оценки. (-6 и -5). Разрешающим столбцом (с номером r) выбираем тот, где наименьшая по величине оценка  r (если задача на максимум). А для выбора разрешающей строки (с номером k), нужно
среди всех строк найти такую, в которой оценка  k  bk / a kr минимальна (среди неотрицательных оценок).
В итоге, мы получаем, что разрешающий столбец – x1 ,
1  160 / 4  40,  2  40 / 2  20,  3  200 / 0  .
И разрешающая строка - x 4 . Значит, из списка базисных выходит переменная x 4 и входит переменная x1 .
Далее по правилу четырехугольника строим следующую симплекс-таблицу и повторяем вычисления.
1 симплекс таблица
F
10
7
0
2
0
Св Бп
x1
x2
x3
x4
x5
b
0
x3
4
6
1
0
0
160 160/4=40
2
x4
2
1
0
1
0
40
40/2=20
0
x5
0
8
0
0
1
200 200/0=∞
F
-6
-5
0
0
0
80
2 симплекс таблица
0
x3
0
4
1
-2
0
80
80/4=20
10
x1
1
0.5
0
0.5
0
20 20/0.5=40
0
x5
0
8
0
0
1
200 200/8=25
F
0
-2
0
3
0
200
29
7
x2
0
10
x1
1
0
x5
F
0
0
3 симплекс таблица
1
0.25
-0.5
0
0.75
0.125
0
-2
4
0
0.5
2
0
20
0
10
1
0
40
240
При переходе ко второй симплекс-таблице значение целевой
функции увеличилось с 80 до 200, т.е. происходит движение в сторону увеличения целевой функции. Текущий план x
x
( 2)
( 2)
 (20,0,80,0,200) .
– решение не оптимальное, т.к. есть отрицательная оценка -2.
Строим следующую симплекс-таблицу и x  (10,20,0,0,40) –
оптимальное решение, т.к. все оценки больше нуля. Очевидно, что F
увеличить нельзя.
Решим задачу графически.
4 x1  6 x2  160
(1)

( 2)
 2 x1  x2  40
 8 x  200
(3)
2

F  80  6 x1  5x2  max
( 3)
x2
(3)
25
x *  (10;20)
F *  240
F  (6;5)
5
x1
5
x2
20
x1
40
(1)
(2)
30
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
I. Решить ЗЛП с помощью симплекс-метода.
Вариант 1.
Вариант 2.
f  X   11x1  5x2  8x3  2 x4 ,
f  X   x1  2 x2  3x3  max,
 x1  x2  x3  4

 2 x1  5 x3  x4  10
 x  0, i  1,2,3,4
 i
4 x1  x2  2 x3  3
 2x  x  x  2
 1 2 3

3x1  x2  2 x3  3
 xi  0, i  1,2,3
Вариант 3.
Вариант 4.
f  X   7 x1  3x2  3x3  2 x4  max, f  X   2 x1  3x2  x3  max,
Вариант 5.
f  X   3x1  5x2  x3  x4  min,
 x1  3 x2  5 x3  15
 x x x 7
 1 2
3

2
x

x

4
x
3  12
 1 2
 xi  0, i  1,2,3
Вариант 6.
f  X   x1  5x2  x3  x4  max,
 2 x1  3x 2  x3  6

 x1  3x 2  x 4  3
 x  0, i  1,2,3,4
 i
 x1  2 x2  x3  3

2 x1  x2  x4  4
 x  0, i  1,2,3,4
 i
Вариант 7.
f  X   x1  x2  3x3  x4  max,
Вариант 8.
f  X   12x1  8x2  5x3  4x4  min,
 x1  2 x2  x3  2

 3x1  2 x2  x4  6
 x  0, i  1,2,3,4
 i
 6 x1  x 2  x3  2 x 4  2

 11x1  x 2  2 x3  3x 4  7

xi  0, i  1,2,3,4

Вариант 9.
f  X   2 x1  3x2  6 x3  18x4  max,
Вариант 10.
f  X   x1  2 x2  x3  max,
 4 x1  6 x2  x3  2 x4  8

4 x1  14 x2  2 x3  5 x4  12

xi  0, i  1,2,3,4

 2 x1  x2  x3  2
  x  x  3x  3
 1 2
3

 x1  3x2  x3  1
 xi  0, i  1,2,3
 10 x1  x2  2 x3  3x4  2

 6 x1  2 x2  3x3  x4  18

xi  0, i  1,2,3,4

31
Вариант 11.
f  X   x1  x2  3x3  x4  min,
Вариант 12.
f  X   4 x1  2 x2  x3  min,
 5 x1  6 x2  x3  2 x4  2

11x1  14 x2  2 x3  5 x4  2

xi  0, i  1,2,3,4

3x1  2 x2  4 x3  6

 2 x1  x2  3x3  18
 x  0, i  1,2,3
 i
Вариант 13.
Вариант 14.
f  X   2 x1  x2  3x3  2 x4  x5  max,
f  X   x1  x2  x3  min,
  x1  x2  x3  1
 x  x  x 1
 1 2
4

x

x

x
2
1
2
5

 xi  0, i  1,2,3,4,5
 x2  2 x4  3x5  x6  3
 x  x  2x  5

1
4
6

x

2
x

5
x

6 x6  5
3
4
5

 xi  0, i  1,2,3,4,5,6
Вариант 15.
f  X   2x1  6 x2  5x5  max,
Вариант 16.
f  X   2 x1  x2  x3  x4  x5  max,
  2 x1  x2  x3  x5  20
 x  2 x  x  3x  24
 1
2
4
5

3
x

x

12
x

x
5
6  18
 1 2
 xi  0, i  1,2,3,4,5,6
Вариант 17.
f  X   x1  3x2  5x4  max,
 x1  x2  x3  5
 2x  x  x  9
 1 2
4

x

2
x

x
2
5 7
 1
 xi  0, i  1,2,3,4,5
Вариант 18.
f  X   x1  x2  x3  min,
 2 x1  4 x2  x3  2 x4  28
 3x  5 x  3x  x  30

1
2
4
5

4
x

2
x

8
x

x
2
4
6  32
 1
 xi  0, i  1,2,3,4,5,6
 x1  x4  2 x6  5
 x  2 x  3x  x  3
 2
4
5
6

x

2
x

5
x

6
x
4
5
6 5
 3
 xi  0, i  1,2,3,4,5,6
Вариант 19.
f  X   2 x1  x2  x4  max,
Вариант 20.
f  X   2x1  3x2  6x3  x4  max,
x1  2 x2  x3  10

 2 x  x  2 x  x  18

1
2
4
5

3
x

2
x

x

x
2
4
6  36
 1
 xi  0, i  1,2,3,4,5,6
 x1  2 x2  4 x3  20
  x  2 x  10

2
3

x

2
x

x4  24
3
 2
 xi  0, i  1,2,3,4
32
1.4. Теория двойственности в ЗЛП
Каждой задаче ЛП можно поставить в соответствие другую задачу, называемую двойственной. Совместное изучение свойств этих
задач позволяет получить дополнительную информацию об изменении оптимального решения при изменении условий планирования.
Также это позволяет разработать новые методы решения задач.
Решение двойственных задач полезно для экономического анализа.
Рассмотрим задачу объемного планирования. Пусть исходная задача такова:
n
F   c j x j  max
(1.13)
j 1
n
 a i j x j  bi , i  1, m
 j 1
 x  0, j  1, n
 j
(1.14)
(1.15)
Требуется определить объемы производства n видов продукции
x1 , x2 ,...xn , обеспечивающие наибольший суммарный доход, при
условии, что расход ресурсов не превосходит их запасов.
bi, i  1, m – запасы ресурсов каждого вида
aij, i  1, m, j  1, n – нормы расхода i-го ресурса на единицу j-ой
продукции
cj, j  1, n – доход от единицы j-ой продукции
Введем оценку полезности единицы i-го ресурса y i .
Добавим в систему одну тонну ресурса. На сколько при этом
увеличится максимальный доход?
Сравним затраты ресурсов на единицу j-ой продукции с доходом, полученным от единицы j-ой продукции:
 cj
a1 j y1  a2 j y2  ... am j ym

yi  0
i  1, m

Исходя из закона сохранения материальных потоков, необходимо потребовать, чтобы суммарная оценка затрат была не меньше до33
хода, иначе доход буден получен из ничего. Будем искать такое решение, при котором суммарная оценка запасов ресурса минимальна:
T ( y)  b1 y1  b2 y2  ... bm ym  min
Тогда задача (1.16)-(1.18) является двойственной к исходной задаче.
m
T ( y )   bi yi  min
(1.16)

j  1, n
 ai j yi  c j ,

 y  0, i  1, m
i

(1.17)
i 1
(1.18)
Правила построения двойственной задачи
Для применения правил, необходимо в задаче на максимум записать все ограничения – неравенства со знаком  . В задаче же на минимум – со знаком  .
1. Количество переменных одной задачи совпадает с количеством ограничений другой задачи. Т.е. каждому ограничению одной
задачи соответствует переменная другой. Ограничению-неравенству
соответствует неотрицательная переменная, а ограничению-равенству
– переменная произвольного знака.
2. Правые части ограничений одной задачи являются коэффициентами критерия другой.
3. Матрицы условий этих задач взаимно транспонированы, т.е.
столбец матрицы условий одной задачи становится строкой другой.
4. Критерий одной задачи максимизируется, а другой минимизируется. Причем в задаче на максимум все ограничения – неравенства типа  , а в задаче на минимум – типа  .
Пример. Пусть исходная задача имеет вид:
F  3x1  5 x2  6 x3  2 x4  max
 2 x1  x2  4 x3  5 x4  100
6 x  4 x  8 x  2 x  30
 1
2
3
4

1
x

x

4
x

5
x
 40
1
2
3
4

 x1 , x4  0,
x 2 , x3 
34
Построить двойственную задачу.
F  3x1  5 x2  6 x3  2 x4  max
 2 x1  x2  4 x3  5 x4  100
 6 x  4 x  8 x  2 x  30

1
2
3
4

1
x

x

4
x

5
x
1
2
3
4  40


x1 , x4  0,
x 2 , x3 
T  100 y1  30 y 2  40 y3  min
2 y1  6 y 2  y3  3
 x1  0 :
 x :
y1  4 y 2  y3  5
 2
4 y1  8 y 2  4 y3  6
 x3  :
x  0 :
5 y1  2 y 2  5 y3  2
 4
y
,
y
y3
1
2  0,

Лемма 1: двойственная задача к двойственной является исходной задачей.
Лемма 2 (основное неравенство теории двойственности): для
любого допустимого решения прямой задачи и любого допустимого
решения двойственной задачи критерий задачи максимизации не
превосходит критерия задачи минимизации.
n
m
j 1
i 1
F ( x)   c j x j   bi yi  T ( y)
(1.19)
Лемма 3 (достаточное условие оптимальности решений двух
взаимно двойственных задач): решения x *  Dx и y *  D y являются
оптимальными для своих задач, если выполняется условие
F ( x *)  T ( y *)
Доказательство:
Покажем, что в условиях леммы x * – оптимальное решение
( x *  Arg max F ( x) ). Выберем произвольное x  Dx . По основному
неравенству теории двойственности F ( x)  T ( y *) , по условию леммы
F ( x *)  T ( y *) , значит  F ( x)  F ( x *) . А это означает, что x * –
оптимальное решение прямой задачи.
35
Аналогичным образом доказывается, что y * – оптимальное решение двойственной задачи.
Теорема 1 (первая теорема двойственности): если прямая задача
разрешима, то разрешима и двойственная задача, при этом критерии
на оптимальных решениях равны
F ( x *)  T ( y *) .
Теорема 1*: если исходная задача неразрешима из-за неограниченности критерия, то область допустимых решений двойственной
задачи пуста.
Экономическая интерпретация первой теоремы двойственности: если существует оптимальный план производства, то существуют
такие оценки ресурсов (производственных факторов), на которых
достигается минимальная оценка затрат ресурсов и затраты полностью переходят в доход, то есть производство эффективно – без потерь.
Варианты разрешимости задач двойственной пары
Вариант 1: Обе задачи разрешимы.
x2
x *, y*, F ( x *)  T ( y *)
2
x *(2,1)
F ( x)  3x1  2 x2  max
F*  8
 x1  2 x2  4

F
 x1  x2  1
 x ,x  0
 1 2
x1
1
Построим двойственную задачу:
y2
T ( y )  4 y1  y 2  min
x1 :  y1  y 2  3

x2 : 2 y1  y 2  2
 y ,y 0
 1 2
5 4
y *( , )
3 3
T*  8
3
T
1
36
y1
Вариант 2: Критерий одной задачи не ограничен, область допустимых решений другой задачи пуста.
F  ,
Dy   .
x2
F
F ( x)  3x1  2 x2  max
 x1  2 x2  4

 x1  x2  1
 x ,x  0
 1 2
4
1
x1
Построим двойственную задачу:
T ( y )  4 y1  y 2  min
x1 :  y1  y 2  3

x2 :  2 y1  y 2  2
 y ,y 0
 1 2
y2
1
y1
Вариант 3: Области допустимых решений обеих задач пусты.
Dx   , D y   .
x2
F ( x)  3x1  2 x2  max
 x1  x2  4

 x1  x2  1
 x ,x  0
 1 2
1
37
x1
Построим двойственную задачу:
T ( y )  4 y1  y 2  min
y2
x1 :  y1  y 2  3

x2 :  y1  y 2  2
 y ,y 0
 1 2
1
y1
Таким образом, можно выделить следующие варианты разрешимости:
1.
2.
x *   y *
F    Dy  
3.
T  
Dx    
Dy  
Следствие из первой теоремы двойственности: для разрешимости пары двойственных задач необходимо и достаточно, чтобы множество планов каждой из задач было не пустым.
Теорема 2: для того, чтобы допустимое решение прямой задачи
x *  Dx и допустимое решение двойственной задачи y *  D y были оптимальными, необходимо и достаточно, чтобы выполнялись
условия дополняющей нежесткости:
m
x *j ( ai j yi*  c j )  0,
j  1, n
(1.20)
i  1, m
(1.21)
i 1
n
yi* ( ai j x *j  bi )  0,
j 1
38
Условия (1.20)-(1.21) не означают ничего другого, как только то,
что или переменная обращается в ноль, или ограничение выполняется
как равенство.
Экономическая интерпретация второй теоремы двойственности:
1. Если на оптимальном плане продукция производится
*
( x j  0 ), то затраты на единицу продукции полностью переходят в
m
доход (  ai j yi*  c j ), то есть технология производства эффективна и
i 1
потерь нет.
2. Если на оптимальном плане затраты на производство единиm
цы продукции превышают доход (  ai j yi*  c j ), то такая продукция
i 1
не производится ( x *j  0 ).
3. Если на оптимальном плане оценка ресурса больше нуля
*
( yi  0 ), то есть, если изменение ресурса увеличивает доход, то реn
сурс расходуется полностью (  ai j x *j  bi ).
j 1
4. Если на оптимальном плане ресурс расходуется не полноn
стью (  ai j x *j  bi ), то его оценка равна нулю ( y i*  0 ), то есть измеj 1
нение этого ресурса (малое) не влияет на критерий.
Соотношения (1.20) и (1.21) позволяют по оптимальному решению одной задачи найти оптимальное решение другой.
Вторая теорема двойственности позволяет сформулировать признак оптимальности допустимого решения.
Следствие теоремы 2 (двойственный признак оптимальности):
для того, чтобы допустимое решение задачи линейного программирования x  ( x1 , x2 ,.....xn )  Dx было оптимальным, необходимо и достаточно, чтобы среди решений y системы уравнений
39
m
 ai j yi  ci , если x j  0
 i 1
(1.22)

n
 y  0, если  a x  b
i
ij j
i

j 1

существовало хотя бы одно допустимое решение двойственной задачи y  D y .
Решение y системы уравнений (1.22) и x  Dx удовлетворяют
соотношениям (1.20) и (1.21). И если среди решений (1.22) есть допустимое решение двойственной задачи, то тогда выполняются все
условия второй теоремы двойственности и оба эти решения будут
оптимальные.
1.5. Транспортная задача
В m пунктах отправления A1 , A2 , ..., Am сосредоточен однородный груз в количестве соответственно a1 , a2 , ..., am единиц. Имеющийся груз необходимо доставить потребителям B1 , B2 , ..., Bn , спрос
которых выражается величинами b1 , b2 , ..., bn единиц. Известна стоиi -го
мость
перевозки
единицы
груза
из
cij
( i  1, m ) пункта отправления в j -й ( j  1, n ) пункт назначения.
Требуется составить план перевозок, который полностью удовлетворяет спрос потребителей в грузе, и при этом суммарные транспортные издержки минимизируются.
Для наглядности условие транспортной задачи (ТЗ) можно представить таблицей, которую будем называть распределительной. Распределительную таблицу называют иногда табличной или матричной моделью ТЗ.
40
Поставщик
B1
с11
A1
x11
A2
x21 21
...
xm1
Потребность
в грузе b j
Bn
x1n
12
с
...
Am
Запас груза, ai
Потребитель
B2
...
с12
...
x
с m1
с 22
...
сm 2
...
...
xmn
...
bn
x22
...
xm 2
b2
b1
с1n
a1
x2 n 2 n
...
с
a2
с mn
am
Для построения экономико-математической модели ТЗ введем
переменные xij i  1, m; j  1, n – количество груза, которое необхо-


димо доставить из i -го пункта отправления в j -й пункт назначения.
 x11
x
Матрицу  21
 ...

 xm1
x12
x22
...
xm 2
... x1n 
... x2 n 
будем называть матрицей пере... ... 

... xmn 
возок.
Цель ТЗ – минимизировать общие затраты на реализацию плана
перевозок. Следовательно, целевая функция будет иметь вид
min Z  c11 x11  c12 x12  ... c1n x1n  c21 x21  c22 x22  ...
(1.23)
 c2n x2n  ... cm1 xm1  cm2 xm2  ... cmn xmn
Составим систему ограничений, которая будет определять ОДР
m
n
i 1
j 1
данной задачи в случае, когда  ai   b j .
Первые m уравнений системы (1.24) – это ограничения на запас
груза у поставщиков, следующие n уравнений системы (1.24) – это
ограничения на потребности потребителей в грузе, неравенства системы – это ограничения на смысл переменных (количество груза не
может быть отрицательным).
41
 x11  x12  ...  x1n  a1 ,

 x21  x22  ...  x2 n  a2 ,

.........

 xm1  xm 2  ...  xmn  am ,

(1.24)
 x11  x21  ...  xm1  b1 ,
 x  x  ...  x  b ,
22
m2
2
 12

.........

x

x
2 n  ...  xmn  bn ,
 1n
 x  0 i  1, m, j  1, n .
 ij
Будем называть план перевозок
 x110 x120 ... x10n 
 0

0
x21 x22
... x20n 
0

x 
 ... ... ... ... 
 0

0
0
 xm1 xm 2 ... xmn 
допустимым, если он удовлетворяет системе ограничений (1.24).
Допустимый план перевозок, доставляющий минимум целевой
функции, называется оптимальным.


Закрытая и открытая модели транспортной задачи
Модель ТЗ называют закрытой (сбалансированной), если суммарный объем груза, имеющегося у поставщиков, равен суммарному
спросу потребителей, т.е. выполняется равенство:
m
n
i 1
j 1
 ai   b j .
Если для транспортной задачи выполняется одно из условий:
m
n
i 1
j 1
m
n
i 1
j 1
 ai   b j ,
 ai   b j ,
(1.25)
(1.26)
то модель задачи называют открытой (несбалансированной).
Для разрешимости ТЗ с открытой моделью необходимо преобразовать ее в закрытую модель.
42
Так, при выполнении условия (1.25) необходимо ввести фиктивный (n+1)-й пункт назначения Bn1 , т.е. в матрице задачи добавляется
столбец. Спрос фиктивного потребителя полагают равным небалансу,
m
n
i 1
j 1
т.е. bn1   ai   b j , а стоимость перевозок равной нулю, т.е.


cin1  0 i  1, m . Переменные xin1 – это количество груза, которое
останется в i-ом пункте отправления. Аналогично при выполнении
условия (1.26) вводится фиктивный поставщик Am 1 , т.е. в матрице
задачи добавляется строка. Запас груза фиктивного поставщика равен
n
m
j 1
i 1
a m1   b j   ai , а тарифы (стоимости перевозок) равны нулю, т.е.


сm1 j  0 j  1, n . Переменные xm 1 j – это количество груза, недостающее j-му пункту назначения.
При преобразовании открытой модели задачи в закрытую модель целевая функция не изменяется, так как все слагаемые, соответствующие дополнительным перевозкам, равны нулю.
Целевая функция (1.23) и система ограничений (1.24) являются
экономико-математической моделью сбалансированной ТЗ.
Алгоритм решения сбалансированной транспортной задачи
1. Строим исходный опорный план.
2. Проверяем его на оптимальность. Если план оптимален, задача решена. Иначе переходим к пункту 3.
3. Переходим к нехудшему опорному плану. Возвращаемся к
пункту 2.
Построение исходного опорного плана (первый пункт алгоритма)
Построение опорных планов, а также их преобразование будем
производить непосредственно в распределительной таблице. Если в
плане перевозок переменная x ik равна некоторому числу a , то число
записываем в соответствующую клетку (i, k ) и считаем ее занятой
или базисной, если же xik  0 , то клетку (i, k ) оставляем свободной.
Существует несколько методов построения исходного опорного
плана. Рассмотрим методы северо-западного угла и минимального
элемента на примере.
43
Пример. В трех хранилищах A1 , A2 и A3 имеется соответственно 70,
90 и 50 т топлива. Требуется спланировать перевозку топлива четырем потребителям B1 , B2 , B3 и B4 , спрос которых равен соответственно 50, 70, 40 и 40 т так, чтобы затраты на транспортировку были
минимальными. Стоимость перевозки 1 т (в усл. ден. ед.) указана в
таблице.
Потребители
Хранилища
Запас топлива, т
В1 В2 В3 В4
А1
5
4
3
6
70
А2
4
3
5
1
90
А3
2
4
1
5
50
Потребность в топливе, т
50
70
40
40
200\210
Поскольку запасы топлива в хранилищах превышают спрос потребителей, введем фиктивного потребителя B5 , спрос которого равен
3
4
i 1
j 1
b5   ai   b j  70  90  50  50  70  40  40  210  200  10


Все тарифы фиктивного потребителя равны нулю, т.е. ci 5  0 i  1,3 .
После введения фиктивного потребителя B5 открытая модель задачи
преобразовалась в закрытую, а распределительная таблица примет
вид:
Потребители
Хранилища
Запас топлива, т
В1
В2
В3
В4
В5
А1
5
4
3
6
0
70
А2
4
3
5
1
0
90
А3
2
4
1
5
0
50
Потребность
50
70
40
40
10
210
в топливе, т
Найдем начальный опорный план методом «северо-западного
угла». Сущность его состоит в следующем: пользуясь распредели44
тельной таблицей закрытой модели, будем распределять груз, начиная с максимально возможной загрузки левой верхней, условно называемой северо-западной клетки, т.е. клетки ( А1 , B1 ). В эту клетку занесем меньшее из чисел a1 , b1 , т.е. x11  min(a1 , b1 )  min(70, 50) 
 50 . Таким образом, потребности в топливе потребителя B1 удовлетворены, и первый столбец из рассмотрения исключается (вычеркивается), а в хранилище A1 осталось 70  50  20 т топлива. Теперь левой верхней клеткой оставшейся части таблицы является клетка
( А1 , B2 ) и x12  min(20, 70)  20 . Так как в первом хранилище топлива
больше нет, то первая строка из рассмотрения исключается (вычеркивается), а потребителю B2 недостает 70  20  50 т топлива. Теперь
заполним клетку ( А2 , B2 ) и x22  min(90, 50)  50 . Столбец B2 вычеркиваем, а в хранилище A2 осталось 90  50  40 т топлива. Теперь
заполним клетку ( А2 , B3 ) и x23  min(40, 40)  40 . Строку A2 и столбец B3 вычеркиваем. Теперь заполним клетку ( А3 , B4 ) и
x34  min(40, 50)  40 . Столбец B4 вычеркиваем, а в хранилище A3
осталось 50  40  10 т топлива. Незаполненной осталась одна клетка
( А3 , B5 ) и x35  10 . Итак в распределительной таблице записан исходный опорный план.
ХраниПотребители
Запас
лища
топлива,
т
В1
В2
В3
В4
В5
6
3
0
5
4
А1
70
50
20
А2
4
50 3
40 5
1
0
90
А3
2
4
1
40 5
10 0
50
40
10
210
Потребность в
топливе, т
50
70
40
или
50 20 0 0 0 
x   0 50 40 0 0  .
 0 0 0 40 10
0
45
Транспортные издержки для этого плана:
 
Z  z x 0  5  50  4  20  3  50  5  40  5  40  880 (усл. ден. ед.)
Найдем начальный опорный план методом минимального элемента. Будем распределять груз, начиная с загрузки клетки с минимальным значением тарифа. При этом в клетку записывается максимально возможное значение поставки. Затем из рассмотрения исключают строку, соответствующую поставщику, запасы которого полностью израсходованы, или столбец, соответствующий потребителю,
спрос которого полностью удовлетворен. После этого из оставшихся
клеток таблицы снова выбирают клетку с наименьшим тарифом.
Процесс распределения заканчивается, когда все запасы поставщиков
исчерпаны, а спрос потребителей полностью удовлетворен.
Итак, просматривая распределительную таблицу, замечаем, что
наименьшие затраты на перевозку топлива соответствуют маршруту
из хранилища Ai i  1,3 потребителю B5 , поэтому заполним любую
клетку столбца B5 , например клетку ( А1 , B5 ) и x15  min(70, 10)  10 .
Таким образом, потребности в топливе потребителя B5 удовлетворены и пятый столбец из рассмотрения исключается (вычеркивается), а
в хранилище A1 осталось 70  10  60 т топлива. Просматриваем
оставшиеся клетки таблицы. Наименьшие тарифы имеют клетки
( А2 , B4 ) и ( А3 , B3 ): c24  c33  1 . Заполняем любую из этих клеток,
например клетку ( А2 , B4 ) и x24  min(90, 40)  40 . Столбец B4 вычеркиваем, а в хранилище A2 при этом останется 90  40  50 т топлива.
Просматриваем оставшиеся клетки таблицы. Наименьший тариф имеет клетка ( А3 , B3 ). Загрузим ее: x33  min(50, 40)  40 и вычеркиваем
столбец B3 , а в хранилище A3 осталось 50  40  10 т топлива. Просматриваем оставшиеся клетки таблицы. Наименьший тариф имеет
клетка
( А3 , B1 ):
В
клетку
( А3 , B1 )
помещаем
c31  2 .
x31  min(10, 50)  10 и вычеркиваем строку A3 , а потребителю B1
недостает 50  10  40 т топлива. Далее по величине тарифа следует
загружать клетку ( А2 , B2 ), так как c22  3 . В клетку ( А2 , B2 ) помещаем x22  min(50, 70)  50 и вычеркиваем строку A2 , а потребителю
B2 недостает 70  50  20 т топлива. Далее по величине тарифа сле-


46
дует загружать клетку ( А1 , B2 ), так как c12  4 . В клетку ( А1 , B2 ) помещаем x12  min(60, 20)  20 и вычеркиваем столбец B2 , а в хранилище A1 осталось 60  20  40 т топлива. Заполняем оставшуюся
клетку ( А1 , B1 ): x11  40 . Итак, в распределительной таблице записан
исходный опорный план.
Хранилища
А1
А2
А3
Потребность в
топливе, т
В1
40 5
4
10 2
50
Потребители
В2
В3
В4
3
6
4
20
5
1
3
40
50
5
4
1
40 5
70
40
40
В5
10 0
0
0
10
Запас
топлива, т
70
90
50
210
или
40 20 0 0 10
x 0   0 50 0 40 0  .
10 0 40 0 0 
Транспортные издержки для этого плана:
 
Z  z x 0  5  40  4  20  3  50  1  40  2  10  1  40  530 (усл.ден. ед.)
Если в найденном исходном опорном плане число занятых клеток меньше, чем m + n – 1, то найденный опорный план вырожден.
Для преодоления вырожденности плана следует добавить «0» в пустую клетку таким образом, чтобы эта клетка не образовывала цикла
с занятыми клетками, и считать ее занятой.
Так, в последнем примере начальный опорный план, найденный
методом северо-западного угла, является вырожденным (6 занятых
клеток, что меньше, чем m  n  1  3  5  1  7 ). Для преодоления
вырожденности этого плана добавим 0, например, в клетку
( А3 , B3 ). Тогда число занятых клеток будет равно 7, и план становится невырожденным. Клетка ( А3 , B3 ) не образует цикла с остальными
занятыми клетками.
47
Проверка на оптимальность невырожденного опорного плана
методом потенциалов (второй пункт алгоритма)
1 Каждому поставщику поставим в соответствие потенциал
ui i  1, m , а каждому потребителю потенциал v j j  1, n .




Тогда каждой занятой клетке будет соответствовать уравнение
ui  v j  cij .
Так как всех занятых клеток должно быть m + n – 1, т.е. на единицу
меньше
числа
потенциалов,
то
для
нахождения
ui i  1, m , v j j  1, n необходимо решить систему из m + n – 1 урав-

 

нений ui  v j  cij с m + n неизвестными. Система является линейнозависимой и, чтобы найти частное решение, одному из потенциалов
нужно придать произвольное числовое значение, тогда остальные
потенциалы определяются однозначно. Например, потенциалы строк
и столбцов для начального опорного плана, найденного в последнем
примере методом минимального элемента определим из решения системы
 u1  v1  5,
u  v  4,
 1 2
u1  v5  0,

u 2  v2  3,
 u  v  1,
 2 4
 u 3  v1  2,

 u 3  v3  1.
Система является линейно-зависимой, для нахождения одного из
частных решений придадим одному из потенциалов числовое значение, например u1  0 , тогда
v1  5, v2  4, v5  0, u2  1, v4  2, u3  3, v3  4.
2 Для исследования плана на оптимальность для каждой свободной клетки считаем оценки по формуле
sij  cij  ui  v j  ;
а) если все оценки положительны, то найденный опорный план
оптимален и единственен sij  0 ;
48
б) если наряду с положительными оценками встречаются и нулевые оценки sij  0 , то найденный опорный план оптимален, но не
единственен;
в) если оценка хотя бы одной свободной клетки отрицательна
sij  0 , то опорный план не является оптимальным, его можно
улучшить за счет загрузки этой клетки. Если таких клеток несколько,
то наиболее перспективной для загрузки является клетка с наименьшей оценкой. Например, для клеток i, k  и i, t  имеем оценки
sik  5, sit  10 . Здесь наиболее потенциальной (перспективной для
загрузки) является клетка i, t  .
Переход к нехудшему опорному плану (третий пункт алгоритма)
Улучшим план перевозок за счет загрузки свободной клетки с
отрицательной оценкой, для этого для наиболее перспективной свободной клетки строится замкнутый цикл с вершинами в загруженных
клетках. Вершинам этого цикла условно присваиваются знаки: свободной клетке – плюс, следующей, по часовой или против часовой
стрелке, занятой клетке – минус, следующей – снова плюс и т.д. Из
поставок в клетках цикла с «отрицательными» вершинами выбирается наименьшее количество груза, которое и перемещается по клеткам
этого цикла: прибавляется к поставкам в «положительных» вершинах
и вычитается из поставок в «отрицательных» вершинах, в результате
чего баланс цикла не нарушится.
Цикл пересчета
В общем случае цикл пересчета представляет собой замкнутую
ломаную линию, состоящую из звеньев, пересекающихся под прямым
углом. Каждое звено соединяет две клетки строки (столбца). Цикл
включает одну свободную клетку, остальные клетки цикла заняты. В
цикле всегда четное число клеток. Для свободной клетки всегда можно построить единственный цикл.
Если из занятых клеток образуется цикл, то план перевозок не
является опорным. Цикл строится лишь для свободной клетки.
Например, найдем оценки свободных клеток начального опорного плана, построенного в последнем примере методом минималь-
49
 
ного элемента. Используя найденные выше потенциалы строк ui 1, 3
 
и столбцов v j 1, 5 , рассчитаем оценки свободных клеток:
s13  c13  u1  v3   3  (0  4)  1;
s14  c14  u1  v4   6  (0  2)  4;
s 21  c21  u 2  v1   4  (1  5)  0;
s 23  c23  u 2  v3   5  (1  4)  2;
s 25  c25  u 2  v5   0  (1  0)  1;
s32  c32  u3  v2   4  (3  4)  3;
s34  c34  u3  v4   5  (3  2)  6;
s35  c35  u3  v5   0  (3  0)  3.
Так как оценка s13  0 , то найденный план не оптимален. Его
можно улучшить путем загрузки этой клетки.
Составим цикл пересчета относительно клетки ( А1 , B3 ).
Хранилища
А1
Потребители
В1
5
40
""
А2
А3
В2
20
В3
4
2
6
5
10 0
40 1
0
5
0
4 40 1
""
Потребность в
топливе
3
В5
""
4 50 3
10
В4
Запас
топлива
70
90
u1  0
u 2  1
u3  3
50
""
50
70
40
40
10
v1  5
v2  4
v3  4
v4  2 v5  0
210
Из клеток, помеченных знаком «–», выбираем наименьшее количество груза   min40; 40  40 . Прибавляем значение  к постав""
50
кам в клетках, помеченных знаком «+», и вычитаем из поставок в
клетках, помеченных знаком «–». Получим следующий план:
Хранилища
Потребители
Запас
топлива, т
В1
В2
В3
В4
В5
6
А1
u1  0
10 0
20 4 40 3
0 5
70
А2
А3
Потребность в
топливе, т
4
50 3
5
40 1
0
50 2
4
1
5
0
50
v1  5
70
40
40
10
90
u2  1
50
u3  3
210
v2  4 v3  3 v4  2 v5  0
Полученный опорный план является вырожденным, так как число заполненных клеток равно 6 < m + n – 1 = 7. Для преодоления вырожденности плана поставим ноль в любую пустую клетку, не образующую цикла с уже заполненными клетками, например в клетку
( А1 , B1 ) .
Проверим найденный план на оптимальность, для этого найдем
потенциалы строк и столбцов из решения системы:
 u1  v1  5,
u  v  4,
 1 2
 u1  v3  3,

u1  v5  0,
u  v  3,
 2 2
 u 2  v4  1,

u 3  v1  2 .
Присвоив u1  0 , найдем
v1  5, v2  4, v3  3, v5  0, u2  1, v4  2, u3  3.
Запишем потенциалы в последнюю таблицу.
Определим оценки свободных клеток:
51
s14  6  (0  2)  4;
s 21  4  (1  5)  0;
s 23  5  (1  3)  3;
s 25  0  (1  0)  1;
s32  4  (3  4)  3;
s33  1  (3  3)  1;
s34  5  (3  2)  6;
s35  0  (3  0)  3.
Так как все оценки неотрицательны, то найденный опорный план
является оптимальным, а так как имеется нулевая оценка ( s21  0 ), то
этот план не единственен.
Итак, получили оптимальный план
 0 20 40 0 10
*
x   0 50 0 40 0  .
50 0 0 0 0 
Транспортные издержки для этого плана:
Z  z x*  4  20  3  40  3  50  40  2  50  490 (усл ден. ед.).
Итак, по оптимальному плану необходимо из хранилища А1 потребителю B2 доставить 20 т топлива, потребителю B3 – 40 т топлива;
из хранилища А2 потребителю В2 доставить 50 т топлива, а потребителю В4 –40 т топлива; из хранилища А3 доставить 50 т топлива потребителю В1.
При этом затраты на транспортировку будут минимальными и
составят 490 усл. ден. ед. Нераспределенное топливо в размере 10 т
останется в хранилище А1.
 
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Имеются п пунктов производства и m пунктов распределения
продукции. Стоимость перевозки единицы продукции из i-го пункта
производства в j-й центр потребления cij приведена в таблицах, где
под строкой понимается пункт производства, а под столбцом – пункт
потребления. Кроме того, в таблицах в i-й строке указан объем производства в i-м пункте, а в j-м столбце указан спрос в j-м центре потребления. Хранение продукции на предприятии обходится в 1,6 у.е. в
52
день, а штраф за просроченную поставку единицы продукции, заказанной в пункте потребления, но там не хранящейся, равен 34 у.е. в
сутки. Составить план перевозок по доставке требуемой продукции в
пункты потребления, минимизирующий суммарные транспортные
расходы. Необходимые данные для решения задач взять из соответствующих таблиц по вариантам.
Вариант 1
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
5
1,8
6
6
1
5,1
8
2
3,5
6
3
3,1
2,2
4,9
1,3
4
3
7
8,95
1
20
38
30
Объем
производства
30
42
10
16
10
22
Вариант 2
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы продукции
Пункты потребления
1
2
3
4
2,3
7
6
8
2
1,3
1
2,5
4,9
4
4
1
2
8
1
4
3
2,1
1,2
5
35
35
15
53
25
Объем
производства
15
55
12
18
17
Вариант 3
Предприятия
А
В
С
D
Объемы потребления
Стоимость перевозки единицы продукции
Пункты потребления
1
2
3
4
4
2
4,1
6
5
2,5
2
3
3
4
3
4,2
5,1
3
2
7
20
25
80
Объем
производства
17
73
52
38
20
Вариант 4
Предприятия
А
В
С
D
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
1,7
3
4
6
5,2
2,6
9,8
3
3
2
1
4
6
5
2,5
7
32
18
60
Объем
производства
23
27
52
18
15
Вариант 5
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
6
2
4,8
3
8
4
5
8
5,5
2
3
7
5
6
8,2
4
1,8
9
7
6
40
30
48
54
12
Объем
производства
20
30
14
23
30
Вариант 6
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
6,2
1
4,2
5
2
4
5,1
8
5
8
3
4
2
4
9
2
4
2,75
2
1
45
30
25
Объем
производства
17
30
17
20
23
20
Вариант 7
Предприятия
А
В
С
D
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
4
9
1
3
2
5
5
6
2
5
10
4
3
7
2
6
18
50
22
Объем
производства
38
20
30
32
35
Вариант 8
Предприятия
А
В
С
D
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
4
9
4
7,4
2
8
5
1
7
2,2
1
4
2,5
6
10
6
48
10
35
55
12
Объем
производства
20
10
30
40
Вариант 9
Предприятия
А
В
С
D
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
6,3
8,6
1
5
2,5
7
5
7
4
5
11
8
1
5
4
5
44
30
26
Объем
производства
15
30
40
35
42
Вариант 10
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
7,3
9
3
10
3
10
5
9
7
11
3
2
8
5
9
2
4,8
9
10
5
60
10
20
Объем
производства
14
30
20
32
16
10
Вариант 11
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
6,3
8
5
11
4
11
7
9
7
3
5
8
9
5,5
10
1
5
8
11
5
60
10
30
56
10
Объем
производства
12
24
32
32
30
Вариант 12
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
4,2
10
5
9
5
8
5
9
6
4
4
7,3
7
5
11
4
3
11
8
5
35
20
30
Объем
производства
17
33
20
12
20
15
Вариант 13
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
3,2
3
3,75
4
3
2,85
2,5
2
2,35
2,5
2,4
2,1
4
3,9
3,5
4,1
3,65
3,55
3,4
3,4
235
175
185
Объем
производства
125
160
60
250
175
175
Вариант 14
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
6
2
4,8
3
8
4
5
8
5,5
2
3
7
5
6
8,2
4
1,8
9
7
6
140
130
148
57
112
Объем
производства
120
130
114
123
30
Вариант 15
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
6,2
1
4,2
5
2
4
5,1
8
5
8
3
4
2
4
9
2
4
2,75
2
1
145
130
125
Объем
производства
117
130
117
120
123
220
Вариант 16
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
7,3
9
3
10
3
10
5
9
7
11
3
2
8
5
9
2
4,8
9
10
5
60
30
20
Объем
производства
24
40
30
32
26
30
Вариант 17
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
6,3
8
5
11
4
11
7
9
7
3
5
8
9
5,5
10
1
5
8
11
5
160
210
130
58
110
Объем
производства
112
124
132
132
130
Вариант 18
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
4,2
10
5
9
5
8
5
9
6
4
4
7,3
7
5
11
4
3
11
8
5
350
200
300
Объем
производства
170
330
200
120
200
150
Вариант 19
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
3,2
3
3,75
4
3
2,85
2,5
2
2,35
2,5
2,4
2,1
4
3,9
3,5
4,1
3,65
3,55
3,4
3,4
135
75
85
Объем
производства
25
60
60
150
75
75
Вариант 20
Предприятия
А
В
С
D
Е
Объемы потребления
Стоимость перевозки единицы
продукции
Пункты потребления
1
2
3
4
6,3
8
5
11
4
11
7
9
7
3
5
8
9
5,5
10
1
5
8
11
5
600
100
300
59
100
Объем
производства
120
240
320
320
300
2. ОСНОВЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Задачи нелинейного программирования являются более широким классом экстремальных задач и имеют важное прикладное значение. Математическое программирование и, в частности, раздел нелинейного программирования, продолжают интенсивно развиваться.
Различным аспектам этой теории посвящена обширная литература
(см., например, [1,4,5]). В данной главе кратко рассмотрим лишь некоторые результаты, связанные с принципом построения методов
анализа нелинейных функций.
2.1. Постановка задачи нелинейного программирования
Общая задача математического программирования формулируется следующим образом: найти наименьшее или наибольшее значение функции
(2.1)
z  f x1 , x2 ,...,xn  ,
 gi x1, x2 ,...,xn   bi , i  1,2,...,k ,

 gi x1, x2 ,...,xn   bi , i  k  1,...,l ,
 g x , x ,...,x   b , i  l  1,...,m,
n
i
 i 1 2
x j  0, j  1, 2, ...,n.
(2.2)
(2.3)
Здесь (2.1) целевая функция задачи, (2.2) ограничения задачи и
(2.3) условие неотрицательности задачи. Если (2.1) линейная функция, а (2.2) все линейные уравнения и линейные неравенства, то задача (2.1)-(2.3) является задачей линейного программирования (ЗЛП).
Если же целевая функция (2.1) или хотя бы одно уравнение или неравенство ограничения (2.2) нелинейные, то задача (2.1)-(2.3) является
задачей нелинейной программирования (ЗНЛП). Общие понятия для
ЗНЛП аналогичны понятиям линейного программирования. Множество решений, которые удовлетворяют условиям (2.2) и (2.3) называются допустимыми решениями ЗНЛП. Множество допустимых решений, которые максимизируют или минимизируют целевую функцию
(2.1) называются оптимальными решениями ЗНЛП. Цель решения
ЗНЛП – нахождение оптимальных решений.
Не существует единого подхода к решению ЗНЛП. Для некоторых типов задач созданы свои методы - метод множителей Лагранжа,
метод деформированного многогранника, квадратичное и выпуклое
программирование, градиентные методы и т.д.
60
Условно все ЗНЛП можно разделить на три типа:
1. Задачи с нелинейной целевой функцией и линейной системой
ограничений. Для этого типа задач разработано наибольшее количество методов, хотя экстремум может быть найден далеко не для всех
видов целевой функции.
2. Задачи с линейной целевой функцией и системой нелинейных
ограничений.
3. Задачи с нелинейной целевой функцией и системой нелинейных ограничений.
2.2. Геометрический смысл задачи нелинейного
программирования
Рассмотрим геометрическую интерпретацию ЗНЛП. Для наглядности рассмотрим случай, когда ЗНЛП имеет две переменные.
(2.4)
max(min) f x1 , x 2  ,
 g i x1 , x 2   bi , i  1,2,...,k ,

 g i x1 , x 2   bi , i  k  1,...,l ,
 g x , x   b , i  l  1,...,m,
i
 i 1 2
(2.5)
(2.6)
x1  0, x2  0.
Условие неотрицательности (2.6) в системе координат x1 0x 2
задаёт первую четверть. В совокупности ограничения (2.5) в первой
четверти задают либо замкнутую область рис. 2.1, либо открытую
область рис. 2.2, либо пустую область рис. 2.3.
x2
x2
x2 A
A
B
A
B
B
x1
x1
Рис. 2.1. Замкнутая ОДР
Рис. 2.2. Открытая ОДР
x1
Рис. 2.3. Пустая ОДР
Геометрически множество точек рассмотренных областей образуют область допустимых решений (ОДР) ЗНЛП. Если выражению
целевой функции придать произвольное значение c, то равенство
f x1 , x2   c есть линия в прямоугольной системе координат x1 0x 2 .
61
Эта линия первоначально на плоскости займёт произвольное положение. На рисунках это линия АВ (отмечена пунктирной линией). Геометрически нужно линию целевой функции, которую она заняла произвольное положение, передвигать в сторону ОДР до тех пор, пока
она достигнет оптимального значения. Таким образом, из геометрической интерпретации следует, что НЗМП имеет либо единственное
решение, либо бесчисленное множество решений, либо не имеет решение в двух случаях: случае, когда ОДР неограниченна и в случае,
когда ОДР пуста. При этом наибольшее и наименьшее значение целевая функция может принимать как на границе ОДР, так и внутри
ОДР.
Пример.
Найти наибольшее и наименьшее значение функции
f  x1  62  x 2  22
(2.7)
при условиях
 x1  x 2  8,

 x1  x 2  7,

 x1  5,
 x 2  6,
x1  0, x2  0.
(2.8)
(2.9)
По форме задача относится к ЗНЛП, так как целевая функция и
второе неравенство ограничения (2.8) нелинейные. Построим в первой четверти системы координат x1 0x 2 ОДР и возможные линии
уровня целевой функции.
ОДР состоит из двух криволинейных областей АВС и DEF. Возможными линиями целевой функции будут концентрические окружности с центром в точке М(6, 2). Так как точка М принадлежит ОДР,
то наименьший радиус равен нулю и, следовательно, в точке М целевая функция будет иметь наименьшее значение, т.е. f M   0 . Из
чертежа видно, что наибольшее расстояние от центра точки М до точек ОДР будет МА, следовательно, в точке А(1, 7) целевая функция
будет иметь наибольшее значение, т.е. f  A  50 .
62
x2
8
6
А
С
В
D
E
5
F
M
x1
Рис. 2.4. Геометрическая иллюстрация к ЗНЛП (2.7)-(2.9)
Рассмотренный пример является задачей квадратичного программирования, поскольку в качестве целевой задана квадратичная
функция.
Решим геометрическим методом еще одну задачу квадратичного
программирования.
Пример. Найти наименьшее значение функции
(2.10)
f  x 2  y 2  16 x  10 y  89,
при условиях
 x  4 x  4,
 x  2 y  6,
(2.11)

 y  2,
 x  0, y  0.
Ограничительные соотношения определяют область допустимых
решений задачи. Надо найти такие точки области ABCDE в которых f
принимает минимальное значение.
63
x2
C1(8;5)
O
II
III
B
A
0
C
M
Д
N
I
E
grad f
Д
x1
D
Рис. 2.5. Геометрическая иллюстрация к ЗНЛП (2.10)-(2.11)
Для нахождения линий уровня представим целевую функцию в
виде
f  x  82   y  52  R 2  const .
Это окружности радиуса R с центром в точке O(8;5).
Поскольку центр окружности не принадлежит ОДР, наименьшее
значение целевой функции будет реализовано на границе допустимой
области в такой её точке, которая наименее удалена от центра окружности.
Из рисунка видно, что наименее удаленной от центра окружности будет точка М, лежащая на границе прямой СD, т.е. на прямой,
соответствующей второму ограничению системы (2.11) x+2y=6. Поскольку точка М не является угловой точкой ОДР, линия уровня
функции f касается в этой точке граничной прямой СD. Для вычисления координат точки М найдем градиент целевой функции grad f и
нормальный вектор N граничной прямой
 f f 
grad f   ,   2x  8;2 y  5; ,
 x y 
64
N  1,2
В точке М касания эти векторы коллинеарные. Условие их коллинеарности одновременно является уравнением ОМ, которая перпендикулярна СD и проходит через точку касания М.
2x  8 2 y  5

; y  5  2 x  16; 2 x  y  11.
1
2
Для получения координат точки М решим совместно уравнения
прямых ОМ и СД
x*  5,6
 x  2y  6

y*  0,2
2 x  y  11
f min  5.6 2  0.2 2  16  5.6  10  0.2  89  28.8.
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Используя графический метод, найдите решение задачи нелинейного программирования
1. f  2 x1  3x 2  extr ,
2. f  ( x1  5) 2  ( x 2  4) 2  extr ,
x12  x22  16,
5 x1  4 x 2  20,
x1  0, x2  0.
3x1  2 x 2  30,
3. f  ( x1  1)  ( x 2  1)  extr ,
2
2
x1  0, x 2  0.
4. f  2 x1  3x 2  extr ,
x1 x 2  4,
x1 x 2  4,
x1  4,
x1  6,
x 2  5,
x 2  5,
x1  0, x 2  0.
x1  0, x 2  0.
5. f  ( x1  6) 2  ( x 2  2) 2  extr ,
6. f  ( x1  1) 2  ( x 2  2) 2  extr ,
2 x1  5 x 2  20,
x1  x 2  16,
2 x1  x 2  10,
x1  3.5,
x1  0, x 2  0.
x 2  3.5,
x1  0, x 2  0.
65
7. f  x1  2 x 2  extr ,
8. f  ( x1  1) 2  ( x 2  1) 2  extr ,
x12  x 22  36,
5 x1  4 x 2  20,
x1  0, x 2  0.
3x1  2 x 2  30,
x1  0, x 2  0.
9. f  ( x1  2)  ( x 2  1)  extr ,
2
2
10. f  3x1  2 x 2  extr ,
x1 x 2  2,
x1 x 2  5,
x1  6,
x1  5,
x 2  7,
x 2  6,
x1  0, x 2  0.
x1  0, x 2  0.
11. f  ( x1  2) 2  ( x 2  1) 2  extr ,
12. f  ( x1  1) 2  ( x 2  1) 2  extr ,
2 x1  5 x 2  20,
x1  x 2  25,
2 x1  x 2  10,
x1  4.5,
x1  0, x 2  0.
x 2  4.5,
x1  0, x 2  0.
13. f   x1  2 x 2  extr ,
14. f  ( x1  3) 2  ( x 2  4) 2  extr ,
3x1  8 x 2  24,
x12  x 22  25,
4 x1  7 x 2  28,
x1  0, x 2  0.
15. f  ( x1  1)  ( x 2  2)  extr ,
x1  0, x 2  0.
16. f  2 x1  x 2  extr ,
x1 x 2  6,
x1 x 2  5,
2
2
x1  5,
x1  4,
x 2  4,
x 2  5,
x1  0, x 2  0.
x1  0, x 2  0.
17.
f  ( x1  1)  ( x 2  1)  extr ,
3x1  5 x 2  15,
2
2
18. f  ( x1  1) 2  ( x 2  1) 2  extr ,
x1  x 2  36,
x1  5.5,
5 x1  3x 2  15,
x 2  5.5,
x1  0, x 2  0.
x1  0, x 2  0.
66
19. f  2 x1  x 2  extr ,
20. f  ( x1  3) 2  ( x 2  1) 2  extr ,
3x1  8 x 2  24,
x12  x 22  4,
4 x1  7 x 2  28,
x1  0, x 2  0.
x1  0, x 2  0.
2.3. Задачи безусловного экстремума
В данном разделе приведем общие методы решения задачи нелинейного программирования, основанные на знаниях, полученных
студентами в курсе математического анализа. При этом предполагается, что все функции непрерывны и имеют непрерывные производные соответствующего порядка.
В одномерном случае имеем следующую задачу: найти точки
экстремума функции f ( x)  extr , где X  R .
xX
Теорема Ферма. Пусть функция f (x) дифференцируема в некотором промежутке X и во внутренней точке x * этого промежутка
принимает наибольшее (наименьшее) значение. Тогда f ( x*)  0 .
Таким образом, экстремум дифференцируемой функции следует
искать в стационарных точках, т.е. в точках, где производная обращается в нуль. "Подозрительными" на экстремум также являются и точки, не попадающие под действие теоремы Ферма, а именно: граничные точки, точки разрыва функции и производной.
Алгоритм поиска глобального экстремума. Необходимо определить следующие множества точек:
1) множество стационарных точек
X 1  x  X f ( x)  0 ;
2) множество точек разрыва функции
X 2  x  X f ( x)  разрывна;
3) множество точек разрыва производной
X 3  x  X f ( x)  разрывна
4) множество граничных точек X 4 ( в том числе   , если они принадлежат допустимому множеству).
Далее необходимо вычислить значения функции в этих точках и
выбрать среди них наибольшее и наименьшее. Если найденные точки
67
принадлежат множеству X, то минимум или максимум достигается на
множестве X, иначе – имеем точную нижнюю или верхнюю границу.
Пример.
Найти экстремум функции f ( x)  x 2 / 3  ( x 2  1)1 / 3 .
Вычислим производную функции
f ( x) 
2 ( x 2  1)1 / 3  x 4 / 3
.
3 x1 / 3 ( x 2  1) 2 / 3
Производная непрерывна везде, кроме точек x  0 и x  1 .
Найдем стационарные точки, решив уравнение f ( x)  0 . Получаем x   2 / 2 . Таким образом, подозрительными на экстремум являются точки множеств X 1   2 / 2, 2 / 2 и X 3   1,0,1 . При
этом X 2  Ø, а множество граничных точек X 4 включает в себя   .
lim f ( x)  lim f ( x)  0 .


x 
x 
Вычисляем значения функции в найденных точках:
f (1)  f (0)  f (1)  1 ,
f ( 2 / 2)  f ( 2 / 2)  2 / 3 2 .
В результате получили, что наибольшее значение функции достигается в точках x   2 / 2 , а наименьшего значения функция не
имеет ( inf f ( x)  0 ).
В многомерном случае поиска экстремума, т.е. исследовании
функции нескольких переменных оперируют необходимым и достаточным условиями локального экстремума.
Необходимое условие локального экстремума. Пусть функция
f (x) определена, непрерывна и непрерывно дифференцируема в некоторой окрестности точки x * . Тогда, для того чтобы в точке x *
достигался экстремум необходимо выполнение условия f ( x*)  0 .
Точки, удовлетворяющие этому условию, называются стационарными.
ОПРЕДЕЛЕНИЕ. Квадратичная форма
n
n
 aij y i y j
(2.12)
i 1 j 1
68
от переменных y1 , , y n , где a ij  a ji , называется строго положительно (отрицательно) определенной, если она имеет положительные
(отрицательные) значения при любых значениях аргументов, одновременно не равных нулю. Если квадратичная форма (2.12) имеет
неотрицательные (неположительные) значения при всех значениях
аргументов, то она называется положительно (отрицательно) определенной.
Достаточное условие локального экстремума. Пусть функция
f (x) определена, непрерывна и имеет непрерывные производные
первого и второго порядков в некоторой окрестности стационарной
точки x * . Положим aij  f xi x j (x*) . Тогда, если квадратичная форма
(2.12) строго положительно (отрицательно) определена, то в точке
x * достигается локальный минимум (максимум).
Критерий Сильвестра. Для того чтобы квадратичная форма
(2.12) была строго положительно определена, необходимо и достаточно, чтобы все главные миноры матрицы A  a ij были положительны.
 
Для положительной определенности квадратичной формы необходимо
и достаточно, чтобы все миноры были неотрицательными.
Для строго отрицательной определенности квадратичной формы
все главные миноры нечетного порядка должны быть отрицательны, а
четного – положительны.
ОПРЕДЕЛЕНИЕ. Если квадратичная форма может принимать
значения разных знаков, то она называется неопределенной.
ОПРЕДЕЛЕНИЕ. Пусть функция f (x) дважды непрерывно
дифференцируема в точке x , тогда матрица вторых частных производных называется матрицей Гессе H (x) .
Пример. Найти точки локального экстремума функции
f ( x)  x1 x 22  x12 x 2  3x12  3x 22 .
Вычислим частные производные функции и решим систему:
 f x ( x)  x 22  2 x1 x 2  6 x1  0,
 1
.

2
 f x2 ( x)  x1  2 x1 x 2  6 x 2  0.
Вычитая второе уравнение из первого, получим уравнение
( x 2  x1 )( x1  x 2  6)  0.
69
Исследуем оба случая.
а) x 2  x1 . Из первого уравнения системы получим, что
3x12  6 x1  0.
Стационарные точки: x1  x 2  0 и x1  x 2  2 .
Матрица Гессе имеет вид
 2 x 2  6 2 x1  2 x 2 
.
H ( x)  
2 x1  6 
 2 x1  2 x 2
В точке (0,0) T согласно критерию Сильвестра получим строго
отрицательную квадратичную форму:
 6 0 
,
H ( x)  
1  6  0,  2  36  0.
 0  6
Следовательно в точке (0,0) T достигается локальный максимум.
В точке (2,2) T получаем неопределенную квадратичную форму:
 2 8 
,
H ( x)  
1  2  0,  2  60  0.
 8  2
Следовательно в точке (2,2) T нет экстремума.
б) x1  x 2  6  0 или x 2   x1  6. Из первого уравнения систе-
мы получим, что x12  6 x1  36  0.
Стационарные точки:
x1  3 5  3, x 2  3 5  3 и x1  3 5  3, x 2  3 5  3 .
Матрица Гессе в точке x1  3 5  3, x 2  3 5  3 имеет вид
 6 5  12
 12 
H (x)  
.
 6 5  12 
  12
Миноры 1  6 5  12  0,  2  180  0 , следовательно квадратичная форма неопределена и в точке нет экстремума.
Аналогично, при проверке точки x1  3 5  3, x 2  3 5  3 получим, что экстремума нет.
Таким образом, единственным локальным экстремумом является
точке (0,0) T , где достигается локальный максимум
70
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
I. Найти экстремум функции одной переменной.
1. f ( x)  cos 3 x  sin 3 x .
2. f ( x)  (1  x 2 )e  x .
2
3. f ( x)  ( x 2  3x  2) /( x  1) 2 на отрезке [2,2] .
4. f ( x)  x  2 sin x при x  [0, ) .
5. f ( x)  x 2 / 3 e  x при x  [1, ) .
6. f ( x)  x e
x
при x  [2,2] .
7. f ( x)  x3 x  1 при x  [7,2] .
8. f ( x)  x3 x  1 при x  [7,2] .
9. f ( x)  x( x  2) 2 / 3 при x  [1, ) .
10. f ( x)  ( x  7)e 7 x при x  (;0]
11. f ( x)  4 x  ln(x  11)  12
12. f ( x)  16  4 x  x 2 .
 
13. f ( x)  (0.5  x) cos x  sin x при x   0; 
 2.
14. f ( x)  5  4 x  x 2
15. f ( x)  log 3 ( x 2  6 x  10)  2
  
16. f ( x)  36tgx  36 x  9  7 при x   , 
 4 4
13 15 
17. f ( x)  2 x 2  13x  9 ln x  8 при x   , 
14 14 
18. f ( x) 
x 2  25
при x  1,10
x
19. f ( x)  (1  4 x 2 )e 4 x .
2
20. f ( x)  x 4 / 3 e  x при x  [1, ) .
2
71
II. Найти экстремум функции нескольких переменных.
1. f ( x)  x12  2 x 22  5x32  2 x1 x 2  4 x1 x3  2 x3 .
2. f ( x)  x14  x 22  4 x1 x 2
3. f ( x)  x1e x1  (1  e x1 ) sin x 2 .
4. f ( x)  ( x 22  1)(sin x1  2) .
5. f ( x)  sin x1  x 22 .
2
6. f ( x)  x 2 x1  2 x 2  x1  14 x 2 ) .
7. f ( x)  e x1  x2 ( x12  2 x 22 ) .
8. f ( x)  4  3 ( x12  x 22 ) 2 .
9. f ( x)   x12  5x 22  3x32  x1 x 2  2 x1 x3  11x1  2 x 2  18x3  10 .
10. f ( x)  x12 x 22 (1  x1  x 2 ) .
11. f ( x)  x1 
x 22 x 32
2
.


4 x1 x 2 x 3
12. f ( x)  x12  8x 22  6 x1 x 2  5 .
13. f ( x)  x14  x 24  x12  2 x1 x 2  x 22 .
14. f ( x)  x12  x 22  x32  2 x1  4 x 2  6 x3 .
15. f ( x)  3x13  x 22  4 x1 x 2  x1  2 .
16. f ( x)  4 x12  5x 22  x1 x 2  34 x1  42 x 2  7 .
17. f ( x)  x13  3x1 x 22  15x1  12 x 2  3 .
18. f ( x)  x14  x 24  2 x12  2 x 22  4 x1 x 2  3 .
19. f ( x)   x12  x 22  x1 x 2  3x1  9 x 2  4 .
20. f ( x)  8x12  10 x 22  2 x1 x 2  11x1  23x 2  15 .
2.3. Метод множителей Лагранжа
Еще раз отметим, что на сегодняшний день не существуют общих методов решения, подобных симплекс-методу в линейном программировании, которые применимы к любым ЗНЛП. Поэтому рас-
72
смотрим частные методы решения, например метод множителей Лагранжа.
Рассмотрим еще раз постановку ЗНЛП в общем виде (2.4)-(2.6).
Идея метода заключается в сведении исходной задачи условного экстремума к задаче безусловного экстремума функции с большим числом независимых переменных (функции Лагранжа). Но вид функции
и области допустимых значений новой функции определяются в зависимости от вида исходных ограничений (2.5).
2.3.1. Задачи условной оптимизации с ограничениямиравенствами
Итак, рассмотрим задачу нелинейного программирования с
ограничениями-равенствами:
(2.13)
min f x1 , , x n  ,
(2.14)
g i x1 , , x n   0, i  1,2,...,k.
Будем предполагать, что k  n.
Введем в рассмотрение новые переменные i , i  1, k и функцию
k
Lx,    f ( x)   i g i ( x).
(2.15)
i 1
Переменные i , i  1, k называются неопределенными множителями Лагранжа, а функция L( x,  ) – функцией Лагранжа.
Теорема Лагранжа (необходимое условие локального экстремума). Если точка x * является локальным оптимальным решением
задачи (2.13)-(2.14), то существуют числа i *, i  1, k , одновременно
неравные нулю такие, что точка ( x*, *) является стационарной точкой функции Лагранжа L( x,  ) , т.е. выполняются условия
Lx*,  *
 0, i  1, n,
x i
(2.16)
j  1, k
(2.17)
Lx*,  *
 0,
 j
Эта теорема позволяет найти точки ( x*, *) , решив систему
(2.16)-(2.17), и затем среди них отыскать оптимальные решения задачи (2.13)-(2.14). Но при этом используются достаточные условия оп73
тимальности. Получим их. Сравним значения целевой функции в точках x * и x *  , где  – вектор приращений. Тогда, если x * и
x *  - допустимые решения, то g i ( x*)  0, g i ( x * )  0 , i  1, k ,
и f ( x * )  f ( x*)  L( x * , *)  L( x*, *) .
Разложим функцию L( x * ) в ряд Тейлора, получим
f ( x * )  f ( x*)  L( x * , *)  L( x*, *) =
( x L( x*, *), )  (, H x ( x*, *), ) .
В точке ( x*, *) выполняются необходимые условия из теоремы
и, следовательно,  x L( x*, y*)  0 .
Итак, f ( x * )  f ( x*)  (, H x ( x*, y*)) , где вектор приращений  удовлетворяет условиям
g i ( x * )  0 , i  1, k . Если функ-
ции g i ( x * ) , i  1, k разложить в ряд Тейлора до слагаемых первого порядка малости, то условия, накладываемые на приращения,
приобретут вид (g i ( x*), )  0 , i  1, k . Полученный результат
сформулируем в виде теоремы.
Теорема (достаточные условия). Если ( x*, *) стационарная
точка функции Лагранжа, и в этой точке квадратичная форма
(, H x ( x*, *)) 0(0) для всех приращений  , удовлетворяющих
уравнениям (g i ( x*), )  0 , i  1, k , то в точке x * достигается локальный минимум (максимум).
Пример.
Найти экстремум функции f ( x)  x1  x 2  x3  x 4 при ограничении-равенстве
в
области
g ( x)  x1 x 2 x3 x 4  81  0
X  xi  0 | i  1,4.
Составим функцию Лагранжа, поскольку задано одно ограничение-равенство введем только одну дополнительную переменную 
Lx,    f ( x)  g ( x)  x1  x 2  x3  x 4   ( x1 x 2 x3 x 4  81) .
Запишем уравнения необходимого условия экстремума (2.16)(2.17):
74
L
 1  x 2 x 3 x 4   0,
x1
L
 1  x1 x 3 x 4   0,
x 2
L
 1  x1 x 2 x 4   0,
x 3
L
 1  x 1 x 2 x 3   0,
x 4
L
 x1 x 2 x 3 x 4  81  0.

Очевидно, что   0 , поэтому можно записать равенства:
1
  x1 x 2 x3  x1 x 2 x 4  x1 x3 x 4  x 2 x3 x 4 .

Отсюда следует, что x1  x 2  x3  x 4 , подставляя в последнее
1


уравнение получим, что xi  3, i  1,4    
 0 .
27


Поскольку квадратичная форма обращается в нуль в найденной
точке, сравним значения функции в окрестности данной точки. Таким
образом, в точке x * (3,3,3,3) достигается локальный минимум.
2.3.2. Задачи условной оптимизации с ограниченияминеравенствами
Второй тип ЗНЛП на условный экстремум – с ограничениями
типа неравенств. Рассмотрим постановку задачи:
(2.18)
min f x1 , , x n  ,
g i x1 ,  , x n   0, i  1,2,...,m,
(2.19)
xi  0, i  1, n.
Функция Лагранжа для этой задачи: L( x, y)  f ( x)  ( , g ( x)) ,
где переменные i , i  1, m – множители Лагранжа.
Определение. Точка ( x*, *) , где x*  0, *  0 , называется седловой точкой функции Лагранжа, если в этой точке выполняются
неравенства L( x*,  )  L( x*, *)  L( x, *) для всех x  0,   0 .
75
Лемма. Если ( x*, *) - седловая точка функции Лагранжа, то


x*  X  x  E n : g ( x)  0, x  0 и (*, g ( x*))  0 .
Доказательство. Для седловой точки выполняется неравенство
L( x*,  )  L( x*, *) , или для любого   0
(2.20)
f ( x*)  ( , g ( x*))  f ( x*)  (*, g ( x*)) .
Перепишем неравенство (2.20) для точки   0 , определив ее
координаты по формуле
*  1, если i  k ,

i   i
.
*
 i , если i  k
Получим g k ( x*)  0 , а так как k выбирали произвольно, то этот
результат верен для любого k. Это означает, что x*  X .
Теперь перепишем неравенство (2.20) для точки   0 , определив ее координаты по формуле
0, если i  k ,
i   *
.
 i , если i  k
Получим  *k g k ( x*)  0 для произвольного k. С другой стороны
по определению седловой точки *k  0 , и g k ( x*)  0 , что было доказано выше. Следовательно, *k g k ( x*)  0 для всех k, то есть
(*, g ( x*))  0 .
Следующая теорема устанавливает связь между седловой точкой
функции Лагранжа и оптимальным решением.
Первая теорема Куна-Таккера. Если ( x*, *) седловая точка
функции Лагранжа, то x * оптимальное решение задачи (2.18)-(2.19).
Доказательство. По определению седловой точки L( x*, *) 
L( x, *) , и *  0 . Учитывая вид функции Лагранжа и лемму, получаем f ( x*)  f ( x)  (*, g ( x)) для x  0 , а значит тем более для
x  X . При этом x*  X . Тогда, (*, g ( x))  0 , и f ( x*)  f ( x)
x  X . А это означает, что x * - оптимальное решение задачи
(2.18)-(2.19).
76
Контр-пример к первой теореме Куна-Таккера.
Приведем пример задачи, функция Лагранжа которой не имеет
седловой точки:
f ( x)   x  min
g ( x)  x 2  0, x  0.
Функция Лагранжа для этой задачи имеет вид L( x, y)   x  x 2 .
У данной задачи единственное допустимое решение, которое является оптимальным решением x*  0. Покажем, что при *  0 точка
( x*, *) не является седловой, то есть не выполняется для всех x  0
неравенство
(2.21)
0  x   * x 2 .
Действительно, если *  0 , то из неравенства (2.21) получаем
0   x , что верно не для всех x  0 . Если *  0 и x  0 , то (2.21)
1
преобразуется к виду x 
, и вновь приходим к выводу, что нера*
венство (2.21) выполняется не для всех x  0 .
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
I. Решить задачу условной оптимизации.
1. f ( x)  x1 x 2 x3  extr X ,


X  x | x12  x 22  x32  1, x1  x 2  x3  0 .
2.
f ( x)  x1 x 22 x33  extr X ,
X  x | x1  x 2  x3  5, x1 x 2  x 2 x3  x1 x3  8.
3. f ( x)  x1 x 2 x3  extr X ,
X  x | x1  2 x 2  3x3  1, x1  0, x 2  0, x3  0.
4. f ( x)  x1  x 2  x3  extr X ,


X  x | x12  x 22  1, x1  x 2  x3  0 .
5. f ( x)  x 2  extr X ,


X  x | x13  x 23  3x1 x 2  0 .
6.
f ( x)  x1  x 2  x32  2( x1 x 2  x 2 x3  x1 x3 )  extr X ,
X  x | x12  x 22  x3  1 .


77
7. f ( x)  x12  x 22  extr X ,


X  x | ( x1  1) 2  x 22  1, ( x1  1) 2  x 22  1 .
8.
f ( x)  x12  x 22  extr X ,
X  x | x1  x 2  4  0.
9. f ( x)  x 2  extr X ,


X  x | x12  x 23  0 .
10. f ( x)  x12  x 22  extr X ,
X  x | ( x1  1) 2  x 22  4  0 .


11. f ( x)  x1 x 2 x3  extr X ,


X  x | x12  x22  x32  9, x1  x2  x3  0 .
12.
f ( x)  x1 x 22 x33  extr X ,
X  x | x1  x2  x3  10, x1 x2  x2 x3  x1 x3  16.
13. f ( x)  x1 x 2 x3  extr X ,
X  x | x1  4 x2  6 x3  1, x1  0, x2  0, x3  0.
14. f ( x)  x1  x 2  x3  extr X ,


X  x | x12  x22  16, x1  x2  x3  0 .
15. f ( x)  x 2  extr X ,


X  x | x13  8x23  6 x1 x2  0 .
16. f ( x)  2 x1  2 x2  x  4( x1 x2  x2 x3  x1 x3 )  extr X ,
2
3


X  x | x12  x 22  x3  1 .
17.
f ( x)  x12  x 22  extr X ,


X  x | ( x1  1) 2  x22  4, ( x1  1) 2  x22  1 .
18.
f ( x)  x12  x 22  extr X ,
X  x | x1  x2  1  0.
19. f ( x)  x 2  extr X ,


X  x | 4 x12  x23  0 .
20.
f ( x)  x12  x 22  extr X ,


X  x | ( x1  1) 2  x22  16  0 .
78
2.4. Элементы выпуклого программирования
Любую точку n – мерного пространства можно рассматривать
как вектор с началом в начале координат. Следовательно, координаты
любой точки n - мерного пространства будут координаты n - мерного




вектора. Если X 1 x11 , x12 ,...,x1n и X 2 x12 , x22 ,...,xn2 концы отрезка, а
X x1 , x2 ,...,xn  любая внутренняя точка этого отрезка, то справедливо
утверждение.
Теорема 1. Точка X тогда и только тогда является точкой отрезка с концами в точках X 1 и X 2 , когда выполняется условие
(2.22)
X    X 1  1    X 2 ,
где 0    1 .
Доказательство необходимости. Дано, что X точка отрезка с
концами в точках X 1 и X 2 . Требуется доказать, что выполняется
условие (2.22).
Рассмотрим вектора X 1 X и X 1 X 2 . Эти вектора коллинеарные
по способу выбора. Следовательно, существует  , (0    1) (т. к.


векторы соноправленные и X  X 1 , X 2 ), для которого справедливо
равенство X X    X X . Перейдём к равенству координат, получим xi  xi1    xi2  xi1 , i  1,2,...,n . Преобразуем эти равенства, по1
1

2

лучим xi    x  1    xi1 , i  1,2,...,n . В обозначениях для точек
2
i
это равенство (4), т. е. X    X 1  1    X 2 . Необходимость доказана.
Доказательство достаточности. Дано, что справедливо условие
(2.22). Требуется доказать, что X  X 1 , X 2 .
От равенств в обозначениях для точек (4) перейдём к равенствам
для координат. Получим xi    xi2  1    xi1 , i  1,2,...,n . Преобра-




зуем эти равенства к виду xi  xi1    xi2  xi1 , i  1,2,...,n . Последние
равенства можно рассматривать как равенства коллинеарных векто-


ров X 1 X    X 1 X 2 . Для 0    1 следует, что X  X 1 , X 2 . Достаточность доказана.
79
Равенство (2.22) используется для естественного определения
выпуклых множеств точек.
Определение 1. Множество точек n - мерного евклидова пространства называется выпуклым, если, наряду с любыми двумя его
точками, содержится и весь отрезок. Иначе, множество точек n - мерного евклидова пространства называется выпуклым, если для любых
точек X 1 и X 2 из этого множества принадлежит точка, представленная равенством (2.22). Для выпуклых множеств точек рассматривают
внутренние, граничные и угловые точки.
Х3
* Х2
Х1 *
Х3
Х3
Х2 *
Определение 2. Точка X 1 выпуклого множества называется
внутренней, если она входит в это множество с любой своей окрестностью.
Определение 3. Точка X 2 выпуклого множества называется
граничной, если для любой окрестности этой точки есть точки этой
окрестности как принадлежащие множеству так и не принадлежащие
этому множеству.
Определение 4. Точка X 3 выпуклого множества называется угловой точкой, если она не лежит внутри отрезка, соединяющие любые две точки данного множества. Угловые точки ещё называют
вершинами выпуклого множества.
Определение 5. Если выпуклое множество имеет конечное число
вершин, то для n  2 оно называется многоугольником. Для n  3 
многогранником, а для n  3  гипермногогранником. В дальнейшем
будем называть просто многоугольником.
Рассмотрим задачу линейного программирования (ЗЛП).
(1) min(c1 x1  c2 x2  ... cn xn )
(1)
max(c1 x1  c2 x2  ... cn xn )
80
a11 x1  a12 x2  ... a1n xn  b1 , 

a21 x1  a22 x2  ... a2 n xn  b2 , 
 (2)
................................................
am1 x1  am 2 x2  ... amn xn  bm .
x j  0  j  1,2,...,n
(3)
a11 x1  a12 x2  ... a1n xn  b1 , 

a21 x1  a22 x2  ... a2 n xn  b2 , 
 (2)
................................................
am1 x1  am 2 x2  ... amn xn  bm .
x j  0  j  1,2,...,n (3)
Теорема 2. Ограничения (2) и (3) ЗЛП образуют выпуклое множество точек.
Доказательство.
Рассмотрим систему линейных неравенств (2), записанную второй
алгебраической



n
 aij  x j  bi i  1,2,...,m .
формой,
Пусть
j 1

X 1 x11 , x12 ,...,x1n и X 2 x12 , x22 ,...,xn2 любые решения этой системы неравенств, удовлетворяющие условиям (3), т. е. выполняются неравенства
n
n
 aij  x1j  bi i  1,2,...,m и  aij  x 2j  bi i  1,2,...,m . Покажем,
j 1

j 1
 есть также решение этой системы неравенств. Так как X внутренняя точка отрезка X , X  , то её можно
что любая точка X  X , X
1
2
1
2
представить равенством (2.22), т. е. X    X 1  1    X 2 . Перейдём
к координатам в этом равенстве x j    x 2j  1    x1j ,  j  1,2,...,n .
Подставим их в левые части системы неравенств (2), получим
 aij  x j   aij    x 2j  1     x1j  
n
n
j 1
j 1
n
n
j 1
j 1
    aij x 2j  1      aij x1j    bi  1     bi  bi .
Теорема доказана.
Рассмотрим m точек выпуклого множества X 1 , X 2 ,...,X m и m
m
чисел 1 , 2 ,...,m , удовлетворяющих условию  j  0 и   j  1 .
j 1
Определение 6. Если любую точку X можно представить в виде
равенства
81
(2.23)
X  1  X 1  2  X 2  ... m  X m ,
то (2.23) называется выпуклой линейной комбинацией. Рассмотренные понятия используется для доказательства очень важных утверждений.
Теорема 3. Замкнутый выпуклый многоугольник задаётся выпуклой комбинацией своих вершин.
Доказательство.
Пусть X 1 , X 2 ,...,X m вершины выX2
пуклого многоугольника. Покажем, что
любая точка многоугольника представляется в виде равенства (5). Доказывать буA дем последовательным добавлением вершин к уже рассмотренным. Иллюстрировать доказательства будем для плоских
случаев. Рассмотрим первые три вершины
X1
X3
X 1 , X 2 , X 3 . Возьмём любую точку


A X 2 , X 3 , тогда она может быть представлена равенством (2.23),
т.е. A  k1 X 2  k 2 X 3 , где k1  0, k 2  0 и k1  k 2  1 . Теперь любую


точку X  X 1 , A , тогда её можно представить равенством (2.22), т.е.
X  l1 X  l2 A , l1  0, l2  0 и l1  l2  1 .
Подставим в последнее равенство значение точки А , получим
X  l1 X 1  l2 k1 X 2  k 2 X 3  l1 X 1  l2 k1 X 2  l2 k 2 X 3 ,
где l1  0, l2 k1  0, l2 k 2  0 . Покажем, что их сумма равна единице
l1  l2 k1  l2 k2  l1  l2 k1  k 2   l1  l2  1 . Таким образом, выпуклое
1


множество, заданное вершинами X 1 , X 2 , X 3 задаётся выпуклой линейно комбинацией (2.23). Добавим к X 1 , X 2 , X 3 четвёртую вершину
X 4 . Возьмём любую точку А принадлежащую выпуклому множеству с вершинами X 1 , X 2 , X 3 , тогда, по предыдущему, она может
быть представлена в виде выпуклой линейной комбинации (2.23),
т.е.
82
Х2
А
Х1

A  k1 X 1  k 2 X 2  k3 X 3 ,
где k1  0, k 2  0, k3  0 и k1  k 2  k3  1


Возьмём любую точку X  X 4 , A ,
Х3
тогда она может быть представлена в
виде равенства (2.23), т.е. X  l1 X 4  l2 A , где
l1  0, l 2  0 и l1  l2  1 . Подставим в послеХ4
днее равенство значение точки А , получим

X  l1 X 4  l2 k1 X 1  k 2 X 2  k3 X 3  l2 k1 X 1  l2 k 2 X 2  l2 k3 X 3  l1 X 4 ,
где l1  0, l2 k1  0, l2 k 2  0, l2 k3  0 . Покажем, что их сумма равна единице l1  l2 k1  l2 k2  l2 k3  l1  l2 k1  k2  k3   l1  l2  1 . Таким образом, выпуклое множество, заданное вершинами X 1 , X 2 , X 3 , X 4 задаётся выпуклой линейно комбинацией (2.23). Аналогично, к уже рассмотренным вершинам будем добавлять одну следующую вершину.
Уже проведёнными преобразованиями будем получать выпуклою
линейную комбинацию (2.23). Теорема доказана.
Замечание 1. Из теоремы следует, что любой многоугольник
может задаваться вершинами. Все остальные точки можно получить в
виде линейной комбинацией вершин.
Замечание 2. Из теорем 2 и 3 следует, что система неравенств задаёт выпуклый многоугольник, вершины которого есть базисные решения. Все решения системы неравенств могут быть получены с помощью выпуклой линейной комбинацией (5) его базисных решений.
Рассмотренные понятия будем использовать для определения
выпуклых и вогнутых функций, а так же для их свойств.
Выпуклые и вогнутые функции и их свойства
Будем рассматривать функцию f  X  , определённую на выпуклом множестве точек D . При этом любая точка X  D является точкой отрезка с концами в точках X 1 и X 2  D , когда для неё выполняется условие X    X 1  1    X 2 , где 0    1 .
Определение 1. Функция f  X  , определённая на выпуклом
множестве точек D , называется выпуклой, если для любых двух точек X 1 и X 2  D , выполняется неравенство
83


 
 
f  X   f   X 1  1     X 2    f X 1  1     f X 2 .
Определение 2. Функция f  X  , определённая на выпуклом
множестве точек D , называется вогнутой, если для любых двух точек
выполняется
неравенство
X1 и X 2 D ,
1
2
1
2
f  X   f   X  1     X    f X  1     f X .
Дадим геометрическое представление, рассмотренных определений.

x2

 
 
x2
A
B
B
X1
X
A
X2
X1
x1
X
X2
x1
На левом графике задана выпуклая функция. Ордината
AX  f  X  , а ордината BX    f X 1  1     f X 2 , что соответствует определению выпуклой функции. На правом графике задана
вогнутая функция. Аналогично предыдущему, ордината AX  f  X  ,
 
 
 
 
а ордината BX    f X 1  1     f X 2 , что соответствует определению вогнутой функции. Из рисунков следует, что на отрезке
X 1 X 2 для выпуклой функции есть точка максимума, а для вогнутой
функции – точка минимума. Рассмотрим свойства выпуклых и вогнутых функций.
Теорема 1. Если f  X  выпуклая функция, заданная на выпуклом
множестве точек D , тогда любой локальный максимум будет и глобальным максимумом.


84
Доказательство
Пусть X 0 точка максимума, т.е. для
X0
любой точки X из окрестности точки X 0
выполняется неравенство f  X   f X 0 .
X
Предположим, что существует глобальный максимум в точке X * отличный от точX*
ки X 0 , т.е. выполняется неравенство
f X *  f X 0 . Возьмём любую точку X на отрезке X * X 0 . Тогда
для этой точки будет справедливо определение выпуклости:
f  X     f X *  1    f X 0 . Усилим это неравенство. Для этого в
 

   

 
 
место f X  подставим меньшее значение f X  , получим
f  X     f X   1    f X     f X  1    f X   f X  ,
т.е. f  X   f X  , а это противоречит условию теоремы, так как ве*
0
*
0
0
0
0
0
личину 
можно выбрать так, что точка X будет принадлежать
окрестности точки X 0 . Следовательно, предположение о том, что
точка X * глобальный максимум неверно, т.е. точка X 0 – глобальный максимум. Теорема доказана.
Теорема 2. Если f  X  вогнутая функция, взятая на выпуклом
множестве точек D , тогда любой локальный минимум будет и глобальным минимумом.
Доказательство
Пусть X 0 точка минимума, т.е. для любой точки X из окрестности точки X 0 выполняется неравенство f  X   f X 0 .
 
Предположим, что существует глобальный минимум в точке X *
отличный от точки X 0 , т.е. выполняется неравенство f X *  f X 0 .

*
0

   
Возьмём любую точку X на отрезке X X . Тогда для этой точки
будет справедливо определение вогнутости:
f  X     f X *  1     f X 0 .
 
 
  подставим
Усилим это неравенство. Для этого в место f X *
 
большее значение f X 0 , получим
85
 
 
 
   
т.е. f  X   f X  , а это противоречит условию теоремы, так как веf  X     f X *  1     f X 0    f X 0  1     f X 0  f X 0 ,
0
личину 
можно выбрать так, что точка X будет принадлежать
окрестности точки X 0 . Следовательно, предположение о том, что
точка X * глобальный минимум неверно, т.е. точка X 0 - глобальный
минимум. Теорема доказана.
Рассмотрим несколько утверждений, которые следуют из доказанных теорем.
Следствие 1. Если глобальный максимум (или минимум) достигается в двух различных точках, то он достигается и в любой точке
отрезка, соединяющего данные точки.
Следствие 2. Если функция f  X  строго выпуклая (или вогнутая), то её глобальный максимум (или минимум) на выпуклом множестве точек D достигается в единственной точке.
Теорема 3. Если f  X  выпуклая (или вогнутая) функция на выпуклом множестве точек D и на этом множестве точек функция непрерывна вместе со своими частными производными первого порядка, то, если в некоторой точке X 0 градиент f X 0  0 , то в точке
 
X достигается локальный максимум (или минимум), который является и глобальным максимум (или минимум).
Доказательство
0
0
X
определению градиент в точке
имеет вид
 f f
f 
 . Из того, что f X 0  0 следует равенf X 0  
,
, ...,

x

x

x
2
n 
 1
ство нулю всех частных производных в этой точке (т.е. его координат), получим
 f
 x  0,
 1
 f
 0,

 x 2
.............

 f
 x  0.
 n
По
 
 
86
Это необходимое условие экстремума функции f  X  . Тогда, если X 0 точка экстремума, то по теоремам 1 и 2 эта точка является
глобальным максимум (или минимум).
Теорема. Множество X  E n является выпуклым тогда и только тогда, когда выпуклая комбинация любых m (m 2) точек из этого
множества принадлежит этому множеству.
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
1. Построить области выпуклости функций:
ax 3
bx 3 x 2
a) f ( x)  1  x12  2  2  cx1 x2  x1 ;
6
2
2
2
a  bx1
;
b) f ( x) 
cx 22
c) f ( x)  ax14  bx1 x2  cx24  4 x1.
Варианты
№
1
2
3
4
5
6
7
8
a
3
3
3
3
4
4
4
7
b
1
2
3
1
1
2
3
1
c
2
2
3
3
2
2
3
2
d
12
14
21
24
16
18
21
12
e
1
1
1
1
1
1
2
2
g
9
12
9
10
9
11
8
8
№
9
10
11
12
13
14
15
16
A
5
5
5
5
6
6
6
7
b
1
2
3
1
1
2
1
1
c
2
2
3
3
2
2
3
3
d
12
14
21
24
16
18
27
21
e
2
2
1
1
2
2
1
1
g
10
8
9
10
10
10
11
10
87
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Беллман Р., Дрейфус С. Прикладные задачи динамического
программирования. – М.: Наука, 1965.
2. Вагнер Г. Основы исследования операций. Т.1-3.– М.: Мир,
1973.
3. Васильев Ф.П. Численные методы решения экстремальных
задач. – М.: Наука, 1980.
4. Вентцель Е.С. Исследование операций. Задачи, принципы,
методология. – М.: Высш. шк., 2001.
5. Гнатенко Ю.А., Мустафина С.А. Методы оптимизации: учеб.
пособие. – Уфа: РИЦ БашГУ, 2010.
6. Карманов В.Г. Математическое программирование. – М.:
Наука, 1986.
7. Кирсанова О.В. Математика. Математическое программирование в примерах и задачах: учебно-методическое пособие для вузов./
О.В. Кирсанова, Г.А. Семенова. – Орел: ОрелГТУ, 2010.
8. Ларин Р.М., Плясунов А.В., Пяткин А.В. Методы оптимизации. Примеры и задачи: учеб. пособие. – Новосибирск: НГУ, 2003.
9. Моисеев Н.Н., Иванилов Ю.П., Столярова Е.М. Методы оптимизации. – М.: Наука, 1978.
10. Мустафина С.А., Гнатенко Ю.А. Экстремальные задачи:
учеб. пособие. – Уфа: РИЦ БашГУ, 2011.
11. Мустафина С.А., Карамова А.И. Вариационное исчисление и
оптимальное управление в примерах и задачах: учеб. пособие.– Стерлитамак: СФ БашГУ, 2013.
12. Пантелеев А. В., Летова Т.А. Методы оптимизации в примерах и задачах. – М.: Высш. шк., 2008.
13. Пшеничный Б.Н., Дажилин А.А. Численные методы в экстремальных задачах – М.: Наука, 1975.
14. Руководство к решению задач по математическому программированию: Учеб. Пособие / Кузнецов А.В., Холод Н.И., Костевич Л.С.; Под общ. ред. Кузнецова А.В. – 2-е изд., перераб. И доп. –
Мн.: Выш. шк., 2001. – 448 с.
88
15. Салмин И.Д. Математические методы решения оптимизационных задач: учеб. пособие. – М.: МИФИ, 2004.
16. Сухарев А.Г. Оптимальный поиск экстремума. – М.: Изд-во
МГУ, 1975.
17. Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов оптимизации.2-е издание. – М.: ФИЗМАТЛИТ, 2005.
18. Фихтенгольц Г.М. Курс дифференциального и интегрального
исчисления. – Т.1. – М.: Л.: Гос.изд-во физ.-мат.лит., 1958.
19. Черноруцкий И.Г. Методы принятия решений. – СПб.: БХВПетербург, 2005.
89
Для заметок
90
Для заметок
91
Учебное издание
Альбина Ильгизовна Карамова,
кандидат физико-математических наук, доцент
(Стерлитамакский филиал БашГУ)
МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Учебное пособие
для студентов, обучающихся по направлениям:
«010302 – Прикладная математика и информатика»,
«010402 – Прикладная математика и информатика»,
«020303 – Математическое обеспечение и администрирование
информационных систем»
Ответственный редактор – доктор физико-математических наук,
профессор Светлана Анатольевна Мустафина (Стерлитамакский
филиал БашГУ)
Начальник ИИЦ О.А. Шарипова
Компьютерный набор, вёрстка А.И. Карамова, Л.В. Леонтьева
Редактор В.Ш. Галимов
Печатается в авторской редакции.
Автор несет ответственность за достоверность
материалов, изложенных в книге
Сдано в набор 21.11.2016 г.
Подписано в свет 27.02.2017 г.
Бумага офсетная.
Печать оперативная.
Тираж 200 (1-й завод – 40) экз.
Заказ №
/16.
Подписано в печать 10.02.2017 г.
Формат 60х841/16
Уч.-изд. л. 5,1.
Усл. печ. л. 5,3.
Гарнитура «Times».
Информационно-издательский центр Стерлитамакского филиала БашГУ:
453103, г. Стерлитамак, пр. Ленина, 49
92
Скачать