
- •Ю.Ю. Герасимов, в.К. Хлюстов
- •Математические методы и модели в расчетах на эвм: применение в лесоуправлении и экологии
- •Часть 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
11.2. Практические рекомендации при постановке задач динамического программирования
Прежде чем перейти к описанию блок-схемы алгоритма метода динамического программирования, сделаем ряд замечаний:
Отметим основные свойства задач, к которым возможно применить метод линейного программирования:
задача должна быть представлена как n-шаговый процесс принятия решений;
задача должна быть определена для любого числа шагов и иметь структуру, не зависящую от их числа;
должно быть задано некоторое множество параметров, описывающих состояние системы (под параметрами состояния понимаются параметры, от которых зависят оптимальные значения управляющих переменных), на это множество накладывается условие неизменности его при увеличении числа шагов.
Основное функциональное уравнение (о нем речь пойдет дальше) составляется для каждой конкретной задачи и вид его определяется выбором исходных данных, видом целевой функции и ограничений, числом варьируемых параметров.
Алгоритм метода динамического программирования:
Выбрать параметры, характеризующие состояние s управляемой системы перед каждым шагом.
Разбить операцию на шаги.
Определить набор шаговых управлений ui для каждого шага и налагаемые на них ограничения.
Определить, какой выигрыш приносит на i шаге управление ui, если перед этим система была в состоянии s, т.е. записать функцию выигрыша:
Wi = fi(s, ui). (11.4)
Определить, как изменяется состояние s системы S под влиянием управления ui, если на i шаге оно переходит в новое состояние:
s’ = i(s, ui). (11.5)
Записать основное рекуррентное уравнение динамического программирования, выражающее условный оптимальный выигрыш Wi(s) (начиная с i шага и до конца) через уже известную функцию Wi+1(s):
Wi(s) = max {fi(s,ui) + Wi+1(i(s, ui))}. (11.6)
Произвести условную оптимизацию последнего m шага, задаваясь гаммой состояний s, из которых можно за один шаг дойти до конечного состояния, вычисляя для каждого из них условный оптимальный выигрыш
Wm(s) = max {fm(s,ui)} (11.7)
и находя условное оптимальное управление um(s), для которого этот максимум достигается.
Произвести условную оптимизацию (m-1) шага по (11.6), полагая в ней i=(m-1), (m-2), ... и для каждого из этих шагов указать условное оптимальное управление ui(s), при котором максимум достигается. На первом шаге варьировать состояние системы не нужно: W* = W1(so).
Произвести безусловную оптимизацию управления, считывая соответствующие рекомендации на каждом шаге: взять найденное оптимальное управление на первом шаге u1* = u1(so); изменить состояние системы по (11.6); для вновь найденного состояния найти оптимальное управление на втором шаге u2* и т.д. до конца.
11.3. Оптимальное распределение ресурсов
В общем виде задачи оптимального распределения ресурсов могут быть описаны следующим образом. Имеется некоторое количество ресурсов (материальные, трудовые, финансовые), которые необходимо распределить между различными объектами их использования по отдельным промежуткам планового периода так, чтобы получить максимальную суммарную эффективность от выбранного способа распределения. Показателем эффективности может служить, например, прибыль, себестоимость, суммарные затраты и т.д.
Пример 11.2. Распределение тракторов по лесхозам
Управление по лесам субъекта Федерации приобрело 7 лесохозяйственных тракторов, которые следует распределить между пятью лесхозами. Каждый из лесхозов Fi, i=1,2,...,5 при поступлении в него тракторов в количестве u повышает уровень технической готовности машинно-тракторного парка, зависящий от u, т.е. представляющий собой какую-то функцию fi(u). Все функции fi(u), i=1,2,...,5 заданы (табл. 11.1). Как главный инженер управления должен распределить закупленную технику, чтобы в сумме они дали максимальное повышение технической готовности по управлению?
Таблица 11.1
u |
f1(u) |
f2(u) |
f3(u) |
f4(u) |
f5(u) |
0 1 2 3 4 5 6 7 |
0,74 0,81 0,85 0,90 0,92 0,93 0,94 0,95 |
0,85 0,90 0,93 0,94 0,95 0,96 0,97 0,97 |
0,90 0,92 0,93 0,94 0,95 0,96 0,96 0,96 |
0,88 0,91 0,92 0,93 0,94 0,95 0,95 0,95 |
0,70 0,76 0,80 0,85 0,88 0,91 0,93 0,94 |
Хотя задача в своей постановке не содержит упоминания о времени, операцию распределения средств мысленно можно развернуть в какой-то последовательности, считая за первый шаг отправку тракторов в лесхоз F1, за второй - в F2 и т.д.
Управляемая система в данном случае - трактора, которые распределяются. Состояние системы перед каждым шагом характеризуется одним числом, которое обозначает количество еще нераспределенных машин. Шаговыми управлениями являются число тракторов u1, u2, ..., um, выделяемых лесхозам. Требуется найти оптимальное управление, т.е. такую совокупность чисел u1*, u2*, ..., um*, которая дает максимальное повышение уровня технической готовности машинно-тракторного парка по управлению в целом, что эквивалентно следующему выражению:
W= W1+W2+...+W5 = f1(u1) + f1(u1) + ... + f5(u5) max.
Начнем оптимизацию с пятого лесхоза (шага). Пусть остаток тракторов к этому шагу s. Очевидно, что необходимо все s тракторов передать лесхозу F5. Поэтому условное оптимальное управление на пятом шаге
u5(s) = s,
а условный оптимальный выигрыш
W5(s) = f5(s).
Задаваясь целой гаммой значений s = 1, 2, ...7 по табл. 11.1 (функция технической готовности fi(u)) для каждого значения s, определим u5(s) и W5(s):
u5(0)= 0; W5(0)=0,70;
u5(1)= 1; W5(1)=0,76;
u5(2)= 2; W5(2)=0,80;
u5(3)= 3; W5(3)=0,85;
u5(4)= 4; W5(4)=0,88;
u5(5)= 5; W5(5)=0,91;
u5(6)= 6; W5(6)=0,93;
u5(7)= 7; W5(7)=0,94.
Полученные данные занесем в табл. 11.2. Последний шаг оптимизирован.
Таблица 11.2
s |
i=5 |
i=4 |
i=3 |
i=2 |
i=1 |
|||||
|
u5(s) |
W5(s) |
u4(s) |
W4(s) |
u3(s) |
W3(s) |
u2(s) |
W2(s) |
u1(s) |
W1(s) |
0 1 2 3 4 5 6 7 |
0 1 2 3 4 5 6 7 |
0,70 0,76 0,80 0,85 0,88 0,91 0,93 0,94 |
0 0 0 0 1 1 1 1 |
1,58 1,64 1,68 1,73 1,76 1,79 1,82 1.84 |
0 0 0 0 0 0 0 1 |
2,48 2,54 2,58 2,63 2,66 2,69 2,72 2,74 |
0 0 1 1 1 2 2 2 |
3,33 3,39 3,44 3,48 3,53 3,56 3,59 3,62 |
3 |
4,43 |
Перейдем к предпоследнему, четвёртому, лесхозу (шагу). Пусть имеем s нераспределенных тракторов. Обозначим W4(s) условный оптимальный выигрыш на двух последних шагах: четвёртый и пятый (который уже оптимизирован). Если выделить на четвёртом шаге четвёртому лесхозу u тракторов, то на последний шаг останется s-u. Следовательно, выигрыш на двух последних шагах будет равен
W4(s) = f4(u) + W5(s-u).
Вновь задаваясь целой гаммой значений s = 1, 2, ...7 и используя данные табл. 11.1 для каждого значения s, определим u4(s), W4(s) и выделим максимальное значение, что и является оптимальным выигрышем за два последних шага:
s=0: u4(0)= 0; W4(0)=0,88+0,70=1,58;
s=1: u4(1)= 1; W4(1)=0,91+0,7=1,61; u4(1)= 0; W4(1)=0,88+0,76=1,64;
s=2: u4(2)= 2; W4(2)=0,92+0,7=1,62; u4(2)= 1; W4(2)=0,91+0,76=1,67; u4(2)= 0; W4(2)=0,88+0,80=1,68;
s=3: u4(3)= 3; W4(3)=0,93+0,7=1,63; u4(3)= 2; W4(3)=0,92+0,76=1,68; u4(3)= 1; W4(3)=0,91+0,80=1,71; u4(3)= 0; W4(3)=0,88+0,85=1,73;
s=4: u4(4)= 4; W4(4)=0,94+0,7=1,64; u4(4)= 3; W4(4)=0,93+0,76=1,69; u4(4)= 2; W4(4)=0,92+0,80=1,72; u4(4)= 1; W4(4)=0,91+0,85=1,76; u4(4)= 0; W4(4)=0,88+0,88=1,76;
s=5: u4(5)= 5; W4(5)=0,95+0,7=1,65; u4(5)= 4; W4(5)=0,94+0,76=1,70; u4(5)= 3; W4(5)=0,93+0,80=1,73; u4(5)= 2; W4(5)=0,92+0,85=1,77; u4(5)= 1; W4(5)=0,91+0,88=1,79; u4(5)= 0; W4(5)=0,88+0,91=1,79;
s=6: u4(6)= 6; W4(6)=0,95+0,7=1,65; u4(6)= 5; W4(6)=0,95+0,76=1,71; u4(6)= 4; W4(6)=0,94+0,80=1,74; u4(6)= 3; W4(6)=0,93+0,85=1,78; u4(6)= 2; W4(6)=0,92+0,88=1,80; u4(6)= 1; W4(6)=0,91+0,91=1,82; u4(6)= 0; W4(6)=0,88+0,93=1,81;
s=7: u4(7)= 7; W4(7)=0,95+0,7=1,65; u4(7)= 6; W4(7)=0,95+0,76=1,71; u4(7)= 5; W4(7)=0,95+0,80=1,75; u4(7)= 4; W4(7)=0,94+0,85=1,79; u4(7)= 3; W4(7)=0,93+0,88=1,82; u4(7)= 2; W4(7)=0,92+0,91=1,83; u4(7)= 1; W4(7)=0,91+0,93=1,84; u4(7)= 0; W4(7)=0,88+0,94=1,82.
В табл. 11..2 приведены результаты условной оптимизации на четвёртом шаге.
Далее оптимизируем третий и второй шаги по (11.6):
Wi (s) = max {fi(u) + Wi+1(s-u)}
и записываем соответствующее ему условное оптимальное управление ui(s) (значение u, при котором этот максимум достигается) в табл. 4.2.
Продолжая таким образом, дойдем, наконец, до первого лесхоза F1. Здесь нам не нужно будет варьировать значения s, так как число тракторов перед первым шагом равно 7:
W* = W1(7) = max {f1(u) + W2(7-u)}= 4,43 .
Таким образом, максимальное повышение коэффициента технической готовности по всем лесхозам найден. Теперь остается только считать рекомендации. Максимум технической готовности машинно-тракторного парка достигается при отправке 3-х тракторов в первый лесхоз. После первого шага остается 7-3=4 трактора. Считывая рекомендацию для этого значения по табл. 4.2, выделяем второму лесхозу оптимальное число тракторов - 1, третьему - 0, четвертому - 0 и, наконец, пятому - 3.