
- •Ю.Ю. Герасимов, в.К. Хлюстов
- •Математические методы и модели в расчетах на эвм: применение в лесоуправлении и экологии
- •Часть 1. Вариационная статистика
- •Глава 1.
- •1.1. Общие положения
- •1.2. Основные понятия статистики
- •1.3. Основы теории вероятностей
- •1.3.1. Понятие случайной величины
- •1.3.2. Классическое и статистическое определения вероятности события
- •1.3.3. Основные теоремы теории вероятностей
- •1.4. Контрольные вопросы и задания
- •Глава 2.
- •2.1. Постановка задачи
- •2.2. Классификация и группировка вариант
- •2.3. Графическое представление вариационных рядов
- •2.4.1. Показатели центральной тенденции
- •2.4.2. Показатели вариации
- •2.4.3. Достоверность статистических показателей
- •2.4.4. Показатели скошенности и крутизны
- •2.5. Доверительный интервал
- •2.6. Контрольные вопросы и задания
- •Глава 3.
- •3.1. Постановка задачи
- •3.2. Нормальное распределение
- •3.3. Логнормальное распределение
- •3.4.2. Бета-распределение
- •3.5. Распределение Пуассона
- •3.6. Семейство кривых распределения Джонсона
- •3.7. Семейство кривых Пирсона
- •Контрольные вопросы и задания
- •Глава 4.
- •4.1. Постановка задачи
- •4.3. Сравнение эмпирического распределения с теоретическим (критерий "хи-квадрат")
- •4.5. Сравнение дисперсий двух эмпирических совокупностей
- •4.6. Сравнение частот взвешенных рядов по критерию
- •4.7. Использование пакетов прикладных программ
- •4.8. Контрольные вопросы и задания
- •Глава 5.
- •5.1. Постановка задачи
- •5.2. Однофакторный комплекс
- •5.3. Двухфакторный комплекс
- •5.4. Использование ms Excel для проведения дисперсионного анализа
- •5.4.1. Однофакторный дисперсионный анализ
- •5.4.2. Двухфакторный дисперсионный анализ без повторения
- •5.5. Контрольные вопросы и задания
- •Глава 6.
- •6.1. Постановка задачи
- •6.2. Коэффициент корреляции
- •6.3. Корреляционное отношение
- •6.4. Схема полного корреляционного анализа
- •6.5. Использование пакетов прикладных программ Вычисление коэффициента корреляции с использованием ms Excel
- •Контрольные вопросы и задания
- •Глава 7.
- •7.1. Постановка задачи
- •7.2. Статистический анализ одномерных моделей
- •Уравнение прямой линии
- •Уравнение гиперболы
- •Уравнение показательной кривой
- •Окончательный выбор типа уравнения регрессии
- •7.4. Множественная регрессия
- •7.5. Применение ms Excel для расчета регрессии
- •Часть 2. Исследование операций
- •Глава 8.
- •8.1. Общие положения
- •8.2. Основные понятия системного анализа
- •8.3. Основные понятия исследования операций
- •8.4. Постановка задач принятия оптимальных решений
- •8.5. Контрольные вопросы и задания
- •Глава 9.
- •9.1. Постановка задачи
- •9.2. Графическое решение задачи линейного программирования
- •9.3. Задача линейного программирования в стандартной форме
- •Преобразования неравенств
- •Преобразование неограниченных по знаку переменных
- •2.4. Основы симплекс - метода линейного программирования
- •9.5. Метод искусственных переменных
- •9.6. Анализ чувствительности в линейном программировании
- •9.7. Решение задач линейного программирования на эвм
- •9.8. Контрольные вопросы и задания
- •Глава 10.
- •10.1. Постановка задачи
- •10.2. Метод ветвей и границ
- •10.3. Рекомендации по формулировке и решению задач цп
- •10.4. Задачи оптимизации раскроя
- •XA 0, xB 0, k 0 - целые.
- •XA 0, xB 0, k 0 - целые.
- •10.5. Постановка задачи дискретного программирования
- •Решение задач целочисленного и дискретного программирования на эвм
- •10.7. Контрольные вопросы и задания
- •Глава 11.
- •11.1. Общие понятия
- •11.2. Практические рекомендации при постановке задач динамического программирования
- •11.3. Оптимальное распределение ресурсов
- •11.4. Оптимальное управление запасами
- •11.5. Оптимальная политика замены оборудования
- •11.6. Контрольные вопросы и задания
- •Глава 12.
- •12.1. Постановка задачи
- •12.2. Применение стохастического программирования
- •12.3. Метод статистического моделирования
- •12.4. Контрольные вопросы и задания
- •Глава 13.
- •13.1. Постановка задач нелинейного программирования
- •13.2. Безусловная однопараметрическая оптимизация
- •13.2.1. Методы исключения интервалов
- •13.2.2. Методы полиномиальной аппроксимации
- •13.2.3. Методы с использованием производных
- •13.2.4. Сравнение методов безусловной однопараметрической оптимизации
- •13.3. Безусловная многопараметрическая оптимизация
- •13.3.1. Постановка задачи
- •13.3.2. Методы прямого поиска
- •13.3.3. Градиентные методы
- •13.4. Нелинейная условная оптимизация
- •13.4.1. Постановка задач условной нелинейной оптимизации
- •13.4.2. Методы штрафных функций
- •13.4.3. Методы прямого поиска
- •13.4.4. Методы линеаризации
- •13.5. Решение задач нелинейной оптимизации на эвм
- •13.6. Контрольные вопросы и задания
- •Приложение 1 Значения t - распределения Стьюдента при доверительной вероятности р и числе степеней свободы k
- •Плотность вероятности нормального распределения
- •Приложение 3 Значения χ2 при доверительной вероятности р и числе степеней свободы k
- •Продолжение приложения 3
- •Значения -функции
- •Приложение 5 Значения - в распределении Джонсона
- •Продолжение приложения 5
- •Продолжение приложения 5
- •Продолжение приложения 5
- •Приложение 6
- •Продолжение приложения 6
- •Продолжение приложения 6
- •Продолжение приложения 6
- •Приложение 7
- •Продолжение приложения 7
- •Продолжение приложения 7
- •Продолжение приложения 7
9.3. Задача линейного программирования в стандартной форме
Задача ЛП в стандартной форме с m ограничениями и n переменными имеет следующий вид:
W = c1x1 + c2x2 + ... + cnxn min (max)
при ограничениях
a11x1 + a12x2 + ... + a1nxn = b1;
a21x1 + a22x2 + ... + a2nxn = b2;
...
am1x1 + am2x2 + ... + amnxn = bm;
x1 0; x2 0;...; xn 0;
b1 0; b2 0;...; bm 0.
В матричной форме
W = c x min (max)
при ограничениях
Ax = b; x 0; b 0,
где
A - матрица размерности mxn ;
x - вектор-столбец переменных размерности nx1;
b - вектор-столбец ресурсов размерности mx1;
с - вектор-строка оценок задачи ЛП 1xn .
В исходной задаче ЛП ограничения часто имеют вид не равенств, а неравенств. В некоторых инженерных задачах не все переменные являются неотрицательными. Следовательно, требуется уяснить механизм преобразования неравенств к равенствам и неограниченных по знаку переменных к неотрицательным.
Преобразования неравенств
Ограничения в виде неравенств можно преобразовать в равенства при помощи введения так называемых остаточных или избыточных переменных.
Ограничение по использованию земли из примера 2.1
4 x1 + 1,5 x2 24
можно преобразовать в равенство при помощи остаточной переменной
4 x1 + 1,5 x2 + x3 = 24.
Переменная x3 неотрицательна и соответствует разности правой и левой частей неравенства.
Аналогично
x1 2
можно преобразовать путем введения избыточной переменной x4:
x1 - x4 = 2 .
Преобразование неограниченных по знаку переменных
Переменные, принимающие как положительные, так и отрицательные значения, следует заменять разностью двух неотрицательных:
x = x+ - x-; x+ 0; x- 0.
Приведем к стандартной форме следующую задачу ЛП:
W = x1 - 2 x2 + 3 x3 max;
x1 + x2 + x3 8;
x1 - x2 + x3 9;
3 x1 - x2 - 2 x3 = -17;
x1 0; x2 0,
где x3 - переменная, неограниченная по знаку.
Последовательность действий следующая:
Умножим обе части равенства на -1, так как все элементы матрицы ресурсов должны быть неотрицательными.
Заменим x3 на x4-x5, где x4 и x5 0.
Введем дополнительные остаточную x6 и избыточную x7 переменные в два первых неравенства.
Припишем нулевые значения оценок задачи ЛП при переменных x6 и x7. Значение целевой функции при этом не изменится.
После преобразований имеем стандартную форму задачи ЛП:
W = x1 - 2 x2 + 3 x4 - 3 x5 max;
x1 + x2 + x4 - x5 + x6 = 8;
x1 - x2 + x4 - x5 - x7 = 9;
-3 x1 + x2 + 2 x4 - 2 x5 = 17;
x1 0; x2 0; x4 0; x5 0; x6 0; x7 0.
2.4. Основы симплекс - метода линейного программирования
Симплекс - метод представляет собой итеративную процедуру решения задач ЛП, записанную в стандартной форме. Система уравнений, характеризующая набор условий приводится к каноническому виду с помощью элементарных операций над матрицами:
x1 + a1,m+1xm+1 + ... + a1sxs+...+ a1nxn = b1;
...
x2 + a2,m+1xm+1 + ... + a2sxs+...+ a2nxn = b2;
...
xm + am,m+1xm+1 + ... + amsxs+...+ amnxn = bm.
Переменные x1, x2,...,xm, входящие с единичными коэффициентами только в одно уравнение системы и с нулевыми - в остальные, называются базисными. В канонической системе каждому уравнению соответствует ровно одна базисная переменная. Остальные n-m переменных (xm+1, ...,xn) называются небазисными переменными.
Для приведения системы к каноническому виду можно использовать два типа элементарных операций над строками:
Умножение любого уравнения системы на положительное или отрицательное число.
Прибавление к любому уравнению другого уравнения системы, умноженного на положительное или отрицательное число.
Алгоритм симплекс - метода:
Выбираем начальное допустимое базисное решение. Базисным решением называется решение, полученное при нулевых значениях небазисных переменных, т.е. xi=0, i=m+1,...,n. Базисное решение называется допустимым базисным решением, если значения входящих в него базисных переменных неотрицательны, т.е. xj = bj 0, j=1,2,...,m. В этом случае целевая функция примет следующий вид: W = cbxb = c1b1 + c2b2+...+cmbm. Заполняем первоначальную таблицу симплекс - метода:
Таблица 9.3
cb |
xb |
c1 |
C2 |
... |
cm |
cm+1 |
... |
cn |
bi |
|
базис |
x1 |
X2 |
... |
xm |
xm+1 |
... |
xn |
|
с1 |
x1 |
1 |
0 |
... |
0 |
a1,m+1 |
... |
a1n |
b1 |
с2 |
x2 |
0 |
1 |
... |
0 |
a2,m+1 |
... |
a2n |
b2 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
cm |
xm |
0 |
0 |
... |
1 |
am,m+1 |
... |
amn |
bm |
|
|
|
|
|
|
|
|
|
W |
Вычисляем вектор относительных оценок c при помощи правила скалярного произведения
cj = cj - cbSj ,
где
сb - вектор оценок базисных переменных;
Sj - j-тый столбец в канонической системе, соответствующей рассматриваемому базису.
Дополняем первоначальную таблицу c – строкой (табл. 9.4).
Таблица 9.4
cb |
xb |
c1 |
c2 |
... |
cm |
cm+1 |
... |
cn |
bi |
|
базис |
x1 |
x2 |
... |
xm |
xm+1 |
... |
xn |
|
с1 |
x1 |
1 |
0 |
... |
0 |
a1,m+1 |
... |
a1n |
b1 |
с2 |
x2 |
0 |
1 |
... |
0 |
a2,m+1 |
... |
a2n |
b2 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
cm |
xm |
0 |
0 |
... |
1 |
am,m+1 |
... |
amn |
bm |
c – строка |
0 |
0 |
... |
0 |
|
... |
|
W |
Если все оценки cj0 (cj0), i=1,...,n, то текущее допускаемое решение - максимальное (минимальное). Решение найдено.
В противном случае в базис необходимо ввести небазисную переменную xr с наибольшим значением cj вместо одной из базисных переменных (табл. 9.5).
Таблица 9.5
cb |
xb |
c1 |
c2 |
... |
cm |
cm+1 |
... |
cr |
... |
cn |
bi |
|
базис |
x1 |
x2 |
... |
xm |
xm+1 |
... |
xr |
... |
xn |
|
с1 |
x1 |
1 |
0 |
... |
0 |
a1,m+1 |
... |
a1r |
... |
A1n |
b1 |
с2 |
x2 |
0 |
1 |
... |
0 |
a2,m+1 |
... |
a2r |
... |
A2n |
b2 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
cm |
xm |
0 |
0 |
... |
1 |
am,m+1 |
... |
amr |
... |
amn |
bm |
c - строка |
0 |
0 |
... |
0 |
|
... |
|
... |
|
W |
|
|
|
|
|
|
|
|
|
max |
|
|
|
При помощи правила минимального отношения min(bi /air) определяем переменную xp, выводимую из базиса. Если коэффициент air отрицателен, то bi/air = . В результате пересечение столбца, где находится вводимая небазисная переменная xr, и строки, где находится выводимая базисная переменная xp, определит положение ведущего элемента таблицы (табл. 9.6).
Таблица 9.6
cb |
xb |
c1 |
c2 |
... |
cm |
cm+1 |
... |
cr |
... |
cn |
bi |
bi/ air |
|
|
|
x1 |
x2 |
... |
xm |
xm+1 |
... |
xr |
... |
xn |
|
|
|
с1 |
x1 |
1 |
0 |
... |
0 |
a1,m+1 |
... |
a1r |
... |
a1n |
b1 |
b1/a1r |
|
с2 |
x2 |
0 |
1 |
... |
0 |
a2,m+1 |
... |
a2r |
... |
a2n |
b2 |
b2/a2r |
|
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
|
сp |
xp |
0 |
0 |
... |
0 |
ap,m+1 |
... |
apr |
... |
apn |
bp |
bp/apr |
m i n |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
|
cm |
xm |
0 |
0 |
... |
1 |
am,m+1 |
... |
amr |
... |
amn |
bm |
bm/anr |
|
c -стро-ка |
0 |
0 |
... |
0 |
|
... |
|
... |
|
W |
|
|
|
|
|
|
|
|
|
|
|
max |
|
|
|
|
|
Применяем элементарные преобразования для получения нового допускаемого базового решения и новой таблицы. В результате ведущий элемент должен равняться 1, а остальные элементы столбца ведущего элемента примут нулевое значение.
Вычисляем новые относительные оценки с использованием правила скалярного произведения и переходим к шагу 4.
В качестве примера решим задачу ЛП примера 9.1 Оптимизация размещения побочного производства лесничества:
5000 x1 + 2500 x2 max,
4 x1 + 1,5 x2 24;
1200 x1 + 150 x2 6000;
20 x1 + 20 x2 200;
x1 2;
x1 0; x2 0.
Приведем задачу к стандартной форме:
5000 x1 + 2500 x2 max,
4 x1 + 1,5 x2 + x3 = 24;
1200 x1 + 150 x2 +x4 = 6000;
20 x1 + 20 x2 + x5 = 200;
x1 - x6 = 2;
x1 ... x6 0.
Приведем систему равенств к каноническому виду. Первые три уравнения имеют соответственно по базисной переменной x3, x4, x5, однако в четвертом она отсутствует, ввиду того, что при переменной x6 стоит отрицательный единичный коэффициент. Для приведения системы к каноническому виду используем метод искусственных переменных. Идея метода заключается в следующем. Введем искусственную переменную x7 в последнее уравнение
5000 x1 + 2500 x2 max,
4 x1 + 1,5 x2 + x3 = 24;
1200 x1 + 150 x2 +x4 = 6000;
20 x1 + 20 x2 + x5 = 200;
x1 - x6 + x7 = 2;
x1 ... x7 0.
Вспомогательная система имеет следующее допустимое базовое решение:
x1 = x2 = 0, x3 =24, x4= 6000, x5 = 200, x7 = 2.
Полученное решение недопустимо для первоначальной задачи, поскольку x7 положительно. С другой стороны, любое базисное решение вспомогательной системы, в котором x7 обращается в ноль, допустимо для исходной задачи. Этого можно добиться при помощи двухэтапного симплекс - метода:
Вводится искусственная целевая функция, равная сумме искусственных переменных (в нашем случае она одна), которая минимизируется при помощи симплекс - метода. Если минимальное значение вспомогательной задачи равно 0, то все искусственные переменные (x7 в частности) обращаются в нуль и получается допустимое базисное решение начальной задачи.
На втором этапе допустимое базовое решение, полученное на первом этапе, улучшается в соответствии с целевой функцией исходной задачи.
В соответствии с рассмотренным алгоритмом на первом этапе решаем симплекс - методом следующую задачу ЛП:
x7 min,
4 x1 + 1,5 x2 + x3 = 24;
1200 x1 + 150 x2 +x4 = 6000;
20 x1 + 20 x2 + x5 = 200;
x1 - x6 + x7 = 2;
x1 ... x7 0.
Строим первоначальную таблицу (табл. 9.7).
Таблица 9.7
cb |
xb |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
bi |
bi/air |
|
|
базис |
X1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
|
|
0 |
x3 |
4 |
1.5 |
1 |
0 |
0 |
0 |
0 |
24 |
24/4 |
|
0 |
x4 |
1200 |
150 |
0 |
1 |
0 |
0 |
0 |
6000 |
60/12 |
|
0 |
x5 |
20 |
20 |
0 |
0 |
1 |
0 |
0 |
200 |
20/2 |
|
1 |
x7 |
1 |
0 |
0 |
0 |
0 |
-1 |
1 |
2 |
2/1 |
min |
c |
строка |
-1 |
0 |
0 |
0 |
0 |
1 |
0 |
W=2 |
|
|
|
|
min |
|
|
|
|
|
|
|
|
|
Очевидно, что первоначальную таблицу необходимо модифицировать путем введения в базис переменной x1 вместо x7. Строим смежную симплекс-таблицу (табл.9.8).
Таблица 9.8
cb |
xb |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
bi |
|
базис |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
0 |
x3 |
0 |
1,5 |
1 |
0 |
0 |
4 |
-4 |
16 |
0 |
x4 |
0 |
150 |
0 |
1 |
0 |
1200 |
-1200 |
3600 |
0 |
x5 |
0 |
20 |
0 |
0 |
1 |
20 |
-20 |
160 |
0 |
x1 |
1 |
0 |
0 |
0 |
0 |
-1 |
1 |
2 |
c |
строка |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
W=0 |
В табл. 9.8 все коэффициенты в строке c положительны или равны нулю, поэтому текущее базисное решение оптимальное (минимальное), которое используем на втором этапе двухэтапного симплекс - алгоритма. С этой целью возвращаемся к первоначальной целевой функции W = 5000x1 + 2,5x2 и продолжаем вычисления в симплекс – таблицах (табл. 9.9 – табл. 9.11). В табл. 9.9 как переменная x2, так и x6 могут быть введены в базис, т.к. их коэффициенты в строке c положительны (решается задача минимизации). Вводим x2 исходя из того факта, что данная переменная отражает искомое количество партий деревьев и в результате расчетов должна находиться в базисе. В принципе, искусственная переменная x6 также может быть введена в базис на этом этапе, однако процедура расчетов при этом значительно удлинится.
Таблица 9.9
cb |
xb |
5000 |
2500 |
0 |
0 |
0 |
0 |
0 |
bi |
bi/air |
|
|
базис |
x1 |
X2 |
x3 |
x4 |
X5 |
x6 |
x7 |
|
|
|
0 |
x3 |
0 |
1,5 |
1 |
0 |
0 |
4 |
-4 |
16 |
16/1,5 |
|
0 |
x4 |
0 |
150 |
0 |
1 |
0 |
1200 |
-1200 |
3600 |
360/15 |
|
0 |
x5 |
0 |
20 |
0 |
0 |
1 |
20 |
-20 |
160 |
16/2 |
m i n |
5000 |
x1 |
1 |
0 |
0 |
0 |
0 |
-1 |
1 |
2 |
|
|
c - строка |
0 |
2500 |
0 |
0 |
0 |
5000 |
-5000 |
W= 10000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 9.10
cb |
xb |
5000 |
2500 |
0 |
0 |
0 |
0 |
0 |
bi |
bi/air |
|
|
ба-зис |
X1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
|
|
0 |
x3 |
0 |
0 |
1 |
0 |
-0,075 |
2,5 |
-2,5 |
4 |
4/ 2,5 |
m i n |
0 |
x4 |
0 |
0 |
0 |
1 |
-7,5 |
1050 |
-1050 |
2400 |
240/105 |
|
2500 |
x2 |
0 |
1 |
0 |
0 |
0,05 |
1 |
-1 |
8 |
8/2 |
|
5000 |
x1 |
1 |
0 |
0 |
0 |
0 |
-1 |
1 |
2 |
|
|
c - строка |
0 |
0 |
0 |
0 |
-125 |
2500 |
-5000 |
W= 30000 |
|
|
|
|
|
|
|
|
|
|
max |
|
|
|
|
Таблица 9.11
cb |
xb |
5000 |
2500 |
0 |
0 |
0 |
0 |
0 |
bi |
|
базис |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
0 |
x6 |
0 |
0 |
0,4 |
0 |
-0,03 |
1 |
-1 |
1,6 |
0 |
x4 |
0 |
0 |
-420 |
1 |
24 |
0 |
0 |
720 |
2500 |
x2 |
0 |
1 |
-0,4 |
0 |
0,08 |
0 |
0 |
6,4 |
5000 |
x1 |
1 |
0 |
0,4 |
0 |
-0,03 |
0 |
0 |
3,6 |
c -строка |
0 |
0 |
-1000 |
0 |
-50 |
0 |
0 |
W=34000 |
Полученные в табл. 9.11 окончательные результаты полностью соответствуют оптимальному решению в графическом методе (см. рис. 9.1). Остается открытым вопрос о целочисленности получаемых результатов. Если в графической интерпретации задачи ЛП мы можем визуально оценить ситуацию и принять окончательное решение путем субъективного округления, то в табличном методе, а тем более при решении задачи на ЭВМ, требуется применение специальной процедуры, которая получила название целочисленное программирование.