МатПрограм-ие в эк-ке

advertisement
Тема 3. Математическое
программирование в экономике
1
§ 3.1. Задача линейного программирования
Модель – это некоторый материальный или
абстрактный объект, находящийся в определенном
объективном соответствии с исследуемым объектом,
несущий о нем определенную информацию и способный
замещать его на определенных этапах исследования.
Математическая модель (знаковая) – это
модель объекта или системы, заданная в виде формул,
функций,
уравнении
других
математических
соотношений.
2
Классификация задач
В зависимости от свойств условий и целевой функции
задачи методы
• методы линейного программирования;
• методы целочисленного программирования;
• методы нелинейного программирования;
• методы динамического программирования;
• методы стохастического программирования;
• методы многокритериальной оптимизации;
• методы теории игр.
3
Структура методов принятия решений
Проблема принятия
решения
нет
Одно лицо
да
нет
Многокритериальная
оптимизация
да
Одна цель
нет
Определенность
Принятие решения
в условиях
неопределенности
да
Линейность
нет
Нелинейное
программирование
да
нет
Целочисленность
Теория игр
Линейное
программирование
да
Целочисленное
программирование
4
Этапы формализация проблемы как задачи ЛП :

понять проблему, составить описательную модель
задачи;

идентифицировать основные переменные задачи;

выбрать количественную меру эффективности цели;

представить эту меру эффективности как линейную
функцию относительно основных переменных;

идентифицировать и представить все ограничения как
линейные
уравнения или неравенства относительно
основных переменных;
 собрать количественные данные или сделать
соответствующие оценки для всех параметров модели.
5
Математические предположения для задачи ЛП:
 определенность (детерминированность) – все
параметры модели известны точно или могут быть
оценены;
 линейность (эквивалентна пропорциональности и
аддитивности) – все функциональные соотношения
модели линейны относительно основных переменных;
 пропорциональность – эффект
влияния
переменной задачи пропорционален значению этой
переменной;
 аддитивность – эффект влияния нескольких
переменных задачи равен сумме эффектов от
каждой переменной;
 делимость – все основные переменные задачи могут
принимать произвольные вещественные значения в
определенном диапазоне (бесконечно делимы).
6
Пример 3.1.1.
(Построение оптимального плана производства)
Исходные Расход ресурсов на 1
ресурсы
тонну готовой продукции
Сахар
Шоколад
1
Конфеты
1
Какао
Прибыль
5
5
2
3
Запас
ресурса
4
10
геометрич. решение
7
Переменные:
x1 – суточный объем производства шоколада,
x2 – суточный объем производства конфет.
Целевая функция:
Общая прибыль от реализации суточного плана
определяется функцией
z  5 x1  3 x2
Ограничения: содержательно ограничения на запас
ресурсов можно записать следующим образом
 Расход   Запас 
 ресурса    ресурса 

 

8
Математически ограничения имеют вид (см. таблицу):
 на расход сахара
ресурсы
Расход ресурсов
Запас
x1  x2  4;
ресурса
Шоколад Конфеты
 на расход какао-бобов
5 x1  2x2  10;

на знак переменных
Сахар
1
1
4
Какао
5
2
10
Прибыль
5
3
x1  0, x2  0.
Математическая модель
max z  max(5 x1  3 x2 )
x1  x2  4;
5 x1  2 x2  10;
x1  0, x2  0.
9
Пример 3.1.2. (Формирование смеси минимальной
стоимости)
Фабрика ежедневно производит
не менее 800
фунтов пищевой добавки – смеси кукурузной и соевой
муки, состав которой представлен в таблице (в фунтах
на фунт муки):
Мука
Белок
Клетчатка
Кукуруза
0,09
0,02
Соевая
0,6
0,06
Стоимость
0,3
0,9
Диетологи требуют, чтобы в пищевой добавке было не
менее 30 % белка и не более 5 % клетчатки. Фирма
хочет определить рецептуру смеси минимальной
стоимости.
геометр. решение
10
Переменные:
x1 – количество кукурузной муки;
x2 – количество соевой муки.
Целевая функция:
Мука
Кукурузная
Соевая
Белок
0,09
0,6
Клетчатка
0,02
0,06
Стоимость
0,3
0,9
общая стоимость произведенной пищевой добавки
z  0,3 x1  0,9 x2
Ограничения:
 на количество производимой смеси
x1  x2  800
 на количество белка в
пищевой добавке
0,09 x1  0,6 x2  0,3  x1  x2 
 на количество клетчатки в пищевой добавке
0,02 x1  0,06 x2  0,05  x1  x2 
 на знак переменных
x1  0, x2  0.
11
Математическая модель
min z  min  0,3 x1  0,9 x2 
min z  min  0,3 x1  0,9 x2 
x1  x2  800;
x1  x2  800;
0,21x1  0,3 x2  0;
7 x1  10 x2  0;
0,03 x1  0,01x2  0;
3 x1  1x2  0;
x1  0, x2  0.
x1  0, x2  0.
12
Пример 3.1.3. (Поиск оптимального плана производства)
Автомобильная
компания
производит
легковые
автомобили и грузовики. Каждое транспортное средство
должно обрабатываться в покрасочном и сборочном
цехах. Если бы в покрасочном цехе обрабатывались
только грузовые автомобили, то можно было бы
покрасить 40 машин в день. Если бы обрабатывались
только легковые автомобили, то выпуск составил бы 60
единиц продукции. В сборочном цехе обрабатывается 50
транспортных средств в день. Прибыль от производства
одного легкового автомобиля и грузовика составляет
$200 и $300 соответственно. Определить оптимальный
ежедневный
выпуск
продукции,
обеспечивающий
максимальную прибыль компании.
геометрич.решение
13
Переменные:
x1 – количество грузовиков, производимых ежедневно;
x2 – количество автомобилей, производимых ежедневно.
Ограничения:
 на время использования покрасочного цеха
1
1
x1 
x2  1, где
40
60
1
– время (в днях), идущее на покраску одного грузовика;
40
1
– время (в днях), идущее на покраску одного
60 автомобиля;
 на время использования сборочного цеха
x1  x2  50
 на знак переменных
x1  0, x2  0.
14
Целевая функция:
Суммарный доход компании определяется функцией
z  300x1  200x2
Математическая модель
max z  max(300 x1  200 x2 )
x1 x2

 1;
40 60
x1  x2  50;
x1  0, x2  0.
15
Математически задача ЛП – задача нахождения
наибольшего (наименьшего) значения линейной функции
многих переменных при линейных ограничениях типа
равенств (неравенств), когда на переменные задачи есть
(нет) ограничений на знак.
 задача максимизации ЛП  задача минимизации ЛП
max z  max(c1x1   cn xn )
min z  min(c1x1   cn xn )
при ограничениях
при ограничениях
ai 1x1   ain xn  bi , i  1, m,
ai 1x1   ain xn  bi , i  1, m,
x j  0, j  1, n.
x  0, j  1, n.
j
x j , j  1, n
 переменные
z  c1x1   cn xn  целевая функция
x j  0, j  1, n  условие неотрицательности переменной
с j , aij , bi
заданные параметры
16
 Вектор
X  ( x1 , , xn ) удовлетворяющий всем
ограничениям задачи, называется
допустимым
решением задачи ЛП.
 Множеством допустимых решений задачи ЛП
называется множество векторов X  ( x1 , , xn ) ,
удовлетворяющих всем ограничениям задачи.
X  ( x1 , , xn ), доставляющий максимум
 Вектор
(минимум) функции z при заданных ограничениях,
называется оптимальным решением задачи ЛП.
Наибольшее (наименьшее) значение целевой функции
называется значением задачи ЛП.
 Решить задачу ЛП  означает найти оптимальное решение и значение целевой функции.
17
§ 3.2. Геометрический метод решения
задачи ЛП
Пример 3.2.1. Решим графически задачу из примера 3.1.1:
max z  max(5 x1  3 x2 ),
x1  x2  4,
5 x1  2 x2  10,
x1  0, x2  0.
Геометрический метод реализуется в два этапа:
• построение допустимого множества решений задачи ЛП;
• нахождение оптимального решения задачи ЛП.
18
1
x2
 x1  4

 x2  0
B
5 x1  2x2  10
 x1  2  x1  0


 x2  0  x2  5
 x1  0

 x2  4
 * 2
 x1  3

 x *  10
 2 3
 x1*  x2*  4
 *
*
5
x

2
x
 1
2  10
5
4
 2
x1  x2  4
grad z   5,3 

*
1
z x ,x
*
2

2
10 40
 5 3

3
3
3
x1
O
2
 2
4
1
19
Пример 3.2.2. Решим графически задачу из примера 3.1.2:
*
*
*


x

x

800
x
 1
 1  470,6
2
 *
 *
*


7 x1  10 x2  0
 x2  329,4
x2
 
3
z X *  0,3 x1*  0,9 x2*  437,64
grad z   0,3;0,9 
800
 2

x1
O
800
1
20
Пример 3.2.3. Решим графически задачу из примера 2.1.3:
x2
АB  оптимальные (альтернативные) решения
z  A   z  B   12000
60
50
А
grad z   30;20 
B

40
50
x1
21
Теорема 2.4.1. (об оптимальных экстремальных точках).
Если в задаче ЛП существует оптимальное решение, то
существует и оптимальная экстремальная (угловая) точка.
Алгоритм графического метода для задач ЛП
 n  2:
 записать каждое ограничение как равенство и
нарисовать прямую;
 найти для каждого ограничения допустимую область
и множество допустимых решений задачи ЛП;
 найти градиент целевой функции
grad z  x1, x2    z x1 , z x2  ;
 нарисовать линию уровня целевой функции
z  x1, x2   const;
 сдвигать линию уровня в направлении градиента, до
последней точки пересечения с множеством доп.
22
решений.
При решении задачи ЛП возможны случаи:
1. Задача ЛП имеет единственное решение (см.
примеры 2.4.1 и 2.4.2).
2. Задача ЛП имеет бесконечное множество решений
(пример 2.4.3) (альтернативные решения).
3. Задача ЛП не имеет оптимального решения вследствие:
a. неограниченности множества допустимых решений
b. пустоты множества.
23
Анализ на чувствительность
Первая задача на чувствительность:
ограничения
активные
(связывающие)
неактивные
(несвязывающие)
дефицитные
ресурсы
недефицитные
ресурсы
Цели:
найти максимальное увеличение запаса дефицитного
ресурса;
найти максимальное уменьшение запаса
недефицитного ресурса.
24
Ресурс 1
L   0,5 
b1  4, b1  5  0  5, b1  5  4  1
x2
z  L   5  3  15
5 L
40 5
1z  15 

3
3
4
x1
2
 2
4
1
25
Ресурс 2
K   4,0 
b2  10, b2  5  4  20, b2  20  10  10
x2
z  K   5  4  20
40 20
2z  20 

3
3
4
K
2
4
x1
26
Результаты решения первой задачи анализа на
чувствительность оформляются в виде таблицы:
Ресурс
Тип (статус)
ресурса
Максимальное Максимальное
изменение
изменение
запаса
дохода
Ресурс 1
дефицитный
1
5/3
Ресурс 2
дефицитный
10
20/3
Вторая задача на чувствительность:
Максимальное увеличение дохода
yi 
Максимальное увеличение запаса i -го ресурса
 теневая (двойственная) цена ресурса
15- 40 3 5
y1 

1
3
20- 40 3 2
y2 

10
3
27
max z  5 x1  3 x2
Третья задача на чувствительность:
grad z   5, c2 
x2
grad z   5,3 
x1  x2  4,
5 x1  2 x2  10,
x1  0, x2  0.
целевая
grad z   c1,3 
функция
z  c1x1  c2 x2
a11x1  a12 x2  b1
B
a21x1  a22 x2  b2
Диапазон оптимальности
1 активные
c1 5
a11 c1 a21
ограничения



1 c2 2
a12 c2 a22
1 5 5
если c1  5, 
 , 2  c2  5
1 c2 2
если c2  3, 1  c1  5 , 3  c1  15
1 3 2
2
x
1
28
Кейс №1 (Торговля валютой)
Арбитраж – получение прибыли в результате
обменных операции.
Таблица текущих обменных операций:
1
2
3
4
5
1

0,639
5,3712
1,5712
98,89
2
1,5648

8,4304
2,459
154,77
3
0,1856 0,1186
4 0,6361 0,4063

3,4233
0,2921 18,412

5 0,0101 0,0645 0,05431 0,0158
62,94

29
Математическая модель
Пусть начальный валютный портфель содержит по
одной единице каждого вида валют.
aij  количество валюты j, которое дают за единицу
валюты i, aii  1.
Таблица (матрица) текущих Переменные:
обменных курсов:
xij  количество валюты i,
которое меняется на
a1n 
 a11 a12
валюту j.
a

a
a
22
2n 
A   21
x1n 


 x11 x12
x



x
x
a
a
a
22
2n 
 n1 n 2
nn 
X   21




x
x
x
 n1
n2
nn 
Обменная
операция
30
Цель: целью обменной операции является
максимизация прибыли.
Количественная мера прибыли выраженная в
единицах валюты 1 (можно любую другую валюту).
Целевая функция:
Прибыль = Доход – Затраты
CX
 X   R X  C X 
стоимость портфеля, выраженная в единицах
валюты 1,
C  X   a11  a21   an1  const.
R  X   доход от валютной операции,
R  X   a11x11  a21x21   an1xn1 
  a12 x12  a22 x22 
 an 2 xn 2  a21 
  a1n x1n  a2n x2n 
 ann xnn  an1.
31
Ограничения:
x11  x12 
 x1n  1
x21  x22 
 x2 n  1
x n1  x n 2 
 xnn  1
0  xij  1
Пусть
X * оптимальное решение,
*
 арбитраж есть,
если   X   0
если   X *   0  арбитража нет.
32
§ 3.3. Симплекс-метод решения задачи ЛП.
Стандартная задача максимизации
B   b1, b2 , , bm 
T
max z  max(c1x1 
ai 1x1 
 cn xn ),
 ain xn  bi , i  1, m,
x j  0, j  1, n.
Матричная и векторная форма записи
max z  max CX
max z  max CX ,
AX  B
Ai X  bi , i  1, m,
X 0
C   c1, c2 , , cn 
X   x1, x2 , , xn 
T
Amn  aij 
Ai   ai 1, ai 2 ,
ain 
X  0.
33
Стандартная задача минимизации
min z  min(c1x1 
ai 1x1 
 cn xn ),
 ain xn  bi , i  1, m,
x j  0, j  1, n.
Матричная и векторная форма записи
min z  min CX
min z  min CX
AX  B
Ai X  bi , i  1, m
X 0
X  0.
34
Каноническая задача максимизации (минимизации)
max(min)z  max(min)(c1x1 
ai 1x1 
 cn xn ),
 ain xn  bi , i  1, m,
x j  0, j  1, n.
Матричная и векторная форма записи
max(min)z  max(min)CX
max(min)z  max(min)CX
AX  B
Ai X  bi
X 0
X 0
35
Эквивалентные преобразования.
• Нахождение
максимума
линейной
функции
эквивалентно нахождению минимума этой функции,
взятой с противоположным знаком, и наоборот:
min z   max(  z ),
max z   min(  z ).
• Если на переменную не накладывается условие
неотрицательности, то ее можно заменить разностью
двух неотрицательных переменных:
x j  x j  x j ,
x j  0, x j  0.
36
• Если имеется n таких переменных , то их можно
заменить n+1 неотрицательной переменной:
x j  x j  x0 ,
x j  0, j  1, n, x0  0.
• Ограничение типа неравенства можно представить
в виде равенства, используя слабые переменные,
следующим образом:
ai 1x1 
 ain xn  bi  ai 1x1 
ain xn  si  bi , si  0, i  1, m,
ai 1x1 
 ain xn  bi  ai 1x1 
ain xn  si  bi , si  0, i  1, m
37
• Ограничение типа равенства можно заменить
двумя неравенствами:
ai 1x1 
ai 1x1 
 ain xn  bi  
ai 1x1 
 ain xn  bi ,
 ain xn  bi .
• Если имеется m равенств, то их можно заменить
m+1 неравенством:
ai 1x1 
ai 1x1   ain xn  bi , i  1, m,
m
 ain xn  bi , i  1, m  
 (ai 1x1   ain xn  bi )  0.
 i 1
Знак неравенства можно заменить на противоположный,
умножив данное неравенство на (-1)!
38
Пример 3.2.1. Представить задачу ЛП в стандартной и канонической формах максимизации:
каноническая задача максимизации:


x

x

x
1
1
1
min z  min(2 x1  3 x2 ),
 
x
x1  x2  10,
1 , x1  0
2 x1  3 x2  5,
max( z )  max( 2 x1  2 x1  3 x2 ),
7 x 14 x2  6,
x1  x1  x2  10,
x2  0.
2 x1  2 x1  3 x2  s1  5,
7 x1  7 x1  4 x2  s2  6.
x1  0, x1  0, x2  0, s1  0, s2  0
39
min z  min(2 x1  3 x2 ),
x1  x2  10,
2 x1  3 x2  5,
7 x 14 x2  6,
x2  0.
стандартная задача
максимизации:
x1  x1  x1
x1 , x1  0
max( z )  max( 2 x1  2 x1  3 x2 ),
x1  x1  x2  10,
 x1  x1  x2  10,
2 x1  2 x1  3 x2  5,
7 x1  7 x1  4 x2  6,
x1  0, x1  0, x2  0.
40
Базисное решение системы линейных
уравнений
max z  max CX
AX  B, X  0.
Пусть СЛУ AX =B совместна, т. е. выполнено условие:
rang ( A)  rang ( A, B )
a11x1   a1 j x j   a1n xn  b1,

a11x1   a2 j x j   a2 n xn  b2 ,


a x   a x   a x  b .
mj j
mn n
m
 m1 1
41
Базисным решением СЛУ, зависящим от
множества индексов S  1, , m
, будем называть
решение СЛУ, которое находится по указанным ниже
правилам.
• привести данную систему, используя метод Гаусса, к
диагональной форме по переменным:
x1, , xm - базисные переменные
 x1
 a1m 1xm 1   a1n xn  b1,



xm  amm 1xm 1   amn xn  b m .

• взяв небазисные переменные, x j  0, j  m  1, n
получим
x j  b j , j  1, m.
42
Утверждение 3.4.1.
Если у системы линейных уравнений существует
решение, то существует и базисное решение этой
системы ЛУ.
Утверждение 3.4.2.
Если задача ЛП имеет допустимое решение, то
она имеет и допустимое базисное решение.
Утверждение 3.4.3.
Если задача ЛП имеет оптимальное решение, то
она имеет и оптимальное базисное решение.
43
Пример 3.3.2. (неформальное решение ЗЛП
симплекс-методом)
Рассмотрим задачу ЛП :
max z  max(5 x1  3 x2 ),
x1  x2  4,
5 x1  2 x2  10,
x1  0, x2  0.
 x1  x2  s1  4,

 5 x1  2 x2  s2  10,
 x , x , s , s  0.
 1 2 1 2
Преобразуем целевую функцию к виду:
z  5 x1  3 x2  0
z-уравнение
44
x1 x2 s1 s2
 5 3 0 0 0 


1
1
1
0
4


 5 2 0 1 10 


x1 x2 s1 s2
1
10 
 0 1 0


0
3
5
1

1
5
2


1 2 5 0 1 5 2 


x1 x2
s1
s2
 0 0 5 3 2 3 40 3 


0
1
5
3

1
3
10
3


1 0 2 3 1 3 2 3 


базисные переменные
s1  4, s2  10
небазисные переменные
x1  0, x2  0
z0
базисные перем енные
x1  2, s1  2
небазисные переменные
x2  0, s2  0
z  10
базисные переменные
x1  2 3 x2  10 3
небазисные переменные
s1  0, s2  0
z  40 3
45
Геометрическая интерпретация расчетов
по симплекс-методу:
max z  max(5 x1  3 x2 ),
x2
x1  x2  4,
C
4
5 x1  2 x2  10,
x1  0, x2  0.
B
O

A
2
grad z   5,3 
x1
46
Перейдем к описанию формального алгоритма
симплекс-метода
для
канонической
задачи
максимизации:
max z  max (c1x1 
a i 1x1 
 c n xn ),
 a in xn  b i , i  1, m,
x j  0, j  1, n.
Выполним ряд вспомогательных построений. По задаче
ЛП запишем СЛУ, рассматривая целевую функцию как
одно из ограничений (z-уравнение):
z  c1x1   cn xn  0,

ai 1x1   ain xn  bi , i  1, m.
47

z  c1x1   cn xn  0,


ai 1x1   ain xn  bi , i  1, m.
Приведем данную систему к диагональной форме
по переменным: x1, , xm
z

 x1






x2
 cm 1xm 1 
 cn xn  z 0 ,
 a1 m 1xm 1 
 a1 n xn  b1,
 a2 m 1xm 1 
 a2 n xn  b2 ,
xm  am m 1xm 1 
 am n xn  bm .
48
Симплексная таблица представляет собой таблицу
коэффициентов диагональной формы СЛУ, построенной
для канонической задачи максимизации.
z x1
xr
x m xm 1
z z0 0
0
0
x1 b1 1
0
xr
0
xm b 0
m
br
cm 1
xs
xn
cs
cn
0 a1 m 1
a1s
a1 n
1
0 ar m 1
ar s
ar n
0
1 am m 1
am s
am n
49
Классификация симплексных таблиц:
 симплексная таблица называется прямо-допустимой,
если
bi  0, i  1, m ,
 симплексная таблица называется двойств.-допустимой, если
c j  0, j  1, n ,
 симплексная таблица называется оптимальной, если
она одновременно и прямо-допустимая, и двойственнодопустимая.
Оптимальная
СТ
соответствует
оптимальному базисному решению.
50
Алгоритм прямого симплекс-метода
(максимизация)
0. Начать вычисления с прямо-допустимой СТ.
ИТЕРАЦИЯ
1. Проверка оптимальности или нахождение
ведущего столбца СТ.
c j  0, j  1, n , то текущее базисное
• Если
решение является оптимальным.
• В противном случае в базис вводим переменную
номер которой находится по правилу:
xs ,
cs  min c j
c j 0
Столбец s называется ведущим столбцом СТ.
51
2. Проверка условия неограниченности задачи ЛП или
нахождение ведущей строки СТ.
• Если в ведущем столбце все коэффициенты
ais  0, i  1, m,
то решение задачи неограниченно.
• В противном случае следует выводить из базиса
переменную, для которой:
br
bi
 min
ars ais 0 ais
Строка под номером r называется ведущей строкой СТ,
ars  0  ведущим элементом СТ,
3. Преобразование СТ.
52
ведущий столбец
xr
x m xm 1
z z0 0
0
0
x1 b1 1
0
xr
0
xm b 0
m
br
cm 1
xs
xn
cs
cn
0 a1 m 1
a1s
a1 n
1
0 ar m 1
ar s
ar n
0
1 am m 1
am s
am n
алгоритм
ведущая строка
z x1
53
Пример 3.3.3. Решим задачу из примера 3.3.2 с
помощью СТ:
max z  max(5 x1  3 x2 ),
x1  x2  4,
5 x1  2 x2  10,
x1  0, x2  0.
Составим диагональную форму для СЛУ

 0,
z  5 x1  3 x2

x1  x2  s1
 4,


5 x1  2 x2  s2  10,

 x1, x2 , s1, s2  0.
54
Итерация 1.
Итерация 2.
z
x1
x2
s1 s2
z
0
-5
-3
0
0
s1
4
1
1
1
0
s2
10
5
2
0
1
z
x1
x2
s1 s2
z
10
0
-1
0
1
s1
x1
2
2
0
1
3/5
2/5
1
0
-1/5
1/5
Итерация 3.
Оптимальное решение
z
x1
x2
s1
s2
z
40/3
0
0
5/3
2/3
x2
10/3
0
1
5/3
-1/3
x1
2/3
1
0
-2/3
1/3
x1  2 / 3,
x2  10 / 3,
z  40 / 3.
55
§ 3.4. Транспортная задача (ТЗ)
Содержательная постановка:
A1, A2, , Am
 пункты производства
a1, a2 , , am
 производительность
B1, B2, , Bn
 пункты потребления
b1, b2 , , bn
ci j  0
 спрос
 удельные транспортные затраты
Транспортная задача заключается
в определении плана перевозок, при котором удовлетворен
спрос каждого потребителя, вывезен весь объем
продукции из каждого пункта производства и при этом
суммарные транспортные затраты минимальны.
Способы задания ТЗ
• аналитический
C   cij , cij  0,
• табличный
a   a1, a2, , am  , ai  0, i  1, m
b   b1, b2, , bn  , b j  0, j  1, n
,
• сетевой
b1
b2
bn
a1
a2
c11
c21
c12
c22
c1n
c2 n
am
c m1 c m 2
cmn
Пример 4.3.1.
7 8 5 3


C  2 4 5 9
 6 3 1 2


7
a1  11 A1
пункты
производства
b   5, 9, 9, 7 
7
B1
b1  5
B2
b2  9
B3
b3  9
B4
b4  7
88
a2  11 A2
a3  8 A3
a  11, 11, 8 
2
пункты
потребления
Напишем математическую модель задачи:
Переменные: xij  объем перевозок из Ai в Bj
 x11 x12

X   x21 x22
x
 31 x32
x13
x23
x33
x14 
  план перевозок
x24 
x34 
Целевая функция:
7 8 5 3


C  2 4 5 9
 6 3 1 2


min z  7 x11  8 x12  5 x13  3 x14  2x21  4 x22  5 x23  9 x24  6 x31  3 x32  x33  2x34
Ограничения:
x11  x12  x13  x14  11,
x11  x21  x31  5,
x21  x22  x23  x24  11,
x12  x22  x32  9,
x31  x32  x33  x34  8,
x13  x23  x33  9,
xij  0, xij  целые,
x14  x24  x34  7,
двойственная задача
Математическая модель транспортной задачи
m
min z  min(c11x11  c12 x12 
xi 1  xi 2 
x1 j  x2 j 
n
min z  min  cij xij
cmn xmn )
i 1 j 1
n
x
 xin  ai , i  1, m,
j 1
ij
m
 xmj  b j , j  1, n,
x
i 1
xij  0, xij  целые.
ij
 ai , i  1, m,
 b j , j  1, n,
xij  0, xij  целые.
Теорема 3.4.1. (О разрешимости ТЗ)
Для существования оптимального решения ТЗ,
необходимо и достаточно, чтобы выполнялось условие
m
n
баланса:
 ai   b j .
i 1
j 1
m
n
a  b
Закрытая ТЗ:
i
i 1
Открытая ТЗ:
j 1
m
1)
j
 условие баланса
n
a  b
i
i 1
j 1
j
 перепроизводство
Bn 1  фиктивный пункт потребления
m
n
bn 1   ai  b j  спрос
i 1
bj
ai
11
11
8
ci , n 1  ri
j 1
5
4
9
5
7
7
8
5
3
r1
2
4
5
9
r2
6
3
1
2
r3
 штраф
m
Открытая ТЗ:
2)
n
a  b
i 1
i
j 1
j
- дефицит
 фиктивный пункт производства
Am1
n
m
j 1
i 1
am 1   b j   ai  производительность
bj
ai
11
6
8
5
5
7
9
9
7
8
5
3
2
4
5
9
6
3
1
2
r1
r2
r3
r4
cm1, j  r j
Методы нахождения начального
опорного плана ТЗ.
Опорным планом X транспортной задачи
будем называть допустимое базисное решение ТЗ.
 Метод северо-западного угла
bj
1
9
5
7
9
ai
2
5
8
3
7
6
11 5
0
0
11
0
8
0
2
6
3
0
4
3
8
1
5 6 0 0
X 0   0 3 8 0 
0 0 1 7


5
1
0
7
9
3
1
5
6
2
3
8
1
7
3
4
2
 
z X0  57  68  3 4 
8  5  1 1  7  2  150
 Метод минимального элемента
bj
ai
11
11
8
1
5
0
5
0
9
9
7
2
6
3
6
0
8
4
3
1
0
8
1
7
5
5
1
7
0
0
3
9
2
2
2
3
3
4
0 3 1 7
X 0   5 6 0 0 
0 0 8 0


 
z X 0  3  8  1 5  3  7  2  5  6  4  8  1  92
 Метод Фогеля
bj
ai
11
11
8
штрафы
столбцов
5
0
7
8
3
6
5
6
4
1
4
2
0
9
9
0
0
3
8
штрафы строк
7
5
5
1
7
0
0
3
2
2
2
3
9
2
1
1
1
2
1
1
1
4
1
1
4
1
4
0
6
4
0
0 3 1 7
X 0   5 6 0 0 
0 0 8 0


 
z X 0  92
Проверка плана ТЗ на опорность
(метод вычеркиваний):
• вычеркнуть все строки в матрице Х, содержащие не
более одного положительного элемента;
• в получившейся матрице вычеркнуть все столбцы,
содержащие не более одного положительного элемента;
• далее процесс вычеркивания строк и столбцов применяется к оставшейся подматрице.
Процесс заканчивается одним из двух исходов:
1. Все строки (столбцы) вычеркнуты. Тогда Х  опорный.
2. Получена подматрица, в каждой строке (столбце)
которой не менее 2 положительных элементов. Х  не
опорный. Из оставшихся элементов можно построить
цикл.
Пример 3.4.3.
a  15,35,15,30 
b  15,20,25,15,20 
 5 0 0 0 10 
 10 20 5 0 0 

X1  
 0 0 15 0 0 


0
0
5
15
10


неопорный план
 15 0 0 0 0 
 0 20 15 0 0 

X2  
 0 0 10 5 0 


 0 0 0 10 20 
опорный план
§ 3.5. Постановка задачи нелинейного
программирования.
Задачей нелинейного программирования
(задачей
НП)
называется
задача
нахождения
максимума (минимума) нелинейной функции многих
переменных, когда на переменные имеются (не
имеются) ограничения типа равенств или неравенств.
Стандартная форма
В векторном виде:
max f ( x1, x2 , , xn )
X  ( x1, , xn )  R n ,
g1( x1, x2 , , xn )  0
max f ( X )
g (x , x , , x )  0
2
1
2
n
g m ( x1, x2 , , xn )  0
g i ( X )  0, i  1, m.
68
n
M

{
X
X

R
, g i ( X )  0, i  1, m}
Множество
будем называть множеством допустимых решений
ЗНП.
max f ( X )
X M
Допустимое решение X   M называется
оптимальным решением задачи НП, если
max f ( X )  f ( X  ),
X M
т.е. f ( X  ) наибольшее значение функции f на
множестве М.

Число f ( X ) называется значением задачи НП.
Будем полагать, что функции
f : R n  R1,
g i : R n  R1 , i  1, m дифференцируемы, т.е. существуют
все частные производные
f x j .
69
Выпуклые множества. Выпуклые и
вогнутые функции
n
Множество M  R
называется
выпуклым, если для любых точек X , X   M
и любого   0,1 выполнено условие
 X   1    X   M
Функция f ( X ) называется выпуклой,
если для любых точек X , X   M и любого   0,1
выполняется неравенство
f   X   1    X    f  X    1    f  X  
Функция f ( X ) называется вогнутой,
если для любых точек X , X   M и любого   0,1
выполняется неравенство
f   X   1    X    f  X    1    f  X  
70
Безусловный экстремум
Если в задаче нелинейного программирования нет
ограничений на переменные, то такая задача
называется задачей безусловной оптимизации и
имеет вид
max
( x1,x2 , ,xn )R
min
( x1,x2 , ,xn )R
n
n
f ( x1, x2 , , xn ) или maxn f ( X )
X R
f ( x1, x2 , , xn ) или minn f ( X )
X R
безусловная
максимизация
безусловная
минимизация
Теорема 3.5.1.(Необходимые условия
оптимальности)

Если X оптимальное решение задачи без ограничений,
f ( X  )
то
(условие стационарной
 0, i  1, n.
xi
точки)
71
Замечание 3.5.1. (Достаточность условий
оптимальности)
Для того чтобы стационарная точка X *  ( x1* , , xn* )
являлась оптимальным решением задачи безусловной
максимизации, достаточно, чтобы функция f ( x1, x2 , , xn )
была вогнутой.
X
Для того чтобы стационарная точка X *  ( x1* , , xn* )
являлась оптимальным решением задачи безусловной
минимизации, достаточно, чтобы функция f ( x1, x2 , , xn )
была выпуклой.
X
72
Пример 3.5.1. Написать необходимое условие
оптимальности и найти стационарные точки:
f  x1, x2 , x3   x12  2x22  3 x32  2x1x2  2x1x3
Условие стационарной точки:
f  x 
 2 x1  2 x2  2 x3  0,

 x1
 f  x 
 4 x2  2 x1  0,

 x2
 f  x 

 6 x3  2 x1  0.
 x3
 x1  0,
 
 x2  0,
 
 x3  0.
Достаточное условие:
Матрица Гессе
 2 2 2 
 2 4 0 


 2 0 6 


является положительно
определенной, f  x1, x2 , x3 
 выпуклая функция,
X *  (0,0,0)  точка минимума
73
Условный экстремум
Пусть требуется найти
max f ( x1, x2 , , xn ) min f ( x1, x2 , , xn ) 
при ограничениях
g i ( x1, x2 , , xn )  0, i  1, m.
Такая задача называется задачей условной
максимизации (минимизации).
Метод множителей Лагранжа
m
L( x1, x2 , , xn ; 1, , m )  f ( x1, x2 , , xn )   i g i ( x1, x2 , , xn ).
i 1
 функция Лагранжа
  (1, , m )  вектор множителей Лагранжа
max L( X ; )
 задача безусловной оптимизации
74
Теорема 3.5.2. (Лагранжа).
*
*
*
Если X  ( x1 , , xn ) – оптимальное решение
задачи условной оптимизации, то должны найтись
множители Лагранжа , которые удовлетворяют
соотношениям
 L f ( X  ) m * g i ( X  )
 0, j  1, n;
 x  x   i x
i 1
 j
j
j

 L  g ( X  )  0, i  1, m.
i
условия Лагранжа
 i
Замечание 3.5.2.
В теореме 3.5.2 векторы-градиенты функций g i ( X ) , i  1, m
должны быть линейно независимы в точке X* , т. е. удовлетворять условиям регулярности.
75
Замечание 3.5.3.(Достаточность условий
оптимальности).
X * являлась оптимальным
Для того чтобы точка
решением задачи условной максимизации, достаточно, чтобы функция f ( x ) была вогнутой, а все gi ( x )
 линейными.
Для того чтобы точка
X * являлась оптимальным
решением задачи условной минимизации, достаточно, чтобы функция f ( x ) была выпуклой, а все gi ( x )
 линейными.
76
Пример 3.5.2. Написать необходимые условия
оптимальности для задачи:
min f  x1, x2 , x3   min  x12  2 x22  3 x32  2 x1x2  2 x1x3 
x1  x2  x3  1
g1  X   x1  x2  x3  1  0,
x1  x2  2.
g 2  X   x1  x2  2  0.
Функция Лагранжа:
L  x1, x2 , x3 , 1, 2   f  x1, x2 , x3   1g1  x1, x2 , x3   2g 2  x1, x2 , x3  
 x12  2 x22  3 x32  2 x1x2  2 x1x3  1  x1  x2  x3  1  2  x1  x2  2  .
Условия Лагранжа:
L
 2 x1  2 x2  2 x3  1  2  0,
L
x1
 x1  x2  x3  1  0,
1
L
 4 x2  2 x1  1  2  0,
L
x2
 x1  x2  2  0.
2
L
 6 x3  2 x1  1  0,
x3
77
Условия Куна – Таккера для задачи НП.
Задача нелинейного программирования вида
max f ( x1, x2 , , xn )
g i ( x1, x2 , , xn )  0, i  1, m.
называется стандартной ЗНП максимизации.
Задача нелинейного программирования вида
min f ( x1, x2, , xn )
g i ( x1, x2 , , xn )  0, i  1, m.
называется стандартной ЗНП минимизации.
78
Теорема 3.5.3. (Куна – Таккера).
*
Если X – оптимальное решение стандартной
задачи максимизации нелинейного программирования,
то должны найтись такие множители Лагранжа,
которые удовлетворяют следующим соотношениям:
а) условия допустимости:
1*  0, 2*  0, , m*  0; g i ( X * )  0, i  1, m;
б) условия оптимальности:
L f ( X  ) m  g i ( X  )

  i
 0, j  1, n;
x j
x j
x j
i 1
в) условия трансверсальности:
условия
Куна-Таккера

i g i ( X  )  0, i  1, m.
79
Замечание 3.5.4.(Достаточность условий
оптимальности).
*
X
Для того чтобы точка
являлась оптимальным решением стандартной ЗНП максимизации, достаточно, чтобы функции f ( x ) и gi ( x ) были вогнутыми.
*
X
Для того чтобы точка
являлась оптимальным решением стандартной ЗНП минимизации, достаточно, чтобы функции f ( x ) и gi ( x ) были выпуклыми.
80
Пример 3.5.3.
max(4 x12  4 x22  20 x1  4 x2  26)
при условиях
 x  2 x  2,
1
2
x1, x2  0.
Решение. L  x1, x2 ; 1, 2   ( 4 x12  4 x22  20 x1  4 x2  26) 
1   x1  2 x2  2   2 x1  3 x2 .
a ) 1  0, 2  0, 3  0,
 x1  2 x2  2, x1, x2  0,
L
b)
 8 x1  20  1  2  0,
x1
L
 8 x2  4  21  3  0,
x2
c ) 1   x1  2 x2  2   0,
2 x1  0,
3 x2  0.
Оптимальное решение:
x1  2, x2  0
*
*
81
Download