- •Оглавление
- •Методы принятия оптимальных решений. Математические модели операции: детерминированный случай, оптимизация решений в условиях неопределенности.
- •Методы принятия оптимальных решений. Оценка операции по нескольким показателям.
- •Оценка операции по нескольким показателям эффективности
- •Основная задача линейного программирования (озлп). Допустимые решения и оптимальное решение задачи лп.
- •Геометрическая интерпретация озлп.
- •Задача лп с ограничениями-неравенствами. Переход от нее к основной задаче.
- •6. Симплекс-метод решения задачи лп
- •7. Табличный алгоритм замены переменных.
- •8. Отыскание опорного решения задачи лп на основе табличного алгоритма замены переменных.
- •9. Отыскание оптимального решения основной задачи линейного программирования на основе табличного алгоритма замены переменных.
- •10. Метод динамического программирования (дп). Алгоритм решения задач управления состоянием организма в биотехнических системах. Основное рекуррентное уравнение дп.
- •11. Управление переходом организма из исходного в конечное состояние методом дп: использование ориентированного графа.
- •12. Управление переходом организма из исходного в конечное состояние в условиях неопределенности.
- •13. Игровые методы обоснования решений. Основные понятия теории игр. Платежная матрица.
- •14. Нижняя и верхняя цена игры. Принцип минимакса. Решение игры в чистых стратегиях.
- •15. Решение игры в смешанных стратегиях.
- •16. Игры 2х2 и их решение.
- •17. Геометрическая интерпретация решений игры 2х2.
- •18. Решение игр 2хn
- •19. Решение игр mx2
- •20. Решение игр mxn.
9. Отыскание оптимального решения основной задачи линейного программирования на основе табличного алгоритма замены переменных.
В задаче линейного программирования (ЛП) кроме уравнений-ограничений
существует ещё и линейная функция
которую нужно минимизировать.
Для нахождения опорного решения, обращающего в минимум линейную функцию, удобно воспользоваться табличным алгоритмом замены .
Для нахождения оптимального решения симплекс-методом необходимо чтобы оно удовлетворяла правилам:
1. Если все свободные члены (не считая строки L) в симплекс таблице неотрицательны, а в строке L (не считая свободного члена) нет ни одного положительного элемента, то оптимальное решение достигнуто.
2. Если в строке L есть положительный элемент, а в столбце, соответствующем ему, нет ни одного положительного элемента, то линейная функция L не ограничена снизу и оптимального решения не существует.
3. Если в этом столбце есть положительные элементы, то следует произвести замену одной из свободных переменных на одну из базисных, приём в качестве разрешающего надо взять тот элемент этого столбца, для которого отношение к нему соответствующего свободного члена минимально.
Рассмотрим пример:
Необходимо найти решение задачи ЛП с уравнениями:
обращающее в минимум линейную функцию .
Решение:
Т.к. все свободные члены неотрицательны, то опорное решение:
Это решение не оптимально, т.к. коэффициент при и положительны. Выберем , его надо поменять.
Составим таблицу:
Сначала рассчитываем значения, находящиеся на строке и столбце, которые мы меняем, а затем остальные ячейки в формулы для которых подставляем изначальные значения коэффициентов. В полученной таблице на основных строке и столбце тёмно-серым выделены новые коэффициенты.
Т.к. в строке L есть положительные элементы, то оптимальное решение не достигнуто.
Следует произвести замену одной из свободных переменных на одну из базисных.
- для строки ; - для строки ; По min выбираем .
Проводим аналогичные расчёты с заменой.
То же самое
Т.к. в строке L нет ни одного положительного элемента, то оптимальное решение достигнуто.
Ответ:
10. Метод динамического программирования (дп). Алгоритм решения задач управления состоянием организма в биотехнических системах. Основное рекуррентное уравнение дп.
Метод динамического программирования (ДП)
Рассмотрим управляемый процесс, который переводит некоторую систему G из начального состояния S0 в конечное состояние Sm. При наличии промежуточных состояний такой перевод представляется в виде траектории, состоящей из конкретной последовательности промежуточных состояний (рис.2.1). Если промежуточные состояния могут быть различными, то траектория перевода G из S0 в Sm неоднозначна и зависит от вырабатываемых управляющих воздействий x.
Введя какую-либо целевую функцию W = W(x), зависящую от выбранного управления x, можно сравнивать (по величине W) траектории друг с другом и ставить задачу об отыскании оптимальной траектории, при которой достигается экстремум W.
В зависимости от содержания целевой функции в процессе оптимизации ее стремятся либо максимизировать, либо минимизировать.
Будем рассматривать оптимизацию, при которой Wmin.
Задача заключается в отыскании оптимального управления x*, при котором целевая функция W достигает своего минимального значения W *, т.е.
Представим себе процесс управления, состоящий из конечного числа последовательных шагов. В этом случае траектория перехода G из S0 в Sm будет иметь вид последовательности промежуточных состояний S0, S1, S2…Sm, которая является результатом пошагового управления x, также имеющего вид последовательности x0, x1, x2… xm (обычно не числа, а вектора, функции, какие-либо предписания и т.п.). Si обозначает состояние системы G, а xi - управление на i-м шаге для произвольной траектории. Для конкретной же траектории конкретное управление xi’ переводит в конкретное состояние Si'.
Пусть на каждом отдельном i-м шаге, заключающемся в переходе из Si-1 в Si, известно значение целевой функции W которое обозначается wi. Считая выбранный критерий аддитивным, т.е. полагая, что
задача оптимизации формулируется следующим образом:
Требуется найти такое оптимальное управление x* = x0*, x1*, x2*… xm* (xi*, где - оптимальное шаговое управление на i-м шаге), при котором целевая функция W принимает минимальное значение, т.е.
Последовательность оптимальный шаговых управлений x1*, x2*… xm* приводит к оптимальной траектории S0, S1, S2…Sm перевода G из S0 в Sm.
Рассмотрим пример, приведенный на рис.2.2.
Существует два варианта управлений и две возможных траектории, для каждой из которых можно подсчитать значение целевой функции.
Если W’ > W’’, то второй вариант является оптимальным, т.е.
x* = x’’, W*= W’’
-
Поиск оптимального управления x* методом динамического программирования основан на использовании принципа оптимальности:
Каково бы ни было состояние S системы G в результате какого-то числа шагов, мы должны выбирать управление на ближайшем шаге так, чтобы оно в совокупности с оптимальным управлением на всех последующих шагах приводило к минимальному значению целевой функции на всех оставшихся шагах, включая данный.
После выбора способа описания состояний управляемой системы и разбиения всего процесса управления на шаги применяется следующая процедура:
-
Перечислить набор шаговых управлений xi для каждого шага и налагаемые на них ограничения.
-
Для каждого i-го шага определить значение wi в функции от состояния Si-1 на -м шаге и от шагового управления xi.
-
Определить, как изменяется состояние Si-1 системы G под влиянием управления xi на i-м шаге: оно переходит в новое состояние
-
Пусть Wi (Si-1) - условный оптимум целевой функции, получаемый на всех последующих шагах, начиная с i-го и до конца. Надо записать основное рекуррентное уравнение динамического программирования, выражающее Wi (Si-1) через уже известную функцию Wi+1 (Si)
Этому условному оптимуму целевой функции Wi (Si-1) соответствует условное оптимальное управление на i-м шаге xi (Si-1), которое совместно с оптимальным управлением на всех последующих шагах обращает целевую функцию на всех оставшихся шагах, начиная с данного, в минимум.
-
Произвести условную оптимизацию последнего (m-го) шага, задаваясь множеством состояний Sm-1, из которых можно за один шаг дойти до конечного состояния, вычисляя для каждого Sm-1 условный оптимум целевой функции по формуле
и находя условное оптимальное управление xm (Sm-1), для которого этот минимум достигается.
-
Произвести условную оптимизацию (m-1)-го, (m-2)-го и т.д. шагов по формуле:
полагая в ней i = (m-1), (m-2),… и для каждого из шагов указать условное оптимальное управление xi(Si-1),при котором достигается минимум.
Так как начальное состояние системы S0 одно, и оно известно, то на первом шаге варьировать состояние системы не нужно, оптимальное значение целевой функции для S0 находится непосредственно.
Это и есть оптимум функции цели за весь процесс перевода:
W* = W1(S0)
-
Произвести безусловную оптимизацию управления, учитывая выработанные ранее рекомендации на каждом шаге. На первом шаге оптимальное шаговое управление x1*= x1(S0),. Пользуясь (2.1), находим изменившееся состояние системы S1, для него определяем оптимальное управление на втором шаге x2* и т.д. до конца.