Хотя задачи, к которым применимо вариационное исчисление, заметно шире, в приложениях они главным образом сводятся к двум основным задачам:
нахождение точек в пространстве функций, на котором определён функционал — точек стационарного функционала, стационарных функций, линий, траекторий, поверхностей и т. п., то есть нахождение для заданного таких , для которых при любом (бесконечно малом) , или, иначе, где , нахождение локальных экстремумов функционала, то есть в первую очередь определение тех , на которых принимает локально экстремальные значения нахождение экстремалей (иногда также определение знака экстремума).
Очевидно, обе задачи тесно связаны, и решение второй сводится (при должной гладкости функционала) к решению первой, а затем проверке, действительно ли достигается локальный экстремум (что делается независимо вручную, или — более систематически — исследованием вариационных производных второго и, если все они одного знака и хотя бы одна из них равна нулю, то и более высокого порядка). В описанном процессе выясняется и тип экстремума. Нередко (например, когда функция стационарного функционала единственная, а все изменения функционала при любом большом возмущении имеют один и тот же знак) решение вопроса, экстремум ли это и какого он типа, заранее очевидно.
При этом очень часто задача (1) оказывается не менее или даже более важной, чем задача (2), даже когда классификация стационарной точки неопределённа (то есть она может оказаться минимумом, максимумом или седловой точкой, а также слабым экстремумом, точкой, вблизи которой функционал точно постоянен или отличается от постоянного в более высоком порядке, чем второй). Например, в механике (и вообще в физике) кривая или поверхность стационарной потенциальной энергии означает равновесие, а вопрос, является ли она экстремалью, связан лишь с вопросом об устойчивости этого равновесия (который далеко не всегда важен). Траектории стационарного действия отвечают возможному движению, независимо от того, минимально действие на такой траектории, максимально, или седловидно. То же можно сказать о геометрической оптике, где любая линия стационарного времени (а не только минимального, как в простой формулировке принципа наименьшего времени Ферма) соответствует возможному движению светового луча неоднородной оптической среде. Есть системы, где вообще нет экстремалей, но стационарные точки существуют.
22. Динамическое программирование
Краткие теоретические сведения
Динамическое программирование представляет собой математический аппарат, позволяющий осуществлять оптимальное планирование управляемых процессов, то есть процессов, на ход которых можно целенаправленно влиять. Это метод оптимизации, специально приспособленный к операциям, в которых процесс принятия решений может быть разбит на отдельные шаги. Такие операции называют многошаговыми.
Задача динамического программирования состоит в выборе из множества допустимых управлений (решений) такого, которое переводит систему из начального состояния в конечное, обеспечивая при этом экстремум целевой функции (минимум или максимум в зависимости от ее экономической сущности).
В основе вычислительных алгоритмов динамического программирования лежит следующий принцип оптимальности, сформулированный Р. Беллманом: каково бы ни было состояние системы S в результате (i‑1) шагов, управление на i-м шаге должно выбираться так, чтобы оно по совокупности с управлениями на всех последующих шагах с (i+1)‑го до N‑го включительно доставляло экстремум целевой функции.
Динамическое программирование используется для исследования многоэтапных процессов. Состояние управляемой системы характеризуется определенным набором параметров. Процесс перемещения в пространстве разделяют на ряд последовательных этапов и производят последовательную оптимизацию каждого из них, начиная с последнего. На каждом этапе находят условное оптимальное управление при всевозможных предположениях о результатах предыдущего шага. Когда процесс доходит до исходного состояния, снова проходят все этапы, но уже из множества условных оптимальных управлений выбирается одно наилучшее. Получается, что однократное решение сложной задачи заменяется многократным решением простой. Важно, что значение критерия – сумма частных значений, достигнутых на отдельных шагах, и предыстория не играют роли при определении будущих действий.
Контрольный пример
Пусть фирма имеет три торговые точки, какое-то количество условных единиц капитала и знает для каждой точки зависимость прибыли в ней от объема вложения определенного капитала в эту точку (табл. 6.1).
Таблица 6.1
Вложения
0,28
0,25
0,15
0,45
0,41
0,25
0,65
0,55
0,40
0,78
0,65
0,50
0,90
0,75
0,62
1,02
0,80
0,73
1,13
0,85
0,82
1,23
0,88
0,90
1,32
0,90
0,96
Определить, как распорядиться имеющимся капиталом, чтобы прибыль была максимальна?
Введем следующие обозначения:
f1(x), f2(x), f3(х) – функции прибыли в зависимости от капитальных вложений, то есть столбцы 2–4 таблицы, F12(А) – оптимальное распределение, когда A единиц капитала вкладывается в первую и вторую торговые точки вместе, F123{А) – оптимальное распределение капитала величины A, вкладываемого во все точки вместе.
Например, для определения F12(2) надо найти f1(0)+f2(2)=0,41, f1(1)+f2(1)=0,53 f1(2)+f2(0)=0,45 и выбрать из них максимальную величину, то есть F12(2)=0,53.
Вообще F12(A)=max [f1(x)–f2(A-x)]. Вычисляем F12(0), F12(1), F12(2), …, F12(9).
Распределение капитала между двумя торговыми точками (табл. 6.2).
Таблица 6.2
Вложения
f1(x)
f2(x)
F12(A)
Оптимальное распределение
0,0
0,28
0,25
0,28
1,0
0,45
0,41
0,53
1,1
0,65
0,55
0,70
2,1
0,78
0,65
0,90
3,1
0,90
0,75
1,06
3,2
1,02
0,80
1,20
3,3
1,13
0,85
1,33
4,3
1,23
0,88
1,45
5,3
1,32
0,90
1,57
6,3
Для А=4 возможны комбинации (4, 0), (3, 1), (2, 2), (1, 3), (0, 4), которые дают соответственно общую прибыль: 0,78; 0,90; 0,86; 0,83; 0,65.
Более подробно получение этих величин показано ниже:
,
Теперь, когда фактически есть зависимость F12 от величины вкладываемого в первые две точки капитала, можно искать F123(A)=max [F12(x)+f3(A-x)] (табл. 6.3).
Таблица 6.3
Вложения
F12(х)
f3(x)
F123(A)
Оптимальное распределение
(0,0,0)
0,28
0,15
0,28
(1,0,0)
0,53
0,25
0,53
(1,1,0)
0,70
0,40
0,70
(2,1,0)
0,90
0,50
0,90
(3,1,0)
1,06
0,62
1,06
(3,2,0)
1,20
0,73
1,21
(3,2,1)
1,33
0,82
1,35
(3,3,1)
1,45
0,90
1,48.
(4,3,1)
1,57
0,96
1,60
(5,3,1) или (3,3,3)
Более подробно получение этих величин при вложении капитала в три точки показано в табл. 6.4 для девяти единиц капитала.
Таблица 6.4
Капитал
х1+х2
х3
F123
1,57
1,45 + 0,15 = 1,6 (5,3,1)
1,33 + 0,25 = 1,58
1,2 + 0,4 = 1,6 (3,3,3)
1,06 + 0,5 = 1,56
0,9 + 0,62 = 1,52
0,70 + 0,73 = 1,43
0,53 + 0,82 = 1,35
0,28 + 0,90 = 1,18
0,96
Важно то, что полученные результаты были бы теми же, если бы использовались не F12 и F123, а, скажем, F31 и F312. Обратите внимание на то, что оптимальное решение для А=9 не единственное.
23. Теорема Байеса
Теорема Байеса имеет дело с расчетом вероятности верности гипотезы в условиях, когда на основе наблюдений известна лишь некоторая частичная информация о событиях. Другими словами, по формуле Байеса можно более точно пересчитывать вероятность, беря в учет как ранее известную информацию, так и данные новых наблюдений. Главная, видимо, особенность теоремы Байеса в том, что для ее практического применения обычно требуется огромное количество вычислений-пересчетов, а потому расцвет методов байесовых оценок пришелся аккурат на революцию в компьютерных и сетевых инфотехнологиях.
Пример, из 20 студентов, пришедших на экзамен, 8 подготовлены отлично, 6 - хорошо, 4 - посредственно и 2 - плохо. В экзаменнационных билетах всего 40 вопросов. Студент подготовленный отлично, знает все вопросы, хорошо - 35, посредственно - 25 и плохо - 10 вопросов. Некий студент ответил на все билеты. Какова вероятность того, что он подготовлен плохо?
Гипотезы прихода на экзамен отличника (8/20), хорошиста (6/20), троечника (4/20), двоечника (2/20). Есть вероятность того, что среди вопросов билета студент выпадет знакомый (40/40, 35/40, 25/40, 10/40 соответсвенно). Вероятность что хорошо ответил отличник Ротл=(8/20)*1=2/5; хорошист - Рхор=(6/20)*(35/40)=21/80; троечник - Ртро=(4/20)*(25/40)=1/8; и, наконец, двоечник - Рдво=(2/20)*(10/40)=1/40. Применяя теорему Байеса, вычисляем вероятность того, что ответивший студент был двоечником Р[сдал/двоечник]=Рдво/(Рдво+Ртро+Рхор+Ротл)=(1/40)/(1/40+1/8+21/80+2/5)=2/65
24. Метод парных сравнений
Метод предусматривает использование эксперта, который проводит оценку целей. Z1, Z2, ...,Zn.
Согласно методу осуществляются парные сравнения целей во всех возможных сочетаниях. В каждой паре выделяется наиболее предпочтительная цель. И это предпочтение выражается с помощью оценки по какой-либо шкале. Обработка матрицы оценок позволяет найти веса целей, характеризующие их относительную важность. Одна из возможных модификаций метода состоит в следующем:
составляется матрица бинарных предпочтений, в которой предпочтение целей выражается с помощью булевых переменных;
определяется цена каждой цели путем суммирования булевых переменных по соответствующей строке матрицы.
Примеp1:
эксперт проводит оценку 4-х целей, которые связаны с решением транспортной проблемы.
Z1 — построить метрополитен
Z2 — приобрести 2-хэтажный автобус
Z3 — расширить транспортную сеть
Z4 — ввести скоростной трамвай
Составим матрицу бинарных предпочтений:
Zi / Zj
Z1
Z2
Z3
Z4
Z1
Z2
Z3
Z4
Определим цену каждой цели (складываем по строкам)
C1=3; C2=0; C3=2; C4=1
Эти числа уже характеризуют важность объектов. Нормируем, т.к. этими числами не удобно пользоваться.
Исковые веса целей.
V1=3/6=0,5 ; V2=0; V3=0,17
Проверка:
Получаем следовательно порядок предпочтения целей:
Z1, Z3, Z4, Z2
Примеp2:
cумма всех Vi=1, значит решено верно.
Белорусские авиалинии «Белавиа» получили возможность приобрести самолет Боинг 747 — встал вопрос об открытии нового чартерного рейса. Были предложены направления:
Лондон
Пекин
Сеул
Владивосток
Тель-Авив
Zi / Zj
Z1
Z2
Z3
Z4
Z5
Z1
Z2
Z3
Z4
Z5
Где Z1...j — направления
Определить наиболее выгодный рейс.
Решение:
void main(void)
{
//Введем исходную матрицу бинарных предпочтений
for(i=1;i<5;i++) Predpochtenia[0][i]=1;
Predpochtenia[1][0]=0;
for(i=2;i<5;i++) Predpochtenia[1][i]=0;
Predpochtenia[2][0]=0;
Predpochtenia[2][1]=1;
......
//Определим цену каждой цели
int c[5];
for(i=0;i<5;i++) c[i]=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i!=j)
{
c[i]+=Predpochtenia[i][j];
}
}
}
//Определяем веса целей
int sum=0;
for(i=0;i<5;i++)
{
sum+=c[i];
}
double v[5][2];
for(i=0;i<5;i++)
{
v[i][0]=double(c[i])/double(sum);
v[i][1]=i+1;
}
//Далее надо отсортировать цели по возрастанию
for(i=0;i<5;i++)
{
for(j=1;j<5;j++)
if(v[i][0] < v[j][0] && i {
........
}
}
Результат:
0,4 0 0,3 0,2 0,1
1 3 4 5 2
Вывод: Наиболее выгодный рейс — рейс номер 1, т.к. искомый вес целей самый большой: 0,4.
25. Многоцелевые модели принятия решений. Метод анализа иерархий.
Многоцелевые модели. В этих моделях каждая альтернатива оценивается множеством критериев, поэтому они называются также многокритериальными. К наиболее известным многокритериальным моделям относятся многомерные функции полезности, модели многомерного шкалирования, метод анализа иерархий (метод собственных значений).
Из многомерных моделей наиболее часто используются аддитивные и мультипликативные многомерные функции полезности. Функцией полезности (ценности) называется скалярная функция U, устанавливающая отношение порядка на множестве вариантов
U( ,..., ) ( ,..., ) ( ,..., ) ( ,..., ), (5.2.5)
где – символ “более предпочтителен, чем”; ( ,..., ) – точка пространства последствий (критериального пространства). Обобщенная форма аддитивной модели полезности имеет вид
, (5.2.6)
где – функция полезности варианта x; – вес фактора (критерия) ; – оценка полезности варианта x по критерию .
Обобщенная форма мультипликативной функции полезности имеет вид
. (5.2.7)
Оценки , как правило, получаются экспертным путем, но могут задаваться и аналитически применением подходящей аппроксимирующей функции. Аддитивная функция слабо чувствительна к изменению свойств с малыми весами (малыми оценками полезности); мультипликативная, наоборот, сильно зависит от изменения свойств с малыми значениями оценок полезности. В теории принятия решений доказывается, что функция полезности имеет аддитивный вид, если факторы, входящие в модель, аддитивно независимы. Функция полезности имеет мультипликативную форму, если факторы взаимно независимы по полезности. Первое требование означает фактически уверенность эксперта в том, что модель является линейной по факторам, а второе – что модель содержит взаимодействия факторов различных порядков. На практике обычно веса pi нормализуют так, что обе формы представления
оказываются эквивалентными (могут быть преобразованы друг в друга). Многомерные модели сравнения вариантов различаются подходами к установлению весов факторов и подфакторов и схемами их агрегирования. Стандартная процедура сравнения вариантов по многим факторам включает
формулирование задачи, выбор факторов и подфакторов, построение дерева решений, назначение весов факторам и их нормализацию, назначение весов подфакторам и нормализацию весов, подсчет показателей (баллов) по всем факторам для каждого варианта, получение взвешенных оценок и суммарного числового выражения полезности для каждого варианта решения. Основные неформальные шаги в этом алгоритме – выбор факторов и подфакторов, построение дерева решений и назначение весов факторам и подфакторам.
Метод Анализа Иерархий (МАИ) — математический инструмент системного подхода к сложным проблемам принятия решений. МАИ не предписывает лицу, принимающему решение (ЛПР), какого-либо «правильного» решения, а позволяет ему в интерактивном режиме найти такой вариант (альтернативу), который наилучшим образом согласуется с его пониманием сути проблемы и требованиями к ее решению. Этот метод разработан американским математиком Томасом Саати, который написал о нем книги, разработал программные продукты и в течение 20 лет проводит симпозиумы ISAHP (англ. International Symposium on Analytic Hierarchy Process). МАИ широко используется на практике и активно развивается учеными всего мира. В его основе наряду сматематикой заложены и психологические аспекты. МАИ позволяет понятным и рациональным образом структурировать сложную проблему принятия решений в виде иерархии, сравнить и выполнить количественную оценку альтернативных вариантов решения. Метод Анализа Иерархий используется во всем мире для принятия решений в разнообразных ситуациях: от управления на межгосударственном уровне до решения отраслевых и частных проблем в бизнесе, промышленности, здравоохранении и образовании. Для компьютерной поддержки МАИ существуют программные продукты, разработанные различными компаниями. Анализ проблемы принятия решений в МАИ начинается с построения иерархической структуры, которая включает цель, критерии, альтернативы и другие рассматриваемые факторы, влияющие на выбор. Эта структура отражает понимание проблемы лицом, принимающим решение. Каждый элемент иерархии может представлять различные аспекты решаемой задачи, причем во внимание могут быть приняты как материальные, так и нематериальные факторы, измеряемые количественные параметры и качественные характеристики, объективные данные и субъективные экспертные оценки [1]. Иными словами, анализ ситуации выбора решения в МАИ напоминает процедуры и методы аргументации, которые используются на интуитивном уровне. Следующим этапом анализа является определение приоритетов, представляющих относительную важность или предпочтительность элементов построенной иерархической структуры, с помощью процедуры парных сравнений. Безразмерные приоритеты позволяют обоснованно сравнивать разнородные факторы, что является отличительной особенностью МАИ. На заключительном этапе анализа выполняется синтез (линейная свертка) приоритетов на иерархии, в результате которой вычисляются приоритеты альтернативных решений относительно главной цели. Лучшей считается альтернатива с максимальным значением приоритета.
Метод анализа иерархий содержит процедуру синтеза приоритетов, вычисляемых на основе субъективных суждений экспертов. Число суждений может измеряться дюжинами или даже сотнями. Математические вычисления для задач небольшой размерности можно выполнить вручную или с помощью калькулятора, однако гораздо удобнее использовать программное обеспечение (ПО) для ввода и обработки суждений. Самый простой способ компьютерной поддержки — электронные таблицы, самое развитое ПО предусматривает применение специальных устройств для ввода суждений участниками процесса коллективного выбора. Порядок применения Метода Анализа Иерархий:
· Построение качественной модели проблемы в виде иерархии, включающей цель, альтернативные варианты достижения цели и критерии для оценки качества альтернатив.
· Определение приоритетов всех элементов иерархии с использованием метода парных сравнений.
· Синтез глобальных приоритетов альтернатив путем линейной свертки приоритетов элементов на иерархии.
· Проверка суждений на согласованность.
· Принятие решения на основе полученных результатов.
J = (#Jf#)/(#S#),
где #Jf# – число разнотипных по функциям систем; #S# – общее число подсистем. Основные этапы процесса структурного моделирования
26. Принятие решений методом «Дерево решений»
Деревья решений – это способ представления правил в иерархической, последовательной структуре, где каждому объекту соответствует единственный узел, дающий решение. Под правилом понимается логическая конструкция, представленная в виде "если ... то ...".
Область применения деревья решений в настоящее время широка, но все задачи, решаемые этим аппаратом могут быть объединены в следующие три класса:
· Описание данных: Деревья решений позволяют хранить информацию о данных в компактной форме, вместо них мы можем хранить дерево решений, которое содержит точное описание объектов.
· Классификация: Деревья решений отлично справляются с задачами классификации, т.е. отнесения объектов к одному из заранее известных классов. Целевая переменная должна иметь дискретные значения.
· Регрессия: Если целевая переменная имеет непрерывные значения, деревья решений позволяют установить зависимость целевой переменной от независимых(входных) переменных. Например, к этому классу относятся задачи численного прогнозирования(предсказания значений целевой переменной).
Другое определение: деревья решений - это способ представления правил в иерархической, последовательной структуре, где каждому объекту соответствует единственный узел, дающий решение. Деревья решений разбивают данные на группы на основе значений переменных, в результате чего возникает иерархия операторов "ЕСЛИ - ТО", которые классифицируют данные.
Под правилом понимается логическая конструкция вида «если - то».
· Объект – некоторый пример, действие, шаблон, наблюдение.
· Атрибут – признак, свойство.
· Узел – внутренний узел дерева, узел проверки.
· Лист – конечный узел дерева, узел решения.
2 Построение деревьев Способ 1.
Рисуют деревья слева направо. Места, где принимаются решения, обозначают квадратами, места появления исходов – кругами, возможные решения – пунктирными линиями, возможные исходы – сплошными линиями. Для каждой альтернативы мы считаем ожидаемую стоимостную оценку (EMV) – максимальную из сумм оценок выигрышей, умноженных на вероятность реализации выигрышей, для всех возможных вариантов (см. пример 1).
Пример 1. Компания рассматривает вопрос о строительстве завода. Возможны три варианта действий: а). Построить большой завод стоимостью Ст1 = 500 тысяч у.е. При этом варианте возможны большой спрос (годовой доход в размере Д1 = 200 тысяч у.е. в течение следующих 5 лет) с вероятностью p1 = 0,7 и низкий спрос (ежегодные убытки Д2 = 90 тысяч у.е.) с вероятностью р2 = 0,3. б). Построить маленький завод стоимостью Ст2 = 300 тысяч у.е. При этом варианте возможны большой спрос (годовой доход в размере Д3 = 100 тысяч у.е. в течение следующих 5 лет) с вероятностью p3 = 0,7 и низкий спрос (ежегодные убытки Д4 = 40 тысяч у.е.) с вероятностью р4 = 0,3. в). Отложить строительство завода на один год для сбора дополнительной информации, которая может быть позитивной или негативной с вероятностью p5 = 0,4 и p6 = 0,6 соответственно. В случае позитивной информации можно построить заводы по указанным выше расценкам, а вероятности большого и низкого спроса меняются на p7 = 0,8 и р8 = 0,2 соответственно. Доходы на последующие четыре года остаются прежними. В случае негативной информации компания заводы строить не будет. Нарисовав дерево решений, определим наиболее эффективную последовательность действий, основываясь на ожидаемых доходах. Решение. Строим дерево решений. Строим узел 1, из которого исходят три заявленные в условии варианты. Обозначаем эти ветви пунктиром, поскольку это – возможные решения. На концах ветвей ставим узлы-исходы, заключаем их в круг и обозначаем буквами А, В и т.д. Рисуем из этих узлов-исходов ветви с возможными исходами при выборе того или иного варианта из условия. Под каждой ветвью подписываем вероятности соответствующих исходов. На концах каждой ветви, не закрытой новым узлом, выставляем доходы и убытки, умноженные (исходя из условия) на время (годы из условия). На ветвях (возможные решения) ставим стоимость строительства со знаком «-», так как это расходы компании. Убытки на концах «открытых» ветвей также пишем со знаком «-». Рис.1 – Дерево решений для примера 1. Первый этап построения Далее считаем ожидаемые стоимостные оценки узлов. Ожидаемая стоимостная оценка узла А равна: ЕМV(А) = 0,8 х 1000 + 0,2 х (-450) -500 = 210. EMV( B) = 0,8 х 500 + 0,2 х (-200) - 300 = 60. EMV( D) = 0,9 x 800 + 0,1 x (-360) - 500 = 184. EMV(E) = 0,9 x 400 + 0,1 х (-160) - 300 = 44. Для узлов принятия решения 2 (второй уровень, условно) выбираем максимальную оценку: EMV(2) = max {EMV( D), EMV( E)} = max {184, 44} = 184 = EMV(D). Поэтому в узле 2 отбрасываем возможное решение «маленький завод». EMV(C) = 0,7 x 184 + 0,3 x 0 = 128,8. Для узла принятия решения 1 – узла принятия окончательного решения, аналогично выбираем максимальную оценку на других узлах. EMV(1) = max {ЕМV(A), EMV(B), EMV(C)} = max {210; 60; 128,8} = 210 = EMV(А). Поэтому в узле 1 выбираем решение «большой завод». Исследование проводить не нужно. Строим большой завод. Ожидаемая стоимостная оценка этого наилучшего решения равна 210 тысяч у.е. Ответ: наиболее подходящее решение – решение строить большой завод. Рис.2 – Дерево решений со стоимостными оценками В рассмотренном примере мы произвели отсечение ветвей в узле 2. И далее в задаче мы отсекаем те ветви и узлы, стоимостные оценки которых не приемлемы для принятия наиболее выгодного решения.