 
        
        - •Ю.Ю. Герасимов, в.К. Хлюстов
- •Математические методы и модели в расчетах на эвм: применение в лесоуправлении и экологии
- •Часть 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). Остается открытым вопрос о целочисленности получаемых результатов. Если в графической интерпретации задачи ЛП мы можем визуально оценить ситуацию и принять окончательное решение путем субъективного округления, то в табличном методе, а тем более при решении задачи на ЭВМ, требуется применение специальной процедуры, которая получила название целочисленное программирование.

 
 
 
 
 
 
 
