
977
.pdf
Рассмотрим некоторую точку X 0 из области определения функции и
вектор |
D |
|
, d2 |
, , dn |
, задающий направление в пространстве Rn : |
|||
|
|
|
|
d1 |
|
|||
|
D |
|
1, di |
0 . |
|
|
|
|
|
|
|
|
|
Совокупность точек X X 0 D , где τ – некоторый одномерный параметр, образует прямую, если , и луч, если 0 .
Градиентом функции x1 , x2 , , xn называют вектор частных производных
|
|
|
|
||
|
|
x1 |
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
x2 |
(3) |
|||
X |
|
|
. |
||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
X |
|
|
xn |
|
|
||
|
|
|
|
|
Обозначение градиента: grad (x) или (x), где – оператор набла. Вектор X , противоположный вектору градиента, называется ан-
тиградиентом функции.
Точка, в которой градиент функции f x(k ) 0 , называется стационар-
ной.
На рис. 1 изображены линии уровня функции y и вектор градиента в точке M0 (перпендикулярен линии уровня, проходящей через эту точку). Модуль градиента показывает максимальную скорость изменения функции в окрестности M0, то есть частоту линий уровня. Модуль градиента равен наибольшей производной по направлению в данной точке.
Рис. 1. Линии уровня и градиент функции
11

1.3. Теоремы о функции, имеющей производную по заданному направлению
Пусть D d1 , d2 , , dn – некоторое заданное направление. Величина,
показывающая мгновенную скорость изменения функции Φ вдоль направ-
ления D, называется производной от функции Φ в направлении D:
T x0 D lim X 0 D X 0 .
0
Теорема 1.
Производная по направлению D равна градиента на вектор D:
(4)
произведению
D T X 0 D .
Доказательство.
D lim X 0 D X 0 .
0
Рассмотрим X 0 D X 0 – полное приращение функции |
|
Z X в направлении D. |
Z может быть представ- |
Известно, что полное приращение функции |
|
лено в окрестности точки X следующим образом: |
(5) |
Z xi , |
|
n |
|
i 1 xi |
|
xi di cos( i ) , |
(6) |
где cos( i ) – направляющие косинусы единичного вектора D. Подставив выражения (5) и (6) в формулу (4), получим:
n cos( i )
D lim i 1 xi T D .
0
Теорема 2.
Если T X 0 D 0 , то существует такая величина σ, чтоX 0 D X 0 для любого 0, .
12

Доказательство.
Первое неравенство в условии теоремы означает, что производная от функции Φ по направлению D положительна.
lim X 0 D X 0 0 .
0
Так как 0 , то, для того чтобы предел отношения был положительным, необходимо, чтобы числитель был не меньше нуля для всех τ, достаточно близких к нулю, что доказывает утверждение теоремы.
Теорема 3.
Градиент X 0 показывает направление наискорейшего возрастания функции Φ в точке X 0 .
Доказательство.
Рассмотрим все направления D d1 , d2 , , dn , в которых наблюдается возрастание функции, т.е.
T X 0 D 0 .
Так как T (X 0 ) D T (X 0 ) D cos ( T , D) , то свое наибольшее значение эта величина примет при cos( T , D) 1, т.е. когда угол( T , D) 0 и, следовательно, направление D совпадает с направлением
градиента.
Так как величина производной по направлению показывает скорость возрастания функции в данном направлении, то отсюда следует утверждение теоремы.
Теорема 4.
В точке максимума X* функции (X) градиент равен нулю:
X * 0 .
Доказательство.
Предположим, что X * 0 . Зададим направление D X * .
X * D X * X * X * 2 0 .
Следовательно, направление D X * есть направление, в котором возможно возрастание функции (X) в сравнении со значением функции в точке X * , что невозможно, так как X * – точка максимума. Значит, предположение о том, что X * 0 , неверно.
13
Методические рекомендации к теме 1
Знать основные понятия и теоремы, иметь представление о системах классификации задач математического программирования. Самостоятельно проработать материал «Математическая модель, этапы моделирования, вычислительный эксперимент» [15].
Уметь отвечать на вопросы и выполнять задания по теме.
Контрольные вопросы и задания
1.Какие задачи решают и где применяются методы оптимизации?
2.На какие этапы можно разделить процесс принятия решений в исследовании операций?
3.Что такое информационное моделирование?
4.Сформулируйте в общем виде задачу математического программирования.
5.По каким признакам классифицируются задачи математического программирования?
6.Что в задаче математического программирования называют допустимым решением, а что – оптимальным решением?
7.Приведите пример задачи дробно-линейного программирования.
8.Какая функция называется целевой?
9.Чем задача безусловной оптимизации отличается от задачи условной оптимизации?
10.Можнолизадачупоискамаксимумафункциипреобразоватьвзадачу поиска минимума?
11.Приведите пример задачи математического программирования, не имеющей решения. Можно ли утверждать, что задача математического программирования имеет решение, если допустимое множество замкнуто и ограничено?
12.Как построить линии уровня целевой функции?
13.Что такое градиент функции?
14.Что показывает вектор градиента, антиградиента?
15.Как определить производную по направлению D?
16.Чему равен градиент функции в точке экстремума?
18. Какая точка называется стационарной?
14
2.ЭЛЕМЕНТЫ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
2.1.Общая постановка задачи
Рассмотрим множество векторов X Rn , X (x1 , x2 ,..., xn ) и функцию
n
f (x) c j x j , где cj – некоторые числовые коэффициенты. Функция
j 1
f x f x1 , x2 , , xn линейна относительно переменных x1 , x2 ,..., xn , то есть
представляет собой линейную форму.
Предположим, что на компоненты векторов X наложена система ограничений ввиделинейныхравенствинеравенств. СовокупностьвекторовX, удо-
влетворяющих этим ограничениям, составляет некоторое множество Rn .
Говорят, чтовпространстве Rn поставленазадачалинейногопрограммирования(ЗЛП), еслиопределеналинейнаяцелеваяфункция f (x), подлежащаямини-
мизации, атакжезаданасистемалинейныхограниченийнакомпонентывекторов X ввидеравенствинеравенств, определяющаянекоторуюобласть Rn :
|
|
|
n |
|
|
|
|
min ; |
|
f (x) |
|
c |
j |
x |
j |
(7) |
|||
|
|
|
|
|
X |
|
|||
|
|
|
j 1 |
|
|
|
|
|
|
n |
|
|
|
|
|
|
i I; |
|
|
aij x j ai , |
|
||||||||
j 1 |
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
k K; |
(8) |
|
bkj x j bk , |
|||||||||
j 1 |
|
|
|
|
|
|
|
|
|
x |
l |
0, |
|
|
|
|
l L. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Здесь I, K, L – заданные целочисленные множества индексов. Заметим, что решение такой задачи методом приравнивания к нулю
частных производных и решения соответствующей системы невозможно, так как все производные равны константам.
2.2. Каноническая форма представления ЗЛП
Задачи линейного программирования возникают в различных областях науки, техники, экономической теории, медицине, социологии и т.д. В зависимостиотцелейрешения, ЗЛПмогутбытьзаписанывтомилииномвиде, однако существуютстандартныеформыпредставлениязадачлинейногопрограммирования, длякоторыхразработаныметодыиалгоритмырешения.
В канонической форме ЗЛП все ограничения системы (8) (кроме неравенств, выражающих условие неотрицательности переменных) представлены в виде равенств и требуется найти максимум целевой функции.
15
Приведение задачи к стандартной или канонической форме легко осу-
ществить, если использовать следующие положения. |
|
|||||
1) |
Задача минимизации может быть преобразована в задачу максими- |
|||||
зации |
путем |
смены |
знака |
у |
критерия |
оптимальности: |
min f (x) max |
f (x) и наоборот: max f |
(x) min f (x) . |
|
|||
X |
X |
|
|
X |
X |
|
2) Ограничения типа равенств и неравенств можно привести к необходимой форме, используя следующие приемы:
а) ограничение типа можно привести к ограничению путем умножения обеих частей неравенства на –1;
б) ограничениетипа= приводитсякдвумограничениямтипанеравенстви , если потребовать их одновременного выполнения. Например, равенство x1 x2 1 эквивалентно системе двух неравенств
x1 x2 1;x1 x2 1;
в) ограничение типа неравенства можно всегда привести к ограничению типа равенства путем добавления еще одной переменной xn 1 в левую часть
неравенства. Так, например, ограничение ai1 x1 ai 2 x2 ... ain xn bi
можно привести к ограничению типа равенства добавлением положитель-
ной переменной xn 1 : ai1 x1 ai 2 x2 ... ain xn xn 1 bi , xn 1 0 . При этом нужно помнить, что размерность задачи (число переменных хi) станет
на единицу больше, а неизвестная xn 1 войдет в качестве слагаемого в целевую функцию f(x) с коэффициентом cn 1 , равным нулю ( cn 1 0 );
г) если не задано ограничение вида xi 0 на некоторую переменную, а оно необходимо для канонической формы, то вместо одной переменной xi можно рассмотреть две переменные xi и xi , такие, что xi 0 и xi 0 , а
xi xi xi .
Используя перечисленные приемы, произвольную задачу линейного программирования можно привести к основной канонической форме: мак-
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
симизировать целевую функцию f (x) c j x j |
|
по переменным |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
j 1 |
|
|
|
|
|
|
|
|
|
|
при выполнении ограничений: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
a11 x1 |
a12 x2 |
... a1n xn |
b1; |
|
|
||||||||||||||||
a |
21 |
|
x |
a |
22 |
|
x |
2 |
|
... a |
2n |
x |
n |
b |
; |
|
|||||
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|||||||
................................................ |
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
m1 |
x |
a |
m |
2 |
x |
2 |
|
... a |
mn |
x |
n |
b |
; |
|||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
m |
|
||||||||
x |
j |
0, |
j 1,...,n . |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 ,..., xn
(9)
16
В матричной форме задача записывается следующим образом:
(C, X ) max;
A X T B; (10)
X 0.
Всякое решение системы (9) называется допустимым решением. Допустимое решение, при котором линейная функция f(x) принимает оптимальное(вданномслучаемаксимальное) значение, называетсяоптимальнымре-
шением, или оптимальным планом.
2.3. Формулировка некоторых типичных задач линейного программирования
2.3.1. Задача о раскрое
Пусть имеется n вариантов раскроя листа жести на заготовки m типов. Заготовок i-го типа требуется в количестве bi (i 1, .., m) . При j-м способе
раскроя j 1, , n получаются заготовки i-го вида в количестве aij , а отходы (по весу, по площади и др.) равны c j . Обозначим как x j количество листов, раскраиваемых по варианту j. Вектор X (x1 , x2 ,..., xn ) представляет
собой общий план раскроя. Тогда задача по отысканию оптимального плана раскроя может быть записана следующим образом.
Определить вектор X, минимизирующий функцию отходов
n
f (X ) c j x j приограничениях, направленныхнавыполнениепланавы-
j 1
пуска заготовок требуемых типов:
a |
|
x |
a |
x |
2 |
... |
a |
x |
n |
b ; |
||||
11 |
1 |
|
12 |
|
|
|
|
1n |
|
|
1 |
|||
.............................................. |
|
|||||||||||||
|
|
x |
a |
|
x |
|
|
|
a |
|
x |
|
|
b ; |
a |
i1 |
i2 |
2 |
... |
in |
n |
||||||||
|
1 |
|
|
|
|
|
i |
|||||||
.............................................. |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
am2 x2 |
amn xn bm; |
||||||||||
am1 x1 |
||||||||||||||
x |
j |
0, |
j 1, ..., n. |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При постановке конкретной задачи обычно все исходные данные сводятся в таблицу.
17
2.3.2. Задача о планировании производства
Для n различных технологий предприятие может использовать m видов ресурсов – сырье, энергию, оборудование. Запас ресурсов ограничен величинами bi (i 1, ..., m) . Известно, что при применении технологии с номе-
ром j j 1, , n в единицу времени расходуется aij единиц ресурса, и производится c j единиц продукта.
Требуется определить интенсивность (продолжительность) использования каждой технологии, чтобы выпустить максимальное количество продукции, не допустив перерасхода ресурсов.
Пусть x j – время, затраченное на j-тую технологию.
Тогда справедлива следующая математическая формулировка рассматриваемой задачи:
|
|
n |
|
|
|
C j x j |
max |
|
|
j 1 |
|
|
n |
|
i 1, ..., m; |
при ограничениях |
x j aij bi , |
||
j 1 |
|
|
|
|
|
0, j 1, ..., n. |
|
|
x j |
2.3.3. Задача о рационе
Пусть имеется n видов продуктов, в которых содержатся m типов питательных веществ. Обозначим символами aij количество питательных ве-
ществ i-го типа (i 1, , m ) в j-м продукте ( j 1, , n ). Потребность орга-
низма в i-м питательном веществе на протяжении определенного времени задается величиной bi . Стоимость единицы j-го продукта равна cj .
Требуется определить количество каждого продукта в рационе так, чтобы суммарная стоимость рациона была минимальной.
Пусть x j – количество j-го продуктаврационе. Тогда cj x j – общаясто-
n
имость j-го продукта, c j x j – суммарная стоимость рациона.
j 1
Получаем следующую ЗЛП:
n
c j x j min,
j 1
n |
|
|
aij x j bi , i 1, ..., m, |
||
j 1 |
|
|
|
0, |
j 1,...,n. |
x j |
18
2.3.4. Транспортная задача
Пусть имеется n строительных объектов, в которые поступают строительные материалы, хранимые на m складах. Известна стоимость cij пере-
возки материалов с i-го склада (i 1, , m ) на j-й строительный объект ( j 1, , n ), количество ai единиц строительных материалов на i-м складе изаказанныйобъем bj материаловдлядоставкинаj-йстроительныйобъект.
Требуется составить план перевозок строительных материалов со складов на объекты так, чтобы суммарная стоимость перевозок была минимальной.
Пусть xij – количество материалов, которое планируется перевезти с i-го склада на j-й объект. Тогда стоимость перевозки cij xij , а общая стоимость S всех перевозок будет равна
m n
S cij xij . i 1 j 1
Строительные объекты должны быть обеспечены материалами в точном соответствии с заказом. Поэтому планируемые объемы перевозок xij
должны удовлетворять условиям
m |
|
xij bj , |
j 1, 2, ,n. |
i 1 |
|
Однако со склада нельзя вывезти строительных материалов больше, чем там имеется. Следовательно, должны быть выполнены условия
m
xij ai , i 1, 2, ,m.
i 1
Получаем следующую ЗЛП:
|
|
m |
n |
|
|
|
|
cij xij min |
|||
|
|
i 1 |
j 1 |
|
|
m |
|
|
j 1, 2, ,n |
||
xij bj , |
|||||
i 1 |
|
|
|
|
|
n |
|
|
|
|
|
xij ai , i 1, ..., m, |
|||||
j 1 |
|
|
|
|
|
x |
ij |
0, |
i 1, ..., m, |
j 1,...,n. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Отметим, что сформулированная ЗЛП может иметь решение только в том случае, если сумма заказов всех строительных объектов не превышает суммарного запаса строительных материалов на всех складах, т.е.
n |
m |
bj ai . |
|
j 1 |
i 1 |
19

2.4. Свойства решений задач линейного программирования
1)Множество допустимых значений задач линейного программирования является либо пустым, либо выпуклым множеством.
2)Если множество допустимых значений не пусто и целевая функция ограничена сверху на этом множестве, то задача максимизации имеет решение.
3)ОптимальноерешениеЗЛПвсегданаходитсянаграницедопустимой области.
Примечание.
Множество в пространстве Rn называется выпуклым, если вместе с
двумя точками x1 x11 , x12 , , x1n , x2 x12 , x22 , , xn2 множество содержит и отрезок, их соединяющий (рис. 2).
Рис. 2. Примеры выпуклых (а) и невыпуклых (б) множеств
2.4.1. Опорные решения задач линейного программирования
Предположим, что ЗЛП приведена к канонической форме
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ci xi |
max, |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
i 1 |
|
|
|
|
xi D |
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
x |
a |
x |
2 |
... a |
|
x |
n |
b |
, |
|
|
|
|
|
||||||
|
11 |
1 |
12 |
|
|
|
1n |
|
|
|
1 |
|
|
|
|
|
|
|||||
................................................. |
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
m1 |
x |
a |
m2 |
x |
2 |
... a |
mn |
x |
n |
b |
, |
|
|
|
|||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
||||||
|
|
|
|
j 1, ..., n. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
x j 0, |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
В векторном виде: |
|
A A , |
A , , A , |
|
A a |
|
|
|
|
|
T , |
|||||||||||
C (c ,c ,...,c ), |
|
|
, a |
, , a |
mi |
|||||||||||||||||
1 2 |
n |
|
|
1 |
2 |
|
|
n |
|
|
i |
|
|
1i |
|
2i |
|
|
||||
B (b ,b ,...,b )T , |
X (x , x ,..., x ), |
|
|
|
||||||||||||||||||
|
|
|
1 |
2 |
|
m |
|
|
|
|
|
1 2 |
|
|
n |
|
|
|
|
(C, X ) max,
A1 x1 A2 x2 ... An xn B,
x j 0, j 1, ..., n.
20