Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

977

.pdf
Скачиваний:
1
Добавлен:
17.06.2024
Размер:
1.01 Mб
Скачать

Рассмотрим некоторую точку 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]